librechat-data-provider 0.7.76 → 0.7.78

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.es.js CHANGED
@@ -1,2 +1,2 @@
1
- import{z as e,ZodArray as t,ZodIssueCode as n,ZodError as a}from"zod";import o from"axios";import{URL as r}from"url";import i from"crypto";import{load as s}from"js-yaml";var l=function(){return l=Object.assign||function(e){for(var t,n=1,a=arguments.length;n<a;n++)for(var o in t=arguments[n])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e},l.apply(this,arguments)};function c(e,t){var n={};for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&t.indexOf(a)<0&&(n[a]=e[a]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var o=0;for(a=Object.getOwnPropertySymbols(e);o<a.length;o++)t.indexOf(a[o])<0&&Object.prototype.propertyIsEnumerable.call(e,a[o])&&(n[a[o]]=e[a[o]])}return n}function p(e,t,n,a){return new(n||(n=Promise))((function(o,r){function i(e){try{l(a.next(e))}catch(e){r(e)}}function s(e){try{l(a.throw(e))}catch(e){r(e)}}function l(e){var t;e.done?o(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(i,s)}l((a=a.apply(e,t||[])).next())}))}function d(e,t){var n,a,o,r={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},i=Object.create(("function"==typeof Iterator?Iterator:Object).prototype);return i.next=s(0),i.throw=s(1),i.return=s(2),"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function s(s){return function(l){return function(s){if(n)throw new TypeError("Generator is already executing.");for(;i&&(i=0,s[0]&&(r=0)),r;)try{if(n=1,a&&(o=2&s[0]?a.return:s[0]?a.throw||((o=a.return)&&o.call(a),0):a.next)&&!(o=o.call(a,s[1])).done)return o;switch(a=0,o&&(s=[2&s[0],o.value]),s[0]){case 0:case 1:o=s;break;case 4:return r.label++,{value:s[1],done:!1};case 5:r.label++,a=s[1],s=[0];continue;case 7:s=r.ops.pop(),r.trys.pop();continue;default:if(!(o=r.trys,(o=o.length>0&&o[o.length-1])||6!==s[0]&&2!==s[0])){r=0;continue}if(3===s[0]&&(!o||s[1]>o[0]&&s[1]<o[3])){r.label=s[1];break}if(6===s[0]&&r.label<o[1]){r.label=o[1],o=s;break}if(o&&r.label<o[2]){r.label=o[2],r.ops.push(s);break}o[2]&&r.ops.pop(),r.trys.pop();continue}s=t.call(e,r)}catch(e){s=[6,e],a=0}finally{n=o=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}([s,l])}}}function u(e,t,n){if(n||2===arguments.length)for(var a,o=0,r=t.length;o<r;o++)!a&&o in t||(a||(a=Array.prototype.slice.call(t,0,o)),a[o]=t[o]);return e.concat(a||Array.prototype.slice.call(t))}"function"==typeof SuppressedError&&SuppressedError;var m,f,g,v,b,y,h=/^\${(.+)}$/;function R(e){if(!e)return e;var t=e.trim(),n=t.match(h);if(n){var a=n[1];return process.env[a]||t}for(var o,r=/\${([^}]+)}/g,i=t,s=[];null!==(o=r.exec(t));)s.push({fullMatch:o[0],varName:o[1],index:o.index});for(var l=s.length-1;l>=0;l--){var c=s[l],p=c.fullMatch,d=(a=c.varName,c.index),u=process.env[a]||p;i=i.substring(0,d)+u+i.substring(d+p.length)}return i}!function(e){e.execute_code="execute_code",e.code_interpreter="code_interpreter",e.file_search="file_search",e.retrieval="retrieval",e.function="function"}(m||(m={})),function(e){e.code_interpreter="code_interpreter",e.execute_code="execute_code",e.file_search="file_search",e.ocr="ocr"}(f||(f={})),function(e){e.FILE_CITATION="file_citation",e.FILE_PATH="file_path"}(g||(g={})),function(e){e.IN_PROGRESS="in_progress",e.CANCELLED="cancelled",e.FAILED="failed",e.COMPLETED="completed",e.EXPIRED="expired"}(v||(v={})),function(e){e.TEXT="text",e.IMAGE_FILE="image_file"}(b||(b={})),function(e){e.QUEUED="queued",e.IN_PROGRESS="in_progress",e.REQUIRES_ACTION="requires_action",e.CANCELLING="cancelling",e.CANCELLED="cancelled",e.FAILED="failed",e.COMPLETED="completed",e.EXPIRED="expired"}(y||(y={}));var x,T,P,N,w="_action_",C="---",A="_host_copy",k="host_copy_";!function(e){e.ServiceHttp="service_http",e.OAuth="oauth",e.None="none"}(x||(x={})),function(e){e.Bearer="bearer",e.Basic="basic",e.Custom="custom"}(T||(T={})),function(e){e.DefaultPost="default_post",e.BasicAuthHeader="basic_auth_header"}(P||(P={})),function(e){e.Vision="vision",e.FineTune="fine-tune",e.FineTuneResults="fine-tune-results",e.Assistants="assistants",e.AssistantsOutput="assistants_output"}(N||(N={}));var M,E,S,_,D,I={order:"desc",limit:100};!function(e){e.ThreadCreated="thread.created",e.ThreadRunCreated="thread.run.created",e.ThreadRunQueued="thread.run.queued",e.ThreadRunInProgress="thread.run.in_progress",e.ThreadRunRequiresAction="thread.run.requires_action",e.ThreadRunCompleted="thread.run.completed",e.ThreadRunFailed="thread.run.failed",e.ThreadRunCancelling="thread.run.cancelling",e.ThreadRunCancelled="thread.run.cancelled",e.ThreadRunExpired="thread.run.expired",e.ThreadRunStepCreated="thread.run.step.created",e.ThreadRunStepInProgress="thread.run.step.in_progress",e.ThreadRunStepCompleted="thread.run.step.completed",e.ThreadRunStepFailed="thread.run.step.failed",e.ThreadRunStepCancelled="thread.run.step.cancelled",e.ThreadRunStepExpired="thread.run.step.expired",e.ThreadRunStepDelta="thread.run.step.delta",e.ThreadMessageCreated="thread.message.created",e.ThreadMessageInProgress="thread.message.in_progress",e.ThreadMessageCompleted="thread.message.completed",e.ThreadMessageIncomplete="thread.message.incomplete",e.ThreadMessageDelta="thread.message.delta",e.ErrorEvent="error"}(M||(M={}));var O,L=e.string().uuid();!function(e){e.OVERRIDE_AUTH="override_auth",e.USER_PROVIDED="user_provided",e.SYSTEM_DEFINED="system_defined"}(O||(O={}));var U,j=e.nativeEnum(O);!function(e){e.azureOpenAI="azureOpenAI",e.openAI="openAI",e.google="google",e.anthropic="anthropic",e.assistants="assistants",e.azureAssistants="azureAssistants",e.agents="agents",e.custom="custom",e.bedrock="bedrock",e.chatGPTBrowser="chatGPTBrowser",e.gptPlugins="gptPlugins"}(U||(U={}));var H,z=new Set([U.agents,U.openAI,U.bedrock,U.azureOpenAI,U.anthropic,U.custom,U.google]);!function(e){e.AI21="ai21",e.Amazon="amazon",e.Anthropic="anthropic",e.Cohere="cohere",e.Meta="meta",e.MistralAI="mistral",e.StabilityAI="stability",e.DeepSeek="deepseek"}(H||(H={}));var G,B,V=function(e,t){if(e===U.bedrock){var n=t.split("."),a=[n[0],n[1]].find((function(e){return Object.values(H).includes(e)}));return null!=a?a:n[0]}return t},F=function(e,t){var n=e,a=V(n,t);return["".concat(n,"-").concat(a),n]},W=function(e){var t=null!=e?e:"";return!!t&&t.toLowerCase().endsWith(U.assistants)},q=function(e){var t=null!=e?e:"";return!!t&&t===U.agents},K=function(e,t){return!!z.has(e)||null!=t&&z.has(t)};!function(e){e.low="low",e.auto="auto",e.high="high"}(G||(G={})),function(e){e.low="low",e.medium="medium",e.high="high"}(B||(B={}));var Y,X=((E={})[G.low]=0,E[G.auto]=1,E[G.high]=2,E),$={0:G.low,1:G.auto,2:G.high},Z=e.nativeEnum(G),Q=e.nativeEnum(B),J={assistant:"",id:"",name:"",description:"",instructions:"",conversation_starters:[],model:"",functions:[],code_interpreter:!1,image_vision:!1,retrieval:!1,append_current_datetime:!1},ee=((S={agent:{},id:"",name:"",description:"",instructions:"",model:"",model_parameters:{},tools:[],provider:{},projectIds:[],artifacts:"",isCollaborative:!1,recursion_limit:void 0})[m.execute_code]=!1,S[m.file_search]=!1,S),te=((_={type:m.function})[m.function]={name:"image_vision",description:"Get detailed text descriptions for all current image attachments.",parameters:{type:"object",properties:{},required:[]}},_),ne=function(e){var t,n;return"function"===e.type&&(null===(t=e.function)||void 0===t?void 0:t.name)===(null===(n=te.function)||void 0===n?void 0:n.name)},ae={model:{default:"gpt-4o-mini"},temperature:{min:0,max:2,step:.01,default:1},top_p:{min:0,max:1,step:.01,default:1},presence_penalty:{min:0,max:2,step:.01,default:0},frequency_penalty:{min:0,max:2,step:.01,default:0},resendFiles:{default:!0},maxContextTokens:{default:void 0},max_tokens:{default:void 0},imageDetail:{default:G.auto,min:0,max:2,step:1}},oe={model:{default:"gemini-1.5-flash-latest"},maxOutputTokens:{min:1,max:64e3,step:1,default:8192},temperature:{min:0,max:2,step:.01,default:1},topP:{min:0,max:1,step:.01,default:.95},topK:{min:1,max:40,step:1,default:40}},re=4096,ie={model:{default:"claude-3-5-sonnet-latest"},temperature:{min:0,max:1,step:.01,default:1},promptCache:{default:!0},thinking:{default:!0},thinkingBudget:{min:1024,step:100,max:2e5,default:2e3},maxOutputTokens:{min:1,max:128e3,step:1,default:8192,reset:function(e){return/claude-3[-.]5-sonnet/.test(e)||/claude-3[-.]7/.test(e)?8192:4096},set:function(e,t){return!/claude-3[-.]5-sonnet/.test(t)&&!/claude-3[-.]7/.test(t)&&e>re?re:e}},topP:{min:0,max:1,step:.01,default:.7},topK:{min:1,max:40,step:1,default:5},resendFiles:{default:!0},maxContextTokens:{default:void 0},legacy:{maxOutputTokens:{min:1,max:re,step:1,default:re}}},se={model:{default:"gpt-3.5-turbo-test"},temperature:{min:0,max:1,step:.01,default:1},top_p:{min:0,max:1,step:.01,default:1},presence_penalty:{min:0,max:2,step:.01,default:0},frequency_penalty:{min:0,max:2,step:.01,default:0},resendFiles:{default:!0},maxContextTokens:{default:void 0},max_tokens:{default:void 0},imageDetail:{default:G.auto}},le=((D={})[U.openAI]=ae,D[U.google]=oe,D[U.anthropic]=ie,D[U.agents]=se,D[U.bedrock]=se,D),ce=le[U.google],pe=e.nativeEnum(U),de=e.union([pe,e.string()]),ue=e.object({authField:e.string(),label:e.string(),description:e.string()}),me=e.object({name:e.string(),pluginKey:e.string(),description:e.string(),icon:e.string().optional(),authConfig:e.array(ue).optional(),authenticated:e.boolean().optional(),isButton:e.boolean().optional(),toolkit:e.boolean().optional()}),fe=e.object({input:e.object({content:e.string()}),output:e.object({content:e.string()})});!function(e){e.functions="functions",e.classic="classic"}(Y||(Y={}));var ge={model:{default:"gpt-4o-mini"},temperature:{min:0,max:1,step:.01,default:0},agent:{default:Y.functions,options:[Y.functions,Y.classic]},skipCompletion:{default:!0}},ve=e.nativeEnum(Y),be=e.object({agent:e.string().default(Y.functions),skipCompletion:e.boolean().default(ge.skipCompletion.default),model:e.string(),temperature:e.number().default(ge.temperature.default)}),ye=e.object({messageId:e.string(),endpoint:e.string().optional(),clientId:e.string().nullable().optional(),conversationId:e.string().nullable(),parentMessageId:e.string().nullable(),responseMessageId:e.string().nullable().optional(),overrideParentMessageId:e.string().nullable().optional(),bg:e.string().nullable().optional(),model:e.string().nullable().optional(),title:e.string().nullable().or(e.literal("New Chat")).default("New Chat"),sender:e.string().optional(),text:e.string(),generation:e.string().nullable().optional(),isCreatedByUser:e.boolean(),error:e.boolean().optional(),clientTimestamp:e.string().optional(),createdAt:e.string().optional().default((function(){return(new Date).toISOString()})),updatedAt:e.string().optional().default((function(){return(new Date).toISOString()})),current:e.boolean().optional(),unfinished:e.boolean().optional(),searchResult:e.boolean().optional(),finish_reason:e.string().optional(),thread_id:e.string().optional(),iconURL:e.string().nullable().optional()}),he=e.union([e.number(),e.string()]).transform((function(e){return"string"==typeof e?""===e.trim()?void 0:parseFloat(e):e})),Re=e.lazy((function(){return e.union([e.null(),e.boolean(),e.number(),e.string(),e.array(e.lazy((function(){return Re}))),e.record(e.lazy((function(){return Re})))])})),xe=e.object({conversationId:e.string().nullable(),endpoint:pe.nullable(),endpointType:pe.nullable().optional(),isArchived:e.boolean().optional(),title:e.string().nullable().or(e.literal("New Chat")).default("New Chat"),user:e.string().optional(),messages:e.array(e.string()).optional(),tools:e.union([e.array(me),e.array(e.string())]).optional(),modelLabel:e.string().nullable().optional(),userLabel:e.string().optional(),model:e.string().nullable().optional(),promptPrefix:e.string().nullable().optional(),temperature:e.number().optional(),topP:e.number().optional(),topK:e.number().optional(),top_p:e.number().optional(),frequency_penalty:e.number().optional(),presence_penalty:e.number().optional(),parentMessageId:e.string().optional(),maxOutputTokens:he.optional(),maxContextTokens:he.optional(),max_tokens:he.optional(),promptCache:e.boolean().optional(),system:e.string().optional(),thinking:e.boolean().optional(),thinkingBudget:he.optional(),artifacts:e.string().optional(),context:e.string().nullable().optional(),examples:e.array(fe).optional(),tags:e.array(e.string()).optional(),createdAt:e.string(),updatedAt:e.string(),resendFiles:e.boolean().optional(),file_ids:e.array(e.string()).optional(),imageDetail:Z.optional(),reasoning_effort:Q.optional(),assistant_id:e.string().optional(),agent_id:e.string().optional(),region:e.string().optional(),maxTokens:he.optional(),additionalModelRequestFields:Re.optional(),instructions:e.string().optional(),additional_instructions:e.string().optional(),append_current_datetime:e.boolean().optional(),presetOverride:e.record(e.unknown()).optional(),stop:e.array(e.string()).optional(),greeting:e.string().optional(),spec:e.string().nullable().optional(),iconURL:e.string().nullable().optional(),expiredAt:e.string().nullable().optional(),resendImages:e.boolean().optional(),agentOptions:be.nullable().optional(),chatGptLabel:e.string().nullable().optional()}),Te=xe.omit({conversationId:!0,createdAt:!0,updatedAt:!0,title:!0}).merge(e.object({conversationId:e.string().nullable().optional(),presetId:e.string().nullable().optional(),title:e.string().nullable().optional(),defaultPreset:e.boolean().optional(),order:e.number().optional(),endpoint:de.nullable()})),Pe=xe.merge(e.object({endpoint:de.nullable()})),Ne=xe.pick({spec:!0,maxContextTokens:!0,resendFiles:!0,imageDetail:!0,promptPrefix:!0,model:!0,temperature:!0,presence_penalty:!0,frequency_penalty:!0,stop:!0,top_p:!0,max_tokens:!0,topP:!0,topK:!0,maxOutputTokens:!0,promptCache:!0,thinking:!0,thinkingBudget:!0,region:!0,maxTokens:!0,agent_id:!0,assistant_id:!0,append_current_datetime:!0,instructions:!0}).merge(e.object({endpoint:de.nullable()})),we=e.object({conversationId:e.string(),shareId:e.string(),messages:e.array(e.string()),isPublic:e.boolean(),title:e.string(),createdAt:e.string(),updatedAt:e.string()}),Ce=e.object({_id:e.string(),user:e.string(),tag:e.string(),description:e.string().optional(),createdAt:e.string(),updatedAt:e.string(),count:e.number(),position:e.number()}),Ae=xe.pick({model:!0,modelLabel:!0,promptPrefix:!0,examples:!0,temperature:!0,maxOutputTokens:!0,artifacts:!0,topP:!0,topK:!0,iconURL:!0,greeting:!0,spec:!0,maxContextTokens:!0}).transform((function(e){return Se(e)})).catch((function(){return{}})),ke=e.object({maxOutputTokens:he.optional(),temperature:he.optional(),topP:he.optional(),topK:he.optional(),presencePenalty:he.optional(),frequencyPenalty:he.optional(),stopSequences:e.array(e.string()).optional()}).strip().optional(),Me=xe.pick({model:!0}).transform((function(e){var t;return l(l({},e),{model:null!==(t=e.model)&&void 0!==t?t:"text-davinci-002-render-sha"})})).catch((function(){return{model:"text-davinci-002-render-sha"}})),Ee=xe.pick({model:!0,modelLabel:!0,chatGptLabel:!0,promptPrefix:!0,temperature:!0,artifacts:!0,top_p:!0,presence_penalty:!0,frequency_penalty:!0,tools:!0,agentOptions:!0,iconURL:!0,greeting:!0,spec:!0,maxContextTokens:!0}).transform((function(e){var t,n,a,o,r,i,s,c,p,d,u,m,f,g,v=l(l({},e),{model:null!==(t=e.model)&&void 0!==t?t:"gpt-3.5-turbo",chatGptLabel:null!==(a=null!==(n=e.chatGptLabel)&&void 0!==n?n:e.modelLabel)&&void 0!==a?a:null,promptPrefix:null!==(o=e.promptPrefix)&&void 0!==o?o:null,temperature:null!==(r=e.temperature)&&void 0!==r?r:.8,top_p:null!==(i=e.top_p)&&void 0!==i?i:1,presence_penalty:null!==(s=e.presence_penalty)&&void 0!==s?s:0,frequency_penalty:null!==(c=e.frequency_penalty)&&void 0!==c?c:0,tools:null!==(p=e.tools)&&void 0!==p?p:[],agentOptions:null!==(d=e.agentOptions)&&void 0!==d?d:{agent:Y.functions,skipCompletion:!0,model:"gpt-3.5-turbo",temperature:0},iconURL:null!==(u=e.iconURL)&&void 0!==u?u:void 0,greeting:null!==(m=e.greeting)&&void 0!==m?m:void 0,spec:null!==(f=e.spec)&&void 0!==f?f:void 0,maxContextTokens:null!==(g=e.maxContextTokens)&&void 0!==g?g:void 0});return null!=e.modelLabel&&""!==e.modelLabel&&(v.modelLabel=null),v})).catch((function(){return{model:"gpt-3.5-turbo",chatGptLabel:null,promptPrefix:null,temperature:.8,top_p:1,presence_penalty:0,frequency_penalty:0,tools:[],agentOptions:{agent:Y.functions,skipCompletion:!0,model:"gpt-3.5-turbo",temperature:0},iconURL:void 0,greeting:void 0,spec:void 0,maxContextTokens:void 0}}));function Se(e,t){var n=l({},e);return Object.keys(n).forEach((function(e){var a=n[e];null==a&&delete n[e],t&&"string"==typeof a&&""===a&&delete n[e]})),n}var _e,De,Ie,Oe=xe.pick({model:!0,assistant_id:!0,instructions:!0,artifacts:!0,promptPrefix:!0,iconURL:!0,greeting:!0,spec:!0,append_current_datetime:!0}).transform((function(e){var t,n,a,o,r,i,s,c;return l(l({},e),{model:null!==(t=e.model)&&void 0!==t?t:ae.model.default,assistant_id:null!==(n=e.assistant_id)&&void 0!==n?n:void 0,instructions:null!==(a=e.instructions)&&void 0!==a?a:void 0,promptPrefix:null!==(o=e.promptPrefix)&&void 0!==o?o:null,iconURL:null!==(r=e.iconURL)&&void 0!==r?r:void 0,greeting:null!==(i=e.greeting)&&void 0!==i?i:void 0,spec:null!==(s=e.spec)&&void 0!==s?s:void 0,append_current_datetime:null!==(c=e.append_current_datetime)&&void 0!==c&&c})})).catch((function(){return{model:ae.model.default,assistant_id:void 0,instructions:void 0,promptPrefix:null,iconURL:void 0,greeting:void 0,spec:void 0,append_current_datetime:!1}})),Le=xe.pick({model:!0,assistant_id:!0,instructions:!0,promptPrefix:!0,artifacts:!0,iconURL:!0,greeting:!0,spec:!0}).transform((function(e){return Se(e)})).catch((function(){return{}})),Ue=xe.pick({model:!0,modelLabel:!0,temperature:!0,top_p:!0,presence_penalty:!0,frequency_penalty:!0,resendFiles:!0,imageDetail:!0,agent_id:!0,instructions:!0,promptPrefix:!0,iconURL:!0,greeting:!0,maxContextTokens:!0}).transform((function(e){var t,n,a,o,r,i,s,c,p,d,u,m,f;return l(l({},e),{model:null!==(t=e.model)&&void 0!==t?t:se.model.default,modelLabel:null!==(n=e.modelLabel)&&void 0!==n?n:null,temperature:null!==(a=e.temperature)&&void 0!==a?a:1,top_p:null!==(o=e.top_p)&&void 0!==o?o:1,presence_penalty:null!==(r=e.presence_penalty)&&void 0!==r?r:0,frequency_penalty:null!==(i=e.frequency_penalty)&&void 0!==i?i:0,resendFiles:"boolean"==typeof e.resendFiles?e.resendFiles:se.resendFiles.default,imageDetail:null!==(s=e.imageDetail)&&void 0!==s?s:G.auto,agent_id:null!==(c=e.agent_id)&&void 0!==c?c:void 0,instructions:null!==(p=e.instructions)&&void 0!==p?p:void 0,promptPrefix:null!==(d=e.promptPrefix)&&void 0!==d?d:null,iconURL:null!==(u=e.iconURL)&&void 0!==u?u:void 0,greeting:null!==(m=e.greeting)&&void 0!==m?m:void 0,maxContextTokens:null!==(f=e.maxContextTokens)&&void 0!==f?f:void 0})})).catch((function(){return{model:se.model.default,modelLabel:null,temperature:1,top_p:1,presence_penalty:0,frequency_penalty:0,resendFiles:se.resendFiles.default,imageDetail:G.auto,agent_id:void 0,instructions:void 0,promptPrefix:null,iconURL:void 0,greeting:void 0,maxContextTokens:void 0}})),je=xe.pick({model:!0,modelLabel:!0,chatGptLabel:!0,promptPrefix:!0,temperature:!0,top_p:!0,presence_penalty:!0,frequency_penalty:!0,resendFiles:!0,artifacts:!0,imageDetail:!0,stop:!0,iconURL:!0,greeting:!0,spec:!0,maxContextTokens:!0,max_tokens:!0,reasoning_effort:!0}).transform((function(e){return Se(e)})).catch((function(){return{}})),He=xe.pick({model:!0,modelLabel:!0,promptPrefix:!0,examples:!0,temperature:!0,maxOutputTokens:!0,artifacts:!0,topP:!0,topK:!0,iconURL:!0,greeting:!0,spec:!0,maxContextTokens:!0}).transform((function(e){var t=l({},e);return t.temperature===ce.temperature.default&&delete t.temperature,t.maxOutputTokens===ce.maxOutputTokens.default&&delete t.maxOutputTokens,t.topP===ce.topP.default&&delete t.topP,t.topK===ce.topK.default&&delete t.topK,Se(t)})).catch((function(){return{}})),ze=xe.pick({model:!0,modelLabel:!0,promptPrefix:!0,temperature:!0,maxOutputTokens:!0,topP:!0,topK:!0,resendFiles:!0,promptCache:!0,thinking:!0,thinkingBudget:!0,artifacts:!0,iconURL:!0,greeting:!0,spec:!0,maxContextTokens:!0}).transform((function(e){return Se(e)})).catch((function(){return{}})),Ge=xe.pick({model:!0}).transform((function(e){return Se(l({},e))})).catch((function(){return{}})),Be=xe.pick({model:!0,modelLabel:!0,chatGptLabel:!0,promptPrefix:!0,temperature:!0,top_p:!0,presence_penalty:!0,frequency_penalty:!0,tools:!0,agentOptions:!0,iconURL:!0,greeting:!0,spec:!0,maxContextTokens:!0}).transform((function(e){var t,n=l({},e);return null===n.modelLabel&&delete n.modelLabel,null===n.chatGptLabel&&delete n.chatGptLabel,null===n.promptPrefix&&delete n.promptPrefix,.8===n.temperature&&delete n.temperature,1===n.top_p&&delete n.top_p,0===n.presence_penalty&&delete n.presence_penalty,0===n.frequency_penalty&&delete n.frequency_penalty,0===(null===(t=n.tools)||void 0===t?void 0:t.length)&&delete n.tools,n.agentOptions&&n.agentOptions.agent===Y.functions&&!0===n.agentOptions.skipCompletion&&"gpt-3.5-turbo"===n.agentOptions.model&&0===n.agentOptions.temperature&&delete n.agentOptions,Se(n)})).catch((function(){return{}})),Ve=e.object({bannerId:e.string(),message:e.string(),displayFrom:e.string(),displayTo:e.string(),createdAt:e.string(),updatedAt:e.string(),isPublic:e.boolean()}),Fe=xe.pick({spec:!0,iconURL:!0,greeting:!0,agent_id:!0,instructions:!0,additional_instructions:!0}).transform((function(e){return Se(e)})).catch((function(){return{}})),We=e.object({name:e.string(),label:e.string(),preset:Te,order:e.number().optional(),default:e.boolean().optional(),description:e.string().optional(),showIconInMenu:e.boolean().optional(),showIconInHeader:e.boolean().optional(),iconURL:e.union([e.string(),pe]).optional(),authType:j.optional()}),qe=e.object({enforce:e.boolean().default(!1),prioritize:e.boolean().default(!0),list:e.array(We).min(1)}),Ke=((_e={})[U.openAI]=!0,_e[U.google]=!0,_e[U.assistants]=!0,_e[U.azureAssistants]=!0,_e[U.agents]=!0,_e[U.azureOpenAI]=!0,_e[U.anthropic]=!0,_e[U.custom]=!0,_e[U.bedrock]=!0,_e),Ye=["application/vnd.ms-excel","application/msexcel","application/x-msexcel","application/x-ms-excel","application/x-excel","application/x-dos_ms_excel","application/xls","application/x-xls","application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"],Xe=u(["text/x-c","text/x-c++","application/csv","application/vnd.openxmlformats-officedocument.wordprocessingml.document","text/html","text/x-java","application/json","text/markdown","application/pdf","text/x-php","application/vnd.openxmlformats-officedocument.presentationml.presentation","text/x-python","text/x-script.python","text/x-ruby","text/x-tex","text/plain","text/css","text/vtt","image/jpeg","text/javascript","image/gif","image/png","application/x-tar","application/typescript","application/xml","application/zip","image/svg","image/svg+xml"],Ye,!0),$e=u(["text/x-c","text/x-c++","application/csv","application/vnd.openxmlformats-officedocument.wordprocessingml.document","text/html","text/x-java","application/json","text/markdown","application/pdf","text/x-php","application/vnd.openxmlformats-officedocument.presentationml.presentation","text/x-python","text/x-script.python","text/x-ruby","text/x-tex","text/plain","text/css","image/jpeg","text/javascript","image/gif","image/png","application/x-tar","application/typescript","application/xml","application/zip"],Ye,!0),Ze=["text/x-c","text/x-c++","application/vnd.openxmlformats-officedocument.wordprocessingml.document","text/html","text/x-java","application/json","text/markdown","application/pdf","text/x-php","application/vnd.openxmlformats-officedocument.presentationml.presentation","text/x-python","text/x-script.python","text/x-ruby","text/x-tex","text/plain"],Qe=/\.(jpg|jpeg|png|gif|webp)$/i,Je=/^application\/(vnd\.ms-excel|msexcel|x-msexcel|x-ms-excel|x-excel|x-dos_ms_excel|xls|x-xls|vnd\.openxmlformats-officedocument\.spreadsheetml\.sheet)$/,et=/^(text\/(x-c|x-csharp|x-c\+\+|x-java|html|markdown|x-php|x-python|x-script\.python|x-ruby|x-tex|plain|css|vtt|javascript|csv))$/,tt=/^(application\/(epub\+zip|csv|json|pdf|x-tar|typescript|vnd\.openxmlformats-officedocument\.(wordprocessingml\.document|presentationml\.presentation|spreadsheetml\.sheet)|xml|zip))$/,nt=/^image\/(jpeg|gif|png|webp)$/,at=[et,Je,tt,nt,/^image\/(svg|svg\+xml)$/],ot=[et,Je,tt,nt],rt={c:"text/x-c",cs:"text/x-csharp",cpp:"text/x-c++",md:"text/markdown",php:"text/x-php",py:"text/x-python",rb:"text/x-ruby",tex:"text/x-tex",js:"text/javascript",sh:"application/x-sh",ts:"application/typescript",tar:"application/x-tar",zip:"application/zip",yml:"application/x-yaml",yaml:"application/x-yaml",log:"text/plain"},it=[/^(text\/(x-c|x-c\+\+|html|x-java|markdown|x-php|x-python|x-script\.python|x-ruby|x-tex|plain|vtt|xml))$/,/^(application\/(json|pdf|vnd\.openxmlformats-officedocument\.(wordprocessingml\.document|presentationml\.presentation)))$/],st=1048576,lt=function(e){return e*st},ct=lt(512),pt={fileLimit:10,fileSizeLimit:ct,totalSizeLimit:ct,supportedMimeTypes:at,disabled:!1},dt={endpoints:(De={},De[U.assistants]=pt,De[U.azureAssistants]=pt,De[U.agents]=pt,De.default={fileLimit:10,fileSizeLimit:ct,totalSizeLimit:ct,supportedMimeTypes:at,disabled:!1},De),serverFileSizeLimit:ct,avatarSizeLimit:lt(2),checkType:function(e,t){return void 0===t&&(t=at),t.some((function(t){return t.test(e)}))}},ut=e.array(e.any()).optional().refine((function(e){return!e||e.every((function(e){return e instanceof RegExp||"string"==typeof e}))}),{message:"Each mimeType must be a string or a RegExp object."}),mt=e.object({disabled:e.boolean().optional(),fileLimit:e.number().min(0).optional(),fileSizeLimit:e.number().min(0).optional(),totalSizeLimit:e.number().min(0).optional(),supportedMimeTypes:ut.optional()}),ft=e.object({endpoints:e.record(mt).optional(),serverFileSizeLimit:e.number().min(0).optional(),avatarSizeLimit:e.number().min(0).optional()}),gt=function(e){return e.reduce((function(e,t){try{var n=new RegExp(t);e.push(n)}catch(e){console.error('Invalid regex pattern "'.concat(t,'" skipped.'))}return e}),[])};function vt(e){var t=dt;if(!e)return t;if(void 0!==e.serverFileSizeLimit&&(t.serverFileSizeLimit=lt(e.serverFileSizeLimit)),void 0!==e.avatarSizeLimit&&(t.avatarSizeLimit=lt(e.avatarSizeLimit)),!e.endpoints)return t;var n=function(n){var a=e.endpoints[n];t.endpoints[n]||(t.endpoints[n]={});var o=t.endpoints[n];if(!0===a.disabled)return o.disabled=!0,o.fileLimit=0,o.fileSizeLimit=0,o.totalSizeLimit=0,o.supportedMimeTypes=[],"continue";void 0!==a.fileSizeLimit&&(o.fileSizeLimit=lt(a.fileSizeLimit)),void 0!==a.totalSizeLimit&&(o.totalSizeLimit=lt(a.totalSizeLimit));["fileLimit"].forEach((function(e){void 0!==a[e]&&(o[e]=a[e])})),a.supportedMimeTypes&&(o.supportedMimeTypes=gt(a.supportedMimeTypes))};for(var a in e.endpoints)n(a);return t}!function(e){e.local="local",e.firebase="firebase",e.azure="azure",e.openai="openai",e.s3="s3",e.vectordb="vectordb",e.execute_code="execute_code",e.mistral_ocr="mistral_ocr",e.text="text"}(Ie||(Ie={}));var bt,yt=function(e){return e===Ie.openai||e===Ie.azure};!function(e){e.avatar="avatar",e.unknown="unknown",e.agents="agents",e.assistants="assistants",e.execute_code="execute_code",e.image_generation="image_generation",e.assistants_output="assistants_output",e.message_attachment="message_attachment",e.filename="filename",e.updatedAt="updatedAt",e.source="source",e.filterSource="filterSource",e.context="context",e.bytes="bytes"}(bt||(bt={}));var ht,Rt,xt,Tt,Pt,Nt,wt,Ct,At=e.object({iconPath:e.string().optional(),timeout:e.number().optional(),initTimeout:e.number().optional()}),kt=At.extend({type:e.literal("stdio").optional(),command:e.string(),args:e.array(e.string()),env:e.record(e.string(),e.string()).optional().transform((function(e){if(!e)return e;for(var t={},n=0,a=Object.entries(e);n<a.length;n++){var o=a[n],r=o[0],i=o[1];t[r]=R(i)}return t})),stderr:e.any().optional()}),Mt=At.extend({type:e.literal("websocket").optional(),url:e.string().url().refine((function(e){var t=new URL(e).protocol;return"ws:"===t||"wss:"===t}),{message:"WebSocket URL must start with ws:// or wss://"})}),Et=At.extend({type:e.literal("sse").optional(),url:e.string().url().refine((function(e){var t=new URL(e).protocol;return"ws:"!==t&&"wss:"!==t}),{message:"SSE URL must not start with ws:// or wss://"})}),St=e.union([kt,Mt,Et]),_t=e.record(e.string(),St);function Dt(e){if(null==e)return e;if("env"in e&&e.env){for(var t={},n=0,a=Object.entries(e.env);n<a.length;n++){var o=a[n],r=o[0],i=o[1];t[r]=R(i)}e.env=t}return e}var It,Ot=["google","facebook","openid","github","discord"],Lt=["gpt-4o","o1-preview-2024-09-12","o1-preview","o1-mini-2024-09-12","o1-mini","o3-mini","chatgpt-4o-latest","gpt-4o-2024-05-13","gpt-4o-2024-08-06","gpt-4o-mini","gpt-4o-mini-2024-07-18","gpt-4-turbo-preview","gpt-3.5-turbo-0125","gpt-4-0125-preview","gpt-4-1106-preview","gpt-3.5-turbo-1106","gpt-3.5-turbo-0125","gpt-4-turbo","gpt-4-0125","gpt-4-1106"],Ut=new Set(["conversationId","title","iconURL","greeting","endpoint","endpointType","createdAt","updatedAt","expiredAt","messages","isArchived","tags","user","__v","_id","tools","model","files","spec"]);!function(e){e.default="default",e.advanced="advanced"}(It||(It={}));var jt=e.nativeEnum(Ie);function Ht(t){var n=t.shape,a=Object.entries(n).map((function(t){var n=t[0],a=t[1];return a instanceof e.ZodDefault?[n,a._def.defaultValue()]:[n,void 0]}));return Object.fromEntries(a)}var zt,Gt,Bt=e.object({deploymentName:e.string().optional(),version:e.string().optional(),assistants:e.boolean().optional()}).or(e.boolean()),Vt=e.object({apiKey:e.string(),serverless:e.boolean().optional(),instanceName:e.string().optional(),deploymentName:e.string().optional(),assistants:e.boolean().optional(),addParams:e.record(e.any()).optional(),dropParams:e.array(e.string()).optional(),forcePrompt:e.boolean().optional(),version:e.string().optional(),baseURL:e.string().optional(),additionalHeaders:e.record(e.any()).optional()}),Ft=e.object({group:e.string(),models:e.record(e.string(),Bt)}).required().and(Vt),Wt=e.array(Ft).min(1);!function(e){e.code_interpreter="code_interpreter",e.image_vision="image_vision",e.retrieval="retrieval",e.actions="actions",e.tools="tools"}(zt||(zt={})),function(e){e.hide_sequential_outputs="hide_sequential_outputs",e.end_after_tools="end_after_tools",e.execute_code="execute_code",e.file_search="file_search",e.artifacts="artifacts",e.actions="actions",e.tools="tools",e.chain="chain",e.ocr="ocr"}(Gt||(Gt={}));var qt,Kt=((ht={})[U.assistants]=2,ht[U.azureAssistants]=1,ht),Yt=e.object({streamRate:e.number().optional(),baseURL:e.string().optional(),titlePrompt:e.string().optional(),titleModel:e.string().optional()}),Xt=Yt.merge(e.object({availableRegions:e.array(e.string()).optional()})),$t=Yt.merge(e.object({disableBuilder:e.boolean().optional(),pollIntervalMs:e.number().optional(),timeoutMs:e.number().optional(),version:e.union([e.string(),e.number()]).default(2),supportedIds:e.array(e.string()).min(1).optional(),excludedIds:e.array(e.string()).min(1).optional(),privateAssistants:e.boolean().optional(),retrievalModels:e.array(e.string()).min(1).optional().default(Lt),capabilities:e.array(e.nativeEnum(zt)).optional().default([zt.code_interpreter,zt.image_vision,zt.retrieval,zt.actions,zt.tools]),apiKey:e.string().optional(),models:e.object({default:e.array(e.string()).min(1),fetch:e.boolean().optional(),userIdQuery:e.boolean().optional()}).optional(),titleConvo:e.boolean().optional(),titleMethod:e.union([e.literal("completion"),e.literal("functions")]).optional(),headers:e.record(e.any()).optional()})),Zt=Yt.merge(e.object({recursionLimit:e.number().optional(),disableBuilder:e.boolean().optional(),maxRecursionLimit:e.number().optional(),capabilities:e.array(e.nativeEnum(Gt)).optional().default([Gt.execute_code,Gt.file_search,Gt.artifacts,Gt.actions,Gt.tools,Gt.ocr,Gt.chain])})),Qt=Yt.merge(e.object({name:e.string().refine((function(e){return!pe.safeParse(e).success}),{message:"Value cannot be one of the default endpoint (EModelEndpoint) values: ".concat(Object.values(U).join(", "))}),apiKey:e.string(),baseURL:e.string(),models:e.object({default:e.array(e.string()).min(1),fetch:e.boolean().optional(),userIdQuery:e.boolean().optional()}),titleConvo:e.boolean().optional(),titleMethod:e.union([e.literal("completion"),e.literal("functions")]).optional(),summarize:e.boolean().optional(),summaryModel:e.string().optional(),forcePrompt:e.boolean().optional(),modelDisplayLabel:e.string().optional(),headers:e.record(e.any()).optional(),addParams:e.record(e.any()).optional(),dropParams:e.array(e.string()).optional(),customOrder:e.number().optional(),directEndpoint:e.boolean().optional(),titleMessageRole:e.string().optional()})),Jt=e.object({groups:Wt,plugins:e.boolean().optional(),assistants:e.boolean().optional()}).and(Qt.pick({streamRate:!0,titleConvo:!0,titleMethod:!0,titleModel:!0,summarize:!0,summaryModel:!0,customOrder:!0}).partial()),en=e.object({url:e.string().optional(),apiKey:e.string(),model:e.string(),voices:e.array(e.string())}),tn=e.object({instanceName:e.string(),apiKey:e.string(),deploymentName:e.string(),apiVersion:e.string(),model:e.string(),voices:e.array(e.string())}),nn=e.object({url:e.string().optional(),websocketUrl:e.string().optional(),apiKey:e.string(),model:e.string(),voices:e.array(e.string()),voice_settings:e.object({similarity_boost:e.number().optional(),stability:e.number().optional(),style:e.number().optional(),use_speaker_boost:e.boolean().optional()}).optional(),pronunciation_dictionary_locators:e.array(e.string()).optional()}),an=e.object({url:e.string(),apiKey:e.string().optional(),voices:e.array(e.string()),backend:e.string()}),on=e.object({openai:en.optional(),azureOpenAI:tn.optional(),elevenlabs:nn.optional(),localai:an.optional()}),rn=e.object({url:e.string().optional(),apiKey:e.string(),model:e.string()}),sn=e.object({instanceName:e.string(),apiKey:e.string(),deploymentName:e.string(),apiVersion:e.string()}),ln=e.object({openai:rn.optional(),azureOpenAI:sn.optional()}),cn=e.object({conversationMode:e.boolean().optional(),advancedMode:e.boolean().optional(),speechToText:e.boolean().optional().or(e.object({engineSTT:e.string().optional(),languageSTT:e.string().optional(),autoTranscribeAudio:e.boolean().optional(),decibelValue:e.number().optional(),autoSendText:e.number().optional()})).optional(),textToSpeech:e.boolean().optional().or(e.object({engineTTS:e.string().optional(),voice:e.string().optional(),languageTTS:e.string().optional(),automaticPlayback:e.boolean().optional(),playbackRate:e.number().optional(),cacheTTS:e.boolean().optional()})).optional()}).optional();!function(e){e.FILE_UPLOAD="FILE_UPLOAD",e.IMPORT="IMPORT",e.TTS="TTS",e.STT="STT"}(qt||(qt={}));var pn,dn=e.object({fileUploads:e.object({ipMax:e.number().optional(),ipWindowInMinutes:e.number().optional(),userMax:e.number().optional(),userWindowInMinutes:e.number().optional()}).optional(),conversationsImport:e.object({ipMax:e.number().optional(),ipWindowInMinutes:e.number().optional(),userMax:e.number().optional(),userWindowInMinutes:e.number().optional()}).optional(),tts:e.object({ipMax:e.number().optional(),ipWindowInMinutes:e.number().optional(),userMax:e.number().optional(),userWindowInMinutes:e.number().optional()}).optional(),stt:e.object({ipMax:e.number().optional(),ipWindowInMinutes:e.number().optional(),userMax:e.number().optional(),userWindowInMinutes:e.number().optional()}).optional()});!function(e){e.PNG="png",e.WEBP="webp",e.JPEG="jpeg"}(pn||(pn={}));var un,mn=e.object({externalUrl:e.string().optional(),openNewTab:e.boolean().optional(),modalAcceptance:e.boolean().optional(),modalTitle:e.string().optional(),modalContent:e.string().or(e.array(e.string())).optional()}),fn=e.object({privacyPolicy:e.object({externalUrl:e.string().optional(),openNewTab:e.boolean().optional()}).optional(),termsOfService:mn.optional(),customWelcome:e.string().optional(),endpointsMenu:e.boolean().optional(),modelSelect:e.boolean().optional(),parameters:e.boolean().optional(),sidePanel:e.boolean().optional(),multiConvo:e.boolean().optional(),bookmarks:e.boolean().optional(),presets:e.boolean().optional(),prompts:e.boolean().optional(),agents:e.boolean().optional(),temporaryChat:e.boolean().optional(),runCode:e.boolean().optional()}).default({endpointsMenu:!0,modelSelect:!0,parameters:!0,sidePanel:!0,presets:!0,multiConvo:!0,bookmarks:!0,prompts:!0,agents:!0,temporaryChat:!0,runCode:!0});!function(e){e.MISTRAL_OCR="mistral_ocr",e.CUSTOM_OCR="custom_ocr"}(un||(un={}));var gn,vn,bn=e.object({mistralModel:e.string().optional(),apiKey:e.string().optional().default("OCR_API_KEY"),baseURL:e.string().optional().default("OCR_BASEURL"),strategy:e.nativeEnum(un).default(un.MISTRAL_OCR)}),yn=e.object({enabled:e.boolean().optional().default(!1),startBalance:e.number().optional().default(2e4),autoRefillEnabled:e.boolean().optional().default(!1),refillIntervalValue:e.number().optional().default(30),refillIntervalUnit:e.enum(["seconds","minutes","hours","days","weeks","months"]).optional().default("days"),refillAmount:e.number().optional().default(1e4)}),hn=e.object({version:e.string(),cache:e.boolean().default(!0),ocr:bn.optional(),secureImageLinks:e.boolean().optional(),imageOutputType:e.nativeEnum(pn).default(pn.PNG),includedTools:e.array(e.string()).optional(),filteredTools:e.array(e.string()).optional(),mcpServers:_t.optional(),interface:fn,fileStrategy:jt.default(Ie.local),actions:e.object({allowedDomains:e.array(e.string()).optional()}).optional(),registration:e.object({socialLogins:e.array(e.string()).optional(),allowedDomains:e.array(e.string()).optional()}).default({socialLogins:Ot}),balance:yn.optional(),speech:e.object({tts:on.optional(),stt:ln.optional(),speechTab:cn.optional()}).optional(),rateLimits:dn.optional(),fileConfig:ft.optional(),modelSpecs:qe.optional(),endpoints:e.object((Rt={all:Yt.optional()},Rt[U.openAI]=Yt.optional(),Rt[U.google]=Yt.optional(),Rt[U.anthropic]=Yt.optional(),Rt[U.gptPlugins]=Yt.optional(),Rt[U.azureOpenAI]=Jt.optional(),Rt[U.azureAssistants]=$t.optional(),Rt[U.assistants]=$t.optional(),Rt[U.agents]=Zt.optional(),Rt[U.custom]=e.array(Qt.partial()).optional(),Rt[U.bedrock]=Yt.optional(),Rt)).strict().refine((function(e){return Object.keys(e).length>0}),{message:"At least one `endpoints` field must be provided."}).optional()}),Rn=function(){return Ht(hn)};!function(e){e.anyscale="anyscale",e.apipie="apipie",e.cohere="cohere",e.fireworks="fireworks",e.deepseek="deepseek",e.groq="groq",e.huggingface="huggingface",e.mistral="mistral",e.mlx="mlx",e.ollama="ollama",e.openrouter="openrouter",e.perplexity="perplexity",e.shuttleai="shuttleai",e["together.ai"]="together.ai",e.unify="unify",e.xai="xai"}(gn||(gn={})),function(e){e.openrouter="openrouter"}(vn||(vn={}));var xn,Tn=[U.openAI,U.assistants,U.azureAssistants,U.azureOpenAI,U.agents,U.chatGPTBrowser,U.gptPlugins,U.google,U.anthropic,U.custom,U.bedrock],Pn=((xt={})[U.openAI]="OpenAI",xt[U.assistants]="Assistants",xt[U.agents]="Agents",xt[U.azureAssistants]="Azure Assistants",xt[U.azureOpenAI]="Azure OpenAI",xt[U.chatGPTBrowser]="ChatGPT",xt[U.gptPlugins]="Plugins",xt[U.google]="Google",xt[U.anthropic]="Anthropic",xt[U.custom]="Custom",xt[U.bedrock]="AWS Bedrock",xt[gn.ollama]="Ollama",xt[gn.deepseek]="DeepSeek",xt[gn.xai]="xAI",xt),Nn=["gpt-4o-mini","gpt-4o","gpt-4.5-preview","gpt-4.5-preview-2025-02-27","gpt-3.5-turbo","gpt-3.5-turbo-0125","gpt-4-turbo","gpt-4-turbo-2024-04-09","gpt-4-0125-preview","gpt-4-turbo-preview","gpt-4-1106-preview","gpt-3.5-turbo-1106","gpt-3.5-turbo-16k-0613","gpt-3.5-turbo-16k","gpt-4","gpt-4-0314","gpt-4-32k-0314","gpt-4-0613","gpt-3.5-turbo-0613"],wn=["anthropic.claude-3-5-sonnet-20241022-v2:0","anthropic.claude-3-5-sonnet-20240620-v1:0","anthropic.claude-3-5-haiku-20241022-v1:0","anthropic.claude-3-haiku-20240307-v1:0","anthropic.claude-3-opus-20240229-v1:0","anthropic.claude-3-sonnet-20240229-v1:0","anthropic.claude-v2","anthropic.claude-v2:1","anthropic.claude-instant-v1","cohere.command-r-v1:0","cohere.command-r-plus-v1:0","meta.llama2-13b-chat-v1","meta.llama2-70b-chat-v1","meta.llama3-8b-instruct-v1:0","meta.llama3-70b-instruct-v1:0","meta.llama3-1-8b-instruct-v1:0","meta.llama3-1-70b-instruct-v1:0","meta.llama3-1-405b-instruct-v1:0","mistral.mistral-7b-instruct-v0:2","mistral.mixtral-8x7b-instruct-v0:1","mistral.mistral-large-2402-v1:0","mistral.mistral-large-2407-v1:0","mistral.mistral-small-2402-v1:0","ai21.jamba-instruct-v1:0","amazon.titan-text-lite-v1","amazon.titan-text-express-v1","amazon.titan-text-premier-v1:0"],Cn=((Tt={})[U.azureAssistants]=Nn,Tt[U.assistants]=u(u([],Nn,!0),["chatgpt-4o-latest"],!1),Tt[U.agents]=Nn,Tt[U.google]=["gemini-2.0-flash-001","gemini-2.0-flash-exp","gemini-2.0-flash-lite","gemini-2.0-pro-exp-02-05","gemini-1.5-flash-001","gemini-1.5-flash-002","gemini-1.5-pro-001","gemini-1.5-pro-002","gemini-1.0-pro-001"],Tt[U.anthropic]=["claude-3-7-sonnet-latest","claude-3-7-sonnet-20250219","claude-3-5-haiku-20241022","claude-3-5-sonnet-20241022","claude-3-5-sonnet-20240620","claude-3-5-sonnet-latest","claude-3-opus-20240229","claude-3-sonnet-20240229","claude-3-haiku-20240307","claude-2.1","claude-2","claude-1.2","claude-1","claude-1-100k","claude-instant-1","claude-instant-1-100k"],Tt[U.openAI]=u(u([],Nn,!0),["chatgpt-4o-latest","gpt-4-vision-preview","gpt-3.5-turbo-instruct-0914","gpt-3.5-turbo-instruct"],!1),Tt[U.bedrock]=wn,Tt),An=Cn[U.openAI],kn=((Pt={initial:[]})[U.openAI]=An,Pt[U.assistants]=An.filter((function(e){return/gpt-4|gpt-3\\.5/i.test(e)&&!/vision|instruct/i.test(e)})),Pt[U.agents]=An,Pt[U.gptPlugins]=An,Pt[U.azureOpenAI]=An,Pt[U.chatGPTBrowser]=["text-davinci-002-render-sha"],Pt[U.google]=Cn[U.google],Pt[U.anthropic]=Cn[U.anthropic],Pt[U.bedrock]=Cn[U.bedrock],Pt),Mn=((Nt={})[U.openAI]="/api/ask/".concat(U.openAI),Nt[U.google]="/api/ask/".concat(U.google),Nt[U.custom]="/api/ask/".concat(U.custom),Nt[U.anthropic]="/api/ask/".concat(U.anthropic),Nt[U.gptPlugins]="/api/ask/".concat(U.gptPlugins),Nt[U.azureOpenAI]="/api/ask/".concat(U.azureOpenAI),Nt[U.chatGPTBrowser]="/api/ask/".concat(U.chatGPTBrowser),Nt[U.azureAssistants]="/api/assistants/v1/chat",Nt[U.assistants]="/api/assistants/v2/chat",Nt[U.agents]="/api/".concat(U.agents,"/chat"),Nt[U.bedrock]="/api/".concat(U.bedrock,"/chat"),Nt),En=new Set([U.gptPlugins,U.anthropic,U.google,U.openAI,U.azureOpenAI,U.custom,U.agents,U.bedrock]),Sn=((wt={})[U.custom]=!0,wt[U.openAI]=!0,wt[U.anthropic]=!0,wt[U.gptPlugins]=!0,wt[U.assistants]=!0,wt[U.agents]=!0,wt[U.azureAssistants]=!0,wt[U.azureOpenAI]=!0,wt[U.bedrock]=!0,wt),_n=["qwen-vl","grok-vision","grok-2-vision","grok-3","gpt-4o-mini","gpt-4o","gpt-4-turbo","gpt-4-vision","o1","gpt-4.5","llava","llava-13b","gemini-pro-vision","claude-3","gemini-exp","gemini-1.5","gemini-2.0","moondream","llama3.2-vision","llama-3.2-11b-vision","llama-3-2-11b-vision","llama-3.2-90b-vision","llama-3-2-90b-vision"];function Dn(e){var t=e.model,n=e.additionalModels,a=void 0===n?[]:n,o=e.availableModels;return!!t&&(!t.includes("gpt-4-turbo-preview")&&!t.includes("o1-mini")&&(!(o&&!o.includes(t))&&_n.concat(a).some((function(e){return t.includes(e)}))))}!function(e){e.generative="generative",e.agents="agents"}(xn||(xn={}));var In,On,Ln,Un,jn,Hn,zn,Gn,Bn,Vn,Fn,Wn,qn,Kn,Yn,Xn=new Set(["dalle","dall-e","stable-diffusion","flux"]);!function(e){e.PROMPT_GROUPS="promptGroups",e.SHARED_LINKS="sharedLinks"}(In||(In={})),function(e){e[e.ONE_HOUR=36e5]="ONE_HOUR",e[e.THIRTY_MINUTES=18e5]="THIRTY_MINUTES",e[e.TEN_MINUTES=6e5]="TEN_MINUTES",e[e.FIVE_MINUTES=3e5]="FIVE_MINUTES",e[e.TWO_MINUTES=12e4]="TWO_MINUTES",e[e.ONE_MINUTE=6e4]="ONE_MINUTE",e[e.THIRTY_SECONDS=3e4]="THIRTY_SECONDS"}(On||(On={})),function(e){e.CONFIG_STORE="configStore",e.ROLES="roles",e.PLUGINS="plugins",e.GEN_TITLE="genTitle",e.TOOLS="tools",e.MODELS_CONFIG="modelsConfig",e.MODEL_QUERIES="modelQueries",e.STARTUP_CONFIG="startupConfig",e.ENDPOINT_CONFIG="endpointsConfig",e.TOKEN_CONFIG="tokenConfig",e.CUSTOM_CONFIG="customConfig",e.ABORT_KEYS="abortKeys",e.OVERRIDE_CONFIG="overrideConfig",e.BANS="bans",e.ENCODED_DOMAINS="encoded_domains",e.AUDIO_RUNS="audioRuns",e.MESSAGES="messages",e.FLOWS="flows"}(Ln||(Ln={})),function(e){e.FILE_UPLOAD_LIMIT="file_upload_limit",e.ILLEGAL_MODEL_REQUEST="illegal_model_request",e.TOKEN_BALANCE="token_balance",e.BAN="ban",e.TTS_LIMIT="tts_limit",e.STT_LIMIT="stt_limit",e.RESET_PASSWORD_LIMIT="reset_password_limit",e.VERIFY_EMAIL_LIMIT="verify_email_limit",e.CONVO_ACCESS="convo_access",e.TOOL_CALL_LIMIT="tool_call_limit"}(Un||(Un={})),function(e){e.NO_USER_KEY="no_user_key",e.EXPIRED_USER_KEY="expired_user_key",e.INVALID_USER_KEY="invalid_user_key",e.NO_BASE_URL="no_base_url",e.MODERATION="moderation",e.INPUT_LENGTH="INPUT_LENGTH",e.INVALID_REQUEST="invalid_request_error",e.INVALID_ACTION="invalid_action_error",e.NO_SYSTEM_MESSAGES="no_system_messages",e.GOOGLE_ERROR="google_error"}(jn||(jn={})),function(e){e.GOOGLE_SERVICE_KEY="GOOGLE_SERVICE_KEY",e.GOOGLE_API_KEY="GOOGLE_API_KEY"}(Hn||(Hn={})),function(e){e[e.LOW=85]="LOW",e[e.HIGH=170]="HIGH",e[e.ADDITIONAL=85]="ADDITIONAL"}(zn||(zn={})),function(e){e.GENERAL="general",e.CHAT="chat",e.SPEECH="speech",e.BETA="beta",e.DATA="data",e.ACCOUNT="account",e.COMMANDS="commands"}(Gn||(Gn={})),function(e){e.OPENAI="openai",e.AZURE_OPENAI="azureOpenAI"}(Bn||(Bn={})),function(e){e.OPENAI="openai",e.AZURE_OPENAI="azureOpenAI",e.ELEVENLABS="elevenlabs",e.LOCALAI="localai"}(Vn||(Vn={})),function(e){e.VERSION="v0.7.7",e.CONFIG_VERSION="1.2.3",e.NO_PARENT="00000000-0000-0000-0000-000000000000",e.NEW_CONVO="new",e.SEARCH="search",e[e.ENCODED_DOMAIN_LENGTH=10]="ENCODED_DOMAIN_LENGTH",e.CURRENT_MODEL="current_model",e.COMMON_DIVIDER="__",e[e.COMMANDS_MAX_LENGTH=56]="COMMANDS_MAX_LENGTH",e[e.DEFAULT_STREAM_RATE=1]="DEFAULT_STREAM_RATE",e.SAVED_TAG="Saved",e[e.MAX_CONVO_STARTERS=4]="MAX_CONVO_STARTERS",e.GLOBAL_PROJECT_NAME="instance",e.mcp_delimiter="_mcp_"}(Fn||(Fn={})),function(e){e.APP_TITLE="appTitle",e.LAST_CONVO_SETUP="lastConversationSetup",e.LAST_MODEL="lastSelectedModel",e.LAST_TOOLS="lastSelectedTools",e.LAST_SPEC="lastSelectedSpec",e.FILES_TO_DELETE="filesToDelete",e.ASST_ID_PREFIX="assistant_id__",e.AGENT_ID_PREFIX="agent_id__",e.FORK_SETTING="forkSetting",e.REMEMBER_FORK_OPTION="rememberDefaultFork",e.FORK_SPLIT_AT_TARGET="splitAtTarget",e.TEXT_DRAFT="textDraft_",e.FILES_DRAFT="filesDraft_",e.LAST_PROMPT_CATEGORY="lastPromptCategory",e.ENABLE_USER_MSG_MARKDOWN="enableUserMsgMarkdown",e.SHOW_ANALYSIS_CODE="showAnalysisCode"}(Wn||(Wn={})),function(e){e.DIRECT_PATH="directPath",e.INCLUDE_BRANCHES="includeBranches",e.TARGET_LEVEL="targetLevel",e.DEFAULT="default"}(qn||(qn={})),function(e){e.API_URL="https://api.cohere.ai/v1",e.ROLE_USER="USER",e.ROLE_SYSTEM="SYSTEM",e.ROLE_CHATBOT="CHATBOT",e.TITLE_MESSAGE="TITLE:"}(Kn||(Kn={})),function(e){e.ALL="sys__all__sys",e.MY_PROMPTS="sys__my__prompts__sys",e.NO_CATEGORY="sys__no__category__sys",e.SHARED_PROMPTS="sys__shared__prompts__sys"}(Yn||(Yn={}));var $n,Zn,Qn,Jn=((Ct={})[U.openAI]=U.openAI,Ct[U.bedrock]=U.bedrock,Ct[U.anthropic]=U.anthropic,Ct[U.azureOpenAI]=U.azureOpenAI,Ct);!function(e){e.TEXT="text",e.THINK="think",e.TEXT_DELTA="text_delta",e.TOOL_CALL="tool_call",e.IMAGE_FILE="image_file",e.IMAGE_URL="image_url",e.AGENT_UPDATE="agent_update",e.ERROR="error"}($n||($n={})),function(e){e.TOOL_CALLS="tool_calls",e.MESSAGE_CREATION="message_creation"}(Zn||(Zn={})),function(e){e.FUNCTION="function",e.RETRIEVAL="retrieval",e.FILE_SEARCH="file_search",e.CODE_INTERPRETER="code_interpreter",e.TOOL_CALL="tool_call"}(Qn||(Qn={}));var ea=xe.pick({modelLabel:!0,promptPrefix:!0,resendFiles:!0,iconURL:!0,greeting:!0,spec:!0,maxOutputTokens:!0,maxContextTokens:!0,artifacts:!0,region:!0,system:!0,model:!0,maxTokens:!0,temperature:!0,topP:!0,stop:!0,thinking:!0,thinkingBudget:!0,topK:!0,additionalModelRequestFields:!0}).transform((function(e){var t,n;if(null!=(null===(t=e.additionalModelRequestFields)||void 0===t?void 0:t.thinking)){var a=e;e.thinking=!!a.additionalModelRequestFields.thinking,e.thinkingBudget="object"==typeof a.additionalModelRequestFields.thinking?null===(n=a.additionalModelRequestFields.thinking)||void 0===n?void 0:n.budget_tokens:void 0,delete e.additionalModelRequestFields}return Se(e)})).catch((function(){return{}})),ta=xe.pick({modelLabel:!0,promptPrefix:!0,resendFiles:!0,iconURL:!0,greeting:!0,spec:!0,artifacts:!0,maxOutputTokens:!0,maxContextTokens:!0,region:!0,model:!0,maxTokens:!0,temperature:!0,topP:!0,stop:!0,thinking:!0,thinkingBudget:!0,topK:!0,additionalModelRequestFields:!0}).catchall(e.any()).transform((function(e){var t=["modelLabel","promptPrefix","resendFiles","iconURL","greeting","spec","maxOutputTokens","artifacts","additionalModelRequestFields","region","model","maxTokens","temperature","topP","stop"],n={},a=e;return Object.entries(a).forEach((function(e){var o=e[0],r=e[1];t.includes(o)||("topK"===o?n.top_k=r:n[o]=r,delete a[o])})),"string"==typeof a.model&&a.model.includes("anthropic.claude-3-7-sonnet")?(void 0===n.thinking?n.thinking=!0:!1===n.thinking&&(delete n.thinking,delete n.thinkingBudget),!0===n.thinking&&void 0===n.thinkingBudget&&(n.thinkingBudget=2e3),n.anthropic_beta=["output-128k-2025-02-19"]):null==n.thinking&&null==n.thinkingBudget||(delete n.thinking,delete n.thinkingBudget),Object.keys(n).length>0&&(a.additionalModelRequestFields=l(l({},a.additionalModelRequestFields||{}),n)),void 0!==a.maxOutputTokens?a.maxTokens=a.maxOutputTokens:void 0!==a.maxTokens&&(a.maxOutputTokens=a.maxTokens),Se(a)})).catch((function(){return{}}));var na,aa,oa=function(e){var t,n=u(u([],Object.keys(xe.shape),!0),["topK","top_k"],!1),a={};return Object.entries(e).forEach((function(e){var t=e[0],o=e[1];n.includes(t)&&(a[t]=o)})),"object"==typeof e.additionalModelRequestFields&&null!==e.additionalModelRequestFields&&Object.entries(e.additionalModelRequestFields).forEach((function(e){var t=e[0],o=e[1];if(n.includes(t))if("top_k"===t)a.topK=o;else{if("thinking"===t||"thinkingBudget"===t)return;a[t]=o}})),void 0!==a.maxTokens&&void 0===a.maxOutputTokens?a.maxOutputTokens=a.maxTokens:void 0!==a.maxOutputTokens&&void 0===a.maxTokens&&(a.maxTokens=a.maxOutputTokens),a=function(e){var t,n,a,o,r=l({},e);if(!0===(null===(t=r.additionalModelRequestFields)||void 0===t?void 0:t.thinking)){r.maxTokens=null!==(a=null!==(n=r.maxTokens)&&void 0!==n?n:r.maxOutputTokens)&&void 0!==a?a:8192,delete r.maxOutputTokens;var i={type:"enabled",budget_tokens:null!==(o=r.additionalModelRequestFields.thinkingBudget)&&void 0!==o?o:2e3};i.budget_tokens>r.maxTokens&&(i.budget_tokens=Math.floor(.9*r.maxTokens)),r.additionalModelRequestFields.thinking=i,delete r.additionalModelRequestFields.thinkingBudget}return r}(a),null==(null===(t=a.additionalModelRequestFields)||void 0===t?void 0:t.thinking)&&delete a.additionalModelRequestFields,a},ra=((na={})[U.openAI]=je,na[U.azureOpenAI]=je,na[U.custom]=je,na[U.google]=Ae,na[U.anthropic]=ze,na[U.chatGPTBrowser]=Me,na[U.gptPlugins]=Ee,na[U.assistants]=Oe,na[U.azureAssistants]=Oe,na[U.agents]=Fe,na[U.bedrock]=ea,na);function ia(){var e,t=[U.openAI,U.agents,U.assistants,U.azureAssistants,U.azureOpenAI,U.google,U.chatGPTBrowser,U.gptPlugins,U.anthropic,U.bedrock],n=null!==(e=process.env.ENDPOINTS)&&void 0!==e?e:"",a=t;return n&&(a=n.split(",").filter((function(e){return e.trim()})).map((function(e){return e.trim()}))),a}function sa(e){if(!e)return{};var t=ia(),n=Object.keys(e),a=t.indexOf(U.custom);return n.reduce((function(n,o){var r=!(o in U);if(!t.includes(o)&&!r)return n;var i=t.indexOf(o);return r?n[o]=l({order:a>=0?a:9999},e[o]):e[o]&&(n[o]=l(l({},e[o]),{order:i})),n}),{})}function la(e){return e.map((function(e){var t=e.path.join("."),n=e.message;return"".concat(t,": ").concat(n)})).join(" ")}function ca(e){var t=l({},null!=e?e:{});return e&&"object"==typeof e&&!Array.isArray(e)&&Object.keys(e).forEach((function(n){t[n]=R(e[n])})),t}function pa(e){for(var t,n=0,a=e;n<a.length;n++){var o=a[n];if(o){t=o;break}}return t}function da(e){for(var t=0,n=e;t<n.length;t++){var a=n[t];if(a&&""!==a.trim())return a}}var ua=function(e){var t,n,a=e.endpoint,o=e.endpointType,r=e.conversation,i=e.possibleValues,s=ra[a];if(!s&&!o)throw new Error("Unknown endpoint: ".concat(a));!s&&o&&(s=ra[o]);var l=null==s?void 0:s.parse(r),c=null!=i?i:{},p=c.models,d=c.secondaryModels;return p&&l&&(l.model=null!==(t=pa(p))&&void 0!==t?t:l.model),d&&(null==l?void 0:l.agentOptions)&&(l.agentOptions.model=null!==(n=pa(d))&&void 0!==n?n:l.agentOptions.model),l},ma=function(e){var t=e.match(/gpt-(\d+(?:\.\d+)?)([a-z])?/i);if(t){var n=t[1],a=t[2]||"";return"GPT-".concat(n).concat(a)}return""},fa=function(e){var t=e.match(/\bo(\d+(?:\.\d+)?)\b/i);if(t){var n=t[1];return"o".concat(n)}return""},ga=function(e){var t,n=e.model,a=e.endpoint,o=e.endpointType,r=e.modelDisplayLabel,i=e.chatGptLabel,s=e.modelLabel,l=null!=n?n:"",c=null!=r?r:"",p=null!=i?i:"",d=null!=s?s:"";return[U.openAI,U.bedrock,U.gptPlugins,U.azureOpenAI,U.chatGPTBrowser].includes(a)?p||(d||(l&&fa(l)?fa(l):l&&l.includes("mistral")?"Mistral":l&&l.includes("gpt-")?ma(l)||"GPT":null!==(t=Pn[a])&&void 0!==t?t:"ChatGPT")):a===U.anthropic?d||"Claude":a===U.bedrock?d||Pn[a]:a===U.google?d||(l&&(l.includes("gemini")||l.includes("learnlm"))?"Gemini":l&&l.includes("code")?"Codey":"PaLM2"):a===U.custom||o===U.custom?d||(p||(l&&fa(l)?fa(l):l&&l.includes("mistral")?"Mistral":l&&l.includes("gpt-")?ma(l)||"GPT":c||"AI")):""},va=((aa={})[U.openAI]=je,aa[U.azureOpenAI]=je,aa[U.custom]=je,aa[U.assistants]=Le,aa[U.azureAssistants]=Le,aa[U.agents]=Fe,aa[U.google]=He,aa[U.bedrock]=ea,aa[U.anthropic]=ze,aa[U.chatGPTBrowser]=Ge,aa[U.gptPlugins]=Be,aa),ba=function(e){var t,n=e.endpoint,a=e.endpointType,o=e.conversation,r=e.possibleValues;if(!n)throw new Error("undefined endpoint: ".concat(n));var i=va[n];if(!i&&!a)throw new Error("Unknown endpoint: ".concat(n));if(!i&&a&&(i=va[a]),!i)throw new Error("Unknown endpointType: ".concat(a));var s=i.parse(o),l=(null!=r?r:{}).models;return l&&s&&(s.model=null!==(t=pa(l))&&void 0!==t?t:s.model),s};function ya(e){for(var t="",n=0,a=e;n<a.length;n++){var o=a[n];if(o.type===$n.TEXT){var r="string"==typeof o.text?o.text:o.text.value;t.length>0&&r.length>0&&" "!==t[t.length-1]&&" "!==r[0]&&(t+=" "),t+=r}}return t}var ha=[".","?","!","۔","。","‥",";","¡","¿","\n","```"];function Ra(e,t){void 0===t&&(t=ha);for(var n=-1,a=0,o=t;a<o.length;a++){var r=o[a],i=e.lastIndexOf(r);i>n&&(n=i)}return n}var xa,Ta=[{key:"AZURE_OPENAI_DEFAULT_MODEL",description:"setting a default model"},{key:"AZURE_OPENAI_MODELS",description:"setting models"},{key:"AZURE_USE_MODEL_AS_DEPLOYMENT_NAME",description:"using model names as deployment names"},{key:"AZURE_API_KEY",description:"setting a single Azure API key"},{key:"AZURE_OPENAI_API_INSTANCE_NAME",description:"setting a single Azure instance name"},{key:"AZURE_OPENAI_API_DEPLOYMENT_NAME",description:"setting a single Azure deployment name"},{key:"AZURE_OPENAI_API_VERSION",description:"setting a single Azure API version"},{key:"AZURE_OPENAI_API_COMPLETIONS_DEPLOYMENT_NAME",description:"setting a single Azure completions deployment name"},{key:"AZURE_OPENAI_API_EMBEDDINGS_DEPLOYMENT_NAME",description:"setting a single Azure embeddings deployment name"},{key:"PLUGINS_USE_AZURE",description:"using Azure for Plugins"}],Pa=[{key:"INSTANCE_NAME"},{key:"DEPLOYMENT_NAME"}];function Na(e){var t,n,a,o,r=!0,i=[],s={},p={},d=[],u=Wt.safeParse(e);if(u.success)for(var m=0,f=u.data;m<f.length;m++){var g=f[m],v=g.group,b=g.apiKey,y=g.instanceName,h=void 0===y?"":y,R=g.deploymentName,x=void 0===R?"":R,T=g.version,P=void 0===T?"":T,N=g.baseURL,w=void 0===N?"":N,C=g.additionalHeaders,A=g.models,k=g.serverless,M=void 0!==k&&k,E=c(g,["group","apiKey","instanceName","deploymentName","version","baseURL","additionalHeaders","models","serverless"]);if(p[v])return d.push('Duplicate group name detected: "'.concat(v,'". Group names must be unique.')),{isValid:!1,modelNames:i,modelGroupMap:s,groupMap:p,errors:d};if(M&&!w)return d.push('Group "'.concat(v,'" is serverless but missing mandatory "baseURL."')),{isValid:!1,modelNames:i,modelGroupMap:s,groupMap:p,errors:d};if(!h&&!M)return d.push('Group "'.concat(v,'" is missing an "instanceName" for non-serverless configuration.')),{isValid:!1,modelNames:i,modelGroupMap:s,groupMap:p,errors:d};for(var S in p[v]=l({apiKey:b,instanceName:h,deploymentName:x,version:P,baseURL:w,additionalHeaders:C,models:A,serverless:M},E),g.models){i.push(S);var _=g.models[S];if(s[S])return d.push('Duplicate model name detected: "'.concat(S,'". Model names must be unique across groups.')),{isValid:!1,modelNames:i,modelGroupMap:s,groupMap:p,errors:d};if(M)s[S]={group:v};else{var D=null!==(t=g.deploymentName)&&void 0!==t?t:"",I=null!==(n=g.version)&&void 0!==n?n:"";if("boolean"==typeof _){if(!D||!I)return d.push('Model "'.concat(S,'" in group "').concat(v,'" is missing a deploymentName or version.')),{isValid:!1,modelNames:i,modelGroupMap:s,groupMap:p,errors:d};s[S]={group:v}}else{var O=null!==(a=_.deploymentName)&&void 0!==a?a:"",L=null!==(o=_.version)&&void 0!==o?o:"";if(!O&&!D||!L&&!I)return d.push('Model "'.concat(S,'" in group "').concat(v,'" is missing a required deploymentName or version.')),{isValid:!1,modelNames:i,modelGroupMap:s,groupMap:p,errors:d};s[S]={group:v}}}}}else r=!1,d.push(la(u.error.errors));return{isValid:r,modelNames:i,modelGroupMap:s,groupMap:p,errors:d}}function wa(e){var t,n,a,o,r,i=e.modelName,s=e.modelGroupMap,l=e.groupMap,c=s[i];if(!c)throw new Error('Model named "'.concat(i,'" not found in configuration.'));var p=l[c.group];if(!p)throw new Error('Group "'.concat(c.group,'" for model "').concat(i,'" not found in configuration.'));var d=null!==(t=p.instanceName)&&void 0!==t?t:"";if(!d&&!0!==p.serverless)throw new Error('Group "'.concat(c.group,'" is missing an instanceName for non-serverless configuration.'));var u=null!==(n=p.baseURL)&&void 0!==n?n:"";if(!0===p.serverless&&!u)throw new Error('Group "'.concat(c.group,'" is missing the required base URL for serverless configuration.'));if(!0===p.serverless){var m={azureOptions:{azureOpenAIApiVersion:R(null!==(a=p.version)&&void 0!==a?a:""),azureOpenAIApiKey:R(p.apiKey)},baseURL:R(u),serverless:!0},f=m.azureOptions.azureOpenAIApiKey;if("string"==typeof f&&h.test(f))throw new Error('Azure configuration environment variable "'.concat(f,'" was not found.'));return p.additionalHeaders&&(m.headers=p.additionalHeaders),m}if(!d)throw new Error('Group "'.concat(c.group,'" is missing an instanceName for non-serverless configuration.'));var g=p.models[i],v="object"==typeof g?{deploymentName:null!==(o=g.deploymentName)&&void 0!==o?o:p.deploymentName,version:null!==(r=g.version)&&void 0!==r?r:p.version}:{deploymentName:p.deploymentName,version:p.version},b=v.deploymentName,y=void 0===b?"":b,x=v.version,T=void 0===x?"":x;if(!y||!T)throw new Error('Model "'.concat(i,'" in group "').concat(c.group,'" is missing a deploymentName ("').concat(y,'") or version ("').concat(T,'").'));for(var P={azureOpenAIApiKey:R(p.apiKey),azureOpenAIApiInstanceName:R(d),azureOpenAIApiDeploymentName:R(y),azureOpenAIApiVersion:R(T)},N=0,w=Object.values(P);N<w.length;N++){var C=w[N];if("string"==typeof C&&h.test(C))throw new Error('Azure configuration environment variable "'.concat(C,'" was not found.'))}var A={azureOptions:P};return u&&(A.baseURL=R(u)),p.additionalHeaders&&(A.headers=p.additionalHeaders),A}function Ca(e){var t,n,a,o,r,i,s=e.groupName,c=e.groupMap[s];if(!c)throw new Error('Group named "'.concat(s,'" not found in configuration.'));var p=null!==(t=c.instanceName)&&void 0!==t?t:"",d=null!==(n=c.serverless)&&void 0!==n&&n,u=null!==(a=c.baseURL)&&void 0!==a?a:"";if(!p&&!d)throw new Error('Group "'.concat(s,'" is missing an instanceName for non-serverless configuration.'));if(d&&!u)throw new Error('Group "'.concat(s,'" is missing the required base URL for serverless configuration.'));var m=Object.keys(c.models);if(0===m.length)throw new Error('Group "'.concat(s,'" does not have any models configured.'));var f=m[0],g=c.models[f],v={azureOpenAIApiVersion:R(null!==(o=c.version)&&void 0!==o?o:""),azureOpenAIApiKey:R(c.apiKey),azureOpenAIApiInstanceName:R(p)};if(d)return l({azureOptions:v,baseURL:R(u),serverless:!0},c.additionalHeaders&&{headers:c.additionalHeaders});var b="object"==typeof g?{deploymentName:null!==(r=g.deploymentName)&&void 0!==r?r:c.deploymentName,version:null!==(i=g.version)&&void 0!==i?i:c.version}:{deploymentName:c.deploymentName,version:c.version},y=b.deploymentName,h=void 0===y?"":y,x=b.version,T=void 0===x?"":x;if(!h||!T)throw new Error('Model "'.concat(f,'" in group "').concat(s,'" or the group itself is missing a deploymentName ("').concat(h,'") or version ("').concat(T,'").'));v.azureOpenAIApiDeploymentName=R(h),v.azureOpenAIApiVersion=R(T);var P={azureOptions:v};return u&&(P.baseURL=R(u)),c.additionalHeaders&&(P.headers=c.additionalHeaders),P}!function(e){e.DEFAULT="default",e.SHADCNUI="shadcnui",e.CUSTOM="custom"}(xa||(xa={}));var Aa,ka,Ma,Ea='\nimport { type ClassValue, clsx } from "clsx"\nimport { twMerge } from "tailwind-merge"\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs))\n}\n',Sa='import * as React from "react"\nimport * as AccordionPrimitive from "@radix-ui/react-accordion"\nimport { ChevronDown } from "lucide-react"\n\nimport { cn } from "../../lib/utils"\n\nconst Accordion = AccordionPrimitive.Root\n\nconst AccordionItem = React.forwardRef<\n React.ElementRef<typeof AccordionPrimitive.Item>,\n React.ComponentPropsWithoutRef<typeof AccordionPrimitive.Item>\n>(({ className, ...props }, ref) => (\n <AccordionPrimitive.Item\n ref={ref}\n className={cn("border-b", className)}\n {...props}\n />\n))\nAccordionItem.displayName = "AccordionItem"\n\nconst AccordionTrigger = React.forwardRef<\n React.ElementRef<typeof AccordionPrimitive.Trigger>,\n React.ComponentPropsWithoutRef<typeof AccordionPrimitive.Trigger>\n>(({ className, children, ...props }, ref) => (\n <AccordionPrimitive.Header className="flex">\n <AccordionPrimitive.Trigger\n ref={ref}\n className={cn(\n "flex flex-1 items-center justify-between py-4 font-medium transition-all hover:underline [&[data-state=open]>svg]:rotate-180",\n className\n )}\n {...props}\n >\n {children}\n <ChevronDown className="h-4 w-4 shrink-0 transition-transform duration-200" />\n </AccordionPrimitive.Trigger>\n </AccordionPrimitive.Header>\n))\nAccordionTrigger.displayName = AccordionPrimitive.Trigger.displayName\n\nconst AccordionContent = React.forwardRef<\n React.ElementRef<typeof AccordionPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof AccordionPrimitive.Content>\n>(({ className, children, ...props }, ref) => (\n <AccordionPrimitive.Content\n ref={ref}\n className="overflow-hidden text-sm transition-all data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down"\n {...props}\n >\n <div className={cn("pb-4 pt-0", className)}>{children}</div>\n </AccordionPrimitive.Content>\n))\n\nAccordionContent.displayName = AccordionPrimitive.Content.displayName\n\nexport { Accordion, AccordionItem, AccordionTrigger, AccordionContent }\n',_a='import * as React from "react"\nimport * as AlertDialogPrimitive from "@radix-ui/react-alert-dialog"\n\nimport { cn } from "../../lib/utils"\nimport { buttonVariants } from "./button"\n\nconst AlertDialog = AlertDialogPrimitive.Root\n\nconst AlertDialogTrigger = AlertDialogPrimitive.Trigger\n\nconst AlertDialogPortal = AlertDialogPrimitive.Portal\n\nconst AlertDialogOverlay = React.forwardRef<\n React.ElementRef<typeof AlertDialogPrimitive.Overlay>,\n React.ComponentPropsWithoutRef<typeof AlertDialogPrimitive.Overlay>\n>(({ className, ...props }, ref) => (\n <AlertDialogPrimitive.Overlay\n className={cn(\n "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",\n className\n )}\n {...props}\n ref={ref}\n />\n))\nAlertDialogOverlay.displayName = AlertDialogPrimitive.Overlay.displayName\n\nconst AlertDialogContent = React.forwardRef<\n React.ElementRef<typeof AlertDialogPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof AlertDialogPrimitive.Content>\n>(({ className, ...props }, ref) => (\n <AlertDialogPortal>\n <AlertDialogOverlay />\n <AlertDialogPrimitive.Content\n ref={ref}\n className={cn(\n "fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border border-gray-200 bg-white p-6 shadow-lg duration-200 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-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg dark:border-gray-800 dark:bg-gray-950",\n className\n )}\n {...props}\n />\n </AlertDialogPortal>\n))\nAlertDialogContent.displayName = AlertDialogPrimitive.Content.displayName\n\nconst AlertDialogHeader = ({\n className,\n ...props\n}: React.HTMLAttributes<HTMLDivElement>) => (\n <div\n className={cn(\n "flex flex-col space-y-2 text-center sm:text-left",\n className\n )}\n {...props}\n />\n)\nAlertDialogHeader.displayName = "AlertDialogHeader"\n\nconst AlertDialogFooter = ({\n className,\n ...props\n}: React.HTMLAttributes<HTMLDivElement>) => (\n <div\n className={cn(\n "flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",\n className\n )}\n {...props}\n />\n)\nAlertDialogFooter.displayName = "AlertDialogFooter"\n\nconst AlertDialogTitle = React.forwardRef<\n React.ElementRef<typeof AlertDialogPrimitive.Title>,\n React.ComponentPropsWithoutRef<typeof AlertDialogPrimitive.Title>\n>(({ className, ...props }, ref) => (\n <AlertDialogPrimitive.Title\n ref={ref}\n className={cn("text-lg font-semibold", className)}\n {...props}\n />\n))\nAlertDialogTitle.displayName = AlertDialogPrimitive.Title.displayName\n\nconst AlertDialogDescription = React.forwardRef<\n React.ElementRef<typeof AlertDialogPrimitive.Description>,\n React.ComponentPropsWithoutRef<typeof AlertDialogPrimitive.Description>\n>(({ className, ...props }, ref) => (\n <AlertDialogPrimitive.Description\n ref={ref}\n className={cn("text-sm text-gray-500 dark:text-gray-400", className)}\n {...props}\n />\n))\nAlertDialogDescription.displayName =\n AlertDialogPrimitive.Description.displayName\n\nconst AlertDialogAction = React.forwardRef<\n React.ElementRef<typeof AlertDialogPrimitive.Action>,\n React.ComponentPropsWithoutRef<typeof AlertDialogPrimitive.Action>\n>(({ className, ...props }, ref) => (\n <AlertDialogPrimitive.Action\n ref={ref}\n className={cn(buttonVariants(), className)}\n {...props}\n />\n))\nAlertDialogAction.displayName = AlertDialogPrimitive.Action.displayName\n\nconst AlertDialogCancel = React.forwardRef<\n React.ElementRef<typeof AlertDialogPrimitive.Cancel>,\n React.ComponentPropsWithoutRef<typeof AlertDialogPrimitive.Cancel>\n>(({ className, ...props }, ref) => (\n <AlertDialogPrimitive.Cancel\n ref={ref}\n className={cn(\n buttonVariants({ variant: "outline" }),\n "mt-2 sm:mt-0",\n className\n )}\n {...props}\n />\n))\nAlertDialogCancel.displayName = AlertDialogPrimitive.Cancel.displayName\n\nexport {\n AlertDialog,\n AlertDialogPortal,\n AlertDialogOverlay,\n AlertDialogTrigger,\n AlertDialogContent,\n AlertDialogHeader,\n AlertDialogFooter,\n AlertDialogTitle,\n AlertDialogDescription,\n AlertDialogAction,\n AlertDialogCancel,\n}\n',Da='import * as React from "react"\nimport { cva, type VariantProps } from "class-variance-authority"\n\nimport { cn } from "../../lib/utils"\n\nconst alertVariants = cva(\n "relative w-full rounded-lg border border-gray-200 p-4 [&>svg~*]:pl-7 [&>svg+div]:translate-y-[-3px] [&>svg]:absolute [&>svg]:left-4 [&>svg]:top-4 [&>svg]:text-gray-950 dark:border-gray-800 dark:[&>svg]:text-gray-50",\n {\n variants: {\n variant: {\n default: "bg-white text-gray-950 dark:bg-gray-950 dark:text-gray-50",\n destructive:\n "border-red-500/50 text-red-500 dark:border-red-500 [&>svg]:text-red-500 dark:border-red-900/50 dark:text-red-900 dark:dark:border-red-900 dark:[&>svg]:text-red-900",\n },\n },\n defaultVariants: {\n variant: "default",\n },\n }\n)\n\nconst Alert = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement> & VariantProps<typeof alertVariants>\n>(({ className, variant, ...props }, ref) => (\n <div\n ref={ref}\n role="alert"\n className={cn(alertVariants({ variant }), className)}\n {...props}\n />\n))\nAlert.displayName = "Alert"\n\nconst AlertTitle = React.forwardRef<\n HTMLParagraphElement,\n React.HTMLAttributes<HTMLHeadingElement>\n>(({ className, ...props }, ref) => (\n <h5\n ref={ref}\n className={cn("mb-1 font-medium leading-none tracking-tight", className)}\n {...props}\n />\n))\nAlertTitle.displayName = "AlertTitle"\n\nconst AlertDescription = React.forwardRef<\n HTMLParagraphElement,\n React.HTMLAttributes<HTMLParagraphElement>\n>(({ className, ...props }, ref) => (\n <div\n ref={ref}\n className={cn("text-sm [&_p]:leading-relaxed", className)}\n {...props}\n />\n))\nAlertDescription.displayName = "AlertDescription"\n\nexport { Alert, AlertTitle, AlertDescription }\n\n',Ia='import * as React from "react"\nimport * as AvatarPrimitive from "@radix-ui/react-avatar"\n\nimport { cn } from "../../lib/utils"\n\nconst Avatar = React.forwardRef<\n React.ElementRef<typeof AvatarPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof AvatarPrimitive.Root>\n>(({ className, ...props }, ref) => (\n <AvatarPrimitive.Root\n ref={ref}\n className={cn(\n "relative flex h-10 w-10 shrink-0 overflow-hidden rounded-full",\n className\n )}\n {...props}\n />\n))\nAvatar.displayName = AvatarPrimitive.Root.displayName\n\nconst AvatarImage = React.forwardRef<\n React.ElementRef<typeof AvatarPrimitive.Image>,\n React.ComponentPropsWithoutRef<typeof AvatarPrimitive.Image>\n>(({ className, ...props }, ref) => (\n <AvatarPrimitive.Image\n ref={ref}\n className={cn("aspect-square h-full w-full", className)}\n {...props}\n />\n))\nAvatarImage.displayName = AvatarPrimitive.Image.displayName\n\nconst AvatarFallback = React.forwardRef<\n React.ElementRef<typeof AvatarPrimitive.Fallback>,\n React.ComponentPropsWithoutRef<typeof AvatarPrimitive.Fallback>\n>(({ className, ...props }, ref) => (\n <AvatarPrimitive.Fallback\n ref={ref}\n className={cn(\n "flex h-full w-full items-center justify-center rounded-full bg-gray-100 dark:bg-gray-800",\n className\n )}\n {...props}\n />\n))\nAvatarFallback.displayName = AvatarPrimitive.Fallback.displayName\n\nexport { Avatar, AvatarImage, AvatarFallback }\n\n',Oa='import * as React from "react"\nimport { cva, type VariantProps } from "class-variance-authority"\n\nimport { cn } from "../../lib/utils"\n\nconst badgeVariants = cva(\n "inline-flex items-center rounded-full border border-gray-200 px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-gray-950 focus:ring-offset-2 dark:border-gray-800 dark:focus:ring-gray-300",\n {\n variants: {\n variant: {\n default:\n "border-transparent bg-gray-900 text-gray-50 hover:bg-gray-900/80 dark:bg-gray-50 dark:text-gray-900 dark:hover:bg-gray-50/80",\n secondary:\n "border-transparent bg-gray-100 text-gray-900 hover:bg-gray-100/80 dark:bg-gray-800 dark:text-gray-50 dark:hover:bg-gray-800/80",\n destructive:\n "border-transparent bg-red-500 text-gray-50 hover:bg-red-500/80 dark:bg-red-900 dark:text-gray-50 dark:hover:bg-red-900/80",\n outline: "text-gray-950 dark:text-gray-50",\n },\n },\n defaultVariants: {\n variant: "default",\n },\n }\n)\n\nexport interface BadgeProps\n extends React.HTMLAttributes<HTMLDivElement>,\n VariantProps<typeof badgeVariants> {}\n\nfunction Badge({ className, variant, ...props }: BadgeProps) {\n return (\n <div className={cn(badgeVariants({ variant }), className)} {...props} />\n )\n}\n\nexport { Badge, badgeVariants }\n\n',La='import * as React from "react"\nimport { Slot } from "@radix-ui/react-slot"\nimport { ChevronRight, MoreHorizontal } from "lucide-react"\n\nimport { cn } from "../../lib/utils"\n\nconst Breadcrumb = React.forwardRef<\n HTMLElement,\n React.ComponentPropsWithoutRef<"nav"> & {\n separator?: React.ReactNode\n }\n>(({ ...props }, ref) => <nav ref={ref} aria-label="breadcrumb" {...props} />)\nBreadcrumb.displayName = "Breadcrumb"\n\nconst BreadcrumbList = React.forwardRef<\n HTMLOListElement,\n React.ComponentPropsWithoutRef<"ol">\n>(({ className, ...props }, ref) => (\n <ol\n ref={ref}\n className={cn(\n "flex flex-wrap items-center gap-1.5 break-words text-sm text-gray-500 sm:gap-2.5 dark:text-gray-400",\n className\n )}\n {...props}\n />\n))\nBreadcrumbList.displayName = "BreadcrumbList"\n\nconst BreadcrumbItem = React.forwardRef<\n HTMLLIElement,\n React.ComponentPropsWithoutRef<"li">\n>(({ className, ...props }, ref) => (\n <li\n ref={ref}\n className={cn("inline-flex items-center gap-1.5", className)}\n {...props}\n />\n))\nBreadcrumbItem.displayName = "BreadcrumbItem"\n\nconst BreadcrumbLink = React.forwardRef<\n HTMLAnchorElement,\n React.ComponentPropsWithoutRef<"a"> & {\n asChild?: boolean\n }\n>(({ asChild, className, ...props }, ref) => {\n const Comp = asChild ? Slot : "a"\n\n return (\n <Comp\n ref={ref}\n className={cn("transition-colors hover:text-gray-950 dark:hover:text-gray-50", className)}\n {...props}\n />\n )\n})\nBreadcrumbLink.displayName = "BreadcrumbLink"\n\nconst BreadcrumbPage = React.forwardRef<\n HTMLSpanElement,\n React.ComponentPropsWithoutRef<"span">\n>(({ className, ...props }, ref) => (\n <span\n ref={ref}\n role="link"\n aria-disabled="true"\n aria-current="page"\n className={cn("font-normal text-gray-950 dark:text-gray-50", className)}\n {...props}\n />\n))\nBreadcrumbPage.displayName = "BreadcrumbPage"\n\nconst BreadcrumbSeparator = ({\n children,\n className,\n ...props\n}: React.ComponentProps<"li">) => (\n <li\n role="presentation"\n aria-hidden="true"\n className={cn("[&>svg]:size-3.5", className)}\n {...props}\n >\n {children ?? <ChevronRight />}\n </li>\n)\nBreadcrumbSeparator.displayName = "BreadcrumbSeparator"\n\nconst BreadcrumbEllipsis = ({\n className,\n ...props\n}: React.ComponentProps<"span">) => (\n <span\n role="presentation"\n aria-hidden="true"\n className={cn("flex h-9 w-9 items-center justify-center", className)}\n {...props}\n >\n <MoreHorizontal className="h-4 w-4" />\n <span className="sr-only">More</span>\n </span>\n)\nBreadcrumbEllipsis.displayName = "BreadcrumbElipssis"\n\nexport {\n Breadcrumb,\n BreadcrumbList,\n BreadcrumbItem,\n BreadcrumbLink,\n BreadcrumbPage,\n BreadcrumbSeparator,\n BreadcrumbEllipsis,\n}\n\n',Ua='import * as React from "react"\nimport { Slot } from "@radix-ui/react-slot"\nimport { cva, type VariantProps } from "class-variance-authority"\n\nimport { cn } from \'../../lib/utils\';\n\nconst buttonVariants = cva(\n "inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium ring-offset-white transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-gray-950 focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 dark:ring-offset-gray-950 dark:focus-visible:ring-gray-300",\n {\n variants: {\n variant: {\n default: "bg-gray-900 text-gray-50 hover:bg-gray-900/90 dark:bg-gray-50 dark:text-gray-900 dark:hover:bg-gray-50/90",\n destructive:\n "bg-red-500 text-gray-50 hover:bg-red-500/90 dark:bg-red-900 dark:text-gray-50 dark:hover:bg-red-900/90",\n outline:\n "border border-gray-200 bg-white hover:bg-gray-100 hover:text-gray-900 dark:border-gray-800 dark:bg-gray-950 dark:hover:bg-gray-800 dark:hover:text-gray-50",\n secondary:\n "bg-gray-100 text-gray-900 hover:bg-gray-100/80 dark:bg-gray-800 dark:text-gray-50 dark:hover:bg-gray-800/80",\n ghost: "hover:bg-gray-100 hover:text-gray-900 dark:hover:bg-gray-800 dark:hover:text-gray-50",\n link: "text-gray-900 underline-offset-4 hover:underline dark:text-gray-50",\n },\n size: {\n default: "h-10 px-4 py-2",\n sm: "h-9 rounded-md px-3",\n lg: "h-11 rounded-md px-8",\n icon: "h-10 w-10",\n },\n },\n defaultVariants: {\n variant: "default",\n size: "default",\n },\n }\n)\n\nexport interface ButtonProps\n extends React.ButtonHTMLAttributes<HTMLButtonElement>,\n VariantProps<typeof buttonVariants> {\n asChild?: boolean\n}\n\nconst Button = React.forwardRef<HTMLButtonElement, ButtonProps>(\n ({ className, variant, size, asChild = false, ...props }, ref) => {\n const Comp = asChild ? Slot : "button"\n return (\n <Comp\n className={cn(buttonVariants({ variant, size, className }))}\n ref={ref}\n {...props}\n />\n )\n }\n)\nButton.displayName = "Button"\n\nexport { Button, buttonVariants }\n',ja='import * as React from "react"\nimport { ChevronLeft, ChevronRight } from "lucide-react"\nimport { DayPicker } from "react-day-picker"\n\nimport { cn } from "../../lib/utils"\nimport { buttonVariants } from "./button"\n\nexport type CalendarProps = React.ComponentProps<typeof DayPicker>\n\nfunction Calendar({\n className,\n classNames,\n showOutsideDays = true,\n ...props\n}: CalendarProps) {\n return (\n <DayPicker\n showOutsideDays={showOutsideDays}\n className={cn("p-3", className)}\n classNames={{\n months: "flex flex-col sm:flex-row space-y-4 sm:space-x-4 sm:space-y-0",\n month: "space-y-4",\n caption: "flex justify-center pt-1 relative items-center",\n caption_label: "text-sm font-medium",\n nav: "space-x-1 flex items-center",\n nav_button: cn(\n buttonVariants({ variant: "outline" }),\n "h-7 w-7 bg-transparent p-0 opacity-50 hover:opacity-100"\n ),\n nav_button_previous: "absolute left-1",\n nav_button_next: "absolute right-1",\n table: "w-full border-collapse space-y-1",\n head_row: "flex",\n head_cell:\n "text-gray-500 rounded-md w-9 font-normal text-[0.8rem] dark:text-gray-400",\n row: "flex w-full mt-2",\n cell: "h-9 w-9 text-center text-sm p-0 relative [&:has([aria-selected].day-range-end)]:rounded-r-md [&:has([aria-selected].day-outside)]:bg-gray-100/50 [&:has([aria-selected])]:bg-gray-100 first:[&:has([aria-selected])]:rounded-l-md last:[&:has([aria-selected])]:rounded-r-md focus-within:relative focus-within:z-20 dark:[&:has([aria-selected].day-outside)]:bg-gray-800/50 dark:[&:has([aria-selected])]:bg-gray-800",\n day: cn(\n buttonVariants({ variant: "ghost" }),\n "h-9 w-9 p-0 font-normal aria-selected:opacity-100"\n ),\n day_range_end: "day-range-end",\n day_selected:\n "bg-gray-900 text-gray-50 hover:bg-gray-900 hover:text-gray-50 focus:bg-gray-900 focus:text-gray-50 dark:bg-gray-50 dark:text-gray-900 dark:hover:bg-gray-50 dark:hover:text-gray-900 dark:focus:bg-gray-50 dark:focus:text-gray-900",\n day_today: "bg-gray-100 text-gray-900 dark:bg-gray-800 dark:text-gray-50",\n day_outside:\n "day-outside text-gray-500 opacity-50 aria-selected:bg-gray-100/50 aria-selected:text-gray-500 aria-selected:opacity-30 dark:text-gray-400 dark:aria-selected:bg-gray-800/50 dark:aria-selected:text-gray-400",\n day_disabled: "text-gray-500 opacity-50 dark:text-gray-400",\n day_range_middle:\n "aria-selected:bg-gray-100 aria-selected:text-gray-900 dark:aria-selected:bg-gray-800 dark:aria-selected:text-gray-50",\n day_hidden: "invisible",\n ...classNames,\n }}\n components={{\n IconLeft: ({ ...props }) => <ChevronLeft className="h-4 w-4" />,\n IconRight: ({ ...props }) => <ChevronRight className="h-4 w-4" />,\n }}\n {...props}\n />\n )\n}\nCalendar.displayName = "Calendar"\n\nexport { Calendar }\n\n',Ha='import * as React from \'react\';\n\nimport { cn } from \'../../lib/utils\';\n\nconst Card = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => (\n <div\n ref={ref}\n className={cn(\n "rounded-lg border border-gray-200 bg-white text-gray-950 shadow-sm dark:border-gray-800 dark:bg-gray-950 dark:text-gray-50",\n className\n )}\n {...props}\n />\n))\nCard.displayName = "Card"\n\nconst CardHeader = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => (\n <div\n ref={ref}\n className={cn("flex flex-col space-y-1.5 p-6", className)}\n {...props}\n />\n))\nCardHeader.displayName = "CardHeader"\n\nconst CardTitle = React.forwardRef<\n HTMLParagraphElement,\n React.HTMLAttributes<HTMLHeadingElement>\n>(({ className, ...props }, ref) => (\n <h3\n ref={ref}\n className={cn(\n "text-2xl font-semibold leading-none tracking-tight",\n className\n )}\n {...props}\n />\n))\nCardTitle.displayName = "CardTitle"\n\nconst CardDescription = React.forwardRef<\n HTMLParagraphElement,\n React.HTMLAttributes<HTMLParagraphElement>\n>(({ className, ...props }, ref) => (\n <p\n ref={ref}\n className={cn("text-sm text-gray-500 dark:text-gray-400", className)}\n {...props}\n />\n))\nCardDescription.displayName = "CardDescription"\n\nconst CardContent = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => (\n <div ref={ref} className={cn("p-6 pt-0", className)} {...props} />\n))\nCardContent.displayName = "CardContent"\n\nconst CardFooter = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => (\n <div\n ref={ref}\n className={cn("flex items-center p-6 pt-0", className)}\n {...props}\n />\n))\nCardFooter.displayName = "CardFooter"\n\nexport { Card, CardHeader, CardFooter, CardTitle, CardDescription, CardContent }\n',za='import * as React from "react"\nimport useEmblaCarousel, {\n type UseEmblaCarouselType,\n} from "embla-carousel-react"\nimport { ArrowLeft, ArrowRight } from "lucide-react"\n\nimport { cn } from "../../lib/utils"\nimport { Button } from "./button"\n\ntype CarouselApi = UseEmblaCarouselType[1]\ntype UseCarouselParameters = Parameters<typeof useEmblaCarousel>\ntype CarouselOptions = UseCarouselParameters[0]\ntype CarouselPlugin = UseCarouselParameters[1]\n\ntype CarouselProps = {\n opts?: CarouselOptions\n plugins?: CarouselPlugin\n orientation?: "horizontal" | "vertical"\n setApi?: (api: CarouselApi) => void\n}\n\ntype CarouselContextProps = {\n carouselRef: ReturnType<typeof useEmblaCarousel>[0]\n api: ReturnType<typeof useEmblaCarousel>[1]\n scrollPrev: () => void\n scrollNext: () => void\n canScrollPrev: boolean\n canScrollNext: boolean\n} & CarouselProps\n\nconst CarouselContext = React.createContext<CarouselContextProps | null>(null)\n\nfunction useCarousel() {\n const context = React.useContext(CarouselContext)\n\n if (!context) {\n throw new Error("useCarousel must be used within a <Carousel />")\n }\n\n return context\n}\n\nconst Carousel = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement> & CarouselProps\n>(\n (\n {\n orientation = "horizontal",\n opts,\n setApi,\n plugins,\n className,\n children,\n ...props\n },\n ref\n ) => {\n const [carouselRef, api] = useEmblaCarousel(\n {\n ...opts,\n axis: orientation === "horizontal" ? "x" : "y",\n },\n plugins\n )\n const [canScrollPrev, setCanScrollPrev] = React.useState(false)\n const [canScrollNext, setCanScrollNext] = React.useState(false)\n\n const onSelect = React.useCallback((api: CarouselApi) => {\n if (!api) {\n return\n }\n\n setCanScrollPrev(api.canScrollPrev())\n setCanScrollNext(api.canScrollNext())\n }, [])\n\n const scrollPrev = React.useCallback(() => {\n api?.scrollPrev()\n }, [api])\n\n const scrollNext = React.useCallback(() => {\n api?.scrollNext()\n }, [api])\n\n const handleKeyDown = React.useCallback(\n (event: React.KeyboardEvent<HTMLDivElement>) => {\n if (event.key === "ArrowLeft") {\n event.preventDefault()\n scrollPrev()\n } else if (event.key === "ArrowRight") {\n event.preventDefault()\n scrollNext()\n }\n },\n [scrollPrev, scrollNext]\n )\n\n React.useEffect(() => {\n if (!api || !setApi) {\n return\n }\n\n setApi(api)\n }, [api, setApi])\n\n React.useEffect(() => {\n if (!api) {\n return\n }\n\n onSelect(api)\n api.on("reInit", onSelect)\n api.on("select", onSelect)\n\n return () => {\n api?.off("select", onSelect)\n }\n }, [api, onSelect])\n\n return (\n <CarouselContext.Provider\n value={{\n carouselRef,\n api: api,\n opts,\n orientation:\n orientation || (opts?.axis === "y" ? "vertical" : "horizontal"),\n scrollPrev,\n scrollNext,\n canScrollPrev,\n canScrollNext,\n }}\n >\n <div\n ref={ref}\n onKeyDownCapture={handleKeyDown}\n className={cn("relative", className)}\n role="region"\n aria-roledescription="carousel"\n {...props}\n >\n {children}\n </div>\n </CarouselContext.Provider>\n )\n }\n)\nCarousel.displayName = "Carousel"\n\nconst CarouselContent = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => {\n const { carouselRef, orientation } = useCarousel()\n\n return (\n <div ref={carouselRef} className="overflow-hidden">\n <div\n ref={ref}\n className={cn(\n "flex",\n orientation === "horizontal" ? "-ml-4" : "-mt-4 flex-col",\n className\n )}\n {...props}\n />\n </div>\n )\n})\nCarouselContent.displayName = "CarouselContent"\n\nconst CarouselItem = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => {\n const { orientation } = useCarousel()\n\n return (\n <div\n ref={ref}\n role="group"\n aria-roledescription="slide"\n className={cn(\n "min-w-0 shrink-0 grow-0 basis-full",\n orientation === "horizontal" ? "pl-4" : "pt-4",\n className\n )}\n {...props}\n />\n )\n})\nCarouselItem.displayName = "CarouselItem"\n\nconst CarouselPrevious = React.forwardRef<\n HTMLButtonElement,\n React.ComponentProps<typeof Button>\n>(({ className, variant = "outline", size = "icon", ...props }, ref) => {\n const { orientation, scrollPrev, canScrollPrev } = useCarousel()\n\n return (\n <Button\n ref={ref}\n variant={variant}\n size={size}\n className={cn(\n "absolute h-8 w-8 rounded-full",\n orientation === "horizontal"\n ? "-left-12 top-1/2 -translate-y-1/2"\n : "-top-12 left-1/2 -translate-x-1/2 rotate-90",\n className\n )}\n disabled={!canScrollPrev}\n onClick={scrollPrev}\n {...props}\n >\n <ArrowLeft className="h-4 w-4" />\n <span className="sr-only">Previous slide</span>\n </Button>\n )\n})\nCarouselPrevious.displayName = "CarouselPrevious"\n\nconst CarouselNext = React.forwardRef<\n HTMLButtonElement,\n React.ComponentProps<typeof Button>\n>(({ className, variant = "outline", size = "icon", ...props }, ref) => {\n const { orientation, scrollNext, canScrollNext } = useCarousel()\n\n return (\n <Button\n ref={ref}\n variant={variant}\n size={size}\n className={cn(\n "absolute h-8 w-8 rounded-full",\n orientation === "horizontal"\n ? "-right-12 top-1/2 -translate-y-1/2"\n : "-bottom-12 left-1/2 -translate-x-1/2 rotate-90",\n className\n )}\n disabled={!canScrollNext}\n onClick={scrollNext}\n {...props}\n >\n <ArrowRight className="h-4 w-4" />\n <span className="sr-only">Next slide</span>\n </Button>\n )\n})\nCarouselNext.displayName = "CarouselNext"\n\nexport {\n type CarouselApi,\n Carousel,\n CarouselContent,\n CarouselItem,\n CarouselPrevious,\n CarouselNext,\n}\n\n',Ga='import * as React from "react"\nimport * as CheckboxPrimitive from "@radix-ui/react-checkbox"\nimport { Check } from "lucide-react"\n\nimport { cn } from "../../lib/utils"\n\nconst Checkbox = React.forwardRef<\n React.ElementRef<typeof CheckboxPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof CheckboxPrimitive.Root>\n>(({ className, ...props }, ref) => (\n <CheckboxPrimitive.Root\n ref={ref}\n className={cn(\n "peer h-4 w-4 shrink-0 rounded-sm border border-gray-200 dark:border-gray-900 ring-offset-white focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-gray-950 focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-gray-900 data-[state=checked]:text-gray-50 dark:ring-offset-gray-950 dark:focus-visible:ring-gray-300 dark:data-[state=checked]:bg-gray-50 dark:data-[state=checked]:text-gray-900",\n className\n )}\n {...props}\n >\n <CheckboxPrimitive.Indicator\n className={cn("flex items-center justify-center text-current")}\n >\n <Check className="h-4 w-4" />\n </CheckboxPrimitive.Indicator>\n </CheckboxPrimitive.Root>\n))\nCheckbox.displayName = CheckboxPrimitive.Root.displayName\n\nexport { Checkbox }\n\n',Ba='import * as CollapsiblePrimitive from "@radix-ui/react-collapsible"\n\nconst Collapsible = CollapsiblePrimitive.Root\n\nconst CollapsibleTrigger = CollapsiblePrimitive.CollapsibleTrigger\n\nconst CollapsibleContent = CollapsiblePrimitive.CollapsibleContent\n\nexport { Collapsible, CollapsibleTrigger, CollapsibleContent }\n\n',Va='import * as React from "react"\nimport * as DialogPrimitive from "@radix-ui/react-dialog"\nimport { X } from "lucide-react"\n\nimport { cn } from "../../lib/utils"\n\nconst Dialog = DialogPrimitive.Root\n\nconst DialogTrigger = DialogPrimitive.Trigger\n\nconst DialogPortal = DialogPrimitive.Portal\n\nconst DialogClose = DialogPrimitive.Close\n\nconst DialogOverlay = React.forwardRef<\n React.ElementRef<typeof DialogPrimitive.Overlay>,\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Overlay>\n>(({ className, ...props }, ref) => (\n <DialogPrimitive.Overlay\n ref={ref}\n className={cn(\n "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",\n className\n )}\n {...props}\n />\n))\nDialogOverlay.displayName = DialogPrimitive.Overlay.displayName\n\nconst DialogContent = React.forwardRef<\n React.ElementRef<typeof DialogPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Content>\n>(({ className, children, ...props }, ref) => (\n <DialogPortal>\n <DialogOverlay />\n <DialogPrimitive.Content\n ref={ref}\n className={cn(\n "fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border border-gray-200 bg-white p-6 shadow-lg duration-200 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-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg dark:border-gray-800 dark:bg-gray-950",\n className\n )}\n {...props}\n >\n {children}\n <DialogPrimitive.Close className="absolute right-4 top-4 rounded-sm opacity-70 ring-offset-white transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-gray-950 focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-gray-100 data-[state=open]:text-gray-500 dark:ring-offset-gray-950 dark:focus:ring-gray-300 dark:data-[state=open]:bg-gray-800 dark:data-[state=open]:text-gray-400">\n <X className="h-4 w-4" />\n <span className="sr-only">Close</span>\n </DialogPrimitive.Close>\n </DialogPrimitive.Content>\n </DialogPortal>\n))\nDialogContent.displayName = DialogPrimitive.Content.displayName\n\nconst DialogHeader = ({\n className,\n ...props\n}: React.HTMLAttributes<HTMLDivElement>) => (\n <div\n className={cn(\n "flex flex-col space-y-1.5 text-center sm:text-left",\n className\n )}\n {...props}\n />\n)\nDialogHeader.displayName = "DialogHeader"\n\nconst DialogFooter = ({\n className,\n ...props\n}: React.HTMLAttributes<HTMLDivElement>) => (\n <div\n className={cn(\n "flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",\n className\n )}\n {...props}\n />\n)\nDialogFooter.displayName = "DialogFooter"\n\nconst DialogTitle = React.forwardRef<\n React.ElementRef<typeof DialogPrimitive.Title>,\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Title>\n>(({ className, ...props }, ref) => (\n <DialogPrimitive.Title\n ref={ref}\n className={cn(\n "text-lg font-semibold leading-none tracking-tight",\n className\n )}\n {...props}\n />\n))\nDialogTitle.displayName = DialogPrimitive.Title.displayName\n\nconst DialogDescription = React.forwardRef<\n React.ElementRef<typeof DialogPrimitive.Description>,\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Description>\n>(({ className, ...props }, ref) => (\n <DialogPrimitive.Description\n ref={ref}\n className={cn("text-sm text-gray-500 dark:text-gray-400", className)}\n {...props}\n />\n))\nDialogDescription.displayName = DialogPrimitive.Description.displayName\n\nexport {\n Dialog,\n DialogPortal,\n DialogOverlay,\n DialogClose,\n DialogTrigger,\n DialogContent,\n DialogHeader,\n DialogFooter,\n DialogTitle,\n DialogDescription,\n}\n\n',Fa='import * as React from "react"\nimport { Drawer as DrawerPrimitive } from "vaul"\n\nimport { cn } from "../../lib/utils"\n\nconst Drawer = ({\n shouldScaleBackground = true,\n ...props\n}: React.ComponentProps<typeof DrawerPrimitive.Root>) => (\n <DrawerPrimitive.Root\n shouldScaleBackground={shouldScaleBackground}\n {...props}\n />\n)\nDrawer.displayName = "Drawer"\n\nconst DrawerTrigger = DrawerPrimitive.Trigger\n\nconst DrawerPortal = DrawerPrimitive.Portal\n\nconst DrawerClose = DrawerPrimitive.Close\n\nconst DrawerOverlay = React.forwardRef<\n React.ElementRef<typeof DrawerPrimitive.Overlay>,\n React.ComponentPropsWithoutRef<typeof DrawerPrimitive.Overlay>\n>(({ className, ...props }, ref) => (\n <DrawerPrimitive.Overlay\n ref={ref}\n className={cn("fixed inset-0 z-50 bg-black/80", className)}\n {...props}\n />\n))\nDrawerOverlay.displayName = DrawerPrimitive.Overlay.displayName\n\nconst DrawerContent = React.forwardRef<\n React.ElementRef<typeof DrawerPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof DrawerPrimitive.Content>\n>(({ className, children, ...props }, ref) => (\n <DrawerPortal>\n <DrawerOverlay />\n <DrawerPrimitive.Content\n ref={ref}\n className={cn(\n "fixed inset-x-0 bottom-0 z-50 mt-24 flex h-auto flex-col rounded-t-[10px] border border-gray-200 bg-white dark:border-gray-800 dark:bg-gray-950",\n className\n )}\n {...props}\n >\n <div className="mx-auto mt-4 h-2 w-[100px] rounded-full bg-gray-100 dark:bg-gray-800" />\n {children}\n </DrawerPrimitive.Content>\n </DrawerPortal>\n))\nDrawerContent.displayName = "DrawerContent"\n\nconst DrawerHeader = ({\n className,\n ...props\n}: React.HTMLAttributes<HTMLDivElement>) => (\n <div\n className={cn("grid gap-1.5 p-4 text-center sm:text-left", className)}\n {...props}\n />\n)\nDrawerHeader.displayName = "DrawerHeader"\n\nconst DrawerFooter = ({\n className,\n ...props\n}: React.HTMLAttributes<HTMLDivElement>) => (\n <div\n className={cn("mt-auto flex flex-col gap-2 p-4", className)}\n {...props}\n />\n)\nDrawerFooter.displayName = "DrawerFooter"\n\nconst DrawerTitle = React.forwardRef<\n React.ElementRef<typeof DrawerPrimitive.Title>,\n React.ComponentPropsWithoutRef<typeof DrawerPrimitive.Title>\n>(({ className, ...props }, ref) => (\n <DrawerPrimitive.Title\n ref={ref}\n className={cn(\n "text-lg font-semibold leading-none tracking-tight",\n className\n )}\n {...props}\n />\n))\nDrawerTitle.displayName = DrawerPrimitive.Title.displayName\n\nconst DrawerDescription = React.forwardRef<\n React.ElementRef<typeof DrawerPrimitive.Description>,\n React.ComponentPropsWithoutRef<typeof DrawerPrimitive.Description>\n>(({ className, ...props }, ref) => (\n <DrawerPrimitive.Description\n ref={ref}\n className={cn("text-sm text-gray-500 dark:text-gray-400", className)}\n {...props}\n />\n))\nDrawerDescription.displayName = DrawerPrimitive.Description.displayName\n\nexport {\n Drawer,\n DrawerPortal,\n DrawerOverlay,\n DrawerTrigger,\n DrawerClose,\n DrawerContent,\n DrawerHeader,\n DrawerFooter,\n DrawerTitle,\n DrawerDescription,\n}\n\n',Wa='import * as React from "react"\nimport * as DropdownMenuPrimitive from "@radix-ui/react-dropdown-menu"\nimport { Check, ChevronRight, Circle } from "lucide-react"\n\nimport { cn } from "../../lib/utils"\n\nconst DropdownMenu = DropdownMenuPrimitive.Root\n\nconst DropdownMenuTrigger = DropdownMenuPrimitive.Trigger\n\nconst DropdownMenuGroup = DropdownMenuPrimitive.Group\n\nconst DropdownMenuPortal = DropdownMenuPrimitive.Portal\n\nconst DropdownMenuSub = DropdownMenuPrimitive.Sub\n\nconst DropdownMenuRadioGroup = DropdownMenuPrimitive.RadioGroup\n\nconst DropdownMenuSubTrigger = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.SubTrigger>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.SubTrigger> & {\n inset?: boolean\n }\n>(({ className, inset, children, ...props }, ref) => (\n <DropdownMenuPrimitive.SubTrigger\n ref={ref}\n className={cn(\n "flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-gray-100 data-[state=open]:bg-gray-100 dark:focus:bg-gray-800 dark:data-[state=open]:bg-gray-800",\n inset && "pl-8",\n className\n )}\n {...props}\n >\n {children}\n <ChevronRight className="ml-auto h-4 w-4" />\n </DropdownMenuPrimitive.SubTrigger>\n))\nDropdownMenuSubTrigger.displayName =\n DropdownMenuPrimitive.SubTrigger.displayName\n\nconst DropdownMenuSubContent = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.SubContent>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.SubContent>\n>(({ className, ...props }, ref) => (\n <DropdownMenuPrimitive.SubContent\n ref={ref}\n className={cn(\n "z-50 min-w-[8rem] overflow-hidden rounded-md border border-gray-200 bg-white p-1 text-gray-950 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 dark:border-gray-800 dark:bg-gray-950 dark:text-gray-50",\n className\n )}\n {...props}\n />\n))\nDropdownMenuSubContent.displayName =\n DropdownMenuPrimitive.SubContent.displayName\n\nconst DropdownMenuContent = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Content>\n>(({ className, sideOffset = 4, ...props }, ref) => (\n <DropdownMenuPrimitive.Portal>\n <DropdownMenuPrimitive.Content\n ref={ref}\n sideOffset={sideOffset}\n className={cn(\n "z-50 min-w-[8rem] overflow-hidden rounded-md border border-gray-200 bg-white p-1 text-gray-950 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 dark:border-gray-800 dark:bg-gray-950 dark:text-gray-50",\n className\n )}\n {...props}\n />\n </DropdownMenuPrimitive.Portal>\n))\nDropdownMenuContent.displayName = DropdownMenuPrimitive.Content.displayName\n\nconst DropdownMenuItem = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.Item>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Item> & {\n inset?: boolean\n }\n>(({ className, inset, ...props }, ref) => (\n <DropdownMenuPrimitive.Item\n ref={ref}\n className={cn(\n "relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none transition-colors focus:bg-gray-100 focus:text-gray-900 data-[disabled]:pointer-events-none data-[disabled]:opacity-50 dark:focus:bg-gray-800 dark:focus:text-gray-50",\n inset && "pl-8",\n className\n )}\n {...props}\n />\n))\nDropdownMenuItem.displayName = DropdownMenuPrimitive.Item.displayName\n\nconst DropdownMenuCheckboxItem = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.CheckboxItem>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.CheckboxItem>\n>(({ className, children, checked, ...props }, ref) => (\n <DropdownMenuPrimitive.CheckboxItem\n ref={ref}\n className={cn(\n "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-gray-100 focus:text-gray-900 data-[disabled]:pointer-events-none data-[disabled]:opacity-50 dark:focus:bg-gray-800 dark:focus:text-gray-50",\n className\n )}\n checked={checked}\n {...props}\n >\n <span className="absolute left-2 flex h-3.5 w-3.5 items-center justify-center">\n <DropdownMenuPrimitive.ItemIndicator>\n <Check className="h-4 w-4" />\n </DropdownMenuPrimitive.ItemIndicator>\n </span>\n {children}\n </DropdownMenuPrimitive.CheckboxItem>\n))\nDropdownMenuCheckboxItem.displayName =\n DropdownMenuPrimitive.CheckboxItem.displayName\n\nconst DropdownMenuRadioItem = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.RadioItem>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.RadioItem>\n>(({ className, children, ...props }, ref) => (\n <DropdownMenuPrimitive.RadioItem\n ref={ref}\n className={cn(\n "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-gray-100 focus:text-gray-900 data-[disabled]:pointer-events-none data-[disabled]:opacity-50 dark:focus:bg-gray-800 dark:focus:text-gray-50",\n className\n )}\n {...props}\n >\n <span className="absolute left-2 flex h-3.5 w-3.5 items-center justify-center">\n <DropdownMenuPrimitive.ItemIndicator>\n <Circle className="h-2 w-2 fill-current" />\n </DropdownMenuPrimitive.ItemIndicator>\n </span>\n {children}\n </DropdownMenuPrimitive.RadioItem>\n))\nDropdownMenuRadioItem.displayName = DropdownMenuPrimitive.RadioItem.displayName\n\nconst DropdownMenuLabel = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.Label>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Label> & {\n inset?: boolean\n }\n>(({ className, inset, ...props }, ref) => (\n <DropdownMenuPrimitive.Label\n ref={ref}\n className={cn(\n "px-2 py-1.5 text-sm font-semibold",\n inset && "pl-8",\n className\n )}\n {...props}\n />\n))\nDropdownMenuLabel.displayName = DropdownMenuPrimitive.Label.displayName\n\nconst DropdownMenuSeparator = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.Separator>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Separator>\n>(({ className, ...props }, ref) => (\n <DropdownMenuPrimitive.Separator\n ref={ref}\n className={cn("-mx-1 my-1 h-px bg-gray-100 dark:bg-gray-800", className)}\n {...props}\n />\n))\nDropdownMenuSeparator.displayName = DropdownMenuPrimitive.Separator.displayName\n\nconst DropdownMenuShortcut = ({\n className,\n ...props\n}: React.HTMLAttributes<HTMLSpanElement>) => {\n return (\n <span\n className={cn("ml-auto text-xs tracking-widest opacity-60", className)}\n {...props}\n />\n )\n}\nDropdownMenuShortcut.displayName = "DropdownMenuShortcut"\n\nexport {\n DropdownMenu,\n DropdownMenuTrigger,\n DropdownMenuContent,\n DropdownMenuItem,\n DropdownMenuCheckboxItem,\n DropdownMenuRadioItem,\n DropdownMenuLabel,\n DropdownMenuSeparator,\n DropdownMenuShortcut,\n DropdownMenuGroup,\n DropdownMenuPortal,\n DropdownMenuSub,\n DropdownMenuSubContent,\n DropdownMenuSubTrigger,\n DropdownMenuRadioGroup,\n}\n\n',qa='import * as React from "react"\nimport * as HoverCardPrimitive from "@radix-ui/react-hover-card"\n\nimport { cn } from "../../lib/utils"\n\nconst HoverCard = HoverCardPrimitive.Root\n\nconst HoverCardTrigger = HoverCardPrimitive.Trigger\n\nconst HoverCardContent = React.forwardRef<\n React.ElementRef<typeof HoverCardPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof HoverCardPrimitive.Content>\n>(({ className, align = "center", sideOffset = 4, ...props }, ref) => (\n <HoverCardPrimitive.Content\n ref={ref}\n align={align}\n sideOffset={sideOffset}\n className={cn(\n "z-50 w-64 rounded-md border border-gray-200 bg-white p-4 text-gray-950 shadow-md outline-none 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 dark:border-gray-800 dark:bg-gray-950 dark:text-gray-50",\n className\n )}\n {...props}\n />\n))\nHoverCardContent.displayName = HoverCardPrimitive.Content.displayName\n\nexport { HoverCard, HoverCardTrigger, HoverCardContent }\n\n',Ka='import * as React from "react"\nimport { cn } from "../../lib/utils"\n\nexport interface InputProps\n extends React.InputHTMLAttributes<HTMLInputElement> {}\n\nconst Input = React.forwardRef<HTMLInputElement, InputProps>(\n ({ className, type, ...props }, ref) => {\n return (\n <input\n type={type}\n className={cn(\n "flex h-10 w-full rounded-md border border-gray-200 bg-white px-3 py-2 text-sm ring-offset-white file:border-0 file:bg-transparent file:text-sm file:font-medium placeholder:text-gray-500 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-gray-950 focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 dark:border-gray-800 dark:bg-gray-950 dark:ring-offset-gray-950 dark:placeholder:text-gray-400 dark:focus-visible:ring-gray-300",\n className\n )}\n ref={ref}\n {...props}\n />\n )\n }\n)\nInput.displayName = "Input"\n\nexport { Input }\n',Ya="import * as React from 'react';\nimport * as LabelPrimitive from '@radix-ui/react-label';\nimport { cva, type VariantProps } from 'class-variance-authority';\n\nimport { cn } from '../../lib/utils';\n\nconst labelVariants = cva(\n \"text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70\"\n)\n\nconst Label = React.forwardRef<\n React.ElementRef<typeof LabelPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof LabelPrimitive.Root> &\n VariantProps<typeof labelVariants>\n>(({ className, ...props }, ref) => (\n <LabelPrimitive.Root\n ref={ref}\n className={cn(labelVariants(), className)}\n {...props}\n />\n))\nLabel.displayName = LabelPrimitive.Root.displayName\n\nexport { Label }\n",Xa='\nimport * as React from "react"\nimport * as MenubarPrimitive from "@radix-ui/react-menubar"\nimport { Check, ChevronRight, Circle } from "lucide-react"\n\nimport { cn } from "../../lib/utils"\n\nconst MenubarMenu = MenubarPrimitive.Menu\n\nconst MenubarGroup = MenubarPrimitive.Group\n\nconst MenubarPortal = MenubarPrimitive.Portal\n\nconst MenubarSub = MenubarPrimitive.Sub\n\nconst MenubarRadioGroup = MenubarPrimitive.RadioGroup\n\nconst Menubar = React.forwardRef<\n React.ElementRef<typeof MenubarPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof MenubarPrimitive.Root>\n>(({ className, ...props }, ref) => (\n <MenubarPrimitive.Root\n ref={ref}\n className={cn(\n "flex h-10 items-center space-x-1 rounded-md border border-gray-200 bg-white p-1 dark:border-gray-800 dark:bg-gray-950",\n className\n )}\n {...props}\n />\n))\nMenubar.displayName = MenubarPrimitive.Root.displayName\n\nconst MenubarTrigger = React.forwardRef<\n React.ElementRef<typeof MenubarPrimitive.Trigger>,\n React.ComponentPropsWithoutRef<typeof MenubarPrimitive.Trigger>\n>(({ className, ...props }, ref) => (\n <MenubarPrimitive.Trigger\n ref={ref}\n className={cn(\n "flex cursor-default select-none items-center rounded-sm px-3 py-1.5 text-sm font-medium outline-none focus:bg-gray-100 focus:text-gray-900 data-[state=open]:bg-gray-100 data-[state=open]:text-gray-900 dark:focus:bg-gray-800 dark:focus:text-gray-50 dark:data-[state=open]:bg-gray-800 dark:data-[state=open]:text-gray-50",\n className\n )}\n {...props}\n />\n))\nMenubarTrigger.displayName = MenubarPrimitive.Trigger.displayName\n\nconst MenubarSubTrigger = React.forwardRef<\n React.ElementRef<typeof MenubarPrimitive.SubTrigger>,\n React.ComponentPropsWithoutRef<typeof MenubarPrimitive.SubTrigger> & {\n inset?: boolean\n }\n>(({ className, inset, children, ...props }, ref) => (\n <MenubarPrimitive.SubTrigger\n ref={ref}\n className={cn(\n "flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-gray-100 focus:text-gray-900 data-[state=open]:bg-gray-100 data-[state=open]:text-gray-900 dark:focus:bg-gray-800 dark:focus:text-gray-50 dark:data-[state=open]:bg-gray-800 dark:data-[state=open]:text-gray-50",\n inset && "pl-8",\n className\n )}\n {...props}\n >\n {children}\n <ChevronRight className="ml-auto h-4 w-4" />\n </MenubarPrimitive.SubTrigger>\n))\nMenubarSubTrigger.displayName = MenubarPrimitive.SubTrigger.displayName\n\nconst MenubarSubContent = React.forwardRef<\n React.ElementRef<typeof MenubarPrimitive.SubContent>,\n React.ComponentPropsWithoutRef<typeof MenubarPrimitive.SubContent>\n>(({ className, ...props }, ref) => (\n <MenubarPrimitive.SubContent\n ref={ref}\n className={cn(\n "z-50 min-w-[8rem] overflow-hidden rounded-md border border-gray-200 bg-white p-1 text-gray-950 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 dark:border-gray-800 dark:bg-gray-950 dark:text-gray-50",\n className\n )}\n {...props}\n />\n))\nMenubarSubContent.displayName = MenubarPrimitive.SubContent.displayName\n\nconst MenubarContent = React.forwardRef<\n React.ElementRef<typeof MenubarPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof MenubarPrimitive.Content>\n>(\n (\n { className, align = "start", alignOffset = -4, sideOffset = 8, ...props },\n ref\n ) => (\n <MenubarPrimitive.Portal>\n <MenubarPrimitive.Content\n ref={ref}\n align={align}\n alignOffset={alignOffset}\n sideOffset={sideOffset}\n className={cn(\n "z-50 min-w-[12rem] overflow-hidden rounded-md border border-gray-200 bg-white p-1 text-gray-950 shadow-md data-[state=open]:animate-in 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 dark:border-gray-800 dark:bg-gray-950 dark:text-gray-50",\n className\n )}\n {...props}\n />\n </MenubarPrimitive.Portal>\n )\n)\nMenubarContent.displayName = MenubarPrimitive.Content.displayName\n\nconst MenubarItem = React.forwardRef<\n React.ElementRef<typeof MenubarPrimitive.Item>,\n React.ComponentPropsWithoutRef<typeof MenubarPrimitive.Item> & {\n inset?: boolean\n }\n>(({ className, inset, ...props }, ref) => (\n <MenubarPrimitive.Item\n ref={ref}\n className={cn(\n "relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-gray-100 focus:text-gray-900 data-[disabled]:pointer-events-none data-[disabled]:opacity-50 dark:focus:bg-gray-800 dark:focus:text-gray-50",\n inset && "pl-8",\n className\n )}\n {...props}\n />\n))\nMenubarItem.displayName = MenubarPrimitive.Item.displayName\n\nconst MenubarCheckboxItem = React.forwardRef<\n React.ElementRef<typeof MenubarPrimitive.CheckboxItem>,\n React.ComponentPropsWithoutRef<typeof MenubarPrimitive.CheckboxItem>\n>(({ className, children, checked, ...props }, ref) => (\n <MenubarPrimitive.CheckboxItem\n ref={ref}\n className={cn(\n "relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none focus:bg-gray-100 focus:text-gray-900 data-[disabled]:pointer-events-none data-[disabled]:opacity-50 dark:focus:bg-gray-800 dark:focus:text-gray-50",\n className\n )}\n checked={checked}\n {...props}\n >\n <span className="absolute left-2 flex h-3.5 w-3.5 items-center justify-center">\n <MenubarPrimitive.ItemIndicator>\n <Check className="h-4 w-4" />\n </MenubarPrimitive.ItemIndicator>\n </span>\n {children}\n </MenubarPrimitive.CheckboxItem>\n))\nMenubarCheckboxItem.displayName = MenubarPrimitive.CheckboxItem.displayName\n\nconst MenubarRadioItem = React.forwardRef<\n React.ElementRef<typeof MenubarPrimitive.RadioItem>,\n React.ComponentPropsWithoutRef<typeof MenubarPrimitive.RadioItem>\n>(({ className, children, ...props }, ref) => (\n <MenubarPrimitive.RadioItem\n ref={ref}\n className={cn(\n "relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none focus:bg-gray-100 focus:text-gray-900 data-[disabled]:pointer-events-none data-[disabled]:opacity-50 dark:focus:bg-gray-800 dark:focus:text-gray-50",\n className\n )}\n {...props}\n >\n <span className="absolute left-2 flex h-3.5 w-3.5 items-center justify-center">\n <MenubarPrimitive.ItemIndicator>\n <Circle className="h-2 w-2 fill-current" />\n </MenubarPrimitive.ItemIndicator>\n </span>\n {children}\n </MenubarPrimitive.RadioItem>\n))\nMenubarRadioItem.displayName = MenubarPrimitive.RadioItem.displayName\n\nconst MenubarLabel = React.forwardRef<\n React.ElementRef<typeof MenubarPrimitive.Label>,\n React.ComponentPropsWithoutRef<typeof MenubarPrimitive.Label> & {\n inset?: boolean\n }\n>(({ className, inset, ...props }, ref) => (\n <MenubarPrimitive.Label\n ref={ref}\n className={cn(\n "px-2 py-1.5 text-sm font-semibold",\n inset && "pl-8",\n className\n )}\n {...props}\n />\n))\nMenubarLabel.displayName = MenubarPrimitive.Label.displayName\n\nconst MenubarSeparator = React.forwardRef<\n React.ElementRef<typeof MenubarPrimitive.Separator>,\n React.ComponentPropsWithoutRef<typeof MenubarPrimitive.Separator>\n>(({ className, ...props }, ref) => (\n <MenubarPrimitive.Separator\n ref={ref}\n className={cn("-mx-1 my-1 h-px bg-gray-100 dark:bg-gray-800", className)}\n {...props}\n />\n))\nMenubarSeparator.displayName = MenubarPrimitive.Separator.displayName\n\nconst MenubarShortcut = ({\n className,\n ...props\n}: React.HTMLAttributes<HTMLSpanElement>) => {\n return (\n <span\n className={cn(\n "ml-auto text-xs tracking-widest text-gray-500 dark:text-gray-400",\n className\n )}\n {...props}\n />\n )\n}\nMenubarShortcut.displayname = "MenubarShortcut"\n\nexport {\n Menubar,\n MenubarMenu,\n MenubarTrigger,\n MenubarContent,\n MenubarItem,\n MenubarSeparator,\n MenubarLabel,\n MenubarCheckboxItem,\n MenubarRadioGroup,\n MenubarRadioItem,\n MenubarPortal,\n MenubarSubContent,\n MenubarSubTrigger,\n MenubarGroup,\n MenubarSub,\n MenubarShortcut,\n}\n\n',$a='import * as React from "react"\nimport * as NavigationMenuPrimitive from "@radix-ui/react-navigation-menu"\nimport { cva } from "class-variance-authority"\nimport { ChevronDown } from "lucide-react"\n\nimport { cn } from "../../lib/utils"\n\nconst NavigationMenu = React.forwardRef<\n React.ElementRef<typeof NavigationMenuPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof NavigationMenuPrimitive.Root>\n>(({ className, children, ...props }, ref) => (\n <NavigationMenuPrimitive.Root\n ref={ref}\n className={cn(\n "relative z-10 flex max-w-max flex-1 items-center justify-center",\n className\n )}\n {...props}\n >\n {children}\n <NavigationMenuViewport />\n </NavigationMenuPrimitive.Root>\n))\nNavigationMenu.displayName = NavigationMenuPrimitive.Root.displayName\n\nconst NavigationMenuList = React.forwardRef<\n React.ElementRef<typeof NavigationMenuPrimitive.List>,\n React.ComponentPropsWithoutRef<typeof NavigationMenuPrimitive.List>\n>(({ className, ...props }, ref) => (\n <NavigationMenuPrimitive.List\n ref={ref}\n className={cn(\n "group flex flex-1 list-none items-center justify-center space-x-1",\n className\n )}\n {...props}\n />\n))\nNavigationMenuList.displayName = NavigationMenuPrimitive.List.displayName\n\nconst NavigationMenuItem = NavigationMenuPrimitive.Item\n\nconst navigationMenuTriggerStyle = cva(\n "group inline-flex h-10 w-max items-center justify-center rounded-md bg-white px-4 py-2 text-sm font-medium transition-colors hover:bg-gray-100 hover:text-gray-900 focus:bg-gray-100 focus:text-gray-900 focus:outline-none disabled:pointer-events-none disabled:opacity-50 data-[active]:bg-gray-100/50 data-[state=open]:bg-gray-100/50 dark:bg-gray-950 dark:hover:bg-gray-800 dark:hover:text-gray-50 dark:focus:bg-gray-800 dark:focus:text-gray-50 dark:data-[active]:bg-gray-800/50 dark:data-[state=open]:bg-gray-800/50"\n)\n\nconst NavigationMenuTrigger = React.forwardRef<\n React.ElementRef<typeof NavigationMenuPrimitive.Trigger>,\n React.ComponentPropsWithoutRef<typeof NavigationMenuPrimitive.Trigger>\n>(({ className, children, ...props }, ref) => (\n <NavigationMenuPrimitive.Trigger\n ref={ref}\n className={cn(navigationMenuTriggerStyle(), "group", className)}\n {...props}\n >\n {children}{""}\n <ChevronDown\n className="relative top-[1px] ml-1 h-3 w-3 transition duration-200 group-data-[state=open]:rotate-180"\n aria-hidden="true"\n />\n </NavigationMenuPrimitive.Trigger>\n))\nNavigationMenuTrigger.displayName = NavigationMenuPrimitive.Trigger.displayName\n\nconst NavigationMenuContent = React.forwardRef<\n React.ElementRef<typeof NavigationMenuPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof NavigationMenuPrimitive.Content>\n>(({ className, ...props }, ref) => (\n <NavigationMenuPrimitive.Content\n ref={ref}\n className={cn(\n "left-0 top-0 w-full data-[motion^=from-]:animate-in data-[motion^=to-]:animate-out data-[motion^=from-]:fade-in data-[motion^=to-]:fade-out data-[motion=from-end]:slide-in-from-right-52 data-[motion=from-start]:slide-in-from-left-52 data-[motion=to-end]:slide-out-to-right-52 data-[motion=to-start]:slide-out-to-left-52 md:absolute md:w-auto",\n className\n )}\n {...props}\n />\n))\nNavigationMenuContent.displayName = NavigationMenuPrimitive.Content.displayName\n\nconst NavigationMenuLink = NavigationMenuPrimitive.Link\n\nconst NavigationMenuViewport = React.forwardRef<\n React.ElementRef<typeof NavigationMenuPrimitive.Viewport>,\n React.ComponentPropsWithoutRef<typeof NavigationMenuPrimitive.Viewport>\n>(({ className, ...props }, ref) => (\n <div className={cn("absolute left-0 top-full flex justify-center")}>\n <NavigationMenuPrimitive.Viewport\n className={cn(\n "origin-top-center relative mt-1.5 h-[var(--radix-navigation-menu-viewport-height)] w-full overflow-hidden rounded-md border border-gray-200 bg-white text-gray-950 shadow-lg data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-90 md:w-[var(--radix-navigation-menu-viewport-width)] dark:border-gray-800 dark:bg-gray-950 dark:text-gray-50",\n className\n )}\n ref={ref}\n {...props}\n />\n </div>\n))\nNavigationMenuViewport.displayName =\n NavigationMenuPrimitive.Viewport.displayName\n\nconst NavigationMenuIndicator = React.forwardRef<\n React.ElementRef<typeof NavigationMenuPrimitive.Indicator>,\n React.ComponentPropsWithoutRef<typeof NavigationMenuPrimitive.Indicator>\n>(({ className, ...props }, ref) => (\n <NavigationMenuPrimitive.Indicator\n ref={ref}\n className={cn(\n "top-full z-[1] flex h-1.5 items-end justify-center overflow-hidden data-[state=visible]:animate-in data-[state=hidden]:animate-out data-[state=hidden]:fade-out data-[state=visible]:fade-in",\n className\n )}\n {...props}\n >\n <div className="relative top-[60%] h-2 w-2 rotate-45 rounded-tl-sm bg-gray-200 shadow-md dark:bg-gray-800" />\n </NavigationMenuPrimitive.Indicator>\n))\nNavigationMenuIndicator.displayName =\n NavigationMenuPrimitive.Indicator.displayName\n\nexport {\n navigationMenuTriggerStyle,\n NavigationMenu,\n NavigationMenuList,\n NavigationMenuItem,\n NavigationMenuContent,\n NavigationMenuTrigger,\n NavigationMenuLink,\n NavigationMenuIndicator,\n NavigationMenuViewport,\n}\n\n',Za='import * as React from "react"\nimport { ChevronLeft, ChevronRight, MoreHorizontal } from "lucide-react"\n\nimport { cn } from "../../lib/utils"\nimport { ButtonProps, buttonVariants } from "./button"\n\nconst Pagination = ({ className, ...props }: React.ComponentProps<"nav">) => (\n <nav\n role="navigation"\n aria-label="pagination"\n className={cn("mx-auto flex w-full justify-center", className)}\n {...props}\n />\n)\nPagination.displayName = "Pagination"\n\nconst PaginationContent = React.forwardRef<\n HTMLUListElement,\n React.ComponentProps<"ul">\n>(({ className, ...props }, ref) => (\n <ul\n ref={ref}\n className={cn("flex flex-row items-center gap-1", className)}\n {...props}\n />\n))\nPaginationContent.displayName = "PaginationContent"\n\nconst PaginationItem = React.forwardRef<\n HTMLLIElement,\n React.ComponentProps<"li">\n>(({ className, ...props }, ref) => (\n <li ref={ref} className={cn("", className)} {...props} />\n))\nPaginationItem.displayName = "PaginationItem"\n\ntype PaginationLinkProps = {\n isActive?: boolean\n} & Pick<ButtonProps, "size"> &\n React.ComponentProps<"a">\n\nconst PaginationLink = ({\n className,\n isActive,\n size = "icon",\n ...props\n}: PaginationLinkProps) => (\n <a\n aria-current={isActive ? "page" : undefined}\n className={cn(\n buttonVariants({\n variant: isActive ? "outline" : "ghost",\n size,\n }),\n className\n )}\n {...props}\n />\n)\nPaginationLink.displayName = "PaginationLink"\n\nconst PaginationPrevious = ({\n className,\n ...props\n}: React.ComponentProps<typeof PaginationLink>) => (\n <PaginationLink\n aria-label="Go to previous page"\n size="default"\n className={cn("gap-1 pl-2.5", className)}\n {...props}\n >\n <ChevronLeft className="h-4 w-4" />\n <span>Previous</span>\n </PaginationLink>\n)\nPaginationPrevious.displayName = "PaginationPrevious"\n\nconst PaginationNext = ({\n className,\n ...props\n}: React.ComponentProps<typeof PaginationLink>) => (\n <PaginationLink\n aria-label="Go to next page"\n size="default"\n className={cn("gap-1 pr-2.5", className)}\n {...props}\n >\n <span>Next</span>\n <ChevronRight className="h-4 w-4" />\n </PaginationLink>\n)\nPaginationNext.displayName = "PaginationNext"\n\nconst PaginationEllipsis = ({\n className,\n ...props\n}: React.ComponentProps<"span">) => (\n <span\n aria-hidden\n className={cn("flex h-9 w-9 items-center justify-center", className)}\n {...props}\n >\n <MoreHorizontal className="h-4 w-4" />\n <span className="sr-only">More pages</span>\n </span>\n)\nPaginationEllipsis.displayName = "PaginationEllipsis"\n\nexport {\n Pagination,\n PaginationContent,\n PaginationEllipsis,\n PaginationItem,\n PaginationLink,\n PaginationNext,\n PaginationPrevious,\n}\n\n',Qa='import * as React from "react"\nimport * as PopoverPrimitive from "@radix-ui/react-popover"\n\nimport { cn } from "../../lib/utils"\n\nconst Popover = PopoverPrimitive.Root\n\nconst PopoverTrigger = PopoverPrimitive.Trigger\n\nconst PopoverContent = React.forwardRef<\n React.ElementRef<typeof PopoverPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof PopoverPrimitive.Content>\n>(({ className, align = "center", sideOffset = 4, ...props }, ref) => (\n <PopoverPrimitive.Portal>\n <PopoverPrimitive.Content\n ref={ref}\n align={align}\n sideOffset={sideOffset}\n className={cn(\n "z-50 w-72 rounded-md border border-gray-200 bg-white p-4 text-gray-950 shadow-md outline-none 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 dark:border-gray-800 dark:bg-gray-950 dark:text-gray-50",\n className\n )}\n {...props}\n />\n </PopoverPrimitive.Portal>\n))\nPopoverContent.displayName = PopoverPrimitive.Content.displayName\n\nexport { Popover, PopoverTrigger, PopoverContent }\n\n',Ja='import * as React from "react"\nimport * as ProgressPrimitive from "@radix-ui/react-progress"\n\nimport { cn } from "../../lib/utils"\n\nconst Progress = React.forwardRef<\n React.ElementRef<typeof ProgressPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof ProgressPrimitive.Root>\n>(({ className, value, ...props }, ref) => (\n <ProgressPrimitive.Root\n ref={ref}\n className={cn(\n "relative h-4 w-full overflow-hidden rounded-full bg-gray-100 dark:bg-gray-800",\n className\n )}\n {...props}\n >\n <ProgressPrimitive.Indicator\n className="h-full w-full flex-1 bg-gray-900 transition-all dark:bg-gray-50"\n style={{ transform: `translateX(-${100 - (value || 0)}%)` }}\n />\n </ProgressPrimitive.Root>\n))\nProgress.displayName = ProgressPrimitive.Root.displayName\n\nexport { Progress }\n',eo='import * as React from "react"\nimport * as RadioGroupPrimitive from "@radix-ui/react-radio-group"\nimport { Circle } from "lucide-react"\n\nimport { cn } from "../../lib/utils"\n\nconst RadioGroup = React.forwardRef<\n React.ElementRef<typeof RadioGroupPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof RadioGroupPrimitive.Root>\n>(({ className, ...props }, ref) => {\n return (\n <RadioGroupPrimitive.Root\n className={cn("grid gap-2", className)}\n {...props}\n ref={ref}\n />\n )\n})\nRadioGroup.displayName = RadioGroupPrimitive.Root.displayName\n\nconst RadioGroupItem = React.forwardRef<\n React.ElementRef<typeof RadioGroupPrimitive.Item>,\n React.ComponentPropsWithoutRef<typeof RadioGroupPrimitive.Item>\n>(({ className, ...props }, ref) => {\n return (\n <RadioGroupPrimitive.Item\n ref={ref}\n className={cn(\n "aspect-square h-4 w-4 rounded-full border border-gray-200 dark:border-gray-900 text-gray-900 ring-offset-white focus:outline-none focus-visible:ring-2 focus-visible:ring-gray-950 focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 dark:text-gray-50 dark:ring-offset-gray-950 dark:focus-visible:ring-gray-300",\n className\n )}\n {...props}\n >\n <RadioGroupPrimitive.Indicator className="flex items-center justify-center">\n <Circle className="h-2.5 w-2.5 fill-current text-current" />\n </RadioGroupPrimitive.Indicator>\n </RadioGroupPrimitive.Item>\n )\n})\nRadioGroupItem.displayName = RadioGroupPrimitive.Item.displayName\n\nexport { RadioGroup, RadioGroupItem }\n\n',to='import * as React from "react"\nimport * as SelectPrimitive from "@radix-ui/react-select"\nimport { Check, ChevronDown, ChevronUp } from "lucide-react"\n\nimport { cn } from "../../lib/utils"\n\nconst Select = SelectPrimitive.Root\n\nconst SelectGroup = SelectPrimitive.Group\n\nconst SelectValue = SelectPrimitive.Value\n\nconst SelectTrigger = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.Trigger>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Trigger>\n>(({ className, children, ...props }, ref) => (\n <SelectPrimitive.Trigger\n ref={ref}\n className={cn(\n "flex h-10 w-full items-center justify-between rounded-md border border-gray-200 bg-white px-3 py-2 text-sm ring-offset-white placeholder:text-gray-500 focus:outline-none focus:ring-2 focus:ring-gray-950 focus:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 [&>span]:line-clamp-1 dark:border-gray-800 dark:bg-gray-950 dark:ring-offset-gray-950 dark:placeholder:text-gray-400 dark:focus:ring-gray-300",\n className\n )}\n {...props}\n >\n {children}\n <SelectPrimitive.Icon asChild>\n <ChevronDown className="h-4 w-4 opacity-50" />\n </SelectPrimitive.Icon>\n </SelectPrimitive.Trigger>\n))\nSelectTrigger.displayName = SelectPrimitive.Trigger.displayName\n\nconst SelectScrollUpButton = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.ScrollUpButton>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.ScrollUpButton>\n>(({ className, ...props }, ref) => (\n <SelectPrimitive.ScrollUpButton\n ref={ref}\n className={cn(\n "flex cursor-default items-center justify-center py-1",\n className\n )}\n {...props}\n >\n <ChevronUp className="h-4 w-4" />\n </SelectPrimitive.ScrollUpButton>\n))\nSelectScrollUpButton.displayName = SelectPrimitive.ScrollUpButton.displayName\n\nconst SelectScrollDownButton = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.ScrollDownButton>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.ScrollDownButton>\n>(({ className, ...props }, ref) => (\n <SelectPrimitive.ScrollDownButton\n ref={ref}\n className={cn(\n "flex cursor-default items-center justify-center py-1",\n className\n )}\n {...props}\n >\n <ChevronDown className="h-4 w-4" />\n </SelectPrimitive.ScrollDownButton>\n))\nSelectScrollDownButton.displayName =\n SelectPrimitive.ScrollDownButton.displayName\n\nconst SelectContent = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Content>\n>(({ className, children, position = "popper", ...props }, ref) => (\n <SelectPrimitive.Portal>\n <SelectPrimitive.Content\n ref={ref}\n className={cn(\n "relative z-50 max-h-96 min-w-[8rem] overflow-hidden rounded-md border border-gray-200 bg-white text-gray-950 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 dark:border-gray-800 dark:bg-gray-950 dark:text-gray-50",\n position === "popper" &&\n "data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",\n className\n )}\n position={position}\n {...props}\n >\n <SelectScrollUpButton />\n <SelectPrimitive.Viewport\n className={cn(\n "p-1",\n position === "popper" &&\n "h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]"\n )}\n >\n {children}\n </SelectPrimitive.Viewport>\n <SelectScrollDownButton />\n </SelectPrimitive.Content>\n </SelectPrimitive.Portal>\n))\nSelectContent.displayName = SelectPrimitive.Content.displayName\n\nconst SelectLabel = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.Label>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Label>\n>(({ className, ...props }, ref) => (\n <SelectPrimitive.Label\n ref={ref}\n className={cn("py-1.5 pl-8 pr-2 text-sm font-semibold", className)}\n {...props}\n />\n))\nSelectLabel.displayName = SelectPrimitive.Label.displayName\n\nconst SelectItem = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.Item>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Item>\n>(({ className, children, ...props }, ref) => (\n <SelectPrimitive.Item\n ref={ref}\n className={cn(\n "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-gray-100 focus:text-gray-900 data-[disabled]:pointer-events-none data-[disabled]:opacity-50 dark:focus:bg-gray-800 dark:focus:text-gray-50",\n className\n )}\n {...props}\n >\n <span className="absolute left-2 flex h-3.5 w-3.5 items-center justify-center">\n <SelectPrimitive.ItemIndicator>\n <Check className="h-4 w-4" />\n </SelectPrimitive.ItemIndicator>\n </span>\n\n <SelectPrimitive.ItemText>{children}</SelectPrimitive.ItemText>\n </SelectPrimitive.Item>\n))\nSelectItem.displayName = SelectPrimitive.Item.displayName\n\nconst SelectSeparator = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.Separator>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Separator>\n>(({ className, ...props }, ref) => (\n <SelectPrimitive.Separator\n ref={ref}\n className={cn("-mx-1 my-1 h-px bg-gray-100 dark:bg-gray-800", className)}\n {...props}\n />\n))\nSelectSeparator.displayName = SelectPrimitive.Separator.displayName\n\nexport {\n Select,\n SelectGroup,\n SelectValue,\n SelectTrigger,\n SelectContent,\n SelectLabel,\n SelectItem,\n SelectSeparator,\n SelectScrollUpButton,\n SelectScrollDownButton,\n}\n\n',no='import * as React from "react"\nimport * as SeparatorPrimitive from "@radix-ui/react-separator"\n\nimport { cn } from "../../lib/utils"\n\nconst Separator = React.forwardRef<\n React.ElementRef<typeof SeparatorPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof SeparatorPrimitive.Root>\n>(\n (\n { className, orientation = "horizontal", decorative = true, ...props },\n ref\n ) => (\n <SeparatorPrimitive.Root\n ref={ref}\n decorative={decorative}\n orientation={orientation}\n className={cn(\n "shrink-0 bg-gray-200 dark:bg-gray-800",\n orientation === "horizontal" ? "h-[1px] w-full" : "h-full w-[1px]",\n className\n )}\n {...props}\n />\n )\n)\nSeparator.displayName = SeparatorPrimitive.Root.displayName\n\nexport { Separator }\n\n',ao='import { cn } from "../../lib/utils"\n\nfunction Skeleton({\n className,\n ...props\n}: React.HTMLAttributes<HTMLDivElement>) {\n return (\n <div\n className={cn("animate-pulse rounded-md bg-gray-100 dark:bg-gray-800", className)}\n {...props}\n />\n )\n}\n\nexport { Skeleton }\n',oo='import * as React from "react"\nimport * as SliderPrimitive from "@radix-ui/react-slider"\n\nimport { cn } from "../../lib/utils"\n\nconst Slider = React.forwardRef<\n React.ElementRef<typeof SliderPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof SliderPrimitive.Root>\n>(({ className, ...props }, ref) => (\n <SliderPrimitive.Root\n ref={ref}\n className={cn(\n "relative flex w-full touch-none select-none items-center",\n className\n )}\n {...props}\n >\n <SliderPrimitive.Track className="relative h-2 w-full grow overflow-hidden rounded-full bg-gray-100 dark:bg-gray-800">\n <SliderPrimitive.Range className="absolute h-full bg-gray-900 dark:bg-gray-50" />\n </SliderPrimitive.Track>\n <SliderPrimitive.Thumb className="block h-5 w-5 rounded-full border-2 border-gray-900 bg-white ring-offset-white transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-gray-950 focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 dark:border-gray-50 dark:bg-gray-950 dark:ring-offset-gray-950 dark:focus-visible:ring-gray-300" />\n </SliderPrimitive.Root>\n))\nSlider.displayName = SliderPrimitive.Root.displayName\n\nexport { Slider }\n\n',ro='import * as React from "react"\nimport * as SwitchPrimitives from "@radix-ui/react-switch"\n\nimport { cn } from "../../lib/utils"\n\nconst Switch = React.forwardRef<\n React.ElementRef<typeof SwitchPrimitives.Root>,\n React.ComponentPropsWithoutRef<typeof SwitchPrimitives.Root>\n>(({ className, ...props }, ref) => (\n <SwitchPrimitives.Root\n className={cn(\n "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-gray-950 focus-visible:ring-offset-2 focus-visible:ring-offset-white disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-gray-900 data-[state=unchecked]:bg-gray-200 dark:focus-visible:ring-gray-300 dark:focus-visible:ring-offset-gray-950 dark:data-[state=checked]:bg-gray-50 dark:data-[state=unchecked]:bg-gray-800",\n className\n )}\n {...props}\n ref={ref}\n >\n <SwitchPrimitives.Thumb\n className={cn(\n "pointer-events-none block h-5 w-5 rounded-full bg-white shadow-lg ring-0 transition-transform data-[state=checked]:translate-x-5 data-[state=unchecked]:translate-x-0 dark:bg-gray-950"\n )}\n />\n </SwitchPrimitives.Root>\n))\nSwitch.displayName = SwitchPrimitives.Root.displayName\n\nexport { Switch }\n\n',io='import * as React from "react"\n\nimport { cn } from "../../lib/utils"\n\nconst Table = React.forwardRef<\n HTMLTableElement,\n React.HTMLAttributes<HTMLTableElement>\n>(({ className, ...props }, ref) => (\n <div className="relative w-full overflow-auto">\n <table\n ref={ref}\n className={cn("w-full caption-bottom text-sm", className)}\n {...props}\n />\n </div>\n))\nTable.displayName = "Table"\n\nconst TableHeader = React.forwardRef<\n HTMLTableSectionElement,\n React.HTMLAttributes<HTMLTableSectionElement>\n>(({ className, ...props }, ref) => (\n <thead ref={ref} className={cn("[&_tr]:border-b", className)} {...props} />\n))\nTableHeader.displayName = "TableHeader"\n\nconst TableBody = React.forwardRef<\n HTMLTableSectionElement,\n React.HTMLAttributes<HTMLTableSectionElement>\n>(({ className, ...props }, ref) => (\n <tbody\n ref={ref}\n className={cn("[&_tr:last-child]:border-0", className)}\n {...props}\n />\n))\nTableBody.displayName = "TableBody"\n\nconst TableFooter = React.forwardRef<\n HTMLTableSectionElement,\n React.HTMLAttributes<HTMLTableSectionElement>\n>(({ className, ...props }, ref) => (\n <tfoot\n ref={ref}\n className={cn(\n "border-t bg-gray-100/50 font-medium [&>tr]:last:border-b-0 dark:bg-gray-800/50",\n className\n )}\n {...props}\n />\n))\nTableFooter.displayName = "TableFooter"\n\nconst TableRow = React.forwardRef<\n HTMLTableRowElement,\n React.HTMLAttributes<HTMLTableRowElement>\n>(({ className, ...props }, ref) => (\n <tr\n ref={ref}\n className={cn(\n "border-b transition-colors hover:bg-gray-100/50 data-[state=selected]:bg-gray-100 dark:hover:bg-gray-800/50 dark:data-[state=selected]:bg-gray-800",\n className\n )}\n {...props}\n />\n))\nTableRow.displayName = "TableRow"\n\nconst TableHead = React.forwardRef<\n HTMLTableCellElement,\n React.ThHTMLAttributes<HTMLTableCellElement>\n>(({ className, ...props }, ref) => (\n <th\n ref={ref}\n className={cn(\n "h-12 px-4 text-left align-middle font-medium text-gray-500 [&:has([role=checkbox])]:pr-0 dark:text-gray-400",\n className\n )}\n {...props}\n />\n))\nTableHead.displayName = "TableHead"\n\nconst TableCell = React.forwardRef<\n HTMLTableCellElement,\n React.TdHTMLAttributes<HTMLTableCellElement>\n>(({ className, ...props }, ref) => (\n <td\n ref={ref}\n className={cn("p-4 align-middle [&:has([role=checkbox])]:pr-0", className)}\n {...props}\n />\n))\nTableCell.displayName = "TableCell"\n\nconst TableCaption = React.forwardRef<\n HTMLTableCaptionElement,\n React.HTMLAttributes<HTMLTableCaptionElement>\n>(({ className, ...props }, ref) => (\n <caption\n ref={ref}\n className={cn("mt-4 text-sm text-gray-500 dark:text-gray-400", className)}\n {...props}\n />\n))\nTableCaption.displayName = "TableCaption"\n\nexport {\n Table,\n TableHeader,\n TableBody,\n TableFooter,\n TableHead,\n TableRow,\n TableCell,\n TableCaption,\n}\n\n',so='import * as React from "react"\nimport * as TabsPrimitive from "@radix-ui/react-tabs"\n\nimport { cn } from "../../lib/utils"\n\nconst Tabs = TabsPrimitive.Root\n\nconst TabsList = React.forwardRef<\n React.ElementRef<typeof TabsPrimitive.List>,\n React.ComponentPropsWithoutRef<typeof TabsPrimitive.List>\n>(({ className, ...props }, ref) => (\n <TabsPrimitive.List\n ref={ref}\n className={cn(\n "inline-flex h-10 items-center justify-center rounded-md bg-gray-100 p-1 text-gray-500 dark:bg-gray-800 dark:text-gray-400",\n className\n )}\n {...props}\n />\n))\nTabsList.displayName = TabsPrimitive.List.displayName\n\nconst TabsTrigger = React.forwardRef<\n React.ElementRef<typeof TabsPrimitive.Trigger>,\n React.ComponentPropsWithoutRef<typeof TabsPrimitive.Trigger>\n>(({ className, ...props }, ref) => (\n <TabsPrimitive.Trigger\n ref={ref}\n className={cn(\n "inline-flex items-center justify-center whitespace-nowrap rounded-sm px-3 py-1.5 text-sm font-medium ring-offset-white transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-gray-950 focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:bg-white data-[state=active]:text-gray-950 data-[state=active]:shadow-sm dark:ring-offset-gray-950 dark:focus-visible:ring-gray-300 dark:data-[state=active]:bg-gray-950 dark:data-[state=active]:text-gray-50",\n className\n )}\n {...props}\n />\n))\nTabsTrigger.displayName = TabsPrimitive.Trigger.displayName\n\nconst TabsContent = React.forwardRef<\n React.ElementRef<typeof TabsPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof TabsPrimitive.Content>\n>(({ className, ...props }, ref) => (\n <TabsPrimitive.Content\n ref={ref}\n className={cn(\n "mt-2 ring-offset-white focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-gray-950 focus-visible:ring-offset-2 dark:ring-offset-gray-950 dark:focus-visible:ring-gray-300",\n className\n )}\n {...props}\n />\n))\nTabsContent.displayName = TabsPrimitive.Content.displayName\n\nexport { Tabs, TabsList, TabsTrigger, TabsContent }\n\n',lo='import * as React from "react"\n\nimport { cn } from "../../lib/utils"\n\nexport interface TextareaProps\n extends React.TextareaHTMLAttributes<HTMLTextAreaElement> {}\n\nconst Textarea = React.forwardRef<HTMLTextAreaElement, TextareaProps>(\n ({ className, ...props }, ref) => {\n return (\n <textarea\n className={cn(\n "flex min-h-[80px] w-full rounded-md border border-gray-200 bg-white px-3 py-2 text-sm ring-offset-white placeholder:text-gray-500 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-gray-950 focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 dark:border-gray-800 dark:bg-gray-950 dark:ring-offset-gray-950 dark:placeholder:text-gray-400 dark:focus-visible:ring-gray-300",\n className\n )}\n ref={ref}\n {...props}\n />\n )\n }\n)\nTextarea.displayName = "Textarea"\n\nexport { Textarea }\n\n',co='import * as React from "react"\nimport * as ToastPrimitives from "@radix-ui/react-toast"\nimport { cva, type VariantProps } from "class-variance-authority"\nimport { X } from "lucide-react"\n\nimport { cn } from "../../lib/utils"\n\nconst ToastProvider = ToastPrimitives.Provider\n\nconst ToastViewport = React.forwardRef<\n React.ElementRef<typeof ToastPrimitives.Viewport>,\n React.ComponentPropsWithoutRef<typeof ToastPrimitives.Viewport>\n>(({ className, ...props }, ref) => (\n <ToastPrimitives.Viewport\n ref={ref}\n className={cn(\n "fixed top-0 z-[100] flex max-h-screen w-full flex-col-reverse p-4 sm:bottom-0 sm:right-0 sm:top-auto sm:flex-col md:max-w-[420px]",\n className\n )}\n {...props}\n />\n))\nToastViewport.displayName = ToastPrimitives.Viewport.displayName\n\nconst toastVariants = cva(\n "group pointer-events-auto relative flex w-full items-center justify-between space-x-4 overflow-hidden rounded-md border border-gray-200 p-6 pr-8 shadow-lg transition-all data-[swipe=cancel]:translate-x-0 data-[swipe=end]:translate-x-[var(--radix-toast-swipe-end-x)] data-[swipe=move]:translate-x-[var(--radix-toast-swipe-move-x)] data-[swipe=move]:transition-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[swipe=end]:animate-out data-[state=closed]:fade-out-80 data-[state=closed]:slide-out-to-right-full data-[state=open]:slide-in-from-top-full data-[state=open]:sm:slide-in-from-bottom-full dark:border-gray-800",\n {\n variants: {\n variant: {\n default: "border bg-white text-gray-950 dark:bg-gray-950 dark:text-gray-50",\n destructive:\n "destructive group border-red-500 bg-red-500 text-gray-50 dark:border-red-900 dark:bg-red-900 dark:text-gray-50",\n },\n },\n defaultVariants: {\n variant: "default",\n },\n }\n)\n\nconst Toast = React.forwardRef<\n React.ElementRef<typeof ToastPrimitives.Root>,\n React.ComponentPropsWithoutRef<typeof ToastPrimitives.Root> &\n VariantProps<typeof toastVariants>\n>(({ className, variant, ...props }, ref) => {\n return (\n <ToastPrimitives.Root\n ref={ref}\n className={cn(toastVariants({ variant }), className)}\n {...props}\n />\n )\n})\nToast.displayName = ToastPrimitives.Root.displayName\n\nconst ToastAction = React.forwardRef<\n React.ElementRef<typeof ToastPrimitives.Action>,\n React.ComponentPropsWithoutRef<typeof ToastPrimitives.Action>\n>(({ className, ...props }, ref) => (\n <ToastPrimitives.Action\n ref={ref}\n className={cn(\n "inline-flex h-8 shrink-0 items-center justify-center rounded-md border border-gray-200 bg-transparent px-3 text-sm font-medium ring-offset-white transition-colors hover:bg-gray-100 focus:outline-none focus:ring-2 focus:ring-gray-950 focus:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 group-[.destructive]:border-gray-100/40 group-[.destructive]:hover:border-red-500/30 group-[.destructive]:hover:bg-red-500 group-[.destructive]:hover:text-gray-50 group-[.destructive]:focus:ring-red-500 dark:border-gray-800 dark:ring-offset-gray-950 dark:hover:bg-gray-800 dark:focus:ring-gray-300 dark:group-[.destructive]:border-gray-800/40 dark:group-[.destructive]:hover:border-red-900/30 dark:group-[.destructive]:hover:bg-red-900 dark:group-[.destructive]:hover:text-gray-50 dark:group-[.destructive]:focus:ring-red-900",\n className\n )}\n {...props}\n />\n))\nToastAction.displayName = ToastPrimitives.Action.displayName\n\nconst ToastClose = React.forwardRef<\n React.ElementRef<typeof ToastPrimitives.Close>,\n React.ComponentPropsWithoutRef<typeof ToastPrimitives.Close>\n>(({ className, ...props }, ref) => (\n <ToastPrimitives.Close\n ref={ref}\n className={cn(\n "absolute right-2 top-2 rounded-md p-1 text-gray-950/50 opacity-0 transition-opacity hover:text-gray-950 focus:opacity-100 focus:outline-none focus:ring-2 group-hover:opacity-100 group-[.destructive]:text-red-300 group-[.destructive]:hover:text-red-50 group-[.destructive]:focus:ring-red-400 group-[.destructive]:focus:ring-offset-red-600 dark:text-gray-50/50 dark:hover:text-gray-50",\n className\n )}\n toast-close=""\n {...props}\n >\n <X className="h-4 w-4" />\n </ToastPrimitives.Close>\n))\nToastClose.displayName = ToastPrimitives.Close.displayName\n\nconst ToastTitle = React.forwardRef<\n React.ElementRef<typeof ToastPrimitives.Title>,\n React.ComponentPropsWithoutRef<typeof ToastPrimitives.Title>\n>(({ className, ...props }, ref) => (\n <ToastPrimitives.Title\n ref={ref}\n className={cn("text-sm font-semibold", className)}\n {...props}\n />\n))\nToastTitle.displayName = ToastPrimitives.Title.displayName\n\nconst ToastDescription = React.forwardRef<\n React.ElementRef<typeof ToastPrimitives.Description>,\n React.ComponentPropsWithoutRef<typeof ToastPrimitives.Description>\n>(({ className, ...props }, ref) => (\n <ToastPrimitives.Description\n ref={ref}\n className={cn("text-sm opacity-90", className)}\n {...props}\n />\n))\nToastDescription.displayName = ToastPrimitives.Description.displayName\n\ntype ToastProps = React.ComponentPropsWithoutRef<typeof Toast>\n\ntype ToastActionElement = React.ReactElement<typeof ToastAction>\n\nexport {\n type ToastProps,\n type ToastActionElement,\n ToastProvider,\n ToastViewport,\n Toast,\n ToastTitle,\n ToastDescription,\n ToastClose,\n ToastAction,\n}\n\n',po='import {\n Toast,\n ToastClose,\n ToastDescription,\n ToastProvider,\n ToastTitle,\n ToastViewport,\n} from "./toast"\nimport { useToast } from "./use-toast"\n\nexport function Toaster() {\n const { toasts } = useToast()\n\n return (\n <ToastProvider>\n {toasts.map(function ({ id, title, description, action, ...props }) {\n return (\n <Toast key={id} {...props}>\n <div className="grid gap-1">\n {title && <ToastTitle>{title}</ToastTitle>}\n {description && (\n <ToastDescription>{description}</ToastDescription>\n )}\n </div>\n {action}\n <ToastClose />\n </Toast>\n )\n })}\n <ToastViewport />\n </ToastProvider>\n )\n}\n\n',uo='import * as React from "react"\nimport * as ToggleGroupPrimitive from "@radix-ui/react-toggle-group"\nimport { type VariantProps } from "class-variance-authority"\n\nimport { cn } from "../../lib/utils"\nimport { toggleVariants } from "./toggle"\n\nconst ToggleGroupContext = React.createContext<\n VariantProps<typeof toggleVariants>\n>({\n size: "default",\n variant: "default",\n})\n\nconst ToggleGroup = React.forwardRef<\n React.ElementRef<typeof ToggleGroupPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof ToggleGroupPrimitive.Root> &\n VariantProps<typeof toggleVariants>\n>(({ className, variant, size, children, ...props }, ref) => (\n <ToggleGroupPrimitive.Root\n ref={ref}\n className={cn("flex items-center justify-center gap-1", className)}\n {...props}\n >\n <ToggleGroupContext.Provider value={{ variant, size }}>\n {children}\n </ToggleGroupContext.Provider>\n </ToggleGroupPrimitive.Root>\n))\n\nToggleGroup.displayName = ToggleGroupPrimitive.Root.displayName\n\nconst ToggleGroupItem = React.forwardRef<\n React.ElementRef<typeof ToggleGroupPrimitive.Item>,\n React.ComponentPropsWithoutRef<typeof ToggleGroupPrimitive.Item> &\n VariantProps<typeof toggleVariants>\n>(({ className, children, variant, size, ...props }, ref) => {\n const context = React.useContext(ToggleGroupContext)\n\n return (\n <ToggleGroupPrimitive.Item\n ref={ref}\n className={cn(\n toggleVariants({\n variant: context.variant || variant,\n size: context.size || size,\n }),\n className\n )}\n {...props}\n >\n {children}\n </ToggleGroupPrimitive.Item>\n )\n})\n\nToggleGroupItem.displayName = ToggleGroupPrimitive.Item.displayName\n\nexport { ToggleGroup, ToggleGroupItem }\n\n',mo='import * as React from "react"\nimport * as TogglePrimitive from "@radix-ui/react-toggle"\nimport { cva, type VariantProps } from "class-variance-authority"\n\nimport { cn } from "../../lib/utils"\n\nconst toggleVariants = cva(\n "inline-flex items-center justify-center rounded-md text-sm font-medium ring-offset-white transition-colors hover:bg-gray-100 hover:text-gray-500 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-gray-950 focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 data-[state=on]:bg-gray-100 data-[state=on]:text-gray-900 dark:ring-offset-gray-950 dark:hover:bg-gray-800 dark:hover:text-gray-400 dark:focus-visible:ring-gray-300 dark:data-[state=on]:bg-gray-800 dark:data-[state=on]:text-gray-50",\n {\n variants: {\n variant: {\n default: "bg-transparent",\n outline:\n "border border-gray-200 bg-transparent hover:bg-gray-100 hover:text-gray-900 dark:border-gray-800 dark:hover:bg-gray-800 dark:hover:text-gray-50",\n },\n size: {\n default: "h-10 px-3",\n sm: "h-9 px-2.5",\n lg: "h-11 px-5",\n },\n },\n defaultVariants: {\n variant: "default",\n size: "default",\n },\n }\n)\n\nconst Toggle = React.forwardRef<\n React.ElementRef<typeof TogglePrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof TogglePrimitive.Root> &\n VariantProps<typeof toggleVariants>\n>(({ className, variant, size, ...props }, ref) => (\n <TogglePrimitive.Root\n ref={ref}\n className={cn(toggleVariants({ variant, size, className }))}\n {...props}\n />\n))\n\nToggle.displayName = TogglePrimitive.Root.displayName\n\nexport { Toggle, toggleVariants }\n\n',fo='import * as React from "react"\nimport * as TooltipPrimitive from "@radix-ui/react-tooltip"\n\nimport { cn } from "../../lib/utils"\n\nconst TooltipProvider = TooltipPrimitive.Provider\n\nconst Tooltip = TooltipPrimitive.Root\n\nconst TooltipTrigger = TooltipPrimitive.Trigger\n\nconst TooltipContent = React.forwardRef<\n React.ElementRef<typeof TooltipPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof TooltipPrimitive.Content>\n>(({ className, sideOffset = 4, ...props }, ref) => (\n <TooltipPrimitive.Content\n ref={ref}\n sideOffset={sideOffset}\n className={cn(\n "z-50 overflow-hidden rounded-md border border-gray-200 bg-white px-3 py-1.5 text-sm text-gray-950 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 dark:border-gray-800 dark:bg-gray-950 dark:text-gray-50",\n className\n )}\n {...props}\n />\n))\nTooltipContent.displayName = TooltipPrimitive.Content.displayName\n\nexport { Tooltip, TooltipTrigger, TooltipContent, TooltipProvider }\n\n',go='import * as React from "react"\n\nimport type {\n ToastActionElement,\n ToastProps,\n} from "./toast"\n\nconst TOAST_LIMIT = 1\nconst TOAST_REMOVE_DELAY = 1000000\n\ntype ToasterToast = ToastProps & {\n id: string\n title?: React.ReactNode\n description?: React.ReactNode\n action?: ToastActionElement\n}\n\nconst actionTypes = {\n ADD_TOAST: "ADD_TOAST",\n UPDATE_TOAST: "UPDATE_TOAST",\n DISMISS_TOAST: "DISMISS_TOAST",\n REMOVE_TOAST: "REMOVE_TOAST",\n} as const\n\nlet count = 0\n\nfunction genId() {\n count = (count + 1) % Number.MAX_SAFE_INTEGER\n return count.toString()\n}\n\ntype ActionType = typeof actionTypes\n\ntype Action =\n | {\n type: ActionType["ADD_TOAST"]\n toast: ToasterToast\n }\n | {\n type: ActionType["UPDATE_TOAST"]\n toast: Partial<ToasterToast>\n }\n | {\n type: ActionType["DISMISS_TOAST"]\n toastId?: ToasterToast["id"]\n }\n | {\n type: ActionType["REMOVE_TOAST"]\n toastId?: ToasterToast["id"]\n }\n\ninterface State {\n toasts: ToasterToast[]\n}\n\nconst toastTimeouts = new Map<string, ReturnType<typeof setTimeout>>()\n\nconst addToRemoveQueue = (toastId: string) => {\n if (toastTimeouts.has(toastId)) {\n return\n }\n\n const timeout = setTimeout(() => {\n toastTimeouts.delete(toastId)\n dispatch({\n type: "REMOVE_TOAST",\n toastId: toastId,\n })\n }, TOAST_REMOVE_DELAY)\n\n toastTimeouts.set(toastId, timeout)\n}\n\nexport const reducer = (state: State, action: Action): State => {\n switch (action.type) {\n case "ADD_TOAST":\n return {\n ...state,\n toasts: [action.toast, ...state.toasts].slice(0, TOAST_LIMIT),\n }\n\n case "UPDATE_TOAST":\n return {\n ...state,\n toasts: state.toasts.map((t) =>\n t.id === action.toast.id ? { ...t, ...action.toast } : t\n ),\n }\n\n case "DISMISS_TOAST": {\n const { toastId } = action\n\n // ! Side effects ! - This could be extracted into a dismissToast() action,\n // but I\'ll keep it here for simplicity\n if (toastId) {\n addToRemoveQueue(toastId)\n } else {\n state.toasts.forEach((toast) => {\n addToRemoveQueue(toast.id)\n })\n }\n\n return {\n ...state,\n toasts: state.toasts.map((t) =>\n t.id === toastId || toastId === undefined\n ? {\n ...t,\n open: false,\n }\n : t\n ),\n }\n }\n case "REMOVE_TOAST":\n if (action.toastId === undefined) {\n return {\n ...state,\n toasts: [],\n }\n }\n return {\n ...state,\n toasts: state.toasts.filter((t) => t.id !== action.toastId),\n }\n }\n}\n\nconst listeners: Array<(state: State) => void> = []\n\nlet memoryState: State = { toasts: [] }\n\nfunction dispatch(action: Action) {\n memoryState = reducer(memoryState, action)\n listeners.forEach((listener) => {\n listener(memoryState)\n })\n}\n\ntype Toast = Omit<ToasterToast, "id">\n\nfunction toast({ ...props }: Toast) {\n const id = genId()\n\n const update = (props: ToasterToast) =>\n dispatch({\n type: "UPDATE_TOAST",\n toast: { ...props, id },\n })\n const dismiss = () => dispatch({ type: "DISMISS_TOAST", toastId: id })\n\n dispatch({\n type: "ADD_TOAST",\n toast: {\n ...props,\n id,\n open: true,\n onOpenChange: (open) => {\n if (!open) dismiss()\n },\n },\n })\n\n return {\n id: id,\n dismiss,\n update,\n }\n}\n\nfunction useToast() {\n const [state, setState] = React.useState<State>(memoryState)\n\n React.useEffect(() => {\n listeners.push(setState)\n return () => {\n const index = listeners.indexOf(setState)\n if (index > -1) {\n listeners.splice(index, 1)\n }\n }\n }, [state])\n\n return {\n ...state,\n toast,\n dismiss: (toastId?: string) => dispatch({ type: "DISMISS_TOAST", toastId }),\n }\n}\n\nexport { useToast, toast }\n',vo={utils:Ea,accordian:Sa,alertDialog:_a,alert:Da,avatar:Ia,badge:Oa,breadcrumb:La,button:Ua,calendar:ja,card:Ha,carousel:za,checkbox:Ga,collapsible:Ba,dialog:Va,drawer:Fa,dropdownMenu:Wa,hoverCard:qa,input:Ka,label:Ya,menuBar:Xa,navigationMenu:$a,pagination:Za,popover:Qa,progress:Ja,radioGroup:eo,select:to,separator:no,skeleton:ao,slider:oo,switchComponent:ro,table:io,tabs:so,textarea:lo,toast:co,toaster:po,toggleGroup:uo,toggle:mo,tooltip:fo,useToast:go},bo={utils:Ea,avatar:Ia,button:Ua,card:Ha,checkbox:Ga,input:Ka,label:Ya,radioGroup:eo,select:to,textarea:lo};function yo(e){var t,n,a,o,r=null!==(t=null==e?void 0:e.baseURL)&&void 0!==t?t:"";return{apiKey:null!==(n=null==e?void 0:e.apiKey)&&void 0!==n?n:"",baseURL:r,mistralModel:null!==(a=null==e?void 0:e.mistralModel)&&void 0!==a?a:"",strategy:null!==(o=null==e?void 0:e.strategy)&&void 0!==o?o:un.MISTRAL_OCR}}function ho(t,n){var a;void 0===n&&(n={});var o=n.allowEmptyObject;if(void 0===o||o||(null==(r=t)||"object"!=typeof r||"object"!==r.type||null!=r.properties&&0!==Object.keys(r.properties).length)){var r,i;if("string"===t.type)if(Array.isArray(t.enum)&&t.enum.length>0){var s=t.enum,l=s[0],c=s.slice(1);i=e.enum(u([l],c,!0))}else i=e.string();else if("number"===t.type)i=e.number();else if("boolean"===t.type)i=e.boolean();else if("array"===t.type&&void 0!==t.items){var p=ho(t.items);i=e.array(p)}else if("object"===t.type){for(var d={},m=null!==(a=t.properties)&&void 0!==a?a:{},f=0,g=Object.entries(m);f<g.length;f++){var v=g[f],b=v[0],y=v[1],h=ho(y);h&&(null!=y.description&&""!==y.description&&(h=h.describe(y.description)),d[b]=h)}var R=e.object(d);if(Array.isArray(t.required)&&t.required.length>0){var x=Object.fromEntries(Object.entries(d).map((function(e){var n,a=e[0],o=e[1];return[a,!0===(null===(n=t.required)||void 0===n?void 0:n.includes(a))?o:o.optional()]})));R=e.object(x)}else R=R.partial();i=R}else i=e.unknown();return null!=t.description&&""!==t.description&&(i=i.describe(t.description)),i}}!function(e){e.Input="input",e.Textarea="textarea",e.Slider="slider",e.Checkbox="checkbox",e.Switch="switch",e.Dropdown="dropdown",e.Combobox="combobox",e.Tags="tags"}(Aa||(Aa={})),function(e){e.Number="number",e.Boolean="boolean",e.String="string",e.Enum="enum",e.Array="array"}(ka||(ka={})),function(e){e.Conversation="conversation",e.Model="model",e.Custom="custom"}(Ma||(Ma={}));var Ro=["key","type","component"];function xo(n){for(var a={},o=0,r=n;o<r.length;o++){var i=r[o],s=i.key,l=i.type,c=i.default,p=i.range,d=i.options,u=i.minText,m=i.maxText,f=i.minTags,g=i.maxTags;if(l!==ka.Number)if(l!==ka.Boolean)if(l!==ka.String)if(l!==ka.Enum)if(l!==ka.Array)console.warn("Unsupported setting type: ".concat(l));else{v=e.array(e.string().or(e.number()));f&&v instanceof t&&(v=v.min(f)),g&&v instanceof t&&(v=v.max(g)),c&&Array.isArray(c)&&(v=v.default(c)),a[s]=v}else{if(!d||0===d.length){console.warn("Missing or empty 'options' for enum setting '".concat(s,"'."));continue}v=e.enum(d);a[s]="string"==typeof c?v.default(c):v}else{var v=e.string();u&&(v=v.min(u)),m&&(v=v.max(m)),a[s]="string"==typeof c?v.default(c):v}else{var v=e.boolean();a[s]="boolean"==typeof c?v.default(c):v}else{var v=e.number();p&&(v=(v=v.min(p.min)).max(p.max)),a[s]="number"==typeof c?v.default(c):v}}return e.object(a)}var To={ZodString:"string",ZodNumber:"number",ZodBoolean:"boolean"};function Po(e){for(var t,o=[],r=new Set,i=0,s=e;i<s.length;i++){void 0!==(d=s[i]).columns&&(d.columns<1||d.columns>4?o.push({code:n.custom,message:"Invalid columns value for setting ".concat(d.key,". Must be between ").concat(1," and ").concat(4,"."),path:["columns"]}):r.add(d.columns))}for(var l=1===r.size?r.values().next().value:2,c=0,p=e;c<p.length;c++){for(var d=p[c],u=0,m=Ro;u<m.length;u++){var f=m[u];void 0===d[f]&&o.push({code:n.custom,message:"Missing required field ".concat(f," for setting ").concat(d.key,"."),path:[f]})}var g=Object.values(ka);if(g.includes(d.type)||o.push({code:n.custom,message:"Invalid type for setting ".concat(d.key,". Must be one of ").concat(g.join(", "),"."),path:["type"]}),(d.component===Aa.Tags&&d.type!==ka.Array||d.component!==Aa.Tags&&d.type===ka.Array)&&o.push({code:n.custom,message:"Tags component for setting ".concat(d.key," must have type array."),path:["type"]}),d.component===Aa.Tags&&(void 0!==d.minTags&&d.minTags<0&&o.push({code:n.custom,message:"Invalid minTags value for setting ".concat(d.key,". Must be non-negative."),path:["minTags"]}),void 0!==d.maxTags&&d.maxTags<0&&o.push({code:n.custom,message:"Invalid maxTags value for setting ".concat(d.key,". Must be non-negative."),path:["maxTags"]}),d.default&&!Array.isArray(d.default)&&o.push({code:n.custom,message:"Invalid default value for setting ".concat(d.key,". Must be an array."),path:["default"]}),d.default&&d.maxTags&&d.default.length>d.maxTags&&o.push({code:n.custom,message:"Invalid default value for setting ".concat(d.key,". Must have at most ").concat(d.maxTags," tags."),path:["default"]}),d.default&&d.minTags&&d.default.length<d.minTags&&o.push({code:n.custom,message:"Invalid default value for setting ".concat(d.key,". Must have at least ").concat(d.minTags," tags."),path:["default"]}),d.default||(d.default=[])),d.component!==Aa.Input&&d.component!==Aa.Textarea||(d.type===ka.Number&&d.component===Aa.Textarea&&o.push({code:n.custom,message:"Textarea component for setting ".concat(d.key," must have type string."),path:["type"]}),void 0!==d.minText&&void 0!==d.maxText&&d.minText>d.maxText&&o.push({code:n.custom,message:"For setting ".concat(d.key,", minText cannot be greater than maxText."),path:[d.key,"minText","maxText"]}),d.placeholder||(d.placeholder="")),d.component===Aa.Slider&&(d.type!==ka.Number||d.range||o.push({code:n.custom,message:"Slider component for setting ".concat(d.key," must have a range if type is number."),path:["range"]}),d.type===ka.Enum&&(!d.options||d.options.length<2)&&o.push({code:n.custom,message:"Slider component for setting ".concat(d.key," requires at least ").concat(2," options for enum type."),path:["options"]}),d.includeInput=d.type===ka.Number&&(null===(t=d.includeInput)||void 0===t||t)),d.component===Aa.Slider&&d.type===ka.Number&&void 0===d.default&&d.range&&(d.default=Math.round((d.range.min+d.range.max)/2)),d.component!==Aa.Checkbox&&d.component!==Aa.Switch||(d.options&&d.options.length>2&&o.push({code:n.custom,message:"Checkbox/Switch component for setting ".concat(d.key," must have 1-2 options."),path:["options"]}),d.default||d.type!==ka.Boolean||(d.default=!1)),d.component===Aa.Dropdown&&((!d.options||d.options.length<2)&&o.push({code:n.custom,message:"Dropdown component for setting ".concat(d.key," requires at least ").concat(2," options."),path:["options"]}),!d.default&&d.options&&d.options.length>0&&(d.default=d.options[0])),d.component===Aa.Combobox&&((!d.options||d.options.length<2)&&o.push({code:n.custom,message:"Combobox component for setting ".concat(d.key," requires at least ").concat(2," options."),path:["options"]}),!d.default&&d.options&&d.options.length>0&&(d.default=d.options[0])),d.columnSpan||(d.columnSpan=Math.floor((null!=l?l:0)/2)),d.label||(d.label=d.key),d.component!==Aa.Input&&d.component!==Aa.Textarea||(void 0!==d.minText&&d.minText<0&&o.push({code:n.custom,message:"Invalid minText value for setting ".concat(d.key,". Must be non-negative."),path:["minText"]}),void 0!==d.maxText&&d.maxText<0&&o.push({code:n.custom,message:"Invalid maxText value for setting ".concat(d.key,". Must be non-negative."),path:["maxText"]})),d.optionType!==Ma.Custom){var v=xe.shape[d.key];if(v){var b=v._def.typeName;(To[b]||null)!==d.type&&o.push({code:n.custom,message:"Setting ".concat(d.key,' with optionType "').concat(d.optionType,'" must match the type defined in tConversationSchema.'),path:["optionType"]})}else o.push({code:n.custom,message:"Setting ".concat(d.key,' with optionType "').concat(d.optionType,'" must be defined in tConversationSchema.'),path:["optionType"]})}d.type===ka.Number&&isNaN(d.default)&&o.push({code:n.custom,message:"Invalid default value for setting ".concat(d.key,". Must be a number."),path:["default"]}),d.type===ka.Boolean&&"boolean"!=typeof d.default&&o.push({code:n.custom,message:"Invalid default value for setting ".concat(d.key,". Must be a boolean."),path:["default"]}),d.type!==ka.String&&d.type!==ka.Enum||"string"==typeof d.default||o.push({code:n.custom,message:"Invalid default value for setting ".concat(d.key,". Must be a string."),path:["default"]}),d.type===ka.Enum&&d.options&&!d.options.includes(d.default)&&o.push({code:n.custom,message:"Invalid default value for setting ".concat(d.key,". Must be one of the options: [").concat(d.options.join(", "),"]."),path:["default"]}),d.type===ka.Number&&d.range&&"number"==typeof d.default&&(d.default<d.range.min||d.default>d.range.max)&&o.push({code:n.custom,message:"Invalid default value for setting ".concat(d.key,". Must be within the range [").concat(d.range.min,", ").concat(d.range.max,"]."),path:["default"]})}if(o.length>0)throw new a(o)}var No,wo,Co,Ao,ko,Mo,Eo,So,_o,Do,Io,Oo,Lo,Uo,jo,Ho,zo,Go,Bo,Vo,Fo,Wo,qo=function(e){var t=l(l({},ae),e);return xe.pick({model:!0,chatGptLabel:!0,promptPrefix:!0,temperature:!0,top_p:!0,presence_penalty:!0,frequency_penalty:!0,resendFiles:!0,imageDetail:!0,maxContextTokens:!0}).transform((function(e){var n,a,o,r,i,s,c,p,d;return l(l({},e),{model:null!==(n=e.model)&&void 0!==n?n:t.model.default,chatGptLabel:null!==(a=e.chatGptLabel)&&void 0!==a?a:null,promptPrefix:null!==(o=e.promptPrefix)&&void 0!==o?o:null,temperature:null!==(r=e.temperature)&&void 0!==r?r:t.temperature.default,top_p:null!==(i=e.top_p)&&void 0!==i?i:t.top_p.default,presence_penalty:null!==(s=e.presence_penalty)&&void 0!==s?s:t.presence_penalty.default,frequency_penalty:null!==(c=e.frequency_penalty)&&void 0!==c?c:t.frequency_penalty.default,resendFiles:"boolean"==typeof e.resendFiles?e.resendFiles:t.resendFiles.default,imageDetail:null!==(p=e.imageDetail)&&void 0!==p?p:t.imageDetail.default,maxContextTokens:null!==(d=e.maxContextTokens)&&void 0!==d?d:void 0})})).catch((function(){return{model:t.model.default,chatGptLabel:null,promptPrefix:null,temperature:t.temperature.default,top_p:t.top_p.default,presence_penalty:t.presence_penalty.default,frequency_penalty:t.frequency_penalty.default,resendFiles:t.resendFiles.default,imageDetail:t.imageDetail.default,maxContextTokens:void 0}}))},Ko=function(e){var t=l(l({},oe),e);return xe.pick({model:!0,modelLabel:!0,promptPrefix:!0,examples:!0,temperature:!0,maxOutputTokens:!0,topP:!0,topK:!0,maxContextTokens:!0}).transform((function(e){var n,a,o,r,i,s,c,p,d;return l(l({},e),{model:null!==(n=e.model)&&void 0!==n?n:t.model.default,modelLabel:null!==(a=e.modelLabel)&&void 0!==a?a:null,promptPrefix:null!==(o=e.promptPrefix)&&void 0!==o?o:null,examples:null!==(r=e.examples)&&void 0!==r?r:[{input:{content:""},output:{content:""}}],temperature:null!==(i=e.temperature)&&void 0!==i?i:t.temperature.default,maxOutputTokens:null!==(s=e.maxOutputTokens)&&void 0!==s?s:t.maxOutputTokens.default,topP:null!==(c=e.topP)&&void 0!==c?c:t.topP.default,topK:null!==(p=e.topK)&&void 0!==p?p:t.topK.default,maxContextTokens:null!==(d=e.maxContextTokens)&&void 0!==d?d:void 0})})).catch((function(){return{model:t.model.default,modelLabel:null,promptPrefix:null,examples:[{input:{content:""},output:{content:""}}],temperature:t.temperature.default,maxOutputTokens:t.maxOutputTokens.default,topP:t.topP.default,topK:t.topK.default,maxContextTokens:void 0}}))};!function(e){e.ADMIN="ADMIN",e.USER="USER"}(Vo||(Vo={})),function(e){e.PROMPTS="PROMPTS",e.BOOKMARKS="BOOKMARKS",e.AGENTS="AGENTS",e.MULTI_CONVO="MULTI_CONVO",e.TEMPORARY_CHAT="TEMPORARY_CHAT",e.RUN_CODE="RUN_CODE"}(Fo||(Fo={})),function(e){e.SHARED_GLOBAL="SHARED_GLOBAL",e.USE="USE",e.CREATE="CREATE",e.UPDATE="UPDATE",e.READ="READ",e.READ_AUTHOR="READ_AUTHOR",e.SHARE="SHARE"}(Wo||(Wo={}));var Yo,Xo,$o=e.object(((No={})[Wo.SHARED_GLOBAL]=e.boolean().default(!1),No[Wo.USE]=e.boolean().default(!0),No[Wo.CREATE]=e.boolean().default(!0),No)),Zo=e.object(((wo={})[Wo.USE]=e.boolean().default(!0),wo)),Qo=e.object(((Co={})[Wo.SHARED_GLOBAL]=e.boolean().default(!1),Co[Wo.USE]=e.boolean().default(!0),Co[Wo.CREATE]=e.boolean().default(!0),Co)),Jo=e.object(((Ao={})[Wo.USE]=e.boolean().default(!0),Ao)),er=e.object(((ko={})[Wo.USE]=e.boolean().default(!0),ko)),tr=e.object(((Mo={})[Wo.USE]=e.boolean().default(!0),Mo)),nr=e.object(((Eo={name:e.string()})[Fo.PROMPTS]=$o,Eo[Fo.BOOKMARKS]=Zo,Eo[Fo.AGENTS]=Qo,Eo[Fo.MULTI_CONVO]=Jo,Eo[Fo.TEMPORARY_CHAT]=er,Eo[Fo.RUN_CODE]=tr,Eo)),ar=e.object(((So={})[Vo.ADMIN]=nr.extend(((_o={name:e.literal(Vo.ADMIN)})[Fo.PROMPTS]=$o.extend(((Do={})[Wo.SHARED_GLOBAL]=e.boolean().default(!0),Do[Wo.USE]=e.boolean().default(!0),Do[Wo.CREATE]=e.boolean().default(!0),Do)),_o[Fo.BOOKMARKS]=Zo.extend(((Io={})[Wo.USE]=e.boolean().default(!0),Io)),_o[Fo.AGENTS]=Qo.extend(((Oo={})[Wo.SHARED_GLOBAL]=e.boolean().default(!0),Oo[Wo.USE]=e.boolean().default(!0),Oo[Wo.CREATE]=e.boolean().default(!0),Oo)),_o[Fo.MULTI_CONVO]=Jo.extend(((Lo={})[Wo.USE]=e.boolean().default(!0),Lo)),_o[Fo.TEMPORARY_CHAT]=er.extend(((Uo={})[Wo.USE]=e.boolean().default(!0),Uo)),_o[Fo.RUN_CODE]=tr.extend(((jo={})[Wo.USE]=e.boolean().default(!0),jo)),_o)),So[Vo.USER]=nr.extend(((Ho={name:e.literal(Vo.USER)})[Fo.PROMPTS]=$o,Ho[Fo.BOOKMARKS]=Zo,Ho[Fo.AGENTS]=Qo,Ho[Fo.MULTI_CONVO]=Jo,Ho[Fo.TEMPORARY_CHAT]=er,Ho[Fo.RUN_CODE]=tr,Ho)),So)).parse(((zo={})[Vo.ADMIN]=((Go={name:Vo.ADMIN})[Fo.PROMPTS]={},Go[Fo.BOOKMARKS]={},Go[Fo.AGENTS]={},Go[Fo.MULTI_CONVO]={},Go[Fo.TEMPORARY_CHAT]={},Go[Fo.RUN_CODE]={},Go),zo[Vo.USER]=((Bo={name:Vo.USER})[Fo.PROMPTS]={},Bo[Fo.BOOKMARKS]={},Bo[Fo.AGENTS]={},Bo[Fo.MULTI_CONVO]={},Bo[Fo.TEMPORARY_CHAT]={},Bo[Fo.RUN_CODE]={},Bo),zo));function or(e){o.defaults.headers.common["Accept-Language"]=e}function rr(e){o.defaults.headers.common.Authorization="Bearer "+e}!function(e){e.messages="messages",e.sharedMessages="sharedMessages",e.sharedLinks="sharedLinks",e.allConversations="allConversations",e.archivedConversations="archivedConversations",e.searchConversations="searchConversations",e.conversation="conversation",e.searchEnabled="searchEnabled",e.user="user",e.name="name",e.models="models",e.balance="balance",e.endpoints="endpoints",e.presets="presets",e.searchResults="searchResults",e.tokenCount="tokenCount",e.availablePlugins="availablePlugins",e.startupConfig="startupConfig",e.assistants="assistants",e.assistant="assistant",e.agents="agents",e.agent="agent",e.endpointsConfigOverride="endpointsConfigOverride",e.files="files",e.fileConfig="fileConfig",e.tools="tools",e.toolAuth="toolAuth",e.toolCalls="toolCalls",e.agentTools="agentTools",e.actions="actions",e.assistantDocs="assistantDocs",e.agentDocs="agentDocs",e.fileDownload="fileDownload",e.voices="voices",e.customConfigSpeech="customConfigSpeech",e.prompts="prompts",e.prompt="prompt",e.promptGroups="promptGroups",e.allPromptGroups="allPromptGroups",e.promptGroup="promptGroup",e.categories="categories",e.randomPrompts="randomPrompts",e.roles="roles",e.conversationTags="conversationTags",e.health="health",e.userTerms="userTerms",e.banner="banner"}(Yo||(Yo={})),function(e){e.fileUpload="fileUpload",e.fileDelete="fileDelete",e.updatePreset="updatePreset",e.deletePreset="deletePreset",e.loginUser="loginUser",e.logoutUser="logoutUser",e.refreshToken="refreshToken",e.avatarUpload="avatarUpload",e.speechToText="speechToText",e.textToSpeech="textToSpeech",e.assistantAvatarUpload="assistantAvatarUpload",e.agentAvatarUpload="agentAvatarUpload",e.updateAction="updateAction",e.updateAgentAction="updateAgentAction",e.deleteAction="deleteAction",e.deleteAgentAction="deleteAgentAction",e.deleteUser="deleteUser",e.updateRole="updateRole",e.enableTwoFactor="enableTwoFactor",e.verifyTwoFactor="verifyTwoFactor"}(Xo||(Xo={}));var ir=function(e,t){return"/api/messages/".concat(e).concat(null!=t&&t?"/".concat(t):"")},sr="/api/share",lr=function(e){return"".concat(sr,"/").concat(e)},cr=function(e,t,n,a,o,r){return"".concat(sr,"?pageSize=").concat(e,"&isPublic=").concat(t,"&sortBy=").concat(n,"&sortDirection=").concat(a).concat(o?"&search=".concat(o):"").concat(r?"&cursor=".concat(r):"")},pr="/api/keys",dr="/api/convos",ur=function(e,t,n){return"".concat(dr,"?pageNumber=").concat(e).concat(!0===t?"&isArchived=true":"").concat(null==n?void 0:n.map((function(e){return"&tags=".concat(e)})).join(""))},mr=function(){return"".concat(dr,"/update")},fr=function(){return"".concat(dr,"/clear")},gr=function(e,t){return"/api/search?q=".concat(e,"&pageNumber=").concat(t)},vr=function(){return"/api/prompts"},br=function(e){var t=e.path,n=void 0===t?"":t,a=e.options,o=e.version,r=e.endpoint,i=!0===e.isAvatar?"".concat(hr(),"/assistants"):"/api/assistants/v".concat(o);if(n&&""!==n&&(i+="/".concat(n)),r&&(a=l(l({},null!=a?a:{}),{endpoint:r})),a&&Object.keys(a).length>0){var s=new URLSearchParams(a).toString();i+="?".concat(s)}return i},yr=function(e){var t=e.path,n=void 0===t?"":t,a=e.options,o="/api/agents";if(n&&""!==n&&(o+="/".concat(n)),a&&Object.keys(a).length>0){var r=new URLSearchParams(a).toString();o+="?".concat(r)}return o},hr=function(){return"".concat("/api/files","/images")},Rr=function(){return"".concat("/api/files","/speech")},xr=function(){return"".concat(Rr(),"/tts")},Tr=function(e){return"".concat("/api/prompts","/groups/").concat(e)},Pr=function(e){return"".concat("/api/prompts","/").concat(e)},Nr=vr,wr=Tr,Cr=Tr,Ar=function(e){return"".concat("/api/roles","/").concat(e.toLowerCase())},kr=function(e){return"/api/tags".concat(null!=e&&e?"/".concat(encodeURIComponent(e)):"")};function Mr(e,t){return p(this,void 0,void 0,(function(){return d(this,(function(n){switch(n.label){case 0:return[4,o.post(e,JSON.stringify(t),{headers:{"Content-Type":"application/json"}})];case 1:return[2,n.sent().data]}}))}))}var Er=!1,Sr=[],_r=function(e){return Mr(function(e){return"/api/auth/refresh".concat(!0===e?"?retry=true":"")}(e))},Dr=function(e){rr(e),window.dispatchEvent(new CustomEvent("tokenUpdated",{detail:e}))},Ir=function(e,t){void 0===t&&(t=null),Sr.forEach((function(n){e?n.reject(e):n.resolve(t)})),Sr=[]};o.interceptors.response.use((function(e){return e}),(function(e){return p(void 0,void 0,void 0,(function(){var t,n,a,r,i,s,l,c,p;return d(this,(function(d){switch(d.label){case 0:if(t=e.config,!e.response)return[2,Promise.reject(e)];if(!0===(null===(s=t.url)||void 0===s?void 0:s.includes("/api/auth/2fa")))return[2,Promise.reject(e)];if(!0===(null===(l=t.url)||void 0===l?void 0:l.includes("/api/auth/logout")))return[2,Promise.reject(e)];if(401!==e.response.status||t._retry)return[3,13];if(console.warn("401 error, refreshing token"),t._retry=!0,!Er)return[3,5];d.label=1;case 1:return d.trys.push([1,4,,5]),[4,new Promise((function(e,t){Sr.push({resolve:e,reject:t})}))];case 2:return r=d.sent(),t.headers.Authorization="Bearer "+r,[4,o(t)];case 3:return[2,d.sent()];case 4:return n=d.sent(),[2,Promise.reject(n)];case 5:Er=!0,d.label=6;case 6:return d.trys.push([6,11,12,13]),[4,_r(!0===(null===(c=t.url)||void 0===c?void 0:c.includes("api/auth/refresh")))];case 7:return a=d.sent(),(r=null!==(p=null==a?void 0:a.token)&&void 0!==p?p:"")?(t.headers.Authorization="Bearer "+r,Dr(r),Ir(null,r),[4,o(t)]):[3,9];case 8:return[2,d.sent()];case 9:window.location.href.includes("share/")?console.log("Refresh token failed from shared link, attempting request to ".concat(t.url)):window.location.href="/login",d.label=10;case 10:return[3,13];case 11:return i=d.sent(),Ir(i,null),[2,Promise.reject(i)];case 12:return Er=!1,[7];case 13:return[2,Promise.reject(e)]}}))}))}));var Or={get:function(e,t){return p(this,void 0,void 0,(function(){return d(this,(function(n){switch(n.label){case 0:return[4,o.get(e,l({},t))];case 1:return[2,n.sent().data]}}))}))},getResponse:function(e,t){return p(this,void 0,void 0,(function(){return d(this,(function(n){switch(n.label){case 0:return[4,o.get(e,l({},t))];case 1:return[2,n.sent()]}}))}))},post:Mr,postMultiPart:function(e,t,n){return p(this,void 0,void 0,(function(){return d(this,(function(a){switch(a.label){case 0:return[4,o.post(e,t,l(l({},n),{headers:{"Content-Type":"multipart/form-data"}}))];case 1:return[2,a.sent().data]}}))}))},postTTS:function(e,t,n){return p(this,void 0,void 0,(function(){return d(this,(function(a){switch(a.label){case 0:return[4,o.post(e,t,l(l({},n),{headers:{"Content-Type":"multipart/form-data"},responseType:"arraybuffer"}))];case 1:return[2,a.sent().data]}}))}))},put:function(e,t){return p(this,void 0,void 0,(function(){return d(this,(function(n){switch(n.label){case 0:return[4,o.put(e,JSON.stringify(t),{headers:{"Content-Type":"application/json"}})];case 1:return[2,n.sent().data]}}))}))},delete:function(e){return p(this,void 0,void 0,(function(){return d(this,(function(t){switch(t.label){case 0:return[4,o.delete(e)];case 1:return[2,t.sent().data]}}))}))},deleteWithOptions:function(e,t){return p(this,void 0,void 0,(function(){return d(this,(function(n){switch(n.label){case 0:return[4,o.delete(e,l({},t))];case 1:return[2,n.sent().data]}}))}))},patch:function(e,t){return p(this,void 0,void 0,(function(){return d(this,(function(n){switch(n.label){case 0:return[4,o.patch(e,JSON.stringify(t),{headers:{"Content-Type":"application/json"}})];case 1:return[2,n.sent().data]}}))}))},refreshToken:_r,dispatchTokenUpdatedEvent:Dr};var Lr=Object.freeze({__proto__:null,abortRequestWithMessage:function(e,t,n){return Or.post(function(e){return"/api/ask/".concat(e,"/abort")}(e),{arg:{abortKey:t,message:n}})},acceptTerms:function(){return Or.post("/api/user/terms/accept")},addTagToConversation:function(e,t){return Or.put(function(e){return"".concat(kr(),"/convo/").concat(e)}(e),t)},archiveConversation:function(e){return Or.post(mr(),{arg:e})},callTool:function(e){var t=e.toolId,n=e.toolParams;return Or.post(yr({path:"tools/".concat(t,"/call")}),n)},clearAllConversations:function(){return Or.post(fr(),{arg:{}})},confirmTwoFactor:function(e){return Or.post("/api/auth/2fa/confirm",e)},createAgent:function(e){var t=c(e,[]);return Or.post(yr({}),t)},createAssistant:function(e){var t=e.version,n=c(e,["version"]);return Or.post(br({version:t}),n)},createConversationTag:function(e){return Or.post(kr(),e)},createPreset:function(e){return Or.post("/api/presets",e)},createPrompt:function(e){return Or.post(Nr(),e)},createSharedLink:function(e){return Or.post(function(e){return"".concat(sr,"/").concat(e)}(e))},deleteAction:function(e){var t=e.assistant_id,n=e.action_id,a=e.model,o=e.version,r=e.endpoint;return p(void 0,void 0,void 0,(function(){return d(this,(function(e){return[2,Or.delete(br({path:"actions/".concat(t,"/").concat(n,"/").concat(a),version:o,endpoint:r}))]}))}))},deleteAgent:function(e){var t=e.agent_id;return Or.delete(yr({path:t}))},deleteAgentAction:function(e){var t=e.agent_id,n=e.action_id;return p(void 0,void 0,void 0,(function(){return d(this,(function(e){return[2,Or.delete(yr({path:"actions/".concat(t,"/").concat(n)}))]}))}))},deleteAssistant:function(e){var t=e.assistant_id,n=e.model,a=e.endpoint,o=e.version;return Or.delete(br({path:t,options:{model:n,endpoint:a},version:o}))},deleteConversation:function(e){return Or.post(fr(),{arg:e})},deleteConversationTag:function(e){return Or.delete(kr(e))},deleteFiles:function(e){return p(void 0,void 0,void 0,(function(){return d(this,(function(t){return[2,Or.deleteWithOptions("/api/files",{data:e})]}))}))},deletePreset:function(e){return Or.post("/api/presets/delete",e)},deletePrompt:function(e){return Or.delete(function(e){var t=e._id,n=e.groupId;return"".concat("/api/prompts","/").concat(t,"?groupId=").concat(n)}(e))},deletePromptGroup:function(e){return Or.delete(Cr(e))},deleteSharedLink:function(e){return Or.delete(lr(e))},deleteUser:function(){return Or.delete("/api/user/delete")},disableTwoFactor:function(){return Or.post("/api/auth/2fa/disable")},duplicateAgent:function(e){var t=e.agent_id;return Or.post(yr({path:"".concat(t,"/duplicate")}))},duplicateConversation:function(e){return Or.post("".concat(dr,"/duplicate"),e)},editArtifact:function(e){return p(void 0,void 0,void 0,(function(){var t=e.messageId,n=c(e,["messageId"]);return d(this,(function(e){return[2,Or.post("/api/messages/artifact/".concat(t),n)]}))}))},enableTwoFactor:function(){return Or.get("/api/auth/2fa/enable")},forkConversation:function(e){return Or.post("".concat(dr,"/fork"),e)},genTitle:function(e){return Or.post("".concat(dr,"/gen_title"),e)},getAIEndpoints:function(){return Or.get("/api/endpoints")},getActions:function(){return Or.get(yr({path:"actions"}))},getAgentById:function(e){var t=e.agent_id;return Or.get(yr({path:t}))},getAllPromptGroups:function(){return Or.get("".concat("/api/prompts","/all"))},getAssistantById:function(e){var t=e.endpoint,n=e.assistant_id,a=e.version;return Or.get(br({path:n,endpoint:t,version:a}))},getAssistantDocs:function(e){var t=e.endpoint,n=e.version;return W(t)?Or.get(br({path:"documents",version:n,options:{endpoint:t},endpoint:t})):Promise.resolve([])},getAvailableAgentTools:function(){return Or.get(yr({path:"tools"}))},getAvailablePlugins:function(){return Or.get("/api/plugins")},getAvailableTools:function(e,t){var n="";if(W(e)){n=br({path:"tools",endpoint:e,version:null!=t?t:Kt[e]})}else n=yr({path:"tools"});return Or.get(n)},getBanner:function(){return Or.get("/api/banner")},getCategories:function(){return Or.get("/api/categories")},getCodeOutputDownload:function(e){return p(void 0,void 0,void 0,(function(){return d(this,(function(t){return[2,Or.getResponse(e,{responseType:"blob",headers:{Accept:"application/octet-stream"}})]}))}))},getConversationById:function(e){return Or.get(function(e){return"".concat(dr,"/").concat(e)}(e))},getConversationTags:function(){return Or.get(kr())},getConversations:function(e){return Or.get(ur(e))},getCustomConfigSpeech:function(){return Or.get("".concat(Rr(),"/config/get"))},getEndpointsConfigOverride:function(){return Or.get("/api/endpoints/config/override")},getFileConfig:function(){return Or.get("".concat("/api/files","/config"))},getFileDownload:function(e,t){return p(void 0,void 0,void 0,(function(){return d(this,(function(n){return[2,Or.getResponse("".concat("/api/files","/download/").concat(e,"/").concat(t),{responseType:"blob",headers:{Accept:"application/octet-stream"}})]}))}))},getFiles:function(){return Or.get("/api/files")},getLoginGoogle:function(){return Or.get("/api/auth/google")},getMessagesByConvoId:function(e){return"new"===e?Promise.resolve([]):Or.get(ir(e))},getModels:function(){return p(void 0,void 0,void 0,(function(){return d(this,(function(e){return[2,Or.get("/api/models")]}))}))},getPresets:function(){return Or.get("/api/presets")},getPrompt:function(e){return Or.get(Pr(e))},getPromptGroup:function(e){return Or.get(Tr(e))},getPromptGroups:function(e){return Or.get(function(e){var t="".concat("/api/prompts","/groups");if(Object.keys(e).length>0){var n=new URLSearchParams(e).toString();t+="?".concat(n)}return t}(e))},getPrompts:function(e){return Or.get(function(e){var t="/api/prompts";if(Object.keys(e).length>0){var n=new URLSearchParams(e).toString();t+="?".concat(n)}return t}(e))},getRandomPrompts:function(e){return Or.get((t=e.limit,n=e.skip,"".concat("/api/prompts","/random?limit=").concat(t,"&skip=").concat(n)));var t,n},getRole:function(e){return Or.get(Ar(e))},getSearchEnabled:function(){return Or.get("/api/search/enable")},getSharedLink:function(e){return Or.get(function(e){return"".concat(sr,"/link/").concat(e)}(e))},getSharedMessages:function(e){return Or.get(lr(e))},getStartupConfig:function(){return Or.get("/api/config")},getToolCalls:function(e){return Or.get(yr({path:"tools/calls",options:e}))},getUser:function(){return Or.get("/api/user")},getUserBalance:function(){return Or.get("/api/balance")},getUserTerms:function(){return Or.get("/api/user/terms")},getVerifyAgentToolAuth:function(e){return Or.get(yr({path:"tools/".concat(e.toolId,"/auth")}))},getVoices:function(){return Or.get("".concat(xr(),"/voices"))},healthCheck:function(){return Or.get("/health")},importConversationsFile:function(e){return Or.postMultiPart("".concat(dr,"/import"),e)},listAgents:function(e){return Or.get(yr({options:e}))},listAssistants:function(e,t){return Or.get(br({version:t,options:e}))},listConversations:function(e){var t,n,a=(null!==(t=null==e?void 0:e.pageNumber)&&void 0!==t?t:"1")||"1",o=null!==(n=null==e?void 0:e.isArchived)&&void 0!==n&&n,r=(null==e?void 0:e.tags)||[];return Or.get(ur(a,o,r))},listConversationsByQuery:function(e){var t,n,a=(null!==(t=null==e?void 0:e.pageNumber)&&void 0!==t?t:"1")||"1",o=null!==(n=null==e?void 0:e.searchQuery)&&void 0!==n?n:"";return""!==o?Or.get(gr(o,a)):Or.get(ur(a))},listSharedLinks:function(e){return p(void 0,void 0,void 0,(function(){var t,n,a,o,r,i;return d(this,(function(s){return t=e.pageSize,n=e.isPublic,a=e.sortBy,o=e.sortDirection,r=e.search,i=e.cursor,[2,Or.get(cr(t,n,a,o,r,i))]}))}))},login:function(e){return Or.post("/api/auth/login",e)},logout:function(){return Or.post("/api/auth/logout")},makePromptProduction:function(e){return Or.patch("".concat(Pr(e),"/tags/production"))},rebuildConversationTags:function(){return Or.post(kr("rebuild"))},regenerateBackupCodes:function(){return Or.post("/api/auth/2fa/backup/regenerate")},register:function(e){return Or.post("/api/auth/register",e)},requestPasswordReset:function(e){return Or.post("/api/auth/requestPasswordReset",e)},resendVerificationEmail:function(e){return Or.post("/api/user/verify/resend",e)},resetPassword:function(e){return Or.post("/api/auth/resetPassword",e)},revokeAllUserKeys:function(){return Or.delete("".concat(pr,"?all=true"))},revokeUserKey:function(e){return Or.delete(function(e){return"".concat(pr,"/").concat(e)}(e))},searchConversations:function(e,t){return p(void 0,void 0,void 0,(function(){return d(this,(function(n){return[2,Or.get(gr(e,t))]}))}))},speechToText:function(e){return Or.postMultiPart("".concat(Rr(),"/stt"),e)},textToSpeech:function(e){return Or.postTTS("".concat(xr(),"/manual"),e)},updateAction:function(e){var t=e.assistant_id,n=e.version,a=c(e,["assistant_id","version"]);return Or.post(br({path:"actions/".concat(t),version:n}),a)},updateAgent:function(e){var t=e.agent_id,n=e.data;return Or.patch(yr({path:t}),n)},updateAgentAction:function(e){var t=e.agent_id,n=c(e,["agent_id"]);return Or.post(yr({path:"actions/".concat(t)}),n)},updateAgentPermissions:function(e){return Or.put((t=e.roleName,"".concat(Ar(t),"/agents")),e.updates);var t},updateAssistant:function(e){var t=e.assistant_id,n=e.data,a=e.version;return Or.patch(br({path:t,version:a}),n)},updateConversation:function(e){return Or.post(mr(),{arg:e})},updateConversationTag:function(e,t){return Or.put(kr(e),t)},updateMessage:function(e){var t=e.conversationId,n=e.messageId,a=e.text;if(!t)throw new Error("conversationId is required");return Or.put(ir(t,n),{text:a})},updateMessageContent:function(e){var t=e.conversationId,n=e.messageId,a=e.index,o=e.text;if(!t)throw new Error("conversationId is required");return Or.put(ir(t,n),{text:o,index:a})},updatePreset:function(e){return Or.post("/api/presets",e)},updatePromptGroup:function(e){return Or.patch(wr(e.id),e.payload)},updatePromptLabels:function(e){return Or.patch((t=e.id,"".concat(Pr(t),"/labels")),e.payload);var t},updatePromptPermissions:function(e){return Or.put((t=e.roleName,"".concat(Ar(t),"/prompts")),e.updates);var t},updateSharedLink:function(e){return Or.patch(function(e){return"".concat(sr,"/").concat(e)}(e))},updateTokenCount:function(e){return Or.post("/api/tokenizer",{arg:e})},updateUserKey:function(e){if(!e.value)throw new Error("value is required");return Or.put(pr,e)},updateUserPlugins:function(e){return Or.post("/api/user/plugins",e)},uploadAgentAvatar:function(e){return Or.postMultiPart("".concat(hr(),"/agents/").concat(e.agent_id,"/avatar"),e.formData)},uploadAssistantAvatar:function(e){return Or.postMultiPart(br({isAvatar:!0,path:"".concat(e.assistant_id,"/avatar"),options:{model:e.model,endpoint:e.endpoint},version:e.version}),e.formData)},uploadAvatar:function(e){return Or.postMultiPart("".concat(hr(),"/avatar"),e)},uploadFile:function(e,t){var n=t?{signal:t}:void 0;return Or.postMultiPart("/api/files",e,n)},uploadImage:function(e,t){var n=t?{signal:t}:void 0;return Or.postMultiPart(hr(),e,n)},userKeyQuery:function(e){return Or.get(function(e){return"".concat(pr,"?name=").concat(e)}(e))},verifyEmail:function(e){return Or.post("/api/user/verify",e)},verifyTwoFactor:function(e){return Or.post("/api/auth/2fa/verify",e)},verifyTwoFactorTemp:function(e){return Or.post("/api/auth/2fa/verify-temp",e)}});function Ur(e){return i.createHash("sha1").update(e).digest("hex")}function jr(e,t){var n=e.replace(/\/$/,""),a=t.replace(/^\//,""),o="".concat(n,"/").concat(a);return new r(o).toString()}var Hr={string:function(t){if(t.enum)return e.enum(t.enum);var n=e.string();return void 0!==t.minLength&&(n=n.min(t.minLength)),void 0!==t.maxLength&&(n=n.max(t.maxLength)),n},number:function(t){var n=e.number();return void 0!==t.minimum&&(n=n.min(t.minimum)),void 0!==t.maximum&&(n=n.max(t.maximum)),n},integer:function(e){return Hr.number(e).int()},boolean:function(){return e.boolean()},array:function(t){if(t.items){var n=zr(t.items);return n?e.array(n):e.array(e.unknown())}return e.array(e.unknown())},object:function(t){var n={};return t.properties&&Object.entries(t.properties).forEach((function(a){var o=a[0],r=a[1],i=zr(r);n[o]=i||e.unknown(),t.required&&t.required.includes(o)?n[o]=n[o].describe(r.description||""):n[o]=n[o].optional().describe(r.description||"")})),e.object(n)}};function zr(t){if("object"!==t.type||0!==Object.keys(t.properties||{}).length)return(Hr[t.type]||function(){return e.unknown()})(t)}var Gr=function(){function e(e,t,n,a){this.name=e,this.description=t,this.parameters=n,this.strict=null!=a&&a}return e.prototype.toObjectTool=function(){var e=l(l({},this.parameters),{additionalProperties:!this.strict&&void 0});return{type:m.function,function:l({name:this.name,description:this.description,parameters:e},this.strict?{strict:this.strict}:{})}},e}(),Br=function(e,t,n,a,o,r){this.domain=e,this.basePath=t,this.method=n,this.operation=a,this.isConsequential=o,this.contentType=r},Vr=function(){function e(e){this.config=e,this.authHeaders={},this.path=e.basePath}return e.prototype.setParams=function(e){this.operationHash=Ur(JSON.stringify(e)),this.params=Object.assign({},e);for(var t=0,n=Object.entries(e);t<n.length;t++){var a=n[t],o=a[0],r=a[1],i="{".concat(o,"}");this.path.includes(i)&&(this.path=this.path.replace(i,encodeURIComponent(r)),delete this.params[o])}return this},e.prototype.setAuth=function(e){return p(this,void 0,void 0,(function(){var t,n,a,o,r,i,s,l,c,p,u,m,f,g,v,b,y,h;return d(this,(function(d){if(!e.auth)return[2,this];if(t=e.auth,n=t.type,a=t.authorization_type,o=t.custom_auth_header,r=t.authorization_url,i=t.client_url,s=t.scope,l=t.token_exchange_method,c=e.api_key,p=e.oauth_client_id,u=e.oauth_client_secret,m=e.oauth_token_expires_at,f=e.oauth_access_token,g=void 0===f?"":f,v=null!=c&&c.length>0&&n===x.ServiceHttp,b=!!(null!=p&&p&&null!=u&&u&&n===x.OAuth&&null!=r&&r&&null!=i&&i&&null!=s&&s&&l),v&&a===T.Basic)y=Buffer.from(c).toString("base64"),this.authHeaders.Authorization="Basic ".concat(y);else if(v&&a===T.Bearer)this.authHeaders.Authorization="Bearer ".concat(c);else if(v&&a===T.Custom&&null!=o&&o)this.authHeaders[o]=c;else if(b){if(h=new Date,!g)throw new Error("No access token found. Please log in first.");if(m&&h>=new Date(m))throw new Error("Access token is expired. Please re-login.");this.authToken=g,this.authHeaders.Authorization="Bearer ".concat(this.authToken)}return[2,this]}))}))},e.prototype.execute=function(){return p(this,void 0,void 0,(function(){var e,t,n,a;return d(this,(function(r){if(e=jr(this.config.domain,this.path),t=l(l({},this.authHeaders),{"Content-Type":this.config.contentType}),n=this.config.method.toLowerCase(),a=o.create(),"get"===n)return[2,a.get(e,{headers:t,params:this.params})];if("post"===n)return[2,a.post(e,this.params,{headers:t})];if("put"===n)return[2,a.put(e,this.params,{headers:t})];if("delete"===n)return[2,a.delete(e,{headers:t,data:this.params})];if("patch"===n)return[2,a.patch(e,this.params,{headers:t})];throw new Error("Unsupported HTTP method: ".concat(n))}))}))},e.prototype.getConfig=function(){return this.config},e}(),Fr=function(){function e(e,t,n,a,o,r){this.config=new Br(e,t,n,a,o,r)}return Object.defineProperty(e.prototype,"domain",{get:function(){return this.config.domain},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"path",{get:function(){return this.config.basePath},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"method",{get:function(){return this.config.method},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"operation",{get:function(){return this.config.operation},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"isConsequential",{get:function(){return this.config.isConsequential},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"contentType",{get:function(){return this.config.contentType},enumerable:!1,configurable:!0}),e.prototype.createExecutor=function(){return new Vr(this.config)},e.prototype.setParams=function(e){var t=this.createExecutor();return t.setParams(e),t},e.prototype.setAuth=function(e){return p(this,void 0,void 0,(function(){return d(this,(function(t){return[2,this.createExecutor().setAuth(e)]}))}))},e.prototype.execute=function(){return p(this,void 0,void 0,(function(){return d(this,(function(e){return[2,this.createExecutor().execute()]}))}))},e}();function Wr(e,t){if("$ref"in e&&t){for(var n=t,a=0,o=e.$ref.replace(/^#\/components\//,"").split("/");a<o.length;a++){var r=o[a];if("object"!=typeof n||null===n||!(r in n))throw new Error("Could not resolve reference: ".concat(e.$ref));n=n[r]}return Wr(n,t)}return e}function qr(e){return e.replace(/[^a-zA-Z0-9_-]/g,"")}function Kr(e,t){var n,a,o,r,i,s,c,p;void 0===t&&(t=!1);for(var d=[],u={},m={},f=null!==(r=null===(o=null===(a=e.servers)||void 0===a?void 0:a[0])||void 0===o?void 0:o.url)&&void 0!==r?r:"",g=0,v=Object.entries(e.paths);g<v.length;g++)for(var b=v[g],y=b[0],h=b[1],R=0,x=Object.entries(h);R<x.length;R++){var T=x[R],P=T[0],N=T[1],w="".concat(P,"_").concat(y),C=N.operationId||qr(w),A=N.summary||N.description||"",k=null!==(i=N["x-strict"])&&void 0!==i&&i,M={type:"object",properties:{},required:[]};if(N.parameters)for(var E=0,S=null!==(s=N.parameters)&&void 0!==s?s:[];E<S.length;E++){var _=Wr(S[E],e.components),D=_.name;if(D&&_.schema){var I=Wr(_.schema,e.components);M.properties[D]=I,_.required&&M.required.push(D)}}if(N.requestBody){var O=N.requestBody.content,L=Object.keys(null!=O?O:{})[0],U=Wr(H=null===(c=null==O?void 0:O[L])||void 0===c?void 0:c.schema,e.components);M.properties=l(l({},M.properties),U.properties),U.required&&(n=M.required).push.apply(n,U.required)}var j=new Gr(C,A,M,k);d.push(j);var H,z=new Fr(f,y,P,C,!(null===(p=N["x-openai-isConsequential"])||void 0===p||!p),N.requestBody?"application/json":"");if(u[C]=z,t&&Object.keys(M.properties).length>0)(H=zr(M))&&(m[C]=H)}return{functionSignatures:d,requestBuilders:u,zodSchemas:m}}function Yr(e){var t;try{var n=void 0;try{n=JSON.parse(e)}catch(t){n=s(e)}if(!n.servers||!Array.isArray(n.servers)||0===n.servers.length)return{status:!1,message:"Could not find a valid URL in `servers`"};if(!n.servers[0].url)return{status:!1,message:"Could not find a valid URL in `servers`"};var a=n.paths;if(!a||"object"!=typeof a||0===Object.keys(a).length)return{status:!1,message:"No paths found in the OpenAPI spec."};for(var o=(null===(t=n.components)||void 0===t?void 0:t.schemas)||{},r=[],i=0,l=Object.entries(a);i<l.length;i++)for(var c=l[i],p=c[0],d=c[1],u=0,m=Object.entries(d);u<m.length;u++){var f=m[u],g=f[0],v=f[1],b=v.responses;if("object"==typeof v&&b)for(var y=0,h=Object.entries(b);y<h.length;y++){var R=h[y],x=R[0],T=R[1].content;if(T&&T["application/json"]&&T["application/json"].schema){var P=T["application/json"].schema;if("$ref"in P&&"string"==typeof P.$ref){var N=P.$ref.split("/").pop();N&&!o[N]&&r.push("In context=('paths', '".concat(p,"', '").concat(g,"', '").concat(x,"', 'response', 'content', 'application/json', 'schema'), reference to unknown component ").concat(N,"; using empty schema"))}}}}return{status:!0,message:r.join("\n")||"OpenAPI spec is valid.",spec:n}}catch(e){return console.error(e),{status:!1,message:"Error parsing OpenAPI spec."}}}function Xr(e){var t=e.conversation,n=e.userMessage,a=e.endpointOption,o=e.isEdited,r=e.isContinued,i=e.isTemporary,s=Pe.parse(t).conversationId,c=a,p=c.endpoint,d=c.endpointType,u=Mn[null!=d?d:p];return o&&W(p)?u+="/modify":o&&(u=u.replace("/ask/","/edit/")),{server:u,payload:l(l(l({},n),a),{isContinued:!(!o||!r),conversationId:s,isTemporary:i})}}export{Fr as ActionRequest,Gt as AgentCapabilities,g as AnnotationTypes,xa as ArtifactModes,M as AssistantStreamEvents,Hn as AuthKeys,O as AuthType,x as AuthTypeEnum,T as AuthorizationTypeEnum,H as BedrockProviders,Ln as CacheKeys,zt as Capabilities,Kn as CohereConstants,Aa as ComponentTypes,Fn as Constants,$n as ContentTypes,Y as EAgent,pn as EImageOutputType,U as EModelEndpoint,f as EToolResources,Mn as EndpointURLs,jn as ErrorTypes,vn as FetchTokenConfig,bt as FileContext,N as FilePurpose,Ie as FileSources,qn as ForkOptions,Gr as FunctionSignature,G as ImageDetail,zn as ImageDetailCost,te as ImageVisionTool,In as InfiniteCollections,gn as KnownEndpoints,Wn as LocalStorageKeys,St as MCPOptionsSchema,_t as MCPServersSchema,b as MessageContentTypes,Xo as MutationKeys,un as OCRStrategy,Ma as OptionTypes,Fo as PermissionTypes,Wo as Permissions,Yo as QueryKeys,qt as RateLimitPrefix,B as ReasoningEffort,y as RunStatus,ha as SEPARATORS,Et as SSEOptionsSchema,Bn as STTProviders,ka as SettingTypes,Gn as SettingsTabValues,It as SettingsViews,kt as StdioOptionsSchema,v as StepStatus,Zn as StepTypes,Yn as SystemCategories,Vo as SystemRoles,Vn as TTSProviders,On as Time,P as TokenExchangeMethodEnum,Qn as ToolCallTypes,m as Tools,Un as ViolationTypes,xn as VisionModes,Mt as WebSocketOptionsSchema,Sa as accordian,w as actionDelimiter,C as actionDomainSeparator,ge as agentOptionSettings,Qo as agentPermissionsSchema,Zt as agentsEndpointSChema,Ue as agentsSchema,se as agentsSettings,Da as alert,_a as alertDialog,Pn as alternateName,ze as anthropicSchema,ie as anthropicSettings,tt as applicationMimeTypes,$t as assistantEndpointSchema,Oe as assistantSchema,j as authTypeSchema,Ia as avatar,Vt as azureBaseSchema,Jt as azureEndpointSchema,Wt as azureGroupConfigsSchema,Ft as azureGroupSchema,Oa as badge,yn as balanceSchema,Yt as baseEndpointSchema,Xt as bedrockEndpointSchema,ta as bedrockInputParser,ea as bedrockInputSchema,wn as bedrockModels,oa as bedrockOutputParser,Zo as bookmarkPermissionsSchema,La as breadcrumb,Ua as button,ja as calendar,Ha as card,za as carousel,Me as chatGPTBrowserSchema,yt as checkOpenAIStorage,Ga as checkbox,ot as codeInterpreterMimeTypes,$e as codeInterpreterMimeTypesList,rt as codeTypeMapping,he as coerceNumber,Ba as collapsible,Fe as compactAgentsSchema,Le as compactAssistantSchema,Ge as compactChatGPTSchema,He as compactGoogleSchema,Be as compactPluginsSchema,hn as configSchema,Pa as conflictingAzureVariables,ho as convertJsonSchemaToZod,gt as convertStringsToRegex,Xr as createPayload,jr as createURL,Lr as dataService,ee as defaultAgentFormValues,J as defaultAssistantFormValues,Kt as defaultAssistantsVersion,Tn as defaultEndpoints,Cn as defaultModels,I as defaultOrderQuery,Lt as defaultRetrievalModels,Ot as defaultSocialLogins,Ta as deprecatedAzureVariables,Va as dialog,Fa as drawer,Wa as dropdownMenu,ve as eAgentOptionsSchema,Z as eImageDetailSchema,pe as eModelEndpointSchema,Q as eReasoningEffortSchema,mt as endpointFileConfigSchema,Qt as endpointSchema,le as endpointSettings,h as envVarRegex,la as errorsToString,bo as essentialShadcnComponents,Ye as excelFileTypes,Je as excelMimeTypes,Ut as excludedKeys,de as extendedModelEndpointSchema,R as extractEnvVariable,dt as fileConfig,ft as fileConfigSchema,jt as fileSourceSchema,Ra as findLastSeparatorIndex,Xe as fullMimeTypesList,xo as generateDynamicSchema,Ko as generateGoogleSchema,qo as generateOpenAISchema,Rn as getConfigDefaults,ia as getEnabledEndpoints,pa as getFirstDefinedValue,V as getModelKey,da as getNonEmptyValue,ga as getResponseSender,Ht as getSchemaDefaults,F as getSettingsKeys,ke as googleGenConfigSchema,Ae as googleSchema,oe as googleSettings,Ee as gptPluginsSchema,A as hostImageIdSuffix,k as hostImageNamePrefix,qa as hoverCard,X as imageDetailNumeric,$ as imageDetailValue,Qe as imageExtRegex,Xn as imageGenTools,nt as imageMimeTypes,kn as initialModelsConfig,Ka as input,fn as intefaceSchema,q as isAgentsEndpoint,W as isAssistantsEndpoint,ne as isImageVisionTool,K as isParamEndpoint,L as isUUID,Ya as label,yo as loadOCRConfig,Ca as mapGroupToAzureConfig,wa as mapModelToAzureConfig,lt as mbToBytes,st as megabyte,Xa as menuBar,vt as mergeFileConfig,Bt as modelConfigSchema,En as modularEndpoints,Jo as multiConvoPermissionsSchema,$a as navigationMenu,bn as ocrSchema,je as openAISchema,ae as openAISettings,Kr as openapiToFunction,sa as orderEndpointsConfig,Za as pagination,z as paramEndpoints,ba as parseCompactConvo,ua as parseConvo,ya as parseTextParts,Qa as popover,Dt as processMCPEnv,Ja as progress,$o as promptPermissionsSchema,Jn as providerEndpointMap,eo as radioGroup,dn as rateLimitSchema,Se as removeNullishValues,Or as request,ca as resolveHeaders,Wr as resolveRef,it as retrievalMimeTypes,Ze as retrievalMimeTypesList,ar as roleDefaults,nr as roleSchema,tr as runCodePermissionsSchema,to as select,no as separator,or as setAcceptLanguageHeader,rr as setTokenHeader,Ur as sha1,vo as shadcnComponents,ao as skeleton,oo as slider,qe as specsConfigSchema,at as supportedMimeTypes,Sn as supportsBalanceCheck,Ke as supportsFiles,ro as switchComponent,be as tAgentOptionsSchema,Ve as tBannerSchema,xe as tConversationSchema,Ce as tConversationTagSchema,Pe as tConvoUpdateSchema,fe as tExampleSchema,ye as tMessageSchema,We as tModelSpecSchema,ue as tPluginAuthConfigSchema,me as tPluginSchema,Te as tPresetSchema,Ne as tQueryParamsSchema,we as tSharedLinkSchema,io as table,so as tabs,er as temporaryChatPermissionsSchema,et as textMimeTypes,lo as textarea,co as toast,po as toaster,mo as toggle,uo as toggleGroup,fo as tooltip,go as useToast,Ea as utils,Yr as validateAndParseOpenAPISpec,Na as validateAzureGroups,Po as validateSettingDefinitions,Dn as validateVisionModel,_n as visionModels};
1
+ import{z as e,ZodArray as t,ZodIssueCode as n,ZodError as a}from"zod";import o from"axios";import{URL as r}from"url";import i from"crypto";import{load as s}from"js-yaml";var l=function(){return l=Object.assign||function(e){for(var t,n=1,a=arguments.length;n<a;n++)for(var o in t=arguments[n])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e},l.apply(this,arguments)};function c(e,t){var n={};for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&t.indexOf(a)<0&&(n[a]=e[a]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var o=0;for(a=Object.getOwnPropertySymbols(e);o<a.length;o++)t.indexOf(a[o])<0&&Object.prototype.propertyIsEnumerable.call(e,a[o])&&(n[a[o]]=e[a[o]])}return n}function p(e,t,n,a){return new(n||(n=Promise))((function(o,r){function i(e){try{l(a.next(e))}catch(e){r(e)}}function s(e){try{l(a.throw(e))}catch(e){r(e)}}function l(e){var t;e.done?o(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(i,s)}l((a=a.apply(e,t||[])).next())}))}function d(e,t){var n,a,o,r={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},i=Object.create(("function"==typeof Iterator?Iterator:Object).prototype);return i.next=s(0),i.throw=s(1),i.return=s(2),"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function s(s){return function(l){return function(s){if(n)throw new TypeError("Generator is already executing.");for(;i&&(i=0,s[0]&&(r=0)),r;)try{if(n=1,a&&(o=2&s[0]?a.return:s[0]?a.throw||((o=a.return)&&o.call(a),0):a.next)&&!(o=o.call(a,s[1])).done)return o;switch(a=0,o&&(s=[2&s[0],o.value]),s[0]){case 0:case 1:o=s;break;case 4:return r.label++,{value:s[1],done:!1};case 5:r.label++,a=s[1],s=[0];continue;case 7:s=r.ops.pop(),r.trys.pop();continue;default:if(!(o=r.trys,(o=o.length>0&&o[o.length-1])||6!==s[0]&&2!==s[0])){r=0;continue}if(3===s[0]&&(!o||s[1]>o[0]&&s[1]<o[3])){r.label=s[1];break}if(6===s[0]&&r.label<o[1]){r.label=o[1],o=s;break}if(o&&r.label<o[2]){r.label=o[2],r.ops.push(s);break}o[2]&&r.ops.pop(),r.trys.pop();continue}s=t.call(e,r)}catch(e){s=[6,e],a=0}finally{n=o=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}([s,l])}}}function u(e,t,n){if(n||2===arguments.length)for(var a,o=0,r=t.length;o<r;o++)!a&&o in t||(a||(a=Array.prototype.slice.call(t,0,o)),a[o]=t[o]);return e.concat(a||Array.prototype.slice.call(t))}"function"==typeof SuppressedError&&SuppressedError;var m,f,g,v,b,y,h=/^\${(.+)}$/;function R(e){if(!e)return e;var t=e.trim(),n=t.match(h);if(n){var a=n[1];return process.env[a]||t}for(var o,r=/\${([^}]+)}/g,i=t,s=[];null!==(o=r.exec(t));)s.push({fullMatch:o[0],varName:o[1],index:o.index});for(var l=s.length-1;l>=0;l--){var c=s[l],p=c.fullMatch,d=(a=c.varName,c.index),u=process.env[a]||p;i=i.substring(0,d)+u+i.substring(d+p.length)}return i}!function(e){e.execute_code="execute_code",e.code_interpreter="code_interpreter",e.file_search="file_search",e.retrieval="retrieval",e.function="function"}(m||(m={})),function(e){e.code_interpreter="code_interpreter",e.execute_code="execute_code",e.file_search="file_search",e.ocr="ocr"}(f||(f={})),function(e){e.FILE_CITATION="file_citation",e.FILE_PATH="file_path"}(g||(g={})),function(e){e.IN_PROGRESS="in_progress",e.CANCELLED="cancelled",e.FAILED="failed",e.COMPLETED="completed",e.EXPIRED="expired"}(v||(v={})),function(e){e.TEXT="text",e.IMAGE_FILE="image_file"}(b||(b={})),function(e){e.QUEUED="queued",e.IN_PROGRESS="in_progress",e.REQUIRES_ACTION="requires_action",e.CANCELLING="cancelling",e.CANCELLED="cancelled",e.FAILED="failed",e.COMPLETED="completed",e.EXPIRED="expired"}(y||(y={}));var x,T,P,N,w="_action_",C="---",A="_host_copy",k="host_copy_";!function(e){e.ServiceHttp="service_http",e.OAuth="oauth",e.None="none"}(x||(x={})),function(e){e.Bearer="bearer",e.Basic="basic",e.Custom="custom"}(T||(T={})),function(e){e.DefaultPost="default_post",e.BasicAuthHeader="basic_auth_header"}(P||(P={})),function(e){e.Vision="vision",e.FineTune="fine-tune",e.FineTuneResults="fine-tune-results",e.Assistants="assistants",e.AssistantsOutput="assistants_output"}(N||(N={}));var M,E,S,_,D,I={order:"desc",limit:100};!function(e){e.ThreadCreated="thread.created",e.ThreadRunCreated="thread.run.created",e.ThreadRunQueued="thread.run.queued",e.ThreadRunInProgress="thread.run.in_progress",e.ThreadRunRequiresAction="thread.run.requires_action",e.ThreadRunCompleted="thread.run.completed",e.ThreadRunFailed="thread.run.failed",e.ThreadRunCancelling="thread.run.cancelling",e.ThreadRunCancelled="thread.run.cancelled",e.ThreadRunExpired="thread.run.expired",e.ThreadRunStepCreated="thread.run.step.created",e.ThreadRunStepInProgress="thread.run.step.in_progress",e.ThreadRunStepCompleted="thread.run.step.completed",e.ThreadRunStepFailed="thread.run.step.failed",e.ThreadRunStepCancelled="thread.run.step.cancelled",e.ThreadRunStepExpired="thread.run.step.expired",e.ThreadRunStepDelta="thread.run.step.delta",e.ThreadMessageCreated="thread.message.created",e.ThreadMessageInProgress="thread.message.in_progress",e.ThreadMessageCompleted="thread.message.completed",e.ThreadMessageIncomplete="thread.message.incomplete",e.ThreadMessageDelta="thread.message.delta",e.ErrorEvent="error"}(M||(M={}));var L,O=e.string().uuid();!function(e){e.OVERRIDE_AUTH="override_auth",e.USER_PROVIDED="user_provided",e.SYSTEM_DEFINED="system_defined"}(L||(L={}));var U,H=e.nativeEnum(L);!function(e){e.azureOpenAI="azureOpenAI",e.openAI="openAI",e.google="google",e.anthropic="anthropic",e.assistants="assistants",e.azureAssistants="azureAssistants",e.agents="agents",e.custom="custom",e.bedrock="bedrock",e.chatGPTBrowser="chatGPTBrowser",e.gptPlugins="gptPlugins"}(U||(U={}));var j,z=new Set([U.agents,U.openAI,U.bedrock,U.azureOpenAI,U.anthropic,U.custom,U.google]);!function(e){e.AI21="ai21",e.Amazon="amazon",e.Anthropic="anthropic",e.Cohere="cohere",e.Meta="meta",e.MistralAI="mistral",e.StabilityAI="stability",e.DeepSeek="deepseek"}(j||(j={}));var G,B,V=function(e,t){if(e===U.bedrock){var n=t.split("."),a=[n[0],n[1]].find((function(e){return Object.values(j).includes(e)}));return null!=a?a:n[0]}return t},F=function(e,t){var n=e,a=V(n,t);return["".concat(n,"-").concat(a),n]},W=function(e){var t=null!=e?e:"";return!!t&&t.toLowerCase().endsWith(U.assistants)},q=function(e){var t=null!=e?e:"";return!!t&&t===U.agents},K=function(e,t){return!!z.has(e)||null!=t&&z.has(t)};!function(e){e.low="low",e.auto="auto",e.high="high"}(G||(G={})),function(e){e.low="low",e.medium="medium",e.high="high"}(B||(B={}));var Y,X=((E={})[G.low]=0,E[G.auto]=1,E[G.high]=2,E),$={0:G.low,1:G.auto,2:G.high},Z=e.nativeEnum(G),Q=e.nativeEnum(B),J={assistant:"",id:"",name:"",description:"",instructions:"",conversation_starters:[],model:"",functions:[],code_interpreter:!1,image_vision:!1,retrieval:!1,append_current_datetime:!1},ee=((S={agent:{},id:"",name:"",description:"",instructions:"",model:"",model_parameters:{},tools:[],provider:{},projectIds:[],artifacts:"",isCollaborative:!1,recursion_limit:void 0})[m.execute_code]=!1,S[m.file_search]=!1,S),te=((_={type:m.function})[m.function]={name:"image_vision",description:"Get detailed text descriptions for all current image attachments.",parameters:{type:"object",properties:{},required:[]}},_),ne=function(e){var t,n;return"function"===e.type&&(null===(t=e.function)||void 0===t?void 0:t.name)===(null===(n=te.function)||void 0===n?void 0:n.name)},ae={model:{default:"gpt-4o-mini"},temperature:{min:0,max:2,step:.01,default:1},top_p:{min:0,max:1,step:.01,default:1},presence_penalty:{min:0,max:2,step:.01,default:0},frequency_penalty:{min:0,max:2,step:.01,default:0},resendFiles:{default:!0},maxContextTokens:{default:void 0},max_tokens:{default:void 0},imageDetail:{default:G.auto,min:0,max:2,step:1}},oe={model:{default:"gemini-1.5-flash-latest"},maxOutputTokens:{min:1,max:64e3,step:1,default:8192},temperature:{min:0,max:2,step:.01,default:1},topP:{min:0,max:1,step:.01,default:.95},topK:{min:1,max:40,step:1,default:40}},re=4096,ie={model:{default:"claude-3-5-sonnet-latest"},temperature:{min:0,max:1,step:.01,default:1},promptCache:{default:!0},thinking:{default:!0},thinkingBudget:{min:1024,step:100,max:2e5,default:2e3},maxOutputTokens:{min:1,max:128e3,step:1,default:8192,reset:function(e){return/claude-3[-.]5-sonnet/.test(e)||/claude-3[-.]7/.test(e)?8192:4096},set:function(e,t){return!/claude-3[-.]5-sonnet/.test(t)&&!/claude-3[-.]7/.test(t)&&e>re?re:e}},topP:{min:0,max:1,step:.01,default:.7},topK:{min:1,max:40,step:1,default:5},resendFiles:{default:!0},maxContextTokens:{default:void 0},legacy:{maxOutputTokens:{min:1,max:re,step:1,default:re}}},se={model:{default:"gpt-3.5-turbo-test"},temperature:{min:0,max:1,step:.01,default:1},top_p:{min:0,max:1,step:.01,default:1},presence_penalty:{min:0,max:2,step:.01,default:0},frequency_penalty:{min:0,max:2,step:.01,default:0},resendFiles:{default:!0},maxContextTokens:{default:void 0},max_tokens:{default:void 0},imageDetail:{default:G.auto}},le=((D={})[U.openAI]=ae,D[U.google]=oe,D[U.anthropic]=ie,D[U.agents]=se,D[U.bedrock]=se,D),ce=le[U.google],pe=e.nativeEnum(U),de=e.union([pe,e.string()]),ue=e.object({authField:e.string(),label:e.string(),description:e.string()}),me=e.object({name:e.string(),pluginKey:e.string(),description:e.string(),icon:e.string().optional(),authConfig:e.array(ue).optional(),authenticated:e.boolean().optional(),isButton:e.boolean().optional(),toolkit:e.boolean().optional()}),fe=e.object({input:e.object({content:e.string()}),output:e.object({content:e.string()})});!function(e){e.functions="functions",e.classic="classic"}(Y||(Y={}));var ge={model:{default:"gpt-4o-mini"},temperature:{min:0,max:1,step:.01,default:0},agent:{default:Y.functions,options:[Y.functions,Y.classic]},skipCompletion:{default:!0}},ve=e.nativeEnum(Y),be=e.object({agent:e.string().default(Y.functions),skipCompletion:e.boolean().default(ge.skipCompletion.default),model:e.string(),temperature:e.number().default(ge.temperature.default)}),ye=e.object({messageId:e.string(),endpoint:e.string().optional(),clientId:e.string().nullable().optional(),conversationId:e.string().nullable(),parentMessageId:e.string().nullable(),responseMessageId:e.string().nullable().optional(),overrideParentMessageId:e.string().nullable().optional(),bg:e.string().nullable().optional(),model:e.string().nullable().optional(),title:e.string().nullable().or(e.literal("New Chat")).default("New Chat"),sender:e.string().optional(),text:e.string(),generation:e.string().nullable().optional(),isCreatedByUser:e.boolean(),error:e.boolean().optional(),clientTimestamp:e.string().optional(),createdAt:e.string().optional().default((function(){return(new Date).toISOString()})),updatedAt:e.string().optional().default((function(){return(new Date).toISOString()})),current:e.boolean().optional(),unfinished:e.boolean().optional(),searchResult:e.boolean().optional(),finish_reason:e.string().optional(),thread_id:e.string().optional(),iconURL:e.string().nullable().optional()}),he=e.union([e.number(),e.string()]).transform((function(e){return"string"==typeof e?""===e.trim()?void 0:parseFloat(e):e})),Re=e.lazy((function(){return e.union([e.null(),e.boolean(),e.number(),e.string(),e.array(e.lazy((function(){return Re}))),e.record(e.lazy((function(){return Re})))])})),xe=e.object({conversationId:e.string().nullable(),endpoint:pe.nullable(),endpointType:pe.nullable().optional(),isArchived:e.boolean().optional(),title:e.string().nullable().or(e.literal("New Chat")).default("New Chat"),user:e.string().optional(),messages:e.array(e.string()).optional(),tools:e.union([e.array(me),e.array(e.string())]).optional(),modelLabel:e.string().nullable().optional(),userLabel:e.string().optional(),model:e.string().nullable().optional(),promptPrefix:e.string().nullable().optional(),temperature:e.number().optional(),topP:e.number().optional(),topK:e.number().optional(),top_p:e.number().optional(),frequency_penalty:e.number().optional(),presence_penalty:e.number().optional(),parentMessageId:e.string().optional(),maxOutputTokens:he.optional(),maxContextTokens:he.optional(),max_tokens:he.optional(),promptCache:e.boolean().optional(),system:e.string().optional(),thinking:e.boolean().optional(),thinkingBudget:he.optional(),artifacts:e.string().optional(),context:e.string().nullable().optional(),examples:e.array(fe).optional(),tags:e.array(e.string()).optional(),createdAt:e.string(),updatedAt:e.string(),resendFiles:e.boolean().optional(),file_ids:e.array(e.string()).optional(),imageDetail:Z.optional(),reasoning_effort:Q.optional(),assistant_id:e.string().optional(),agent_id:e.string().optional(),region:e.string().optional(),maxTokens:he.optional(),additionalModelRequestFields:Re.optional(),instructions:e.string().optional(),additional_instructions:e.string().optional(),append_current_datetime:e.boolean().optional(),presetOverride:e.record(e.unknown()).optional(),stop:e.array(e.string()).optional(),greeting:e.string().optional(),spec:e.string().nullable().optional(),iconURL:e.string().nullable().optional(),expiredAt:e.string().nullable().optional(),resendImages:e.boolean().optional(),agentOptions:be.nullable().optional(),chatGptLabel:e.string().nullable().optional()}),Te=xe.omit({conversationId:!0,createdAt:!0,updatedAt:!0,title:!0}).merge(e.object({conversationId:e.string().nullable().optional(),presetId:e.string().nullable().optional(),title:e.string().nullable().optional(),defaultPreset:e.boolean().optional(),order:e.number().optional(),endpoint:de.nullable()})),Pe=xe.merge(e.object({endpoint:de.nullable()})),Ne=xe.pick({spec:!0,maxContextTokens:!0,resendFiles:!0,imageDetail:!0,promptPrefix:!0,model:!0,temperature:!0,presence_penalty:!0,frequency_penalty:!0,stop:!0,top_p:!0,max_tokens:!0,topP:!0,topK:!0,maxOutputTokens:!0,promptCache:!0,thinking:!0,thinkingBudget:!0,region:!0,maxTokens:!0,agent_id:!0,assistant_id:!0,append_current_datetime:!0,instructions:!0}).merge(e.object({endpoint:de.nullable()})),we=e.object({conversationId:e.string(),shareId:e.string(),messages:e.array(e.string()),isPublic:e.boolean(),title:e.string(),createdAt:e.string(),updatedAt:e.string()}),Ce=e.object({_id:e.string(),user:e.string(),tag:e.string(),description:e.string().optional(),createdAt:e.string(),updatedAt:e.string(),count:e.number(),position:e.number()}),Ae=xe.pick({model:!0,modelLabel:!0,promptPrefix:!0,examples:!0,temperature:!0,maxOutputTokens:!0,artifacts:!0,topP:!0,topK:!0,iconURL:!0,greeting:!0,spec:!0,maxContextTokens:!0}).transform((function(e){return Se(e)})).catch((function(){return{}})),ke=e.object({maxOutputTokens:he.optional(),temperature:he.optional(),topP:he.optional(),topK:he.optional(),presencePenalty:he.optional(),frequencyPenalty:he.optional(),stopSequences:e.array(e.string()).optional()}).strip().optional(),Me=xe.pick({model:!0}).transform((function(e){var t;return l(l({},e),{model:null!==(t=e.model)&&void 0!==t?t:"text-davinci-002-render-sha"})})).catch((function(){return{model:"text-davinci-002-render-sha"}})),Ee=xe.pick({model:!0,modelLabel:!0,chatGptLabel:!0,promptPrefix:!0,temperature:!0,artifacts:!0,top_p:!0,presence_penalty:!0,frequency_penalty:!0,tools:!0,agentOptions:!0,iconURL:!0,greeting:!0,spec:!0,maxContextTokens:!0}).transform((function(e){var t,n,a,o,r,i,s,c,p,d,u,m,f,g,v=l(l({},e),{model:null!==(t=e.model)&&void 0!==t?t:"gpt-3.5-turbo",chatGptLabel:null!==(a=null!==(n=e.chatGptLabel)&&void 0!==n?n:e.modelLabel)&&void 0!==a?a:null,promptPrefix:null!==(o=e.promptPrefix)&&void 0!==o?o:null,temperature:null!==(r=e.temperature)&&void 0!==r?r:.8,top_p:null!==(i=e.top_p)&&void 0!==i?i:1,presence_penalty:null!==(s=e.presence_penalty)&&void 0!==s?s:0,frequency_penalty:null!==(c=e.frequency_penalty)&&void 0!==c?c:0,tools:null!==(p=e.tools)&&void 0!==p?p:[],agentOptions:null!==(d=e.agentOptions)&&void 0!==d?d:{agent:Y.functions,skipCompletion:!0,model:"gpt-3.5-turbo",temperature:0},iconURL:null!==(u=e.iconURL)&&void 0!==u?u:void 0,greeting:null!==(m=e.greeting)&&void 0!==m?m:void 0,spec:null!==(f=e.spec)&&void 0!==f?f:void 0,maxContextTokens:null!==(g=e.maxContextTokens)&&void 0!==g?g:void 0});return null!=e.modelLabel&&""!==e.modelLabel&&(v.modelLabel=null),v})).catch((function(){return{model:"gpt-3.5-turbo",chatGptLabel:null,promptPrefix:null,temperature:.8,top_p:1,presence_penalty:0,frequency_penalty:0,tools:[],agentOptions:{agent:Y.functions,skipCompletion:!0,model:"gpt-3.5-turbo",temperature:0},iconURL:void 0,greeting:void 0,spec:void 0,maxContextTokens:void 0}}));function Se(e,t){var n=l({},e);return Object.keys(n).forEach((function(e){var a=n[e];null==a&&delete n[e],t&&"string"==typeof a&&""===a&&delete n[e]})),n}var _e,De,Ie,Le=xe.pick({model:!0,assistant_id:!0,instructions:!0,artifacts:!0,promptPrefix:!0,iconURL:!0,greeting:!0,spec:!0,append_current_datetime:!0}).transform((function(e){var t,n,a,o,r,i,s,c;return l(l({},e),{model:null!==(t=e.model)&&void 0!==t?t:ae.model.default,assistant_id:null!==(n=e.assistant_id)&&void 0!==n?n:void 0,instructions:null!==(a=e.instructions)&&void 0!==a?a:void 0,promptPrefix:null!==(o=e.promptPrefix)&&void 0!==o?o:null,iconURL:null!==(r=e.iconURL)&&void 0!==r?r:void 0,greeting:null!==(i=e.greeting)&&void 0!==i?i:void 0,spec:null!==(s=e.spec)&&void 0!==s?s:void 0,append_current_datetime:null!==(c=e.append_current_datetime)&&void 0!==c&&c})})).catch((function(){return{model:ae.model.default,assistant_id:void 0,instructions:void 0,promptPrefix:null,iconURL:void 0,greeting:void 0,spec:void 0,append_current_datetime:!1}})),Oe=xe.pick({model:!0,assistant_id:!0,instructions:!0,promptPrefix:!0,artifacts:!0,iconURL:!0,greeting:!0,spec:!0}).transform((function(e){return Se(e)})).catch((function(){return{}})),Ue=xe.pick({model:!0,modelLabel:!0,temperature:!0,top_p:!0,presence_penalty:!0,frequency_penalty:!0,resendFiles:!0,imageDetail:!0,agent_id:!0,instructions:!0,promptPrefix:!0,iconURL:!0,greeting:!0,maxContextTokens:!0}).transform((function(e){var t,n,a,o,r,i,s,c,p,d,u,m,f;return l(l({},e),{model:null!==(t=e.model)&&void 0!==t?t:se.model.default,modelLabel:null!==(n=e.modelLabel)&&void 0!==n?n:null,temperature:null!==(a=e.temperature)&&void 0!==a?a:1,top_p:null!==(o=e.top_p)&&void 0!==o?o:1,presence_penalty:null!==(r=e.presence_penalty)&&void 0!==r?r:0,frequency_penalty:null!==(i=e.frequency_penalty)&&void 0!==i?i:0,resendFiles:"boolean"==typeof e.resendFiles?e.resendFiles:se.resendFiles.default,imageDetail:null!==(s=e.imageDetail)&&void 0!==s?s:G.auto,agent_id:null!==(c=e.agent_id)&&void 0!==c?c:void 0,instructions:null!==(p=e.instructions)&&void 0!==p?p:void 0,promptPrefix:null!==(d=e.promptPrefix)&&void 0!==d?d:null,iconURL:null!==(u=e.iconURL)&&void 0!==u?u:void 0,greeting:null!==(m=e.greeting)&&void 0!==m?m:void 0,maxContextTokens:null!==(f=e.maxContextTokens)&&void 0!==f?f:void 0})})).catch((function(){return{model:se.model.default,modelLabel:null,temperature:1,top_p:1,presence_penalty:0,frequency_penalty:0,resendFiles:se.resendFiles.default,imageDetail:G.auto,agent_id:void 0,instructions:void 0,promptPrefix:null,iconURL:void 0,greeting:void 0,maxContextTokens:void 0}})),He=xe.pick({model:!0,modelLabel:!0,chatGptLabel:!0,promptPrefix:!0,temperature:!0,top_p:!0,presence_penalty:!0,frequency_penalty:!0,resendFiles:!0,artifacts:!0,imageDetail:!0,stop:!0,iconURL:!0,greeting:!0,spec:!0,maxContextTokens:!0,max_tokens:!0,reasoning_effort:!0}).transform((function(e){return Se(e)})).catch((function(){return{}})),je=xe.pick({model:!0,modelLabel:!0,promptPrefix:!0,examples:!0,temperature:!0,maxOutputTokens:!0,artifacts:!0,topP:!0,topK:!0,iconURL:!0,greeting:!0,spec:!0,maxContextTokens:!0}).transform((function(e){var t=l({},e);return t.temperature===ce.temperature.default&&delete t.temperature,t.maxOutputTokens===ce.maxOutputTokens.default&&delete t.maxOutputTokens,t.topP===ce.topP.default&&delete t.topP,t.topK===ce.topK.default&&delete t.topK,Se(t)})).catch((function(){return{}})),ze=xe.pick({model:!0,modelLabel:!0,promptPrefix:!0,temperature:!0,maxOutputTokens:!0,topP:!0,topK:!0,resendFiles:!0,promptCache:!0,thinking:!0,thinkingBudget:!0,artifacts:!0,iconURL:!0,greeting:!0,spec:!0,maxContextTokens:!0}).transform((function(e){return Se(e)})).catch((function(){return{}})),Ge=xe.pick({model:!0}).transform((function(e){return Se(l({},e))})).catch((function(){return{}})),Be=xe.pick({model:!0,modelLabel:!0,chatGptLabel:!0,promptPrefix:!0,temperature:!0,top_p:!0,presence_penalty:!0,frequency_penalty:!0,tools:!0,agentOptions:!0,iconURL:!0,greeting:!0,spec:!0,maxContextTokens:!0}).transform((function(e){var t,n=l({},e);return null===n.modelLabel&&delete n.modelLabel,null===n.chatGptLabel&&delete n.chatGptLabel,null===n.promptPrefix&&delete n.promptPrefix,.8===n.temperature&&delete n.temperature,1===n.top_p&&delete n.top_p,0===n.presence_penalty&&delete n.presence_penalty,0===n.frequency_penalty&&delete n.frequency_penalty,0===(null===(t=n.tools)||void 0===t?void 0:t.length)&&delete n.tools,n.agentOptions&&n.agentOptions.agent===Y.functions&&!0===n.agentOptions.skipCompletion&&"gpt-3.5-turbo"===n.agentOptions.model&&0===n.agentOptions.temperature&&delete n.agentOptions,Se(n)})).catch((function(){return{}})),Ve=e.object({bannerId:e.string(),message:e.string(),displayFrom:e.string(),displayTo:e.string(),createdAt:e.string(),updatedAt:e.string(),isPublic:e.boolean()}),Fe=xe.pick({spec:!0,iconURL:!0,greeting:!0,agent_id:!0,instructions:!0,additional_instructions:!0}).transform((function(e){return Se(e)})).catch((function(){return{}})),We=e.object({name:e.string(),label:e.string(),preset:Te,order:e.number().optional(),default:e.boolean().optional(),description:e.string().optional(),showIconInMenu:e.boolean().optional(),showIconInHeader:e.boolean().optional(),iconURL:e.union([e.string(),pe]).optional(),authType:H.optional()}),qe=e.object({enforce:e.boolean().default(!1),prioritize:e.boolean().default(!0),list:e.array(We).min(1),addedEndpoints:e.array(e.union([e.string(),pe])).optional()}),Ke=((_e={})[U.openAI]=!0,_e[U.google]=!0,_e[U.assistants]=!0,_e[U.azureAssistants]=!0,_e[U.agents]=!0,_e[U.azureOpenAI]=!0,_e[U.anthropic]=!0,_e[U.custom]=!0,_e[U.bedrock]=!0,_e),Ye=["application/vnd.ms-excel","application/msexcel","application/x-msexcel","application/x-ms-excel","application/x-excel","application/x-dos_ms_excel","application/xls","application/x-xls","application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"],Xe=u(["text/x-c","text/x-c++","application/csv","application/vnd.openxmlformats-officedocument.wordprocessingml.document","text/html","text/x-java","application/json","text/markdown","application/pdf","text/x-php","application/vnd.openxmlformats-officedocument.presentationml.presentation","text/x-python","text/x-script.python","text/x-ruby","text/x-tex","text/plain","text/css","text/vtt","image/jpeg","text/javascript","image/gif","image/png","application/x-tar","application/typescript","application/xml","application/zip","image/svg","image/svg+xml"],Ye,!0),$e=u(["text/x-c","text/x-c++","application/csv","application/vnd.openxmlformats-officedocument.wordprocessingml.document","text/html","text/x-java","application/json","text/markdown","application/pdf","text/x-php","application/vnd.openxmlformats-officedocument.presentationml.presentation","text/x-python","text/x-script.python","text/x-ruby","text/x-tex","text/plain","text/css","image/jpeg","text/javascript","image/gif","image/png","application/x-tar","application/typescript","application/xml","application/zip"],Ye,!0),Ze=["text/x-c","text/x-c++","application/vnd.openxmlformats-officedocument.wordprocessingml.document","text/html","text/x-java","application/json","text/markdown","application/pdf","text/x-php","application/vnd.openxmlformats-officedocument.presentationml.presentation","text/x-python","text/x-script.python","text/x-ruby","text/x-tex","text/plain"],Qe=/\.(jpg|jpeg|png|gif|webp)$/i,Je=/^application\/(vnd\.ms-excel|msexcel|x-msexcel|x-ms-excel|x-excel|x-dos_ms_excel|xls|x-xls|vnd\.openxmlformats-officedocument\.spreadsheetml\.sheet)$/,et=/^(text\/(x-c|x-csharp|x-c\+\+|x-java|html|markdown|x-php|x-python|x-script\.python|x-ruby|x-tex|plain|css|vtt|javascript|csv))$/,tt=/^(application\/(epub\+zip|csv|json|pdf|x-tar|typescript|vnd\.openxmlformats-officedocument\.(wordprocessingml\.document|presentationml\.presentation|spreadsheetml\.sheet)|xml|zip))$/,nt=/^image\/(jpeg|gif|png|webp)$/,at=[et,Je,tt,nt,/^image\/(svg|svg\+xml)$/],ot=[et,Je,tt,nt],rt={c:"text/x-c",cs:"text/x-csharp",cpp:"text/x-c++",md:"text/markdown",php:"text/x-php",py:"text/x-python",rb:"text/x-ruby",tex:"text/x-tex",js:"text/javascript",sh:"application/x-sh",ts:"application/typescript",tar:"application/x-tar",zip:"application/zip",yml:"application/x-yaml",yaml:"application/x-yaml",log:"text/plain"},it=[/^(text\/(x-c|x-c\+\+|html|x-java|markdown|x-php|x-python|x-script\.python|x-ruby|x-tex|plain|vtt|xml))$/,/^(application\/(json|pdf|vnd\.openxmlformats-officedocument\.(wordprocessingml\.document|presentationml\.presentation)))$/],st=1048576,lt=function(e){return e*st},ct=lt(512),pt={fileLimit:10,fileSizeLimit:ct,totalSizeLimit:ct,supportedMimeTypes:at,disabled:!1},dt={endpoints:(De={},De[U.assistants]=pt,De[U.azureAssistants]=pt,De[U.agents]=pt,De.default={fileLimit:10,fileSizeLimit:ct,totalSizeLimit:ct,supportedMimeTypes:at,disabled:!1},De),serverFileSizeLimit:ct,avatarSizeLimit:lt(2),checkType:function(e,t){return void 0===t&&(t=at),t.some((function(t){return t.test(e)}))}},ut=e.array(e.any()).optional().refine((function(e){return!e||e.every((function(e){return e instanceof RegExp||"string"==typeof e}))}),{message:"Each mimeType must be a string or a RegExp object."}),mt=e.object({disabled:e.boolean().optional(),fileLimit:e.number().min(0).optional(),fileSizeLimit:e.number().min(0).optional(),totalSizeLimit:e.number().min(0).optional(),supportedMimeTypes:ut.optional()}),ft=e.object({endpoints:e.record(mt).optional(),serverFileSizeLimit:e.number().min(0).optional(),avatarSizeLimit:e.number().min(0).optional()}),gt=function(e){return e.reduce((function(e,t){try{var n=new RegExp(t);e.push(n)}catch(e){console.error('Invalid regex pattern "'.concat(t,'" skipped.'))}return e}),[])};function vt(e){var t=dt;if(!e)return t;if(void 0!==e.serverFileSizeLimit&&(t.serverFileSizeLimit=lt(e.serverFileSizeLimit)),void 0!==e.avatarSizeLimit&&(t.avatarSizeLimit=lt(e.avatarSizeLimit)),!e.endpoints)return t;var n=function(n){var a=e.endpoints[n];t.endpoints[n]||(t.endpoints[n]={});var o=t.endpoints[n];if(!0===a.disabled)return o.disabled=!0,o.fileLimit=0,o.fileSizeLimit=0,o.totalSizeLimit=0,o.supportedMimeTypes=[],"continue";void 0!==a.fileSizeLimit&&(o.fileSizeLimit=lt(a.fileSizeLimit)),void 0!==a.totalSizeLimit&&(o.totalSizeLimit=lt(a.totalSizeLimit));["fileLimit"].forEach((function(e){void 0!==a[e]&&(o[e]=a[e])})),a.supportedMimeTypes&&(o.supportedMimeTypes=gt(a.supportedMimeTypes))};for(var a in e.endpoints)n(a);return t}!function(e){e.local="local",e.firebase="firebase",e.azure="azure",e.azure_blob="azure_blob",e.openai="openai",e.s3="s3",e.vectordb="vectordb",e.execute_code="execute_code",e.mistral_ocr="mistral_ocr",e.text="text"}(Ie||(Ie={}));var bt,yt=function(e){return e===Ie.openai||e===Ie.azure};!function(e){e.avatar="avatar",e.unknown="unknown",e.agents="agents",e.assistants="assistants",e.execute_code="execute_code",e.image_generation="image_generation",e.assistants_output="assistants_output",e.message_attachment="message_attachment",e.filename="filename",e.updatedAt="updatedAt",e.source="source",e.filterSource="filterSource",e.context="context",e.bytes="bytes"}(bt||(bt={}));var ht,Rt,xt,Tt,Pt,Nt,wt,Ct,At=e.object({iconPath:e.string().optional(),timeout:e.number().optional(),initTimeout:e.number().optional()}),kt=At.extend({type:e.literal("stdio").optional(),command:e.string(),args:e.array(e.string()),env:e.record(e.string(),e.string()).optional().transform((function(e){if(!e)return e;for(var t={},n=0,a=Object.entries(e);n<a.length;n++){var o=a[n],r=o[0],i=o[1];t[r]=R(i)}return t})),stderr:e.any().optional()}),Mt=At.extend({type:e.literal("websocket").optional(),url:e.string().url().refine((function(e){var t=new URL(e).protocol;return"ws:"===t||"wss:"===t}),{message:"WebSocket URL must start with ws:// or wss://"})}),Et=At.extend({type:e.literal("sse").optional(),headers:e.record(e.string(),e.string()).optional(),url:e.string().url().refine((function(e){var t=new URL(e).protocol;return"ws:"!==t&&"wss:"!==t}),{message:"SSE URL must not start with ws:// or wss://"})}),St=e.union([kt,Mt,Et]),_t=e.record(e.string(),St);function Dt(e,t){if(null==e)return e;if("env"in e&&e.env){for(var n={},a=0,o=Object.entries(e.env);a<o.length;a++){var r=o[a],i=r[0],s=r[1];n[i]=R(s)}e.env=n}else if("headers"in e&&e.headers){for(var l={},c=0,p=Object.entries(e.headers);c<p.length;c++){var d=p[c];i=d[0];"{{LIBRECHAT_USER_ID}}"===(s=d[1])&&null!=t&&t?l[i]=t:l[i]=R(s)}e.headers=l}return e}var It,Lt=["google","facebook","openid","github","discord"],Ot=["gpt-4o","o1-preview-2024-09-12","o1-preview","o1-mini-2024-09-12","o1-mini","o3-mini","chatgpt-4o-latest","gpt-4o-2024-05-13","gpt-4o-2024-08-06","gpt-4o-mini","gpt-4o-mini-2024-07-18","gpt-4-turbo-preview","gpt-3.5-turbo-0125","gpt-4-0125-preview","gpt-4-1106-preview","gpt-3.5-turbo-1106","gpt-3.5-turbo-0125","gpt-4-turbo","gpt-4-0125","gpt-4-1106"],Ut=new Set(["conversationId","title","iconURL","greeting","endpoint","endpointType","createdAt","updatedAt","expiredAt","messages","isArchived","tags","user","__v","_id","tools","model","files","spec"]);!function(e){e.default="default",e.advanced="advanced"}(It||(It={}));var Ht=e.nativeEnum(Ie);function jt(t){var n=t.shape,a=Object.entries(n).map((function(t){var n=t[0],a=t[1];return a instanceof e.ZodDefault?[n,a._def.defaultValue()]:[n,void 0]}));return Object.fromEntries(a)}var zt,Gt,Bt=e.object({deploymentName:e.string().optional(),version:e.string().optional(),assistants:e.boolean().optional()}).or(e.boolean()),Vt=e.object({apiKey:e.string(),serverless:e.boolean().optional(),instanceName:e.string().optional(),deploymentName:e.string().optional(),assistants:e.boolean().optional(),addParams:e.record(e.any()).optional(),dropParams:e.array(e.string()).optional(),forcePrompt:e.boolean().optional(),version:e.string().optional(),baseURL:e.string().optional(),additionalHeaders:e.record(e.any()).optional()}),Ft=e.object({group:e.string(),models:e.record(e.string(),Bt)}).required().and(Vt),Wt=e.array(Ft).min(1);!function(e){e.code_interpreter="code_interpreter",e.image_vision="image_vision",e.retrieval="retrieval",e.actions="actions",e.tools="tools"}(zt||(zt={})),function(e){e.hide_sequential_outputs="hide_sequential_outputs",e.end_after_tools="end_after_tools",e.execute_code="execute_code",e.file_search="file_search",e.artifacts="artifacts",e.actions="actions",e.tools="tools",e.chain="chain",e.ocr="ocr"}(Gt||(Gt={}));var qt,Kt=((ht={})[U.assistants]=2,ht[U.azureAssistants]=1,ht),Yt=e.object({streamRate:e.number().optional(),baseURL:e.string().optional(),titlePrompt:e.string().optional(),titleModel:e.string().optional()}),Xt=Yt.merge(e.object({availableRegions:e.array(e.string()).optional()})),$t=Yt.merge(e.object({disableBuilder:e.boolean().optional(),pollIntervalMs:e.number().optional(),timeoutMs:e.number().optional(),version:e.union([e.string(),e.number()]).default(2),supportedIds:e.array(e.string()).min(1).optional(),excludedIds:e.array(e.string()).min(1).optional(),privateAssistants:e.boolean().optional(),retrievalModels:e.array(e.string()).min(1).optional().default(Ot),capabilities:e.array(e.nativeEnum(zt)).optional().default([zt.code_interpreter,zt.image_vision,zt.retrieval,zt.actions,zt.tools]),apiKey:e.string().optional(),models:e.object({default:e.array(e.string()).min(1),fetch:e.boolean().optional(),userIdQuery:e.boolean().optional()}).optional(),titleConvo:e.boolean().optional(),titleMethod:e.union([e.literal("completion"),e.literal("functions")]).optional(),headers:e.record(e.any()).optional()})),Zt=Yt.merge(e.object({recursionLimit:e.number().optional(),disableBuilder:e.boolean().optional(),maxRecursionLimit:e.number().optional(),allowedProviders:e.array(e.union([e.string(),pe])).optional(),capabilities:e.array(e.nativeEnum(Gt)).optional().default([Gt.execute_code,Gt.file_search,Gt.artifacts,Gt.actions,Gt.tools,Gt.ocr,Gt.chain])})),Qt=Yt.merge(e.object({name:e.string().refine((function(e){return!pe.safeParse(e).success}),{message:"Value cannot be one of the default endpoint (EModelEndpoint) values: ".concat(Object.values(U).join(", "))}),apiKey:e.string(),baseURL:e.string(),models:e.object({default:e.array(e.string()).min(1),fetch:e.boolean().optional(),userIdQuery:e.boolean().optional()}),titleConvo:e.boolean().optional(),titleMethod:e.union([e.literal("completion"),e.literal("functions")]).optional(),summarize:e.boolean().optional(),summaryModel:e.string().optional(),forcePrompt:e.boolean().optional(),modelDisplayLabel:e.string().optional(),headers:e.record(e.any()).optional(),addParams:e.record(e.any()).optional(),dropParams:e.array(e.string()).optional(),customOrder:e.number().optional(),directEndpoint:e.boolean().optional(),titleMessageRole:e.string().optional()})),Jt=e.object({groups:Wt,plugins:e.boolean().optional(),assistants:e.boolean().optional()}).and(Qt.pick({streamRate:!0,titleConvo:!0,titleMethod:!0,titleModel:!0,summarize:!0,summaryModel:!0,customOrder:!0}).partial()),en=e.object({url:e.string().optional(),apiKey:e.string(),model:e.string(),voices:e.array(e.string())}),tn=e.object({instanceName:e.string(),apiKey:e.string(),deploymentName:e.string(),apiVersion:e.string(),model:e.string(),voices:e.array(e.string())}),nn=e.object({url:e.string().optional(),websocketUrl:e.string().optional(),apiKey:e.string(),model:e.string(),voices:e.array(e.string()),voice_settings:e.object({similarity_boost:e.number().optional(),stability:e.number().optional(),style:e.number().optional(),use_speaker_boost:e.boolean().optional()}).optional(),pronunciation_dictionary_locators:e.array(e.string()).optional()}),an=e.object({url:e.string(),apiKey:e.string().optional(),voices:e.array(e.string()),backend:e.string()}),on=e.object({openai:en.optional(),azureOpenAI:tn.optional(),elevenlabs:nn.optional(),localai:an.optional()}),rn=e.object({url:e.string().optional(),apiKey:e.string(),model:e.string()}),sn=e.object({instanceName:e.string(),apiKey:e.string(),deploymentName:e.string(),apiVersion:e.string()}),ln=e.object({openai:rn.optional(),azureOpenAI:sn.optional()}),cn=e.object({conversationMode:e.boolean().optional(),advancedMode:e.boolean().optional(),speechToText:e.boolean().optional().or(e.object({engineSTT:e.string().optional(),languageSTT:e.string().optional(),autoTranscribeAudio:e.boolean().optional(),decibelValue:e.number().optional(),autoSendText:e.number().optional()})).optional(),textToSpeech:e.boolean().optional().or(e.object({engineTTS:e.string().optional(),voice:e.string().optional(),languageTTS:e.string().optional(),automaticPlayback:e.boolean().optional(),playbackRate:e.number().optional(),cacheTTS:e.boolean().optional()})).optional()}).optional();!function(e){e.FILE_UPLOAD="FILE_UPLOAD",e.IMPORT="IMPORT",e.TTS="TTS",e.STT="STT"}(qt||(qt={}));var pn,dn=e.object({fileUploads:e.object({ipMax:e.number().optional(),ipWindowInMinutes:e.number().optional(),userMax:e.number().optional(),userWindowInMinutes:e.number().optional()}).optional(),conversationsImport:e.object({ipMax:e.number().optional(),ipWindowInMinutes:e.number().optional(),userMax:e.number().optional(),userWindowInMinutes:e.number().optional()}).optional(),tts:e.object({ipMax:e.number().optional(),ipWindowInMinutes:e.number().optional(),userMax:e.number().optional(),userWindowInMinutes:e.number().optional()}).optional(),stt:e.object({ipMax:e.number().optional(),ipWindowInMinutes:e.number().optional(),userMax:e.number().optional(),userWindowInMinutes:e.number().optional()}).optional()});!function(e){e.PNG="png",e.WEBP="webp",e.JPEG="jpeg"}(pn||(pn={}));var un,mn=e.object({externalUrl:e.string().optional(),openNewTab:e.boolean().optional(),modalAcceptance:e.boolean().optional(),modalTitle:e.string().optional(),modalContent:e.string().or(e.array(e.string())).optional()}),fn=e.object({privacyPolicy:e.object({externalUrl:e.string().optional(),openNewTab:e.boolean().optional()}).optional(),termsOfService:mn.optional(),customWelcome:e.string().optional(),endpointsMenu:e.boolean().optional(),modelSelect:e.boolean().optional(),parameters:e.boolean().optional(),sidePanel:e.boolean().optional(),multiConvo:e.boolean().optional(),bookmarks:e.boolean().optional(),presets:e.boolean().optional(),prompts:e.boolean().optional(),agents:e.boolean().optional(),temporaryChat:e.boolean().optional(),runCode:e.boolean().optional()}).default({endpointsMenu:!0,modelSelect:!0,parameters:!0,sidePanel:!0,presets:!0,multiConvo:!0,bookmarks:!0,prompts:!0,agents:!0,temporaryChat:!0,runCode:!0});!function(e){e.MISTRAL_OCR="mistral_ocr",e.CUSTOM_OCR="custom_ocr"}(un||(un={}));var gn,vn,bn=e.object({mistralModel:e.string().optional(),apiKey:e.string().optional().default("OCR_API_KEY"),baseURL:e.string().optional().default("OCR_BASEURL"),strategy:e.nativeEnum(un).default(un.MISTRAL_OCR)}),yn=e.object({enabled:e.boolean().optional().default(!1),startBalance:e.number().optional().default(2e4),autoRefillEnabled:e.boolean().optional().default(!1),refillIntervalValue:e.number().optional().default(30),refillIntervalUnit:e.enum(["seconds","minutes","hours","days","weeks","months"]).optional().default("days"),refillAmount:e.number().optional().default(1e4)}),hn=e.object({version:e.string(),cache:e.boolean().default(!0),ocr:bn.optional(),secureImageLinks:e.boolean().optional(),imageOutputType:e.nativeEnum(pn).default(pn.PNG),includedTools:e.array(e.string()).optional(),filteredTools:e.array(e.string()).optional(),mcpServers:_t.optional(),interface:fn,fileStrategy:Ht.default(Ie.local),actions:e.object({allowedDomains:e.array(e.string()).optional()}).optional(),registration:e.object({socialLogins:e.array(e.string()).optional(),allowedDomains:e.array(e.string()).optional()}).default({socialLogins:Lt}),balance:yn.optional(),speech:e.object({tts:on.optional(),stt:ln.optional(),speechTab:cn.optional()}).optional(),rateLimits:dn.optional(),fileConfig:ft.optional(),modelSpecs:qe.optional(),endpoints:e.object((Rt={all:Yt.optional()},Rt[U.openAI]=Yt.optional(),Rt[U.google]=Yt.optional(),Rt[U.anthropic]=Yt.optional(),Rt[U.gptPlugins]=Yt.optional(),Rt[U.azureOpenAI]=Jt.optional(),Rt[U.azureAssistants]=$t.optional(),Rt[U.assistants]=$t.optional(),Rt[U.agents]=Zt.optional(),Rt[U.custom]=e.array(Qt.partial()).optional(),Rt[U.bedrock]=Yt.optional(),Rt)).strict().refine((function(e){return Object.keys(e).length>0}),{message:"At least one `endpoints` field must be provided."}).optional()}),Rn=function(){return jt(hn)};!function(e){e.anyscale="anyscale",e.apipie="apipie",e.cohere="cohere",e.fireworks="fireworks",e.deepseek="deepseek",e.groq="groq",e.huggingface="huggingface",e.mistral="mistral",e.mlx="mlx",e.ollama="ollama",e.openrouter="openrouter",e.perplexity="perplexity",e.shuttleai="shuttleai",e["together.ai"]="together.ai",e.unify="unify",e.xai="xai"}(gn||(gn={})),function(e){e.openrouter="openrouter"}(vn||(vn={}));var xn,Tn=[U.openAI,U.assistants,U.azureAssistants,U.azureOpenAI,U.agents,U.chatGPTBrowser,U.gptPlugins,U.google,U.anthropic,U.custom,U.bedrock],Pn=((xt={})[U.openAI]="OpenAI",xt[U.assistants]="Assistants",xt[U.agents]="Agents",xt[U.azureAssistants]="Azure Assistants",xt[U.azureOpenAI]="Azure OpenAI",xt[U.chatGPTBrowser]="ChatGPT",xt[U.gptPlugins]="Plugins",xt[U.google]="Google",xt[U.anthropic]="Anthropic",xt[U.custom]="Custom",xt[U.bedrock]="AWS Bedrock",xt[gn.ollama]="Ollama",xt[gn.deepseek]="DeepSeek",xt[gn.xai]="xAI",xt),Nn=["gpt-4o-mini","gpt-4o","gpt-4.5-preview","gpt-4.5-preview-2025-02-27","gpt-3.5-turbo","gpt-3.5-turbo-0125","gpt-4-turbo","gpt-4-turbo-2024-04-09","gpt-4-0125-preview","gpt-4-turbo-preview","gpt-4-1106-preview","gpt-3.5-turbo-1106","gpt-3.5-turbo-16k-0613","gpt-3.5-turbo-16k","gpt-4","gpt-4-0314","gpt-4-32k-0314","gpt-4-0613","gpt-3.5-turbo-0613"],wn=["anthropic.claude-3-5-sonnet-20241022-v2:0","anthropic.claude-3-5-sonnet-20240620-v1:0","anthropic.claude-3-5-haiku-20241022-v1:0","anthropic.claude-3-haiku-20240307-v1:0","anthropic.claude-3-opus-20240229-v1:0","anthropic.claude-3-sonnet-20240229-v1:0","anthropic.claude-v2","anthropic.claude-v2:1","anthropic.claude-instant-v1","cohere.command-r-v1:0","cohere.command-r-plus-v1:0","meta.llama2-13b-chat-v1","meta.llama2-70b-chat-v1","meta.llama3-8b-instruct-v1:0","meta.llama3-70b-instruct-v1:0","meta.llama3-1-8b-instruct-v1:0","meta.llama3-1-70b-instruct-v1:0","meta.llama3-1-405b-instruct-v1:0","mistral.mistral-7b-instruct-v0:2","mistral.mixtral-8x7b-instruct-v0:1","mistral.mistral-large-2402-v1:0","mistral.mistral-large-2407-v1:0","mistral.mistral-small-2402-v1:0","ai21.jamba-instruct-v1:0","amazon.titan-text-lite-v1","amazon.titan-text-express-v1","amazon.titan-text-premier-v1:0"],Cn=((Tt={})[U.azureAssistants]=Nn,Tt[U.assistants]=u(u([],Nn,!0),["chatgpt-4o-latest"],!1),Tt[U.agents]=Nn,Tt[U.google]=["gemini-2.0-flash-001","gemini-2.0-flash-exp","gemini-2.0-flash-lite","gemini-2.0-pro-exp-02-05","gemini-1.5-flash-001","gemini-1.5-flash-002","gemini-1.5-pro-001","gemini-1.5-pro-002","gemini-1.0-pro-001"],Tt[U.anthropic]=["claude-3-7-sonnet-latest","claude-3-7-sonnet-20250219","claude-3-5-haiku-20241022","claude-3-5-sonnet-20241022","claude-3-5-sonnet-20240620","claude-3-5-sonnet-latest","claude-3-opus-20240229","claude-3-sonnet-20240229","claude-3-haiku-20240307","claude-2.1","claude-2","claude-1.2","claude-1","claude-1-100k","claude-instant-1","claude-instant-1-100k"],Tt[U.openAI]=u(u([],Nn,!0),["chatgpt-4o-latest","gpt-4-vision-preview","gpt-3.5-turbo-instruct-0914","gpt-3.5-turbo-instruct"],!1),Tt[U.bedrock]=wn,Tt),An=Cn[U.openAI],kn=((Pt={initial:[]})[U.openAI]=An,Pt[U.assistants]=An.filter((function(e){return/gpt-4|gpt-3\\.5/i.test(e)&&!/vision|instruct/i.test(e)})),Pt[U.agents]=An,Pt[U.gptPlugins]=An,Pt[U.azureOpenAI]=An,Pt[U.chatGPTBrowser]=["text-davinci-002-render-sha"],Pt[U.google]=Cn[U.google],Pt[U.anthropic]=Cn[U.anthropic],Pt[U.bedrock]=Cn[U.bedrock],Pt),Mn=((Nt={})[U.openAI]="/api/ask/".concat(U.openAI),Nt[U.google]="/api/ask/".concat(U.google),Nt[U.custom]="/api/ask/".concat(U.custom),Nt[U.anthropic]="/api/ask/".concat(U.anthropic),Nt[U.gptPlugins]="/api/ask/".concat(U.gptPlugins),Nt[U.azureOpenAI]="/api/ask/".concat(U.azureOpenAI),Nt[U.chatGPTBrowser]="/api/ask/".concat(U.chatGPTBrowser),Nt[U.azureAssistants]="/api/assistants/v1/chat",Nt[U.assistants]="/api/assistants/v2/chat",Nt[U.agents]="/api/".concat(U.agents,"/chat"),Nt[U.bedrock]="/api/".concat(U.bedrock,"/chat"),Nt),En=new Set([U.gptPlugins,U.anthropic,U.google,U.openAI,U.azureOpenAI,U.custom,U.agents,U.bedrock]),Sn=((wt={})[U.custom]=!0,wt[U.openAI]=!0,wt[U.anthropic]=!0,wt[U.gptPlugins]=!0,wt[U.assistants]=!0,wt[U.agents]=!0,wt[U.azureAssistants]=!0,wt[U.azureOpenAI]=!0,wt[U.bedrock]=!0,wt),_n=["qwen-vl","grok-vision","grok-2-vision","grok-3","gpt-4o-mini","gpt-4o","gpt-4-turbo","gpt-4-vision","o1","gpt-4.5","llava","llava-13b","gemini-pro-vision","claude-3","gemini-exp","gemini-1.5","gemini-2.0","moondream","llama3.2-vision","llama-3.2-11b-vision","llama-3-2-11b-vision","llama-3.2-90b-vision","llama-3-2-90b-vision"];function Dn(e){var t=e.model,n=e.additionalModels,a=void 0===n?[]:n,o=e.availableModels;return!!t&&(!t.includes("gpt-4-turbo-preview")&&!t.includes("o1-mini")&&(!(o&&!o.includes(t))&&_n.concat(a).some((function(e){return t.includes(e)}))))}!function(e){e.generative="generative",e.agents="agents"}(xn||(xn={}));var In,Ln,On,Un,Hn,jn,zn,Gn,Bn,Vn,Fn,Wn,qn,Kn,Yn,Xn=new Set(["dalle","dall-e","stable-diffusion","flux"]);!function(e){e.PROMPT_GROUPS="promptGroups",e.SHARED_LINKS="sharedLinks"}(In||(In={})),function(e){e[e.ONE_HOUR=36e5]="ONE_HOUR",e[e.THIRTY_MINUTES=18e5]="THIRTY_MINUTES",e[e.TEN_MINUTES=6e5]="TEN_MINUTES",e[e.FIVE_MINUTES=3e5]="FIVE_MINUTES",e[e.TWO_MINUTES=12e4]="TWO_MINUTES",e[e.ONE_MINUTE=6e4]="ONE_MINUTE",e[e.THIRTY_SECONDS=3e4]="THIRTY_SECONDS"}(Ln||(Ln={})),function(e){e.CONFIG_STORE="configStore",e.ROLES="roles",e.PLUGINS="plugins",e.GEN_TITLE="genTitle",e.TOOLS="tools",e.MODELS_CONFIG="modelsConfig",e.MODEL_QUERIES="modelQueries",e.STARTUP_CONFIG="startupConfig",e.ENDPOINT_CONFIG="endpointsConfig",e.TOKEN_CONFIG="tokenConfig",e.CUSTOM_CONFIG="customConfig",e.ABORT_KEYS="abortKeys",e.OVERRIDE_CONFIG="overrideConfig",e.BANS="bans",e.ENCODED_DOMAINS="encoded_domains",e.AUDIO_RUNS="audioRuns",e.MESSAGES="messages",e.FLOWS="flows",e.S3_EXPIRY_INTERVAL="S3_EXPIRY_INTERVAL"}(On||(On={})),function(e){e.FILE_UPLOAD_LIMIT="file_upload_limit",e.ILLEGAL_MODEL_REQUEST="illegal_model_request",e.TOKEN_BALANCE="token_balance",e.BAN="ban",e.TTS_LIMIT="tts_limit",e.STT_LIMIT="stt_limit",e.RESET_PASSWORD_LIMIT="reset_password_limit",e.VERIFY_EMAIL_LIMIT="verify_email_limit",e.CONVO_ACCESS="convo_access",e.TOOL_CALL_LIMIT="tool_call_limit"}(Un||(Un={})),function(e){e.NO_USER_KEY="no_user_key",e.EXPIRED_USER_KEY="expired_user_key",e.INVALID_USER_KEY="invalid_user_key",e.NO_BASE_URL="no_base_url",e.MODERATION="moderation",e.INPUT_LENGTH="INPUT_LENGTH",e.INVALID_REQUEST="invalid_request_error",e.INVALID_ACTION="invalid_action_error",e.NO_SYSTEM_MESSAGES="no_system_messages",e.GOOGLE_ERROR="google_error",e.INVALID_AGENT_PROVIDER="invalid_agent_provider"}(Hn||(Hn={})),function(e){e.GOOGLE_SERVICE_KEY="GOOGLE_SERVICE_KEY",e.GOOGLE_API_KEY="GOOGLE_API_KEY"}(jn||(jn={})),function(e){e[e.LOW=85]="LOW",e[e.HIGH=170]="HIGH",e[e.ADDITIONAL=85]="ADDITIONAL"}(zn||(zn={})),function(e){e.GENERAL="general",e.CHAT="chat",e.SPEECH="speech",e.BETA="beta",e.DATA="data",e.ACCOUNT="account",e.COMMANDS="commands"}(Gn||(Gn={})),function(e){e.OPENAI="openai",e.AZURE_OPENAI="azureOpenAI"}(Bn||(Bn={})),function(e){e.OPENAI="openai",e.AZURE_OPENAI="azureOpenAI",e.ELEVENLABS="elevenlabs",e.LOCALAI="localai"}(Vn||(Vn={})),function(e){e.VERSION="v0.7.7",e.CONFIG_VERSION="1.2.4",e.NO_PARENT="00000000-0000-0000-0000-000000000000",e.NEW_CONVO="new",e.SEARCH="search",e[e.ENCODED_DOMAIN_LENGTH=10]="ENCODED_DOMAIN_LENGTH",e.CURRENT_MODEL="current_model",e.COMMON_DIVIDER="__",e[e.COMMANDS_MAX_LENGTH=56]="COMMANDS_MAX_LENGTH",e[e.DEFAULT_STREAM_RATE=1]="DEFAULT_STREAM_RATE",e.SAVED_TAG="Saved",e[e.MAX_CONVO_STARTERS=4]="MAX_CONVO_STARTERS",e.GLOBAL_PROJECT_NAME="instance",e.mcp_delimiter="_mcp_"}(Fn||(Fn={})),function(e){e.APP_TITLE="appTitle",e.LAST_CONVO_SETUP="lastConversationSetup",e.LAST_MODEL="lastSelectedModel",e.LAST_TOOLS="lastSelectedTools",e.LAST_SPEC="lastSelectedSpec",e.FILES_TO_DELETE="filesToDelete",e.ASST_ID_PREFIX="assistant_id__",e.AGENT_ID_PREFIX="agent_id__",e.FORK_SETTING="forkSetting",e.REMEMBER_FORK_OPTION="rememberDefaultFork",e.FORK_SPLIT_AT_TARGET="splitAtTarget",e.TEXT_DRAFT="textDraft_",e.FILES_DRAFT="filesDraft_",e.LAST_PROMPT_CATEGORY="lastPromptCategory",e.ENABLE_USER_MSG_MARKDOWN="enableUserMsgMarkdown",e.SHOW_ANALYSIS_CODE="showAnalysisCode"}(Wn||(Wn={})),function(e){e.DIRECT_PATH="directPath",e.INCLUDE_BRANCHES="includeBranches",e.TARGET_LEVEL="targetLevel",e.DEFAULT="default"}(qn||(qn={})),function(e){e.API_URL="https://api.cohere.ai/v1",e.ROLE_USER="USER",e.ROLE_SYSTEM="SYSTEM",e.ROLE_CHATBOT="CHATBOT",e.TITLE_MESSAGE="TITLE:"}(Kn||(Kn={})),function(e){e.ALL="sys__all__sys",e.MY_PROMPTS="sys__my__prompts__sys",e.NO_CATEGORY="sys__no__category__sys",e.SHARED_PROMPTS="sys__shared__prompts__sys"}(Yn||(Yn={}));var $n,Zn,Qn,Jn=((Ct={})[U.openAI]=U.openAI,Ct[U.bedrock]=U.bedrock,Ct[U.anthropic]=U.anthropic,Ct[U.azureOpenAI]=U.azureOpenAI,Ct);!function(e){e.TEXT="text",e.THINK="think",e.TEXT_DELTA="text_delta",e.TOOL_CALL="tool_call",e.IMAGE_FILE="image_file",e.IMAGE_URL="image_url",e.AGENT_UPDATE="agent_update",e.ERROR="error"}($n||($n={})),function(e){e.TOOL_CALLS="tool_calls",e.MESSAGE_CREATION="message_creation"}(Zn||(Zn={})),function(e){e.FUNCTION="function",e.RETRIEVAL="retrieval",e.FILE_SEARCH="file_search",e.CODE_INTERPRETER="code_interpreter",e.TOOL_CALL="tool_call"}(Qn||(Qn={}));var ea=xe.pick({modelLabel:!0,promptPrefix:!0,resendFiles:!0,iconURL:!0,greeting:!0,spec:!0,maxOutputTokens:!0,maxContextTokens:!0,artifacts:!0,region:!0,system:!0,model:!0,maxTokens:!0,temperature:!0,topP:!0,stop:!0,thinking:!0,thinkingBudget:!0,topK:!0,additionalModelRequestFields:!0}).transform((function(e){var t,n;if(null!=(null===(t=e.additionalModelRequestFields)||void 0===t?void 0:t.thinking)){var a=e;e.thinking=!!a.additionalModelRequestFields.thinking,e.thinkingBudget="object"==typeof a.additionalModelRequestFields.thinking?null===(n=a.additionalModelRequestFields.thinking)||void 0===n?void 0:n.budget_tokens:void 0,delete e.additionalModelRequestFields}return Se(e)})).catch((function(){return{}})),ta=xe.pick({modelLabel:!0,promptPrefix:!0,resendFiles:!0,iconURL:!0,greeting:!0,spec:!0,artifacts:!0,maxOutputTokens:!0,maxContextTokens:!0,region:!0,model:!0,maxTokens:!0,temperature:!0,topP:!0,stop:!0,thinking:!0,thinkingBudget:!0,topK:!0,additionalModelRequestFields:!0}).catchall(e.any()).transform((function(e){var t=["modelLabel","promptPrefix","resendFiles","iconURL","greeting","spec","maxOutputTokens","artifacts","additionalModelRequestFields","region","model","maxTokens","temperature","topP","stop"],n={},a=e;return Object.entries(a).forEach((function(e){var o=e[0],r=e[1];t.includes(o)||("topK"===o?n.top_k=r:n[o]=r,delete a[o])})),"string"==typeof a.model&&a.model.includes("anthropic.claude-3-7-sonnet")?(void 0===n.thinking?n.thinking=!0:!1===n.thinking&&(delete n.thinking,delete n.thinkingBudget),!0===n.thinking&&void 0===n.thinkingBudget&&(n.thinkingBudget=2e3),n.anthropic_beta=["output-128k-2025-02-19"]):null==n.thinking&&null==n.thinkingBudget||(delete n.thinking,delete n.thinkingBudget),Object.keys(n).length>0&&(a.additionalModelRequestFields=l(l({},a.additionalModelRequestFields||{}),n)),void 0!==a.maxOutputTokens?a.maxTokens=a.maxOutputTokens:void 0!==a.maxTokens&&(a.maxOutputTokens=a.maxTokens),Se(a)})).catch((function(){return{}}));var na,aa,oa=function(e){var t,n=u(u([],Object.keys(xe.shape),!0),["topK","top_k"],!1),a={};return Object.entries(e).forEach((function(e){var t=e[0],o=e[1];n.includes(t)&&(a[t]=o)})),"object"==typeof e.additionalModelRequestFields&&null!==e.additionalModelRequestFields&&Object.entries(e.additionalModelRequestFields).forEach((function(e){var t=e[0],o=e[1];if(n.includes(t))if("top_k"===t)a.topK=o;else{if("thinking"===t||"thinkingBudget"===t)return;a[t]=o}})),void 0!==a.maxTokens&&void 0===a.maxOutputTokens?a.maxOutputTokens=a.maxTokens:void 0!==a.maxOutputTokens&&void 0===a.maxTokens&&(a.maxTokens=a.maxOutputTokens),a=function(e){var t,n,a,o,r=l({},e);if(!0===(null===(t=r.additionalModelRequestFields)||void 0===t?void 0:t.thinking)){r.maxTokens=null!==(a=null!==(n=r.maxTokens)&&void 0!==n?n:r.maxOutputTokens)&&void 0!==a?a:8192,delete r.maxOutputTokens;var i={type:"enabled",budget_tokens:null!==(o=r.additionalModelRequestFields.thinkingBudget)&&void 0!==o?o:2e3};i.budget_tokens>r.maxTokens&&(i.budget_tokens=Math.floor(.9*r.maxTokens)),r.additionalModelRequestFields.thinking=i,delete r.additionalModelRequestFields.thinkingBudget}return r}(a),null==(null===(t=a.additionalModelRequestFields)||void 0===t?void 0:t.thinking)&&delete a.additionalModelRequestFields,a},ra=((na={})[U.openAI]=He,na[U.azureOpenAI]=He,na[U.custom]=He,na[U.google]=Ae,na[U.anthropic]=ze,na[U.chatGPTBrowser]=Me,na[U.gptPlugins]=Ee,na[U.assistants]=Le,na[U.azureAssistants]=Le,na[U.agents]=Fe,na[U.bedrock]=ea,na);function ia(){var e,t=[U.openAI,U.agents,U.assistants,U.azureAssistants,U.azureOpenAI,U.google,U.chatGPTBrowser,U.gptPlugins,U.anthropic,U.bedrock],n=null!==(e=process.env.ENDPOINTS)&&void 0!==e?e:"",a=t;return n&&(a=n.split(",").filter((function(e){return e.trim()})).map((function(e){return e.trim()}))),a}function sa(e){if(!e)return{};var t=ia(),n=Object.keys(e),a=t.indexOf(U.custom);return n.reduce((function(n,o){var r=!(o in U);if(!t.includes(o)&&!r)return n;var i=t.indexOf(o);return r?n[o]=l({order:a>=0?a:9999},e[o]):e[o]&&(n[o]=l(l({},e[o]),{order:i})),n}),{})}function la(e){return e.map((function(e){var t=e.path.join("."),n=e.message;return"".concat(t,": ").concat(n)})).join(" ")}function ca(e){var t=l({},null!=e?e:{});return e&&"object"==typeof e&&!Array.isArray(e)&&Object.keys(e).forEach((function(n){t[n]=R(e[n])})),t}function pa(e){for(var t,n=0,a=e;n<a.length;n++){var o=a[n];if(o){t=o;break}}return t}function da(e){for(var t=0,n=e;t<n.length;t++){var a=n[t];if(a&&""!==a.trim())return a}}var ua=function(e){var t,n,a=e.endpoint,o=e.endpointType,r=e.conversation,i=e.possibleValues,s=ra[a];if(!s&&!o)throw new Error("Unknown endpoint: ".concat(a));!s&&o&&(s=ra[o]);var l=null==s?void 0:s.parse(r),c=null!=i?i:{},p=c.models,d=c.secondaryModels;return p&&l&&(l.model=null!==(t=pa(p))&&void 0!==t?t:l.model),d&&(null==l?void 0:l.agentOptions)&&(l.agentOptions.model=null!==(n=pa(d))&&void 0!==n?n:l.agentOptions.model),l},ma=function(e){var t=e.match(/gpt-(\d+(?:\.\d+)?)([a-z])?/i);if(t){var n=t[1],a=t[2]||"";return"GPT-".concat(n).concat(a)}return""},fa=function(e){var t=e.match(/\bo(\d+(?:\.\d+)?)\b/i);if(t){var n=t[1];return"o".concat(n)}return""},ga=function(e){var t,n=e.model,a=e.endpoint,o=e.endpointType,r=e.modelDisplayLabel,i=e.chatGptLabel,s=e.modelLabel,l=null!=n?n:"",c=null!=r?r:"",p=null!=i?i:"",d=null!=s?s:"";return[U.openAI,U.bedrock,U.gptPlugins,U.azureOpenAI,U.chatGPTBrowser].includes(a)?p||(d||(l&&fa(l)?fa(l):l&&l.includes("mistral")?"Mistral":l&&l.includes("gpt-")?ma(l)||"GPT":null!==(t=Pn[a])&&void 0!==t?t:"ChatGPT")):a===U.anthropic?d||"Claude":a===U.bedrock?d||Pn[a]:a===U.google?d||(l&&(l.includes("gemini")||l.includes("learnlm"))?"Gemini":l&&l.includes("code")?"Codey":"PaLM2"):a===U.custom||o===U.custom?d||(p||(l&&fa(l)?fa(l):l&&l.includes("mistral")?"Mistral":l&&l.includes("gpt-")?ma(l)||"GPT":c||"AI")):""},va=((aa={})[U.openAI]=He,aa[U.azureOpenAI]=He,aa[U.custom]=He,aa[U.assistants]=Oe,aa[U.azureAssistants]=Oe,aa[U.agents]=Fe,aa[U.google]=je,aa[U.bedrock]=ea,aa[U.anthropic]=ze,aa[U.chatGPTBrowser]=Ge,aa[U.gptPlugins]=Be,aa),ba=function(e){var t,n=e.endpoint,a=e.endpointType,o=e.conversation,r=e.possibleValues;if(!n)throw new Error("undefined endpoint: ".concat(n));var i=va[n];if(!i&&!a)throw new Error("Unknown endpoint: ".concat(n));if(!i&&a&&(i=va[a]),!i)throw new Error("Unknown endpointType: ".concat(a));var s=i.parse(o),l=(null!=r?r:{}).models;return l&&s&&(s.model=null!==(t=pa(l))&&void 0!==t?t:s.model),s};function ya(e){for(var t="",n=0,a=e;n<a.length;n++){var o=a[n];if(o.type)if(o.type===$n.TEXT){var r="string"==typeof o.text?o.text:o.text.value;t.length>0&&r.length>0&&" "!==t[t.length-1]&&" "!==r[0]&&(t+=" "),t+=r}else if(o.type===$n.THINK){r="string"==typeof o.think?o.think:"";t.length>0&&r.length>0&&" "!==t[t.length-1]&&" "!==r[0]&&(t+=" "),t+=r}}return t}var ha=[".","?","!","۔","。","‥",";","¡","¿","\n","```"];function Ra(e,t){void 0===t&&(t=ha);for(var n=-1,a=0,o=t;a<o.length;a++){var r=o[a],i=e.lastIndexOf(r);i>n&&(n=i)}return n}var xa,Ta=[{key:"AZURE_OPENAI_DEFAULT_MODEL",description:"setting a default model"},{key:"AZURE_OPENAI_MODELS",description:"setting models"},{key:"AZURE_USE_MODEL_AS_DEPLOYMENT_NAME",description:"using model names as deployment names"},{key:"AZURE_API_KEY",description:"setting a single Azure API key"},{key:"AZURE_OPENAI_API_INSTANCE_NAME",description:"setting a single Azure instance name"},{key:"AZURE_OPENAI_API_DEPLOYMENT_NAME",description:"setting a single Azure deployment name"},{key:"AZURE_OPENAI_API_VERSION",description:"setting a single Azure API version"},{key:"AZURE_OPENAI_API_COMPLETIONS_DEPLOYMENT_NAME",description:"setting a single Azure completions deployment name"},{key:"AZURE_OPENAI_API_EMBEDDINGS_DEPLOYMENT_NAME",description:"setting a single Azure embeddings deployment name"},{key:"PLUGINS_USE_AZURE",description:"using Azure for Plugins"}],Pa=[{key:"INSTANCE_NAME"},{key:"DEPLOYMENT_NAME"}];function Na(e){var t,n,a,o,r=!0,i=[],s={},p={},d=[],u=Wt.safeParse(e);if(u.success)for(var m=0,f=u.data;m<f.length;m++){var g=f[m],v=g.group,b=g.apiKey,y=g.instanceName,h=void 0===y?"":y,R=g.deploymentName,x=void 0===R?"":R,T=g.version,P=void 0===T?"":T,N=g.baseURL,w=void 0===N?"":N,C=g.additionalHeaders,A=g.models,k=g.serverless,M=void 0!==k&&k,E=c(g,["group","apiKey","instanceName","deploymentName","version","baseURL","additionalHeaders","models","serverless"]);if(p[v])return d.push('Duplicate group name detected: "'.concat(v,'". Group names must be unique.')),{isValid:!1,modelNames:i,modelGroupMap:s,groupMap:p,errors:d};if(M&&!w)return d.push('Group "'.concat(v,'" is serverless but missing mandatory "baseURL."')),{isValid:!1,modelNames:i,modelGroupMap:s,groupMap:p,errors:d};if(!h&&!M)return d.push('Group "'.concat(v,'" is missing an "instanceName" for non-serverless configuration.')),{isValid:!1,modelNames:i,modelGroupMap:s,groupMap:p,errors:d};for(var S in p[v]=l({apiKey:b,instanceName:h,deploymentName:x,version:P,baseURL:w,additionalHeaders:C,models:A,serverless:M},E),g.models){i.push(S);var _=g.models[S];if(s[S])return d.push('Duplicate model name detected: "'.concat(S,'". Model names must be unique across groups.')),{isValid:!1,modelNames:i,modelGroupMap:s,groupMap:p,errors:d};if(M)s[S]={group:v};else{var D=null!==(t=g.deploymentName)&&void 0!==t?t:"",I=null!==(n=g.version)&&void 0!==n?n:"";if("boolean"==typeof _){if(!D||!I)return d.push('Model "'.concat(S,'" in group "').concat(v,'" is missing a deploymentName or version.')),{isValid:!1,modelNames:i,modelGroupMap:s,groupMap:p,errors:d};s[S]={group:v}}else{var L=null!==(a=_.deploymentName)&&void 0!==a?a:"",O=null!==(o=_.version)&&void 0!==o?o:"";if(!L&&!D||!O&&!I)return d.push('Model "'.concat(S,'" in group "').concat(v,'" is missing a required deploymentName or version.')),{isValid:!1,modelNames:i,modelGroupMap:s,groupMap:p,errors:d};s[S]={group:v}}}}}else r=!1,d.push(la(u.error.errors));return{isValid:r,modelNames:i,modelGroupMap:s,groupMap:p,errors:d}}function wa(e){var t,n,a,o,r,i=e.modelName,s=e.modelGroupMap,l=e.groupMap,c=s[i];if(!c)throw new Error('Model named "'.concat(i,'" not found in configuration.'));var p=l[c.group];if(!p)throw new Error('Group "'.concat(c.group,'" for model "').concat(i,'" not found in configuration.'));var d=null!==(t=p.instanceName)&&void 0!==t?t:"";if(!d&&!0!==p.serverless)throw new Error('Group "'.concat(c.group,'" is missing an instanceName for non-serverless configuration.'));var u=null!==(n=p.baseURL)&&void 0!==n?n:"";if(!0===p.serverless&&!u)throw new Error('Group "'.concat(c.group,'" is missing the required base URL for serverless configuration.'));if(!0===p.serverless){var m={azureOptions:{azureOpenAIApiVersion:R(null!==(a=p.version)&&void 0!==a?a:""),azureOpenAIApiKey:R(p.apiKey)},baseURL:R(u),serverless:!0},f=m.azureOptions.azureOpenAIApiKey;if("string"==typeof f&&h.test(f))throw new Error('Azure configuration environment variable "'.concat(f,'" was not found.'));return p.additionalHeaders&&(m.headers=p.additionalHeaders),m}if(!d)throw new Error('Group "'.concat(c.group,'" is missing an instanceName for non-serverless configuration.'));var g=p.models[i],v="object"==typeof g?{deploymentName:null!==(o=g.deploymentName)&&void 0!==o?o:p.deploymentName,version:null!==(r=g.version)&&void 0!==r?r:p.version}:{deploymentName:p.deploymentName,version:p.version},b=v.deploymentName,y=void 0===b?"":b,x=v.version,T=void 0===x?"":x;if(!y||!T)throw new Error('Model "'.concat(i,'" in group "').concat(c.group,'" is missing a deploymentName ("').concat(y,'") or version ("').concat(T,'").'));for(var P={azureOpenAIApiKey:R(p.apiKey),azureOpenAIApiInstanceName:R(d),azureOpenAIApiDeploymentName:R(y),azureOpenAIApiVersion:R(T)},N=0,w=Object.values(P);N<w.length;N++){var C=w[N];if("string"==typeof C&&h.test(C))throw new Error('Azure configuration environment variable "'.concat(C,'" was not found.'))}var A={azureOptions:P};return u&&(A.baseURL=R(u)),p.additionalHeaders&&(A.headers=p.additionalHeaders),A}function Ca(e){var t,n,a,o,r,i,s=e.groupName,c=e.groupMap[s];if(!c)throw new Error('Group named "'.concat(s,'" not found in configuration.'));var p=null!==(t=c.instanceName)&&void 0!==t?t:"",d=null!==(n=c.serverless)&&void 0!==n&&n,u=null!==(a=c.baseURL)&&void 0!==a?a:"";if(!p&&!d)throw new Error('Group "'.concat(s,'" is missing an instanceName for non-serverless configuration.'));if(d&&!u)throw new Error('Group "'.concat(s,'" is missing the required base URL for serverless configuration.'));var m=Object.keys(c.models);if(0===m.length)throw new Error('Group "'.concat(s,'" does not have any models configured.'));var f=m[0],g=c.models[f],v={azureOpenAIApiVersion:R(null!==(o=c.version)&&void 0!==o?o:""),azureOpenAIApiKey:R(c.apiKey),azureOpenAIApiInstanceName:R(p)};if(d)return l({azureOptions:v,baseURL:R(u),serverless:!0},c.additionalHeaders&&{headers:c.additionalHeaders});var b="object"==typeof g?{deploymentName:null!==(r=g.deploymentName)&&void 0!==r?r:c.deploymentName,version:null!==(i=g.version)&&void 0!==i?i:c.version}:{deploymentName:c.deploymentName,version:c.version},y=b.deploymentName,h=void 0===y?"":y,x=b.version,T=void 0===x?"":x;if(!h||!T)throw new Error('Model "'.concat(f,'" in group "').concat(s,'" or the group itself is missing a deploymentName ("').concat(h,'") or version ("').concat(T,'").'));v.azureOpenAIApiDeploymentName=R(h),v.azureOpenAIApiVersion=R(T);var P={azureOptions:v};return u&&(P.baseURL=R(u)),c.additionalHeaders&&(P.headers=c.additionalHeaders),P}!function(e){e.DEFAULT="default",e.SHADCNUI="shadcnui",e.CUSTOM="custom"}(xa||(xa={}));var Aa,ka,Ma,Ea='\nimport { type ClassValue, clsx } from "clsx"\nimport { twMerge } from "tailwind-merge"\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs))\n}\n',Sa='import * as React from "react"\nimport * as AccordionPrimitive from "@radix-ui/react-accordion"\nimport { ChevronDown } from "lucide-react"\n\nimport { cn } from "../../lib/utils"\n\nconst Accordion = AccordionPrimitive.Root\n\nconst AccordionItem = React.forwardRef<\n React.ElementRef<typeof AccordionPrimitive.Item>,\n React.ComponentPropsWithoutRef<typeof AccordionPrimitive.Item>\n>(({ className, ...props }, ref) => (\n <AccordionPrimitive.Item\n ref={ref}\n className={cn("border-b", className)}\n {...props}\n />\n))\nAccordionItem.displayName = "AccordionItem"\n\nconst AccordionTrigger = React.forwardRef<\n React.ElementRef<typeof AccordionPrimitive.Trigger>,\n React.ComponentPropsWithoutRef<typeof AccordionPrimitive.Trigger>\n>(({ className, children, ...props }, ref) => (\n <AccordionPrimitive.Header className="flex">\n <AccordionPrimitive.Trigger\n ref={ref}\n className={cn(\n "flex flex-1 items-center justify-between py-4 font-medium transition-all hover:underline [&[data-state=open]>svg]:rotate-180",\n className\n )}\n {...props}\n >\n {children}\n <ChevronDown className="h-4 w-4 shrink-0 transition-transform duration-200" />\n </AccordionPrimitive.Trigger>\n </AccordionPrimitive.Header>\n))\nAccordionTrigger.displayName = AccordionPrimitive.Trigger.displayName\n\nconst AccordionContent = React.forwardRef<\n React.ElementRef<typeof AccordionPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof AccordionPrimitive.Content>\n>(({ className, children, ...props }, ref) => (\n <AccordionPrimitive.Content\n ref={ref}\n className="overflow-hidden text-sm transition-all data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down"\n {...props}\n >\n <div className={cn("pb-4 pt-0", className)}>{children}</div>\n </AccordionPrimitive.Content>\n))\n\nAccordionContent.displayName = AccordionPrimitive.Content.displayName\n\nexport { Accordion, AccordionItem, AccordionTrigger, AccordionContent }\n',_a='import * as React from "react"\nimport * as AlertDialogPrimitive from "@radix-ui/react-alert-dialog"\n\nimport { cn } from "../../lib/utils"\nimport { buttonVariants } from "./button"\n\nconst AlertDialog = AlertDialogPrimitive.Root\n\nconst AlertDialogTrigger = AlertDialogPrimitive.Trigger\n\nconst AlertDialogPortal = AlertDialogPrimitive.Portal\n\nconst AlertDialogOverlay = React.forwardRef<\n React.ElementRef<typeof AlertDialogPrimitive.Overlay>,\n React.ComponentPropsWithoutRef<typeof AlertDialogPrimitive.Overlay>\n>(({ className, ...props }, ref) => (\n <AlertDialogPrimitive.Overlay\n className={cn(\n "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",\n className\n )}\n {...props}\n ref={ref}\n />\n))\nAlertDialogOverlay.displayName = AlertDialogPrimitive.Overlay.displayName\n\nconst AlertDialogContent = React.forwardRef<\n React.ElementRef<typeof AlertDialogPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof AlertDialogPrimitive.Content>\n>(({ className, ...props }, ref) => (\n <AlertDialogPortal>\n <AlertDialogOverlay />\n <AlertDialogPrimitive.Content\n ref={ref}\n className={cn(\n "fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border border-gray-200 bg-white p-6 shadow-lg duration-200 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-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg dark:border-gray-800 dark:bg-gray-950",\n className\n )}\n {...props}\n />\n </AlertDialogPortal>\n))\nAlertDialogContent.displayName = AlertDialogPrimitive.Content.displayName\n\nconst AlertDialogHeader = ({\n className,\n ...props\n}: React.HTMLAttributes<HTMLDivElement>) => (\n <div\n className={cn(\n "flex flex-col space-y-2 text-center sm:text-left",\n className\n )}\n {...props}\n />\n)\nAlertDialogHeader.displayName = "AlertDialogHeader"\n\nconst AlertDialogFooter = ({\n className,\n ...props\n}: React.HTMLAttributes<HTMLDivElement>) => (\n <div\n className={cn(\n "flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",\n className\n )}\n {...props}\n />\n)\nAlertDialogFooter.displayName = "AlertDialogFooter"\n\nconst AlertDialogTitle = React.forwardRef<\n React.ElementRef<typeof AlertDialogPrimitive.Title>,\n React.ComponentPropsWithoutRef<typeof AlertDialogPrimitive.Title>\n>(({ className, ...props }, ref) => (\n <AlertDialogPrimitive.Title\n ref={ref}\n className={cn("text-lg font-semibold", className)}\n {...props}\n />\n))\nAlertDialogTitle.displayName = AlertDialogPrimitive.Title.displayName\n\nconst AlertDialogDescription = React.forwardRef<\n React.ElementRef<typeof AlertDialogPrimitive.Description>,\n React.ComponentPropsWithoutRef<typeof AlertDialogPrimitive.Description>\n>(({ className, ...props }, ref) => (\n <AlertDialogPrimitive.Description\n ref={ref}\n className={cn("text-sm text-gray-500 dark:text-gray-400", className)}\n {...props}\n />\n))\nAlertDialogDescription.displayName =\n AlertDialogPrimitive.Description.displayName\n\nconst AlertDialogAction = React.forwardRef<\n React.ElementRef<typeof AlertDialogPrimitive.Action>,\n React.ComponentPropsWithoutRef<typeof AlertDialogPrimitive.Action>\n>(({ className, ...props }, ref) => (\n <AlertDialogPrimitive.Action\n ref={ref}\n className={cn(buttonVariants(), className)}\n {...props}\n />\n))\nAlertDialogAction.displayName = AlertDialogPrimitive.Action.displayName\n\nconst AlertDialogCancel = React.forwardRef<\n React.ElementRef<typeof AlertDialogPrimitive.Cancel>,\n React.ComponentPropsWithoutRef<typeof AlertDialogPrimitive.Cancel>\n>(({ className, ...props }, ref) => (\n <AlertDialogPrimitive.Cancel\n ref={ref}\n className={cn(\n buttonVariants({ variant: "outline" }),\n "mt-2 sm:mt-0",\n className\n )}\n {...props}\n />\n))\nAlertDialogCancel.displayName = AlertDialogPrimitive.Cancel.displayName\n\nexport {\n AlertDialog,\n AlertDialogPortal,\n AlertDialogOverlay,\n AlertDialogTrigger,\n AlertDialogContent,\n AlertDialogHeader,\n AlertDialogFooter,\n AlertDialogTitle,\n AlertDialogDescription,\n AlertDialogAction,\n AlertDialogCancel,\n}\n',Da='import * as React from "react"\nimport { cva, type VariantProps } from "class-variance-authority"\n\nimport { cn } from "../../lib/utils"\n\nconst alertVariants = cva(\n "relative w-full rounded-lg border border-gray-200 p-4 [&>svg~*]:pl-7 [&>svg+div]:translate-y-[-3px] [&>svg]:absolute [&>svg]:left-4 [&>svg]:top-4 [&>svg]:text-gray-950 dark:border-gray-800 dark:[&>svg]:text-gray-50",\n {\n variants: {\n variant: {\n default: "bg-white text-gray-950 dark:bg-gray-950 dark:text-gray-50",\n destructive:\n "border-red-500/50 text-red-500 dark:border-red-500 [&>svg]:text-red-500 dark:border-red-900/50 dark:text-red-900 dark:dark:border-red-900 dark:[&>svg]:text-red-900",\n },\n },\n defaultVariants: {\n variant: "default",\n },\n }\n)\n\nconst Alert = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement> & VariantProps<typeof alertVariants>\n>(({ className, variant, ...props }, ref) => (\n <div\n ref={ref}\n role="alert"\n className={cn(alertVariants({ variant }), className)}\n {...props}\n />\n))\nAlert.displayName = "Alert"\n\nconst AlertTitle = React.forwardRef<\n HTMLParagraphElement,\n React.HTMLAttributes<HTMLHeadingElement>\n>(({ className, ...props }, ref) => (\n <h5\n ref={ref}\n className={cn("mb-1 font-medium leading-none tracking-tight", className)}\n {...props}\n />\n))\nAlertTitle.displayName = "AlertTitle"\n\nconst AlertDescription = React.forwardRef<\n HTMLParagraphElement,\n React.HTMLAttributes<HTMLParagraphElement>\n>(({ className, ...props }, ref) => (\n <div\n ref={ref}\n className={cn("text-sm [&_p]:leading-relaxed", className)}\n {...props}\n />\n))\nAlertDescription.displayName = "AlertDescription"\n\nexport { Alert, AlertTitle, AlertDescription }\n\n',Ia='import * as React from "react"\nimport * as AvatarPrimitive from "@radix-ui/react-avatar"\n\nimport { cn } from "../../lib/utils"\n\nconst Avatar = React.forwardRef<\n React.ElementRef<typeof AvatarPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof AvatarPrimitive.Root>\n>(({ className, ...props }, ref) => (\n <AvatarPrimitive.Root\n ref={ref}\n className={cn(\n "relative flex h-10 w-10 shrink-0 overflow-hidden rounded-full",\n className\n )}\n {...props}\n />\n))\nAvatar.displayName = AvatarPrimitive.Root.displayName\n\nconst AvatarImage = React.forwardRef<\n React.ElementRef<typeof AvatarPrimitive.Image>,\n React.ComponentPropsWithoutRef<typeof AvatarPrimitive.Image>\n>(({ className, ...props }, ref) => (\n <AvatarPrimitive.Image\n ref={ref}\n className={cn("aspect-square h-full w-full", className)}\n {...props}\n />\n))\nAvatarImage.displayName = AvatarPrimitive.Image.displayName\n\nconst AvatarFallback = React.forwardRef<\n React.ElementRef<typeof AvatarPrimitive.Fallback>,\n React.ComponentPropsWithoutRef<typeof AvatarPrimitive.Fallback>\n>(({ className, ...props }, ref) => (\n <AvatarPrimitive.Fallback\n ref={ref}\n className={cn(\n "flex h-full w-full items-center justify-center rounded-full bg-gray-100 dark:bg-gray-800",\n className\n )}\n {...props}\n />\n))\nAvatarFallback.displayName = AvatarPrimitive.Fallback.displayName\n\nexport { Avatar, AvatarImage, AvatarFallback }\n\n',La='import * as React from "react"\nimport { cva, type VariantProps } from "class-variance-authority"\n\nimport { cn } from "../../lib/utils"\n\nconst badgeVariants = cva(\n "inline-flex items-center rounded-full border border-gray-200 px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-gray-950 focus:ring-offset-2 dark:border-gray-800 dark:focus:ring-gray-300",\n {\n variants: {\n variant: {\n default:\n "border-transparent bg-gray-900 text-gray-50 hover:bg-gray-900/80 dark:bg-gray-50 dark:text-gray-900 dark:hover:bg-gray-50/80",\n secondary:\n "border-transparent bg-gray-100 text-gray-900 hover:bg-gray-100/80 dark:bg-gray-800 dark:text-gray-50 dark:hover:bg-gray-800/80",\n destructive:\n "border-transparent bg-red-500 text-gray-50 hover:bg-red-500/80 dark:bg-red-900 dark:text-gray-50 dark:hover:bg-red-900/80",\n outline: "text-gray-950 dark:text-gray-50",\n },\n },\n defaultVariants: {\n variant: "default",\n },\n }\n)\n\nexport interface BadgeProps\n extends React.HTMLAttributes<HTMLDivElement>,\n VariantProps<typeof badgeVariants> {}\n\nfunction Badge({ className, variant, ...props }: BadgeProps) {\n return (\n <div className={cn(badgeVariants({ variant }), className)} {...props} />\n )\n}\n\nexport { Badge, badgeVariants }\n\n',Oa='import * as React from "react"\nimport { Slot } from "@radix-ui/react-slot"\nimport { ChevronRight, MoreHorizontal } from "lucide-react"\n\nimport { cn } from "../../lib/utils"\n\nconst Breadcrumb = React.forwardRef<\n HTMLElement,\n React.ComponentPropsWithoutRef<"nav"> & {\n separator?: React.ReactNode\n }\n>(({ ...props }, ref) => <nav ref={ref} aria-label="breadcrumb" {...props} />)\nBreadcrumb.displayName = "Breadcrumb"\n\nconst BreadcrumbList = React.forwardRef<\n HTMLOListElement,\n React.ComponentPropsWithoutRef<"ol">\n>(({ className, ...props }, ref) => (\n <ol\n ref={ref}\n className={cn(\n "flex flex-wrap items-center gap-1.5 break-words text-sm text-gray-500 sm:gap-2.5 dark:text-gray-400",\n className\n )}\n {...props}\n />\n))\nBreadcrumbList.displayName = "BreadcrumbList"\n\nconst BreadcrumbItem = React.forwardRef<\n HTMLLIElement,\n React.ComponentPropsWithoutRef<"li">\n>(({ className, ...props }, ref) => (\n <li\n ref={ref}\n className={cn("inline-flex items-center gap-1.5", className)}\n {...props}\n />\n))\nBreadcrumbItem.displayName = "BreadcrumbItem"\n\nconst BreadcrumbLink = React.forwardRef<\n HTMLAnchorElement,\n React.ComponentPropsWithoutRef<"a"> & {\n asChild?: boolean\n }\n>(({ asChild, className, ...props }, ref) => {\n const Comp = asChild ? Slot : "a"\n\n return (\n <Comp\n ref={ref}\n className={cn("transition-colors hover:text-gray-950 dark:hover:text-gray-50", className)}\n {...props}\n />\n )\n})\nBreadcrumbLink.displayName = "BreadcrumbLink"\n\nconst BreadcrumbPage = React.forwardRef<\n HTMLSpanElement,\n React.ComponentPropsWithoutRef<"span">\n>(({ className, ...props }, ref) => (\n <span\n ref={ref}\n role="link"\n aria-disabled="true"\n aria-current="page"\n className={cn("font-normal text-gray-950 dark:text-gray-50", className)}\n {...props}\n />\n))\nBreadcrumbPage.displayName = "BreadcrumbPage"\n\nconst BreadcrumbSeparator = ({\n children,\n className,\n ...props\n}: React.ComponentProps<"li">) => (\n <li\n role="presentation"\n aria-hidden="true"\n className={cn("[&>svg]:size-3.5", className)}\n {...props}\n >\n {children ?? <ChevronRight />}\n </li>\n)\nBreadcrumbSeparator.displayName = "BreadcrumbSeparator"\n\nconst BreadcrumbEllipsis = ({\n className,\n ...props\n}: React.ComponentProps<"span">) => (\n <span\n role="presentation"\n aria-hidden="true"\n className={cn("flex h-9 w-9 items-center justify-center", className)}\n {...props}\n >\n <MoreHorizontal className="h-4 w-4" />\n <span className="sr-only">More</span>\n </span>\n)\nBreadcrumbEllipsis.displayName = "BreadcrumbElipssis"\n\nexport {\n Breadcrumb,\n BreadcrumbList,\n BreadcrumbItem,\n BreadcrumbLink,\n BreadcrumbPage,\n BreadcrumbSeparator,\n BreadcrumbEllipsis,\n}\n\n',Ua='import * as React from "react"\nimport { Slot } from "@radix-ui/react-slot"\nimport { cva, type VariantProps } from "class-variance-authority"\n\nimport { cn } from \'../../lib/utils\';\n\nconst buttonVariants = cva(\n "inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium ring-offset-white transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-gray-950 focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 dark:ring-offset-gray-950 dark:focus-visible:ring-gray-300",\n {\n variants: {\n variant: {\n default: "bg-gray-900 text-gray-50 hover:bg-gray-900/90 dark:bg-gray-50 dark:text-gray-900 dark:hover:bg-gray-50/90",\n destructive:\n "bg-red-500 text-gray-50 hover:bg-red-500/90 dark:bg-red-900 dark:text-gray-50 dark:hover:bg-red-900/90",\n outline:\n "border border-gray-200 bg-white hover:bg-gray-100 hover:text-gray-900 dark:border-gray-800 dark:bg-gray-950 dark:hover:bg-gray-800 dark:hover:text-gray-50",\n secondary:\n "bg-gray-100 text-gray-900 hover:bg-gray-100/80 dark:bg-gray-800 dark:text-gray-50 dark:hover:bg-gray-800/80",\n ghost: "hover:bg-gray-100 hover:text-gray-900 dark:hover:bg-gray-800 dark:hover:text-gray-50",\n link: "text-gray-900 underline-offset-4 hover:underline dark:text-gray-50",\n },\n size: {\n default: "h-10 px-4 py-2",\n sm: "h-9 rounded-md px-3",\n lg: "h-11 rounded-md px-8",\n icon: "h-10 w-10",\n },\n },\n defaultVariants: {\n variant: "default",\n size: "default",\n },\n }\n)\n\nexport interface ButtonProps\n extends React.ButtonHTMLAttributes<HTMLButtonElement>,\n VariantProps<typeof buttonVariants> {\n asChild?: boolean\n}\n\nconst Button = React.forwardRef<HTMLButtonElement, ButtonProps>(\n ({ className, variant, size, asChild = false, ...props }, ref) => {\n const Comp = asChild ? Slot : "button"\n return (\n <Comp\n className={cn(buttonVariants({ variant, size, className }))}\n ref={ref}\n {...props}\n />\n )\n }\n)\nButton.displayName = "Button"\n\nexport { Button, buttonVariants }\n',Ha='import * as React from "react"\nimport { ChevronLeft, ChevronRight } from "lucide-react"\nimport { DayPicker } from "react-day-picker"\n\nimport { cn } from "../../lib/utils"\nimport { buttonVariants } from "./button"\n\nexport type CalendarProps = React.ComponentProps<typeof DayPicker>\n\nfunction Calendar({\n className,\n classNames,\n showOutsideDays = true,\n ...props\n}: CalendarProps) {\n return (\n <DayPicker\n showOutsideDays={showOutsideDays}\n className={cn("p-3", className)}\n classNames={{\n months: "flex flex-col sm:flex-row space-y-4 sm:space-x-4 sm:space-y-0",\n month: "space-y-4",\n caption: "flex justify-center pt-1 relative items-center",\n caption_label: "text-sm font-medium",\n nav: "space-x-1 flex items-center",\n nav_button: cn(\n buttonVariants({ variant: "outline" }),\n "h-7 w-7 bg-transparent p-0 opacity-50 hover:opacity-100"\n ),\n nav_button_previous: "absolute left-1",\n nav_button_next: "absolute right-1",\n table: "w-full border-collapse space-y-1",\n head_row: "flex",\n head_cell:\n "text-gray-500 rounded-md w-9 font-normal text-[0.8rem] dark:text-gray-400",\n row: "flex w-full mt-2",\n cell: "h-9 w-9 text-center text-sm p-0 relative [&:has([aria-selected].day-range-end)]:rounded-r-md [&:has([aria-selected].day-outside)]:bg-gray-100/50 [&:has([aria-selected])]:bg-gray-100 first:[&:has([aria-selected])]:rounded-l-md last:[&:has([aria-selected])]:rounded-r-md focus-within:relative focus-within:z-20 dark:[&:has([aria-selected].day-outside)]:bg-gray-800/50 dark:[&:has([aria-selected])]:bg-gray-800",\n day: cn(\n buttonVariants({ variant: "ghost" }),\n "h-9 w-9 p-0 font-normal aria-selected:opacity-100"\n ),\n day_range_end: "day-range-end",\n day_selected:\n "bg-gray-900 text-gray-50 hover:bg-gray-900 hover:text-gray-50 focus:bg-gray-900 focus:text-gray-50 dark:bg-gray-50 dark:text-gray-900 dark:hover:bg-gray-50 dark:hover:text-gray-900 dark:focus:bg-gray-50 dark:focus:text-gray-900",\n day_today: "bg-gray-100 text-gray-900 dark:bg-gray-800 dark:text-gray-50",\n day_outside:\n "day-outside text-gray-500 opacity-50 aria-selected:bg-gray-100/50 aria-selected:text-gray-500 aria-selected:opacity-30 dark:text-gray-400 dark:aria-selected:bg-gray-800/50 dark:aria-selected:text-gray-400",\n day_disabled: "text-gray-500 opacity-50 dark:text-gray-400",\n day_range_middle:\n "aria-selected:bg-gray-100 aria-selected:text-gray-900 dark:aria-selected:bg-gray-800 dark:aria-selected:text-gray-50",\n day_hidden: "invisible",\n ...classNames,\n }}\n components={{\n IconLeft: ({ ...props }) => <ChevronLeft className="h-4 w-4" />,\n IconRight: ({ ...props }) => <ChevronRight className="h-4 w-4" />,\n }}\n {...props}\n />\n )\n}\nCalendar.displayName = "Calendar"\n\nexport { Calendar }\n\n',ja='import * as React from \'react\';\n\nimport { cn } from \'../../lib/utils\';\n\nconst Card = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => (\n <div\n ref={ref}\n className={cn(\n "rounded-lg border border-gray-200 bg-white text-gray-950 shadow-sm dark:border-gray-800 dark:bg-gray-950 dark:text-gray-50",\n className\n )}\n {...props}\n />\n))\nCard.displayName = "Card"\n\nconst CardHeader = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => (\n <div\n ref={ref}\n className={cn("flex flex-col space-y-1.5 p-6", className)}\n {...props}\n />\n))\nCardHeader.displayName = "CardHeader"\n\nconst CardTitle = React.forwardRef<\n HTMLParagraphElement,\n React.HTMLAttributes<HTMLHeadingElement>\n>(({ className, ...props }, ref) => (\n <h3\n ref={ref}\n className={cn(\n "text-2xl font-semibold leading-none tracking-tight",\n className\n )}\n {...props}\n />\n))\nCardTitle.displayName = "CardTitle"\n\nconst CardDescription = React.forwardRef<\n HTMLParagraphElement,\n React.HTMLAttributes<HTMLParagraphElement>\n>(({ className, ...props }, ref) => (\n <p\n ref={ref}\n className={cn("text-sm text-gray-500 dark:text-gray-400", className)}\n {...props}\n />\n))\nCardDescription.displayName = "CardDescription"\n\nconst CardContent = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => (\n <div ref={ref} className={cn("p-6 pt-0", className)} {...props} />\n))\nCardContent.displayName = "CardContent"\n\nconst CardFooter = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => (\n <div\n ref={ref}\n className={cn("flex items-center p-6 pt-0", className)}\n {...props}\n />\n))\nCardFooter.displayName = "CardFooter"\n\nexport { Card, CardHeader, CardFooter, CardTitle, CardDescription, CardContent }\n',za='import * as React from "react"\nimport useEmblaCarousel, {\n type UseEmblaCarouselType,\n} from "embla-carousel-react"\nimport { ArrowLeft, ArrowRight } from "lucide-react"\n\nimport { cn } from "../../lib/utils"\nimport { Button } from "./button"\n\ntype CarouselApi = UseEmblaCarouselType[1]\ntype UseCarouselParameters = Parameters<typeof useEmblaCarousel>\ntype CarouselOptions = UseCarouselParameters[0]\ntype CarouselPlugin = UseCarouselParameters[1]\n\ntype CarouselProps = {\n opts?: CarouselOptions\n plugins?: CarouselPlugin\n orientation?: "horizontal" | "vertical"\n setApi?: (api: CarouselApi) => void\n}\n\ntype CarouselContextProps = {\n carouselRef: ReturnType<typeof useEmblaCarousel>[0]\n api: ReturnType<typeof useEmblaCarousel>[1]\n scrollPrev: () => void\n scrollNext: () => void\n canScrollPrev: boolean\n canScrollNext: boolean\n} & CarouselProps\n\nconst CarouselContext = React.createContext<CarouselContextProps | null>(null)\n\nfunction useCarousel() {\n const context = React.useContext(CarouselContext)\n\n if (!context) {\n throw new Error("useCarousel must be used within a <Carousel />")\n }\n\n return context\n}\n\nconst Carousel = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement> & CarouselProps\n>(\n (\n {\n orientation = "horizontal",\n opts,\n setApi,\n plugins,\n className,\n children,\n ...props\n },\n ref\n ) => {\n const [carouselRef, api] = useEmblaCarousel(\n {\n ...opts,\n axis: orientation === "horizontal" ? "x" : "y",\n },\n plugins\n )\n const [canScrollPrev, setCanScrollPrev] = React.useState(false)\n const [canScrollNext, setCanScrollNext] = React.useState(false)\n\n const onSelect = React.useCallback((api: CarouselApi) => {\n if (!api) {\n return\n }\n\n setCanScrollPrev(api.canScrollPrev())\n setCanScrollNext(api.canScrollNext())\n }, [])\n\n const scrollPrev = React.useCallback(() => {\n api?.scrollPrev()\n }, [api])\n\n const scrollNext = React.useCallback(() => {\n api?.scrollNext()\n }, [api])\n\n const handleKeyDown = React.useCallback(\n (event: React.KeyboardEvent<HTMLDivElement>) => {\n if (event.key === "ArrowLeft") {\n event.preventDefault()\n scrollPrev()\n } else if (event.key === "ArrowRight") {\n event.preventDefault()\n scrollNext()\n }\n },\n [scrollPrev, scrollNext]\n )\n\n React.useEffect(() => {\n if (!api || !setApi) {\n return\n }\n\n setApi(api)\n }, [api, setApi])\n\n React.useEffect(() => {\n if (!api) {\n return\n }\n\n onSelect(api)\n api.on("reInit", onSelect)\n api.on("select", onSelect)\n\n return () => {\n api?.off("select", onSelect)\n }\n }, [api, onSelect])\n\n return (\n <CarouselContext.Provider\n value={{\n carouselRef,\n api: api,\n opts,\n orientation:\n orientation || (opts?.axis === "y" ? "vertical" : "horizontal"),\n scrollPrev,\n scrollNext,\n canScrollPrev,\n canScrollNext,\n }}\n >\n <div\n ref={ref}\n onKeyDownCapture={handleKeyDown}\n className={cn("relative", className)}\n role="region"\n aria-roledescription="carousel"\n {...props}\n >\n {children}\n </div>\n </CarouselContext.Provider>\n )\n }\n)\nCarousel.displayName = "Carousel"\n\nconst CarouselContent = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => {\n const { carouselRef, orientation } = useCarousel()\n\n return (\n <div ref={carouselRef} className="overflow-hidden">\n <div\n ref={ref}\n className={cn(\n "flex",\n orientation === "horizontal" ? "-ml-4" : "-mt-4 flex-col",\n className\n )}\n {...props}\n />\n </div>\n )\n})\nCarouselContent.displayName = "CarouselContent"\n\nconst CarouselItem = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => {\n const { orientation } = useCarousel()\n\n return (\n <div\n ref={ref}\n role="group"\n aria-roledescription="slide"\n className={cn(\n "min-w-0 shrink-0 grow-0 basis-full",\n orientation === "horizontal" ? "pl-4" : "pt-4",\n className\n )}\n {...props}\n />\n )\n})\nCarouselItem.displayName = "CarouselItem"\n\nconst CarouselPrevious = React.forwardRef<\n HTMLButtonElement,\n React.ComponentProps<typeof Button>\n>(({ className, variant = "outline", size = "icon", ...props }, ref) => {\n const { orientation, scrollPrev, canScrollPrev } = useCarousel()\n\n return (\n <Button\n ref={ref}\n variant={variant}\n size={size}\n className={cn(\n "absolute h-8 w-8 rounded-full",\n orientation === "horizontal"\n ? "-left-12 top-1/2 -translate-y-1/2"\n : "-top-12 left-1/2 -translate-x-1/2 rotate-90",\n className\n )}\n disabled={!canScrollPrev}\n onClick={scrollPrev}\n {...props}\n >\n <ArrowLeft className="h-4 w-4" />\n <span className="sr-only">Previous slide</span>\n </Button>\n )\n})\nCarouselPrevious.displayName = "CarouselPrevious"\n\nconst CarouselNext = React.forwardRef<\n HTMLButtonElement,\n React.ComponentProps<typeof Button>\n>(({ className, variant = "outline", size = "icon", ...props }, ref) => {\n const { orientation, scrollNext, canScrollNext } = useCarousel()\n\n return (\n <Button\n ref={ref}\n variant={variant}\n size={size}\n className={cn(\n "absolute h-8 w-8 rounded-full",\n orientation === "horizontal"\n ? "-right-12 top-1/2 -translate-y-1/2"\n : "-bottom-12 left-1/2 -translate-x-1/2 rotate-90",\n className\n )}\n disabled={!canScrollNext}\n onClick={scrollNext}\n {...props}\n >\n <ArrowRight className="h-4 w-4" />\n <span className="sr-only">Next slide</span>\n </Button>\n )\n})\nCarouselNext.displayName = "CarouselNext"\n\nexport {\n type CarouselApi,\n Carousel,\n CarouselContent,\n CarouselItem,\n CarouselPrevious,\n CarouselNext,\n}\n\n',Ga='import * as React from "react"\nimport * as CheckboxPrimitive from "@radix-ui/react-checkbox"\nimport { Check } from "lucide-react"\n\nimport { cn } from "../../lib/utils"\n\nconst Checkbox = React.forwardRef<\n React.ElementRef<typeof CheckboxPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof CheckboxPrimitive.Root>\n>(({ className, ...props }, ref) => (\n <CheckboxPrimitive.Root\n ref={ref}\n className={cn(\n "peer h-4 w-4 shrink-0 rounded-sm border border-gray-200 dark:border-gray-900 ring-offset-white focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-gray-950 focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-gray-900 data-[state=checked]:text-gray-50 dark:ring-offset-gray-950 dark:focus-visible:ring-gray-300 dark:data-[state=checked]:bg-gray-50 dark:data-[state=checked]:text-gray-900",\n className\n )}\n {...props}\n >\n <CheckboxPrimitive.Indicator\n className={cn("flex items-center justify-center text-current")}\n >\n <Check className="h-4 w-4" />\n </CheckboxPrimitive.Indicator>\n </CheckboxPrimitive.Root>\n))\nCheckbox.displayName = CheckboxPrimitive.Root.displayName\n\nexport { Checkbox }\n\n',Ba='import * as CollapsiblePrimitive from "@radix-ui/react-collapsible"\n\nconst Collapsible = CollapsiblePrimitive.Root\n\nconst CollapsibleTrigger = CollapsiblePrimitive.CollapsibleTrigger\n\nconst CollapsibleContent = CollapsiblePrimitive.CollapsibleContent\n\nexport { Collapsible, CollapsibleTrigger, CollapsibleContent }\n\n',Va='import * as React from "react"\nimport * as DialogPrimitive from "@radix-ui/react-dialog"\nimport { X } from "lucide-react"\n\nimport { cn } from "../../lib/utils"\n\nconst Dialog = DialogPrimitive.Root\n\nconst DialogTrigger = DialogPrimitive.Trigger\n\nconst DialogPortal = DialogPrimitive.Portal\n\nconst DialogClose = DialogPrimitive.Close\n\nconst DialogOverlay = React.forwardRef<\n React.ElementRef<typeof DialogPrimitive.Overlay>,\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Overlay>\n>(({ className, ...props }, ref) => (\n <DialogPrimitive.Overlay\n ref={ref}\n className={cn(\n "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",\n className\n )}\n {...props}\n />\n))\nDialogOverlay.displayName = DialogPrimitive.Overlay.displayName\n\nconst DialogContent = React.forwardRef<\n React.ElementRef<typeof DialogPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Content>\n>(({ className, children, ...props }, ref) => (\n <DialogPortal>\n <DialogOverlay />\n <DialogPrimitive.Content\n ref={ref}\n className={cn(\n "fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border border-gray-200 bg-white p-6 shadow-lg duration-200 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-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg dark:border-gray-800 dark:bg-gray-950",\n className\n )}\n {...props}\n >\n {children}\n <DialogPrimitive.Close className="absolute right-4 top-4 rounded-sm opacity-70 ring-offset-white transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-gray-950 focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-gray-100 data-[state=open]:text-gray-500 dark:ring-offset-gray-950 dark:focus:ring-gray-300 dark:data-[state=open]:bg-gray-800 dark:data-[state=open]:text-gray-400">\n <X className="h-4 w-4" />\n <span className="sr-only">Close</span>\n </DialogPrimitive.Close>\n </DialogPrimitive.Content>\n </DialogPortal>\n))\nDialogContent.displayName = DialogPrimitive.Content.displayName\n\nconst DialogHeader = ({\n className,\n ...props\n}: React.HTMLAttributes<HTMLDivElement>) => (\n <div\n className={cn(\n "flex flex-col space-y-1.5 text-center sm:text-left",\n className\n )}\n {...props}\n />\n)\nDialogHeader.displayName = "DialogHeader"\n\nconst DialogFooter = ({\n className,\n ...props\n}: React.HTMLAttributes<HTMLDivElement>) => (\n <div\n className={cn(\n "flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",\n className\n )}\n {...props}\n />\n)\nDialogFooter.displayName = "DialogFooter"\n\nconst DialogTitle = React.forwardRef<\n React.ElementRef<typeof DialogPrimitive.Title>,\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Title>\n>(({ className, ...props }, ref) => (\n <DialogPrimitive.Title\n ref={ref}\n className={cn(\n "text-lg font-semibold leading-none tracking-tight",\n className\n )}\n {...props}\n />\n))\nDialogTitle.displayName = DialogPrimitive.Title.displayName\n\nconst DialogDescription = React.forwardRef<\n React.ElementRef<typeof DialogPrimitive.Description>,\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Description>\n>(({ className, ...props }, ref) => (\n <DialogPrimitive.Description\n ref={ref}\n className={cn("text-sm text-gray-500 dark:text-gray-400", className)}\n {...props}\n />\n))\nDialogDescription.displayName = DialogPrimitive.Description.displayName\n\nexport {\n Dialog,\n DialogPortal,\n DialogOverlay,\n DialogClose,\n DialogTrigger,\n DialogContent,\n DialogHeader,\n DialogFooter,\n DialogTitle,\n DialogDescription,\n}\n\n',Fa='import * as React from "react"\nimport { Drawer as DrawerPrimitive } from "vaul"\n\nimport { cn } from "../../lib/utils"\n\nconst Drawer = ({\n shouldScaleBackground = true,\n ...props\n}: React.ComponentProps<typeof DrawerPrimitive.Root>) => (\n <DrawerPrimitive.Root\n shouldScaleBackground={shouldScaleBackground}\n {...props}\n />\n)\nDrawer.displayName = "Drawer"\n\nconst DrawerTrigger = DrawerPrimitive.Trigger\n\nconst DrawerPortal = DrawerPrimitive.Portal\n\nconst DrawerClose = DrawerPrimitive.Close\n\nconst DrawerOverlay = React.forwardRef<\n React.ElementRef<typeof DrawerPrimitive.Overlay>,\n React.ComponentPropsWithoutRef<typeof DrawerPrimitive.Overlay>\n>(({ className, ...props }, ref) => (\n <DrawerPrimitive.Overlay\n ref={ref}\n className={cn("fixed inset-0 z-50 bg-black/80", className)}\n {...props}\n />\n))\nDrawerOverlay.displayName = DrawerPrimitive.Overlay.displayName\n\nconst DrawerContent = React.forwardRef<\n React.ElementRef<typeof DrawerPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof DrawerPrimitive.Content>\n>(({ className, children, ...props }, ref) => (\n <DrawerPortal>\n <DrawerOverlay />\n <DrawerPrimitive.Content\n ref={ref}\n className={cn(\n "fixed inset-x-0 bottom-0 z-50 mt-24 flex h-auto flex-col rounded-t-[10px] border border-gray-200 bg-white dark:border-gray-800 dark:bg-gray-950",\n className\n )}\n {...props}\n >\n <div className="mx-auto mt-4 h-2 w-[100px] rounded-full bg-gray-100 dark:bg-gray-800" />\n {children}\n </DrawerPrimitive.Content>\n </DrawerPortal>\n))\nDrawerContent.displayName = "DrawerContent"\n\nconst DrawerHeader = ({\n className,\n ...props\n}: React.HTMLAttributes<HTMLDivElement>) => (\n <div\n className={cn("grid gap-1.5 p-4 text-center sm:text-left", className)}\n {...props}\n />\n)\nDrawerHeader.displayName = "DrawerHeader"\n\nconst DrawerFooter = ({\n className,\n ...props\n}: React.HTMLAttributes<HTMLDivElement>) => (\n <div\n className={cn("mt-auto flex flex-col gap-2 p-4", className)}\n {...props}\n />\n)\nDrawerFooter.displayName = "DrawerFooter"\n\nconst DrawerTitle = React.forwardRef<\n React.ElementRef<typeof DrawerPrimitive.Title>,\n React.ComponentPropsWithoutRef<typeof DrawerPrimitive.Title>\n>(({ className, ...props }, ref) => (\n <DrawerPrimitive.Title\n ref={ref}\n className={cn(\n "text-lg font-semibold leading-none tracking-tight",\n className\n )}\n {...props}\n />\n))\nDrawerTitle.displayName = DrawerPrimitive.Title.displayName\n\nconst DrawerDescription = React.forwardRef<\n React.ElementRef<typeof DrawerPrimitive.Description>,\n React.ComponentPropsWithoutRef<typeof DrawerPrimitive.Description>\n>(({ className, ...props }, ref) => (\n <DrawerPrimitive.Description\n ref={ref}\n className={cn("text-sm text-gray-500 dark:text-gray-400", className)}\n {...props}\n />\n))\nDrawerDescription.displayName = DrawerPrimitive.Description.displayName\n\nexport {\n Drawer,\n DrawerPortal,\n DrawerOverlay,\n DrawerTrigger,\n DrawerClose,\n DrawerContent,\n DrawerHeader,\n DrawerFooter,\n DrawerTitle,\n DrawerDescription,\n}\n\n',Wa='import * as React from "react"\nimport * as DropdownMenuPrimitive from "@radix-ui/react-dropdown-menu"\nimport { Check, ChevronRight, Circle } from "lucide-react"\n\nimport { cn } from "../../lib/utils"\n\nconst DropdownMenu = DropdownMenuPrimitive.Root\n\nconst DropdownMenuTrigger = DropdownMenuPrimitive.Trigger\n\nconst DropdownMenuGroup = DropdownMenuPrimitive.Group\n\nconst DropdownMenuPortal = DropdownMenuPrimitive.Portal\n\nconst DropdownMenuSub = DropdownMenuPrimitive.Sub\n\nconst DropdownMenuRadioGroup = DropdownMenuPrimitive.RadioGroup\n\nconst DropdownMenuSubTrigger = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.SubTrigger>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.SubTrigger> & {\n inset?: boolean\n }\n>(({ className, inset, children, ...props }, ref) => (\n <DropdownMenuPrimitive.SubTrigger\n ref={ref}\n className={cn(\n "flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-gray-100 data-[state=open]:bg-gray-100 dark:focus:bg-gray-800 dark:data-[state=open]:bg-gray-800",\n inset && "pl-8",\n className\n )}\n {...props}\n >\n {children}\n <ChevronRight className="ml-auto h-4 w-4" />\n </DropdownMenuPrimitive.SubTrigger>\n))\nDropdownMenuSubTrigger.displayName =\n DropdownMenuPrimitive.SubTrigger.displayName\n\nconst DropdownMenuSubContent = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.SubContent>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.SubContent>\n>(({ className, ...props }, ref) => (\n <DropdownMenuPrimitive.SubContent\n ref={ref}\n className={cn(\n "z-50 min-w-[8rem] overflow-hidden rounded-md border border-gray-200 bg-white p-1 text-gray-950 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 dark:border-gray-800 dark:bg-gray-950 dark:text-gray-50",\n className\n )}\n {...props}\n />\n))\nDropdownMenuSubContent.displayName =\n DropdownMenuPrimitive.SubContent.displayName\n\nconst DropdownMenuContent = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Content>\n>(({ className, sideOffset = 4, ...props }, ref) => (\n <DropdownMenuPrimitive.Portal>\n <DropdownMenuPrimitive.Content\n ref={ref}\n sideOffset={sideOffset}\n className={cn(\n "z-50 min-w-[8rem] overflow-hidden rounded-md border border-gray-200 bg-white p-1 text-gray-950 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 dark:border-gray-800 dark:bg-gray-950 dark:text-gray-50",\n className\n )}\n {...props}\n />\n </DropdownMenuPrimitive.Portal>\n))\nDropdownMenuContent.displayName = DropdownMenuPrimitive.Content.displayName\n\nconst DropdownMenuItem = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.Item>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Item> & {\n inset?: boolean\n }\n>(({ className, inset, ...props }, ref) => (\n <DropdownMenuPrimitive.Item\n ref={ref}\n className={cn(\n "relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none transition-colors focus:bg-gray-100 focus:text-gray-900 data-[disabled]:pointer-events-none data-[disabled]:opacity-50 dark:focus:bg-gray-800 dark:focus:text-gray-50",\n inset && "pl-8",\n className\n )}\n {...props}\n />\n))\nDropdownMenuItem.displayName = DropdownMenuPrimitive.Item.displayName\n\nconst DropdownMenuCheckboxItem = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.CheckboxItem>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.CheckboxItem>\n>(({ className, children, checked, ...props }, ref) => (\n <DropdownMenuPrimitive.CheckboxItem\n ref={ref}\n className={cn(\n "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-gray-100 focus:text-gray-900 data-[disabled]:pointer-events-none data-[disabled]:opacity-50 dark:focus:bg-gray-800 dark:focus:text-gray-50",\n className\n )}\n checked={checked}\n {...props}\n >\n <span className="absolute left-2 flex h-3.5 w-3.5 items-center justify-center">\n <DropdownMenuPrimitive.ItemIndicator>\n <Check className="h-4 w-4" />\n </DropdownMenuPrimitive.ItemIndicator>\n </span>\n {children}\n </DropdownMenuPrimitive.CheckboxItem>\n))\nDropdownMenuCheckboxItem.displayName =\n DropdownMenuPrimitive.CheckboxItem.displayName\n\nconst DropdownMenuRadioItem = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.RadioItem>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.RadioItem>\n>(({ className, children, ...props }, ref) => (\n <DropdownMenuPrimitive.RadioItem\n ref={ref}\n className={cn(\n "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-gray-100 focus:text-gray-900 data-[disabled]:pointer-events-none data-[disabled]:opacity-50 dark:focus:bg-gray-800 dark:focus:text-gray-50",\n className\n )}\n {...props}\n >\n <span className="absolute left-2 flex h-3.5 w-3.5 items-center justify-center">\n <DropdownMenuPrimitive.ItemIndicator>\n <Circle className="h-2 w-2 fill-current" />\n </DropdownMenuPrimitive.ItemIndicator>\n </span>\n {children}\n </DropdownMenuPrimitive.RadioItem>\n))\nDropdownMenuRadioItem.displayName = DropdownMenuPrimitive.RadioItem.displayName\n\nconst DropdownMenuLabel = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.Label>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Label> & {\n inset?: boolean\n }\n>(({ className, inset, ...props }, ref) => (\n <DropdownMenuPrimitive.Label\n ref={ref}\n className={cn(\n "px-2 py-1.5 text-sm font-semibold",\n inset && "pl-8",\n className\n )}\n {...props}\n />\n))\nDropdownMenuLabel.displayName = DropdownMenuPrimitive.Label.displayName\n\nconst DropdownMenuSeparator = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.Separator>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Separator>\n>(({ className, ...props }, ref) => (\n <DropdownMenuPrimitive.Separator\n ref={ref}\n className={cn("-mx-1 my-1 h-px bg-gray-100 dark:bg-gray-800", className)}\n {...props}\n />\n))\nDropdownMenuSeparator.displayName = DropdownMenuPrimitive.Separator.displayName\n\nconst DropdownMenuShortcut = ({\n className,\n ...props\n}: React.HTMLAttributes<HTMLSpanElement>) => {\n return (\n <span\n className={cn("ml-auto text-xs tracking-widest opacity-60", className)}\n {...props}\n />\n )\n}\nDropdownMenuShortcut.displayName = "DropdownMenuShortcut"\n\nexport {\n DropdownMenu,\n DropdownMenuTrigger,\n DropdownMenuContent,\n DropdownMenuItem,\n DropdownMenuCheckboxItem,\n DropdownMenuRadioItem,\n DropdownMenuLabel,\n DropdownMenuSeparator,\n DropdownMenuShortcut,\n DropdownMenuGroup,\n DropdownMenuPortal,\n DropdownMenuSub,\n DropdownMenuSubContent,\n DropdownMenuSubTrigger,\n DropdownMenuRadioGroup,\n}\n\n',qa='import * as React from "react"\nimport * as HoverCardPrimitive from "@radix-ui/react-hover-card"\n\nimport { cn } from "../../lib/utils"\n\nconst HoverCard = HoverCardPrimitive.Root\n\nconst HoverCardTrigger = HoverCardPrimitive.Trigger\n\nconst HoverCardContent = React.forwardRef<\n React.ElementRef<typeof HoverCardPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof HoverCardPrimitive.Content>\n>(({ className, align = "center", sideOffset = 4, ...props }, ref) => (\n <HoverCardPrimitive.Content\n ref={ref}\n align={align}\n sideOffset={sideOffset}\n className={cn(\n "z-50 w-64 rounded-md border border-gray-200 bg-white p-4 text-gray-950 shadow-md outline-none 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 dark:border-gray-800 dark:bg-gray-950 dark:text-gray-50",\n className\n )}\n {...props}\n />\n))\nHoverCardContent.displayName = HoverCardPrimitive.Content.displayName\n\nexport { HoverCard, HoverCardTrigger, HoverCardContent }\n\n',Ka='import * as React from "react"\nimport { cn } from "../../lib/utils"\n\nexport interface InputProps\n extends React.InputHTMLAttributes<HTMLInputElement> {}\n\nconst Input = React.forwardRef<HTMLInputElement, InputProps>(\n ({ className, type, ...props }, ref) => {\n return (\n <input\n type={type}\n className={cn(\n "flex h-10 w-full rounded-md border border-gray-200 bg-white px-3 py-2 text-sm ring-offset-white file:border-0 file:bg-transparent file:text-sm file:font-medium placeholder:text-gray-500 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-gray-950 focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 dark:border-gray-800 dark:bg-gray-950 dark:ring-offset-gray-950 dark:placeholder:text-gray-400 dark:focus-visible:ring-gray-300",\n className\n )}\n ref={ref}\n {...props}\n />\n )\n }\n)\nInput.displayName = "Input"\n\nexport { Input }\n',Ya="import * as React from 'react';\nimport * as LabelPrimitive from '@radix-ui/react-label';\nimport { cva, type VariantProps } from 'class-variance-authority';\n\nimport { cn } from '../../lib/utils';\n\nconst labelVariants = cva(\n \"text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70\"\n)\n\nconst Label = React.forwardRef<\n React.ElementRef<typeof LabelPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof LabelPrimitive.Root> &\n VariantProps<typeof labelVariants>\n>(({ className, ...props }, ref) => (\n <LabelPrimitive.Root\n ref={ref}\n className={cn(labelVariants(), className)}\n {...props}\n />\n))\nLabel.displayName = LabelPrimitive.Root.displayName\n\nexport { Label }\n",Xa='\nimport * as React from "react"\nimport * as MenubarPrimitive from "@radix-ui/react-menubar"\nimport { Check, ChevronRight, Circle } from "lucide-react"\n\nimport { cn } from "../../lib/utils"\n\nconst MenubarMenu = MenubarPrimitive.Menu\n\nconst MenubarGroup = MenubarPrimitive.Group\n\nconst MenubarPortal = MenubarPrimitive.Portal\n\nconst MenubarSub = MenubarPrimitive.Sub\n\nconst MenubarRadioGroup = MenubarPrimitive.RadioGroup\n\nconst Menubar = React.forwardRef<\n React.ElementRef<typeof MenubarPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof MenubarPrimitive.Root>\n>(({ className, ...props }, ref) => (\n <MenubarPrimitive.Root\n ref={ref}\n className={cn(\n "flex h-10 items-center space-x-1 rounded-md border border-gray-200 bg-white p-1 dark:border-gray-800 dark:bg-gray-950",\n className\n )}\n {...props}\n />\n))\nMenubar.displayName = MenubarPrimitive.Root.displayName\n\nconst MenubarTrigger = React.forwardRef<\n React.ElementRef<typeof MenubarPrimitive.Trigger>,\n React.ComponentPropsWithoutRef<typeof MenubarPrimitive.Trigger>\n>(({ className, ...props }, ref) => (\n <MenubarPrimitive.Trigger\n ref={ref}\n className={cn(\n "flex cursor-default select-none items-center rounded-sm px-3 py-1.5 text-sm font-medium outline-none focus:bg-gray-100 focus:text-gray-900 data-[state=open]:bg-gray-100 data-[state=open]:text-gray-900 dark:focus:bg-gray-800 dark:focus:text-gray-50 dark:data-[state=open]:bg-gray-800 dark:data-[state=open]:text-gray-50",\n className\n )}\n {...props}\n />\n))\nMenubarTrigger.displayName = MenubarPrimitive.Trigger.displayName\n\nconst MenubarSubTrigger = React.forwardRef<\n React.ElementRef<typeof MenubarPrimitive.SubTrigger>,\n React.ComponentPropsWithoutRef<typeof MenubarPrimitive.SubTrigger> & {\n inset?: boolean\n }\n>(({ className, inset, children, ...props }, ref) => (\n <MenubarPrimitive.SubTrigger\n ref={ref}\n className={cn(\n "flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-gray-100 focus:text-gray-900 data-[state=open]:bg-gray-100 data-[state=open]:text-gray-900 dark:focus:bg-gray-800 dark:focus:text-gray-50 dark:data-[state=open]:bg-gray-800 dark:data-[state=open]:text-gray-50",\n inset && "pl-8",\n className\n )}\n {...props}\n >\n {children}\n <ChevronRight className="ml-auto h-4 w-4" />\n </MenubarPrimitive.SubTrigger>\n))\nMenubarSubTrigger.displayName = MenubarPrimitive.SubTrigger.displayName\n\nconst MenubarSubContent = React.forwardRef<\n React.ElementRef<typeof MenubarPrimitive.SubContent>,\n React.ComponentPropsWithoutRef<typeof MenubarPrimitive.SubContent>\n>(({ className, ...props }, ref) => (\n <MenubarPrimitive.SubContent\n ref={ref}\n className={cn(\n "z-50 min-w-[8rem] overflow-hidden rounded-md border border-gray-200 bg-white p-1 text-gray-950 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 dark:border-gray-800 dark:bg-gray-950 dark:text-gray-50",\n className\n )}\n {...props}\n />\n))\nMenubarSubContent.displayName = MenubarPrimitive.SubContent.displayName\n\nconst MenubarContent = React.forwardRef<\n React.ElementRef<typeof MenubarPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof MenubarPrimitive.Content>\n>(\n (\n { className, align = "start", alignOffset = -4, sideOffset = 8, ...props },\n ref\n ) => (\n <MenubarPrimitive.Portal>\n <MenubarPrimitive.Content\n ref={ref}\n align={align}\n alignOffset={alignOffset}\n sideOffset={sideOffset}\n className={cn(\n "z-50 min-w-[12rem] overflow-hidden rounded-md border border-gray-200 bg-white p-1 text-gray-950 shadow-md data-[state=open]:animate-in 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 dark:border-gray-800 dark:bg-gray-950 dark:text-gray-50",\n className\n )}\n {...props}\n />\n </MenubarPrimitive.Portal>\n )\n)\nMenubarContent.displayName = MenubarPrimitive.Content.displayName\n\nconst MenubarItem = React.forwardRef<\n React.ElementRef<typeof MenubarPrimitive.Item>,\n React.ComponentPropsWithoutRef<typeof MenubarPrimitive.Item> & {\n inset?: boolean\n }\n>(({ className, inset, ...props }, ref) => (\n <MenubarPrimitive.Item\n ref={ref}\n className={cn(\n "relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-gray-100 focus:text-gray-900 data-[disabled]:pointer-events-none data-[disabled]:opacity-50 dark:focus:bg-gray-800 dark:focus:text-gray-50",\n inset && "pl-8",\n className\n )}\n {...props}\n />\n))\nMenubarItem.displayName = MenubarPrimitive.Item.displayName\n\nconst MenubarCheckboxItem = React.forwardRef<\n React.ElementRef<typeof MenubarPrimitive.CheckboxItem>,\n React.ComponentPropsWithoutRef<typeof MenubarPrimitive.CheckboxItem>\n>(({ className, children, checked, ...props }, ref) => (\n <MenubarPrimitive.CheckboxItem\n ref={ref}\n className={cn(\n "relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none focus:bg-gray-100 focus:text-gray-900 data-[disabled]:pointer-events-none data-[disabled]:opacity-50 dark:focus:bg-gray-800 dark:focus:text-gray-50",\n className\n )}\n checked={checked}\n {...props}\n >\n <span className="absolute left-2 flex h-3.5 w-3.5 items-center justify-center">\n <MenubarPrimitive.ItemIndicator>\n <Check className="h-4 w-4" />\n </MenubarPrimitive.ItemIndicator>\n </span>\n {children}\n </MenubarPrimitive.CheckboxItem>\n))\nMenubarCheckboxItem.displayName = MenubarPrimitive.CheckboxItem.displayName\n\nconst MenubarRadioItem = React.forwardRef<\n React.ElementRef<typeof MenubarPrimitive.RadioItem>,\n React.ComponentPropsWithoutRef<typeof MenubarPrimitive.RadioItem>\n>(({ className, children, ...props }, ref) => (\n <MenubarPrimitive.RadioItem\n ref={ref}\n className={cn(\n "relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none focus:bg-gray-100 focus:text-gray-900 data-[disabled]:pointer-events-none data-[disabled]:opacity-50 dark:focus:bg-gray-800 dark:focus:text-gray-50",\n className\n )}\n {...props}\n >\n <span className="absolute left-2 flex h-3.5 w-3.5 items-center justify-center">\n <MenubarPrimitive.ItemIndicator>\n <Circle className="h-2 w-2 fill-current" />\n </MenubarPrimitive.ItemIndicator>\n </span>\n {children}\n </MenubarPrimitive.RadioItem>\n))\nMenubarRadioItem.displayName = MenubarPrimitive.RadioItem.displayName\n\nconst MenubarLabel = React.forwardRef<\n React.ElementRef<typeof MenubarPrimitive.Label>,\n React.ComponentPropsWithoutRef<typeof MenubarPrimitive.Label> & {\n inset?: boolean\n }\n>(({ className, inset, ...props }, ref) => (\n <MenubarPrimitive.Label\n ref={ref}\n className={cn(\n "px-2 py-1.5 text-sm font-semibold",\n inset && "pl-8",\n className\n )}\n {...props}\n />\n))\nMenubarLabel.displayName = MenubarPrimitive.Label.displayName\n\nconst MenubarSeparator = React.forwardRef<\n React.ElementRef<typeof MenubarPrimitive.Separator>,\n React.ComponentPropsWithoutRef<typeof MenubarPrimitive.Separator>\n>(({ className, ...props }, ref) => (\n <MenubarPrimitive.Separator\n ref={ref}\n className={cn("-mx-1 my-1 h-px bg-gray-100 dark:bg-gray-800", className)}\n {...props}\n />\n))\nMenubarSeparator.displayName = MenubarPrimitive.Separator.displayName\n\nconst MenubarShortcut = ({\n className,\n ...props\n}: React.HTMLAttributes<HTMLSpanElement>) => {\n return (\n <span\n className={cn(\n "ml-auto text-xs tracking-widest text-gray-500 dark:text-gray-400",\n className\n )}\n {...props}\n />\n )\n}\nMenubarShortcut.displayname = "MenubarShortcut"\n\nexport {\n Menubar,\n MenubarMenu,\n MenubarTrigger,\n MenubarContent,\n MenubarItem,\n MenubarSeparator,\n MenubarLabel,\n MenubarCheckboxItem,\n MenubarRadioGroup,\n MenubarRadioItem,\n MenubarPortal,\n MenubarSubContent,\n MenubarSubTrigger,\n MenubarGroup,\n MenubarSub,\n MenubarShortcut,\n}\n\n',$a='import * as React from "react"\nimport * as NavigationMenuPrimitive from "@radix-ui/react-navigation-menu"\nimport { cva } from "class-variance-authority"\nimport { ChevronDown } from "lucide-react"\n\nimport { cn } from "../../lib/utils"\n\nconst NavigationMenu = React.forwardRef<\n React.ElementRef<typeof NavigationMenuPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof NavigationMenuPrimitive.Root>\n>(({ className, children, ...props }, ref) => (\n <NavigationMenuPrimitive.Root\n ref={ref}\n className={cn(\n "relative z-10 flex max-w-max flex-1 items-center justify-center",\n className\n )}\n {...props}\n >\n {children}\n <NavigationMenuViewport />\n </NavigationMenuPrimitive.Root>\n))\nNavigationMenu.displayName = NavigationMenuPrimitive.Root.displayName\n\nconst NavigationMenuList = React.forwardRef<\n React.ElementRef<typeof NavigationMenuPrimitive.List>,\n React.ComponentPropsWithoutRef<typeof NavigationMenuPrimitive.List>\n>(({ className, ...props }, ref) => (\n <NavigationMenuPrimitive.List\n ref={ref}\n className={cn(\n "group flex flex-1 list-none items-center justify-center space-x-1",\n className\n )}\n {...props}\n />\n))\nNavigationMenuList.displayName = NavigationMenuPrimitive.List.displayName\n\nconst NavigationMenuItem = NavigationMenuPrimitive.Item\n\nconst navigationMenuTriggerStyle = cva(\n "group inline-flex h-10 w-max items-center justify-center rounded-md bg-white px-4 py-2 text-sm font-medium transition-colors hover:bg-gray-100 hover:text-gray-900 focus:bg-gray-100 focus:text-gray-900 focus:outline-none disabled:pointer-events-none disabled:opacity-50 data-[active]:bg-gray-100/50 data-[state=open]:bg-gray-100/50 dark:bg-gray-950 dark:hover:bg-gray-800 dark:hover:text-gray-50 dark:focus:bg-gray-800 dark:focus:text-gray-50 dark:data-[active]:bg-gray-800/50 dark:data-[state=open]:bg-gray-800/50"\n)\n\nconst NavigationMenuTrigger = React.forwardRef<\n React.ElementRef<typeof NavigationMenuPrimitive.Trigger>,\n React.ComponentPropsWithoutRef<typeof NavigationMenuPrimitive.Trigger>\n>(({ className, children, ...props }, ref) => (\n <NavigationMenuPrimitive.Trigger\n ref={ref}\n className={cn(navigationMenuTriggerStyle(), "group", className)}\n {...props}\n >\n {children}{""}\n <ChevronDown\n className="relative top-[1px] ml-1 h-3 w-3 transition duration-200 group-data-[state=open]:rotate-180"\n aria-hidden="true"\n />\n </NavigationMenuPrimitive.Trigger>\n))\nNavigationMenuTrigger.displayName = NavigationMenuPrimitive.Trigger.displayName\n\nconst NavigationMenuContent = React.forwardRef<\n React.ElementRef<typeof NavigationMenuPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof NavigationMenuPrimitive.Content>\n>(({ className, ...props }, ref) => (\n <NavigationMenuPrimitive.Content\n ref={ref}\n className={cn(\n "left-0 top-0 w-full data-[motion^=from-]:animate-in data-[motion^=to-]:animate-out data-[motion^=from-]:fade-in data-[motion^=to-]:fade-out data-[motion=from-end]:slide-in-from-right-52 data-[motion=from-start]:slide-in-from-left-52 data-[motion=to-end]:slide-out-to-right-52 data-[motion=to-start]:slide-out-to-left-52 md:absolute md:w-auto",\n className\n )}\n {...props}\n />\n))\nNavigationMenuContent.displayName = NavigationMenuPrimitive.Content.displayName\n\nconst NavigationMenuLink = NavigationMenuPrimitive.Link\n\nconst NavigationMenuViewport = React.forwardRef<\n React.ElementRef<typeof NavigationMenuPrimitive.Viewport>,\n React.ComponentPropsWithoutRef<typeof NavigationMenuPrimitive.Viewport>\n>(({ className, ...props }, ref) => (\n <div className={cn("absolute left-0 top-full flex justify-center")}>\n <NavigationMenuPrimitive.Viewport\n className={cn(\n "origin-top-center relative mt-1.5 h-[var(--radix-navigation-menu-viewport-height)] w-full overflow-hidden rounded-md border border-gray-200 bg-white text-gray-950 shadow-lg data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-90 md:w-[var(--radix-navigation-menu-viewport-width)] dark:border-gray-800 dark:bg-gray-950 dark:text-gray-50",\n className\n )}\n ref={ref}\n {...props}\n />\n </div>\n))\nNavigationMenuViewport.displayName =\n NavigationMenuPrimitive.Viewport.displayName\n\nconst NavigationMenuIndicator = React.forwardRef<\n React.ElementRef<typeof NavigationMenuPrimitive.Indicator>,\n React.ComponentPropsWithoutRef<typeof NavigationMenuPrimitive.Indicator>\n>(({ className, ...props }, ref) => (\n <NavigationMenuPrimitive.Indicator\n ref={ref}\n className={cn(\n "top-full z-[1] flex h-1.5 items-end justify-center overflow-hidden data-[state=visible]:animate-in data-[state=hidden]:animate-out data-[state=hidden]:fade-out data-[state=visible]:fade-in",\n className\n )}\n {...props}\n >\n <div className="relative top-[60%] h-2 w-2 rotate-45 rounded-tl-sm bg-gray-200 shadow-md dark:bg-gray-800" />\n </NavigationMenuPrimitive.Indicator>\n))\nNavigationMenuIndicator.displayName =\n NavigationMenuPrimitive.Indicator.displayName\n\nexport {\n navigationMenuTriggerStyle,\n NavigationMenu,\n NavigationMenuList,\n NavigationMenuItem,\n NavigationMenuContent,\n NavigationMenuTrigger,\n NavigationMenuLink,\n NavigationMenuIndicator,\n NavigationMenuViewport,\n}\n\n',Za='import * as React from "react"\nimport { ChevronLeft, ChevronRight, MoreHorizontal } from "lucide-react"\n\nimport { cn } from "../../lib/utils"\nimport { ButtonProps, buttonVariants } from "./button"\n\nconst Pagination = ({ className, ...props }: React.ComponentProps<"nav">) => (\n <nav\n role="navigation"\n aria-label="pagination"\n className={cn("mx-auto flex w-full justify-center", className)}\n {...props}\n />\n)\nPagination.displayName = "Pagination"\n\nconst PaginationContent = React.forwardRef<\n HTMLUListElement,\n React.ComponentProps<"ul">\n>(({ className, ...props }, ref) => (\n <ul\n ref={ref}\n className={cn("flex flex-row items-center gap-1", className)}\n {...props}\n />\n))\nPaginationContent.displayName = "PaginationContent"\n\nconst PaginationItem = React.forwardRef<\n HTMLLIElement,\n React.ComponentProps<"li">\n>(({ className, ...props }, ref) => (\n <li ref={ref} className={cn("", className)} {...props} />\n))\nPaginationItem.displayName = "PaginationItem"\n\ntype PaginationLinkProps = {\n isActive?: boolean\n} & Pick<ButtonProps, "size"> &\n React.ComponentProps<"a">\n\nconst PaginationLink = ({\n className,\n isActive,\n size = "icon",\n ...props\n}: PaginationLinkProps) => (\n <a\n aria-current={isActive ? "page" : undefined}\n className={cn(\n buttonVariants({\n variant: isActive ? "outline" : "ghost",\n size,\n }),\n className\n )}\n {...props}\n />\n)\nPaginationLink.displayName = "PaginationLink"\n\nconst PaginationPrevious = ({\n className,\n ...props\n}: React.ComponentProps<typeof PaginationLink>) => (\n <PaginationLink\n aria-label="Go to previous page"\n size="default"\n className={cn("gap-1 pl-2.5", className)}\n {...props}\n >\n <ChevronLeft className="h-4 w-4" />\n <span>Previous</span>\n </PaginationLink>\n)\nPaginationPrevious.displayName = "PaginationPrevious"\n\nconst PaginationNext = ({\n className,\n ...props\n}: React.ComponentProps<typeof PaginationLink>) => (\n <PaginationLink\n aria-label="Go to next page"\n size="default"\n className={cn("gap-1 pr-2.5", className)}\n {...props}\n >\n <span>Next</span>\n <ChevronRight className="h-4 w-4" />\n </PaginationLink>\n)\nPaginationNext.displayName = "PaginationNext"\n\nconst PaginationEllipsis = ({\n className,\n ...props\n}: React.ComponentProps<"span">) => (\n <span\n aria-hidden\n className={cn("flex h-9 w-9 items-center justify-center", className)}\n {...props}\n >\n <MoreHorizontal className="h-4 w-4" />\n <span className="sr-only">More pages</span>\n </span>\n)\nPaginationEllipsis.displayName = "PaginationEllipsis"\n\nexport {\n Pagination,\n PaginationContent,\n PaginationEllipsis,\n PaginationItem,\n PaginationLink,\n PaginationNext,\n PaginationPrevious,\n}\n\n',Qa='import * as React from "react"\nimport * as PopoverPrimitive from "@radix-ui/react-popover"\n\nimport { cn } from "../../lib/utils"\n\nconst Popover = PopoverPrimitive.Root\n\nconst PopoverTrigger = PopoverPrimitive.Trigger\n\nconst PopoverContent = React.forwardRef<\n React.ElementRef<typeof PopoverPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof PopoverPrimitive.Content>\n>(({ className, align = "center", sideOffset = 4, ...props }, ref) => (\n <PopoverPrimitive.Portal>\n <PopoverPrimitive.Content\n ref={ref}\n align={align}\n sideOffset={sideOffset}\n className={cn(\n "z-50 w-72 rounded-md border border-gray-200 bg-white p-4 text-gray-950 shadow-md outline-none 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 dark:border-gray-800 dark:bg-gray-950 dark:text-gray-50",\n className\n )}\n {...props}\n />\n </PopoverPrimitive.Portal>\n))\nPopoverContent.displayName = PopoverPrimitive.Content.displayName\n\nexport { Popover, PopoverTrigger, PopoverContent }\n\n',Ja='import * as React from "react"\nimport * as ProgressPrimitive from "@radix-ui/react-progress"\n\nimport { cn } from "../../lib/utils"\n\nconst Progress = React.forwardRef<\n React.ElementRef<typeof ProgressPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof ProgressPrimitive.Root>\n>(({ className, value, ...props }, ref) => (\n <ProgressPrimitive.Root\n ref={ref}\n className={cn(\n "relative h-4 w-full overflow-hidden rounded-full bg-gray-100 dark:bg-gray-800",\n className\n )}\n {...props}\n >\n <ProgressPrimitive.Indicator\n className="h-full w-full flex-1 bg-gray-900 transition-all dark:bg-gray-50"\n style={{ transform: `translateX(-${100 - (value || 0)}%)` }}\n />\n </ProgressPrimitive.Root>\n))\nProgress.displayName = ProgressPrimitive.Root.displayName\n\nexport { Progress }\n',eo='import * as React from "react"\nimport * as RadioGroupPrimitive from "@radix-ui/react-radio-group"\nimport { Circle } from "lucide-react"\n\nimport { cn } from "../../lib/utils"\n\nconst RadioGroup = React.forwardRef<\n React.ElementRef<typeof RadioGroupPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof RadioGroupPrimitive.Root>\n>(({ className, ...props }, ref) => {\n return (\n <RadioGroupPrimitive.Root\n className={cn("grid gap-2", className)}\n {...props}\n ref={ref}\n />\n )\n})\nRadioGroup.displayName = RadioGroupPrimitive.Root.displayName\n\nconst RadioGroupItem = React.forwardRef<\n React.ElementRef<typeof RadioGroupPrimitive.Item>,\n React.ComponentPropsWithoutRef<typeof RadioGroupPrimitive.Item>\n>(({ className, ...props }, ref) => {\n return (\n <RadioGroupPrimitive.Item\n ref={ref}\n className={cn(\n "aspect-square h-4 w-4 rounded-full border border-gray-200 dark:border-gray-900 text-gray-900 ring-offset-white focus:outline-none focus-visible:ring-2 focus-visible:ring-gray-950 focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 dark:text-gray-50 dark:ring-offset-gray-950 dark:focus-visible:ring-gray-300",\n className\n )}\n {...props}\n >\n <RadioGroupPrimitive.Indicator className="flex items-center justify-center">\n <Circle className="h-2.5 w-2.5 fill-current text-current" />\n </RadioGroupPrimitive.Indicator>\n </RadioGroupPrimitive.Item>\n )\n})\nRadioGroupItem.displayName = RadioGroupPrimitive.Item.displayName\n\nexport { RadioGroup, RadioGroupItem }\n\n',to='import * as React from "react"\nimport * as SelectPrimitive from "@radix-ui/react-select"\nimport { Check, ChevronDown, ChevronUp } from "lucide-react"\n\nimport { cn } from "../../lib/utils"\n\nconst Select = SelectPrimitive.Root\n\nconst SelectGroup = SelectPrimitive.Group\n\nconst SelectValue = SelectPrimitive.Value\n\nconst SelectTrigger = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.Trigger>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Trigger>\n>(({ className, children, ...props }, ref) => (\n <SelectPrimitive.Trigger\n ref={ref}\n className={cn(\n "flex h-10 w-full items-center justify-between rounded-md border border-gray-200 bg-white px-3 py-2 text-sm ring-offset-white placeholder:text-gray-500 focus:outline-none focus:ring-2 focus:ring-gray-950 focus:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 [&>span]:line-clamp-1 dark:border-gray-800 dark:bg-gray-950 dark:ring-offset-gray-950 dark:placeholder:text-gray-400 dark:focus:ring-gray-300",\n className\n )}\n {...props}\n >\n {children}\n <SelectPrimitive.Icon asChild>\n <ChevronDown className="h-4 w-4 opacity-50" />\n </SelectPrimitive.Icon>\n </SelectPrimitive.Trigger>\n))\nSelectTrigger.displayName = SelectPrimitive.Trigger.displayName\n\nconst SelectScrollUpButton = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.ScrollUpButton>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.ScrollUpButton>\n>(({ className, ...props }, ref) => (\n <SelectPrimitive.ScrollUpButton\n ref={ref}\n className={cn(\n "flex cursor-default items-center justify-center py-1",\n className\n )}\n {...props}\n >\n <ChevronUp className="h-4 w-4" />\n </SelectPrimitive.ScrollUpButton>\n))\nSelectScrollUpButton.displayName = SelectPrimitive.ScrollUpButton.displayName\n\nconst SelectScrollDownButton = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.ScrollDownButton>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.ScrollDownButton>\n>(({ className, ...props }, ref) => (\n <SelectPrimitive.ScrollDownButton\n ref={ref}\n className={cn(\n "flex cursor-default items-center justify-center py-1",\n className\n )}\n {...props}\n >\n <ChevronDown className="h-4 w-4" />\n </SelectPrimitive.ScrollDownButton>\n))\nSelectScrollDownButton.displayName =\n SelectPrimitive.ScrollDownButton.displayName\n\nconst SelectContent = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Content>\n>(({ className, children, position = "popper", ...props }, ref) => (\n <SelectPrimitive.Portal>\n <SelectPrimitive.Content\n ref={ref}\n className={cn(\n "relative z-50 max-h-96 min-w-[8rem] overflow-hidden rounded-md border border-gray-200 bg-white text-gray-950 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 dark:border-gray-800 dark:bg-gray-950 dark:text-gray-50",\n position === "popper" &&\n "data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",\n className\n )}\n position={position}\n {...props}\n >\n <SelectScrollUpButton />\n <SelectPrimitive.Viewport\n className={cn(\n "p-1",\n position === "popper" &&\n "h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]"\n )}\n >\n {children}\n </SelectPrimitive.Viewport>\n <SelectScrollDownButton />\n </SelectPrimitive.Content>\n </SelectPrimitive.Portal>\n))\nSelectContent.displayName = SelectPrimitive.Content.displayName\n\nconst SelectLabel = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.Label>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Label>\n>(({ className, ...props }, ref) => (\n <SelectPrimitive.Label\n ref={ref}\n className={cn("py-1.5 pl-8 pr-2 text-sm font-semibold", className)}\n {...props}\n />\n))\nSelectLabel.displayName = SelectPrimitive.Label.displayName\n\nconst SelectItem = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.Item>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Item>\n>(({ className, children, ...props }, ref) => (\n <SelectPrimitive.Item\n ref={ref}\n className={cn(\n "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-gray-100 focus:text-gray-900 data-[disabled]:pointer-events-none data-[disabled]:opacity-50 dark:focus:bg-gray-800 dark:focus:text-gray-50",\n className\n )}\n {...props}\n >\n <span className="absolute left-2 flex h-3.5 w-3.5 items-center justify-center">\n <SelectPrimitive.ItemIndicator>\n <Check className="h-4 w-4" />\n </SelectPrimitive.ItemIndicator>\n </span>\n\n <SelectPrimitive.ItemText>{children}</SelectPrimitive.ItemText>\n </SelectPrimitive.Item>\n))\nSelectItem.displayName = SelectPrimitive.Item.displayName\n\nconst SelectSeparator = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.Separator>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Separator>\n>(({ className, ...props }, ref) => (\n <SelectPrimitive.Separator\n ref={ref}\n className={cn("-mx-1 my-1 h-px bg-gray-100 dark:bg-gray-800", className)}\n {...props}\n />\n))\nSelectSeparator.displayName = SelectPrimitive.Separator.displayName\n\nexport {\n Select,\n SelectGroup,\n SelectValue,\n SelectTrigger,\n SelectContent,\n SelectLabel,\n SelectItem,\n SelectSeparator,\n SelectScrollUpButton,\n SelectScrollDownButton,\n}\n\n',no='import * as React from "react"\nimport * as SeparatorPrimitive from "@radix-ui/react-separator"\n\nimport { cn } from "../../lib/utils"\n\nconst Separator = React.forwardRef<\n React.ElementRef<typeof SeparatorPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof SeparatorPrimitive.Root>\n>(\n (\n { className, orientation = "horizontal", decorative = true, ...props },\n ref\n ) => (\n <SeparatorPrimitive.Root\n ref={ref}\n decorative={decorative}\n orientation={orientation}\n className={cn(\n "shrink-0 bg-gray-200 dark:bg-gray-800",\n orientation === "horizontal" ? "h-[1px] w-full" : "h-full w-[1px]",\n className\n )}\n {...props}\n />\n )\n)\nSeparator.displayName = SeparatorPrimitive.Root.displayName\n\nexport { Separator }\n\n',ao='import { cn } from "../../lib/utils"\n\nfunction Skeleton({\n className,\n ...props\n}: React.HTMLAttributes<HTMLDivElement>) {\n return (\n <div\n className={cn("animate-pulse rounded-md bg-gray-100 dark:bg-gray-800", className)}\n {...props}\n />\n )\n}\n\nexport { Skeleton }\n',oo='import * as React from "react"\nimport * as SliderPrimitive from "@radix-ui/react-slider"\n\nimport { cn } from "../../lib/utils"\n\nconst Slider = React.forwardRef<\n React.ElementRef<typeof SliderPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof SliderPrimitive.Root>\n>(({ className, ...props }, ref) => (\n <SliderPrimitive.Root\n ref={ref}\n className={cn(\n "relative flex w-full touch-none select-none items-center",\n className\n )}\n {...props}\n >\n <SliderPrimitive.Track className="relative h-2 w-full grow overflow-hidden rounded-full bg-gray-100 dark:bg-gray-800">\n <SliderPrimitive.Range className="absolute h-full bg-gray-900 dark:bg-gray-50" />\n </SliderPrimitive.Track>\n <SliderPrimitive.Thumb className="block h-5 w-5 rounded-full border-2 border-gray-900 bg-white ring-offset-white transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-gray-950 focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 dark:border-gray-50 dark:bg-gray-950 dark:ring-offset-gray-950 dark:focus-visible:ring-gray-300" />\n </SliderPrimitive.Root>\n))\nSlider.displayName = SliderPrimitive.Root.displayName\n\nexport { Slider }\n\n',ro='import * as React from "react"\nimport * as SwitchPrimitives from "@radix-ui/react-switch"\n\nimport { cn } from "../../lib/utils"\n\nconst Switch = React.forwardRef<\n React.ElementRef<typeof SwitchPrimitives.Root>,\n React.ComponentPropsWithoutRef<typeof SwitchPrimitives.Root>\n>(({ className, ...props }, ref) => (\n <SwitchPrimitives.Root\n className={cn(\n "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-gray-950 focus-visible:ring-offset-2 focus-visible:ring-offset-white disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-gray-900 data-[state=unchecked]:bg-gray-200 dark:focus-visible:ring-gray-300 dark:focus-visible:ring-offset-gray-950 dark:data-[state=checked]:bg-gray-50 dark:data-[state=unchecked]:bg-gray-800",\n className\n )}\n {...props}\n ref={ref}\n >\n <SwitchPrimitives.Thumb\n className={cn(\n "pointer-events-none block h-5 w-5 rounded-full bg-white shadow-lg ring-0 transition-transform data-[state=checked]:translate-x-5 data-[state=unchecked]:translate-x-0 dark:bg-gray-950"\n )}\n />\n </SwitchPrimitives.Root>\n))\nSwitch.displayName = SwitchPrimitives.Root.displayName\n\nexport { Switch }\n\n',io='import * as React from "react"\n\nimport { cn } from "../../lib/utils"\n\nconst Table = React.forwardRef<\n HTMLTableElement,\n React.HTMLAttributes<HTMLTableElement>\n>(({ className, ...props }, ref) => (\n <div className="relative w-full overflow-auto">\n <table\n ref={ref}\n className={cn("w-full caption-bottom text-sm", className)}\n {...props}\n />\n </div>\n))\nTable.displayName = "Table"\n\nconst TableHeader = React.forwardRef<\n HTMLTableSectionElement,\n React.HTMLAttributes<HTMLTableSectionElement>\n>(({ className, ...props }, ref) => (\n <thead ref={ref} className={cn("[&_tr]:border-b", className)} {...props} />\n))\nTableHeader.displayName = "TableHeader"\n\nconst TableBody = React.forwardRef<\n HTMLTableSectionElement,\n React.HTMLAttributes<HTMLTableSectionElement>\n>(({ className, ...props }, ref) => (\n <tbody\n ref={ref}\n className={cn("[&_tr:last-child]:border-0", className)}\n {...props}\n />\n))\nTableBody.displayName = "TableBody"\n\nconst TableFooter = React.forwardRef<\n HTMLTableSectionElement,\n React.HTMLAttributes<HTMLTableSectionElement>\n>(({ className, ...props }, ref) => (\n <tfoot\n ref={ref}\n className={cn(\n "border-t bg-gray-100/50 font-medium [&>tr]:last:border-b-0 dark:bg-gray-800/50",\n className\n )}\n {...props}\n />\n))\nTableFooter.displayName = "TableFooter"\n\nconst TableRow = React.forwardRef<\n HTMLTableRowElement,\n React.HTMLAttributes<HTMLTableRowElement>\n>(({ className, ...props }, ref) => (\n <tr\n ref={ref}\n className={cn(\n "border-b transition-colors hover:bg-gray-100/50 data-[state=selected]:bg-gray-100 dark:hover:bg-gray-800/50 dark:data-[state=selected]:bg-gray-800",\n className\n )}\n {...props}\n />\n))\nTableRow.displayName = "TableRow"\n\nconst TableHead = React.forwardRef<\n HTMLTableCellElement,\n React.ThHTMLAttributes<HTMLTableCellElement>\n>(({ className, ...props }, ref) => (\n <th\n ref={ref}\n className={cn(\n "h-12 px-4 text-left align-middle font-medium text-gray-500 [&:has([role=checkbox])]:pr-0 dark:text-gray-400",\n className\n )}\n {...props}\n />\n))\nTableHead.displayName = "TableHead"\n\nconst TableCell = React.forwardRef<\n HTMLTableCellElement,\n React.TdHTMLAttributes<HTMLTableCellElement>\n>(({ className, ...props }, ref) => (\n <td\n ref={ref}\n className={cn("p-4 align-middle [&:has([role=checkbox])]:pr-0", className)}\n {...props}\n />\n))\nTableCell.displayName = "TableCell"\n\nconst TableCaption = React.forwardRef<\n HTMLTableCaptionElement,\n React.HTMLAttributes<HTMLTableCaptionElement>\n>(({ className, ...props }, ref) => (\n <caption\n ref={ref}\n className={cn("mt-4 text-sm text-gray-500 dark:text-gray-400", className)}\n {...props}\n />\n))\nTableCaption.displayName = "TableCaption"\n\nexport {\n Table,\n TableHeader,\n TableBody,\n TableFooter,\n TableHead,\n TableRow,\n TableCell,\n TableCaption,\n}\n\n',so='import * as React from "react"\nimport * as TabsPrimitive from "@radix-ui/react-tabs"\n\nimport { cn } from "../../lib/utils"\n\nconst Tabs = TabsPrimitive.Root\n\nconst TabsList = React.forwardRef<\n React.ElementRef<typeof TabsPrimitive.List>,\n React.ComponentPropsWithoutRef<typeof TabsPrimitive.List>\n>(({ className, ...props }, ref) => (\n <TabsPrimitive.List\n ref={ref}\n className={cn(\n "inline-flex h-10 items-center justify-center rounded-md bg-gray-100 p-1 text-gray-500 dark:bg-gray-800 dark:text-gray-400",\n className\n )}\n {...props}\n />\n))\nTabsList.displayName = TabsPrimitive.List.displayName\n\nconst TabsTrigger = React.forwardRef<\n React.ElementRef<typeof TabsPrimitive.Trigger>,\n React.ComponentPropsWithoutRef<typeof TabsPrimitive.Trigger>\n>(({ className, ...props }, ref) => (\n <TabsPrimitive.Trigger\n ref={ref}\n className={cn(\n "inline-flex items-center justify-center whitespace-nowrap rounded-sm px-3 py-1.5 text-sm font-medium ring-offset-white transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-gray-950 focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:bg-white data-[state=active]:text-gray-950 data-[state=active]:shadow-sm dark:ring-offset-gray-950 dark:focus-visible:ring-gray-300 dark:data-[state=active]:bg-gray-950 dark:data-[state=active]:text-gray-50",\n className\n )}\n {...props}\n />\n))\nTabsTrigger.displayName = TabsPrimitive.Trigger.displayName\n\nconst TabsContent = React.forwardRef<\n React.ElementRef<typeof TabsPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof TabsPrimitive.Content>\n>(({ className, ...props }, ref) => (\n <TabsPrimitive.Content\n ref={ref}\n className={cn(\n "mt-2 ring-offset-white focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-gray-950 focus-visible:ring-offset-2 dark:ring-offset-gray-950 dark:focus-visible:ring-gray-300",\n className\n )}\n {...props}\n />\n))\nTabsContent.displayName = TabsPrimitive.Content.displayName\n\nexport { Tabs, TabsList, TabsTrigger, TabsContent }\n\n',lo='import * as React from "react"\n\nimport { cn } from "../../lib/utils"\n\nexport interface TextareaProps\n extends React.TextareaHTMLAttributes<HTMLTextAreaElement> {}\n\nconst Textarea = React.forwardRef<HTMLTextAreaElement, TextareaProps>(\n ({ className, ...props }, ref) => {\n return (\n <textarea\n className={cn(\n "flex min-h-[80px] w-full rounded-md border border-gray-200 bg-white px-3 py-2 text-sm ring-offset-white placeholder:text-gray-500 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-gray-950 focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 dark:border-gray-800 dark:bg-gray-950 dark:ring-offset-gray-950 dark:placeholder:text-gray-400 dark:focus-visible:ring-gray-300",\n className\n )}\n ref={ref}\n {...props}\n />\n )\n }\n)\nTextarea.displayName = "Textarea"\n\nexport { Textarea }\n\n',co='import * as React from "react"\nimport * as ToastPrimitives from "@radix-ui/react-toast"\nimport { cva, type VariantProps } from "class-variance-authority"\nimport { X } from "lucide-react"\n\nimport { cn } from "../../lib/utils"\n\nconst ToastProvider = ToastPrimitives.Provider\n\nconst ToastViewport = React.forwardRef<\n React.ElementRef<typeof ToastPrimitives.Viewport>,\n React.ComponentPropsWithoutRef<typeof ToastPrimitives.Viewport>\n>(({ className, ...props }, ref) => (\n <ToastPrimitives.Viewport\n ref={ref}\n className={cn(\n "fixed top-0 z-[100] flex max-h-screen w-full flex-col-reverse p-4 sm:bottom-0 sm:right-0 sm:top-auto sm:flex-col md:max-w-[420px]",\n className\n )}\n {...props}\n />\n))\nToastViewport.displayName = ToastPrimitives.Viewport.displayName\n\nconst toastVariants = cva(\n "group pointer-events-auto relative flex w-full items-center justify-between space-x-4 overflow-hidden rounded-md border border-gray-200 p-6 pr-8 shadow-lg transition-all data-[swipe=cancel]:translate-x-0 data-[swipe=end]:translate-x-[var(--radix-toast-swipe-end-x)] data-[swipe=move]:translate-x-[var(--radix-toast-swipe-move-x)] data-[swipe=move]:transition-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[swipe=end]:animate-out data-[state=closed]:fade-out-80 data-[state=closed]:slide-out-to-right-full data-[state=open]:slide-in-from-top-full data-[state=open]:sm:slide-in-from-bottom-full dark:border-gray-800",\n {\n variants: {\n variant: {\n default: "border bg-white text-gray-950 dark:bg-gray-950 dark:text-gray-50",\n destructive:\n "destructive group border-red-500 bg-red-500 text-gray-50 dark:border-red-900 dark:bg-red-900 dark:text-gray-50",\n },\n },\n defaultVariants: {\n variant: "default",\n },\n }\n)\n\nconst Toast = React.forwardRef<\n React.ElementRef<typeof ToastPrimitives.Root>,\n React.ComponentPropsWithoutRef<typeof ToastPrimitives.Root> &\n VariantProps<typeof toastVariants>\n>(({ className, variant, ...props }, ref) => {\n return (\n <ToastPrimitives.Root\n ref={ref}\n className={cn(toastVariants({ variant }), className)}\n {...props}\n />\n )\n})\nToast.displayName = ToastPrimitives.Root.displayName\n\nconst ToastAction = React.forwardRef<\n React.ElementRef<typeof ToastPrimitives.Action>,\n React.ComponentPropsWithoutRef<typeof ToastPrimitives.Action>\n>(({ className, ...props }, ref) => (\n <ToastPrimitives.Action\n ref={ref}\n className={cn(\n "inline-flex h-8 shrink-0 items-center justify-center rounded-md border border-gray-200 bg-transparent px-3 text-sm font-medium ring-offset-white transition-colors hover:bg-gray-100 focus:outline-none focus:ring-2 focus:ring-gray-950 focus:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 group-[.destructive]:border-gray-100/40 group-[.destructive]:hover:border-red-500/30 group-[.destructive]:hover:bg-red-500 group-[.destructive]:hover:text-gray-50 group-[.destructive]:focus:ring-red-500 dark:border-gray-800 dark:ring-offset-gray-950 dark:hover:bg-gray-800 dark:focus:ring-gray-300 dark:group-[.destructive]:border-gray-800/40 dark:group-[.destructive]:hover:border-red-900/30 dark:group-[.destructive]:hover:bg-red-900 dark:group-[.destructive]:hover:text-gray-50 dark:group-[.destructive]:focus:ring-red-900",\n className\n )}\n {...props}\n />\n))\nToastAction.displayName = ToastPrimitives.Action.displayName\n\nconst ToastClose = React.forwardRef<\n React.ElementRef<typeof ToastPrimitives.Close>,\n React.ComponentPropsWithoutRef<typeof ToastPrimitives.Close>\n>(({ className, ...props }, ref) => (\n <ToastPrimitives.Close\n ref={ref}\n className={cn(\n "absolute right-2 top-2 rounded-md p-1 text-gray-950/50 opacity-0 transition-opacity hover:text-gray-950 focus:opacity-100 focus:outline-none focus:ring-2 group-hover:opacity-100 group-[.destructive]:text-red-300 group-[.destructive]:hover:text-red-50 group-[.destructive]:focus:ring-red-400 group-[.destructive]:focus:ring-offset-red-600 dark:text-gray-50/50 dark:hover:text-gray-50",\n className\n )}\n toast-close=""\n {...props}\n >\n <X className="h-4 w-4" />\n </ToastPrimitives.Close>\n))\nToastClose.displayName = ToastPrimitives.Close.displayName\n\nconst ToastTitle = React.forwardRef<\n React.ElementRef<typeof ToastPrimitives.Title>,\n React.ComponentPropsWithoutRef<typeof ToastPrimitives.Title>\n>(({ className, ...props }, ref) => (\n <ToastPrimitives.Title\n ref={ref}\n className={cn("text-sm font-semibold", className)}\n {...props}\n />\n))\nToastTitle.displayName = ToastPrimitives.Title.displayName\n\nconst ToastDescription = React.forwardRef<\n React.ElementRef<typeof ToastPrimitives.Description>,\n React.ComponentPropsWithoutRef<typeof ToastPrimitives.Description>\n>(({ className, ...props }, ref) => (\n <ToastPrimitives.Description\n ref={ref}\n className={cn("text-sm opacity-90", className)}\n {...props}\n />\n))\nToastDescription.displayName = ToastPrimitives.Description.displayName\n\ntype ToastProps = React.ComponentPropsWithoutRef<typeof Toast>\n\ntype ToastActionElement = React.ReactElement<typeof ToastAction>\n\nexport {\n type ToastProps,\n type ToastActionElement,\n ToastProvider,\n ToastViewport,\n Toast,\n ToastTitle,\n ToastDescription,\n ToastClose,\n ToastAction,\n}\n\n',po='import {\n Toast,\n ToastClose,\n ToastDescription,\n ToastProvider,\n ToastTitle,\n ToastViewport,\n} from "./toast"\nimport { useToast } from "./use-toast"\n\nexport function Toaster() {\n const { toasts } = useToast()\n\n return (\n <ToastProvider>\n {toasts.map(function ({ id, title, description, action, ...props }) {\n return (\n <Toast key={id} {...props}>\n <div className="grid gap-1">\n {title && <ToastTitle>{title}</ToastTitle>}\n {description && (\n <ToastDescription>{description}</ToastDescription>\n )}\n </div>\n {action}\n <ToastClose />\n </Toast>\n )\n })}\n <ToastViewport />\n </ToastProvider>\n )\n}\n\n',uo='import * as React from "react"\nimport * as ToggleGroupPrimitive from "@radix-ui/react-toggle-group"\nimport { type VariantProps } from "class-variance-authority"\n\nimport { cn } from "../../lib/utils"\nimport { toggleVariants } from "./toggle"\n\nconst ToggleGroupContext = React.createContext<\n VariantProps<typeof toggleVariants>\n>({\n size: "default",\n variant: "default",\n})\n\nconst ToggleGroup = React.forwardRef<\n React.ElementRef<typeof ToggleGroupPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof ToggleGroupPrimitive.Root> &\n VariantProps<typeof toggleVariants>\n>(({ className, variant, size, children, ...props }, ref) => (\n <ToggleGroupPrimitive.Root\n ref={ref}\n className={cn("flex items-center justify-center gap-1", className)}\n {...props}\n >\n <ToggleGroupContext.Provider value={{ variant, size }}>\n {children}\n </ToggleGroupContext.Provider>\n </ToggleGroupPrimitive.Root>\n))\n\nToggleGroup.displayName = ToggleGroupPrimitive.Root.displayName\n\nconst ToggleGroupItem = React.forwardRef<\n React.ElementRef<typeof ToggleGroupPrimitive.Item>,\n React.ComponentPropsWithoutRef<typeof ToggleGroupPrimitive.Item> &\n VariantProps<typeof toggleVariants>\n>(({ className, children, variant, size, ...props }, ref) => {\n const context = React.useContext(ToggleGroupContext)\n\n return (\n <ToggleGroupPrimitive.Item\n ref={ref}\n className={cn(\n toggleVariants({\n variant: context.variant || variant,\n size: context.size || size,\n }),\n className\n )}\n {...props}\n >\n {children}\n </ToggleGroupPrimitive.Item>\n )\n})\n\nToggleGroupItem.displayName = ToggleGroupPrimitive.Item.displayName\n\nexport { ToggleGroup, ToggleGroupItem }\n\n',mo='import * as React from "react"\nimport * as TogglePrimitive from "@radix-ui/react-toggle"\nimport { cva, type VariantProps } from "class-variance-authority"\n\nimport { cn } from "../../lib/utils"\n\nconst toggleVariants = cva(\n "inline-flex items-center justify-center rounded-md text-sm font-medium ring-offset-white transition-colors hover:bg-gray-100 hover:text-gray-500 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-gray-950 focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 data-[state=on]:bg-gray-100 data-[state=on]:text-gray-900 dark:ring-offset-gray-950 dark:hover:bg-gray-800 dark:hover:text-gray-400 dark:focus-visible:ring-gray-300 dark:data-[state=on]:bg-gray-800 dark:data-[state=on]:text-gray-50",\n {\n variants: {\n variant: {\n default: "bg-transparent",\n outline:\n "border border-gray-200 bg-transparent hover:bg-gray-100 hover:text-gray-900 dark:border-gray-800 dark:hover:bg-gray-800 dark:hover:text-gray-50",\n },\n size: {\n default: "h-10 px-3",\n sm: "h-9 px-2.5",\n lg: "h-11 px-5",\n },\n },\n defaultVariants: {\n variant: "default",\n size: "default",\n },\n }\n)\n\nconst Toggle = React.forwardRef<\n React.ElementRef<typeof TogglePrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof TogglePrimitive.Root> &\n VariantProps<typeof toggleVariants>\n>(({ className, variant, size, ...props }, ref) => (\n <TogglePrimitive.Root\n ref={ref}\n className={cn(toggleVariants({ variant, size, className }))}\n {...props}\n />\n))\n\nToggle.displayName = TogglePrimitive.Root.displayName\n\nexport { Toggle, toggleVariants }\n\n',fo='import * as React from "react"\nimport * as TooltipPrimitive from "@radix-ui/react-tooltip"\n\nimport { cn } from "../../lib/utils"\n\nconst TooltipProvider = TooltipPrimitive.Provider\n\nconst Tooltip = TooltipPrimitive.Root\n\nconst TooltipTrigger = TooltipPrimitive.Trigger\n\nconst TooltipContent = React.forwardRef<\n React.ElementRef<typeof TooltipPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof TooltipPrimitive.Content>\n>(({ className, sideOffset = 4, ...props }, ref) => (\n <TooltipPrimitive.Content\n ref={ref}\n sideOffset={sideOffset}\n className={cn(\n "z-50 overflow-hidden rounded-md border border-gray-200 bg-white px-3 py-1.5 text-sm text-gray-950 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 dark:border-gray-800 dark:bg-gray-950 dark:text-gray-50",\n className\n )}\n {...props}\n />\n))\nTooltipContent.displayName = TooltipPrimitive.Content.displayName\n\nexport { Tooltip, TooltipTrigger, TooltipContent, TooltipProvider }\n\n',go='import * as React from "react"\n\nimport type {\n ToastActionElement,\n ToastProps,\n} from "./toast"\n\nconst TOAST_LIMIT = 1\nconst TOAST_REMOVE_DELAY = 1000000\n\ntype ToasterToast = ToastProps & {\n id: string\n title?: React.ReactNode\n description?: React.ReactNode\n action?: ToastActionElement\n}\n\nconst actionTypes = {\n ADD_TOAST: "ADD_TOAST",\n UPDATE_TOAST: "UPDATE_TOAST",\n DISMISS_TOAST: "DISMISS_TOAST",\n REMOVE_TOAST: "REMOVE_TOAST",\n} as const\n\nlet count = 0\n\nfunction genId() {\n count = (count + 1) % Number.MAX_SAFE_INTEGER\n return count.toString()\n}\n\ntype ActionType = typeof actionTypes\n\ntype Action =\n | {\n type: ActionType["ADD_TOAST"]\n toast: ToasterToast\n }\n | {\n type: ActionType["UPDATE_TOAST"]\n toast: Partial<ToasterToast>\n }\n | {\n type: ActionType["DISMISS_TOAST"]\n toastId?: ToasterToast["id"]\n }\n | {\n type: ActionType["REMOVE_TOAST"]\n toastId?: ToasterToast["id"]\n }\n\ninterface State {\n toasts: ToasterToast[]\n}\n\nconst toastTimeouts = new Map<string, ReturnType<typeof setTimeout>>()\n\nconst addToRemoveQueue = (toastId: string) => {\n if (toastTimeouts.has(toastId)) {\n return\n }\n\n const timeout = setTimeout(() => {\n toastTimeouts.delete(toastId)\n dispatch({\n type: "REMOVE_TOAST",\n toastId: toastId,\n })\n }, TOAST_REMOVE_DELAY)\n\n toastTimeouts.set(toastId, timeout)\n}\n\nexport const reducer = (state: State, action: Action): State => {\n switch (action.type) {\n case "ADD_TOAST":\n return {\n ...state,\n toasts: [action.toast, ...state.toasts].slice(0, TOAST_LIMIT),\n }\n\n case "UPDATE_TOAST":\n return {\n ...state,\n toasts: state.toasts.map((t) =>\n t.id === action.toast.id ? { ...t, ...action.toast } : t\n ),\n }\n\n case "DISMISS_TOAST": {\n const { toastId } = action\n\n // ! Side effects ! - This could be extracted into a dismissToast() action,\n // but I\'ll keep it here for simplicity\n if (toastId) {\n addToRemoveQueue(toastId)\n } else {\n state.toasts.forEach((toast) => {\n addToRemoveQueue(toast.id)\n })\n }\n\n return {\n ...state,\n toasts: state.toasts.map((t) =>\n t.id === toastId || toastId === undefined\n ? {\n ...t,\n open: false,\n }\n : t\n ),\n }\n }\n case "REMOVE_TOAST":\n if (action.toastId === undefined) {\n return {\n ...state,\n toasts: [],\n }\n }\n return {\n ...state,\n toasts: state.toasts.filter((t) => t.id !== action.toastId),\n }\n }\n}\n\nconst listeners: Array<(state: State) => void> = []\n\nlet memoryState: State = { toasts: [] }\n\nfunction dispatch(action: Action) {\n memoryState = reducer(memoryState, action)\n listeners.forEach((listener) => {\n listener(memoryState)\n })\n}\n\ntype Toast = Omit<ToasterToast, "id">\n\nfunction toast({ ...props }: Toast) {\n const id = genId()\n\n const update = (props: ToasterToast) =>\n dispatch({\n type: "UPDATE_TOAST",\n toast: { ...props, id },\n })\n const dismiss = () => dispatch({ type: "DISMISS_TOAST", toastId: id })\n\n dispatch({\n type: "ADD_TOAST",\n toast: {\n ...props,\n id,\n open: true,\n onOpenChange: (open) => {\n if (!open) dismiss()\n },\n },\n })\n\n return {\n id: id,\n dismiss,\n update,\n }\n}\n\nfunction useToast() {\n const [state, setState] = React.useState<State>(memoryState)\n\n React.useEffect(() => {\n listeners.push(setState)\n return () => {\n const index = listeners.indexOf(setState)\n if (index > -1) {\n listeners.splice(index, 1)\n }\n }\n }, [state])\n\n return {\n ...state,\n toast,\n dismiss: (toastId?: string) => dispatch({ type: "DISMISS_TOAST", toastId }),\n }\n}\n\nexport { useToast, toast }\n',vo={utils:Ea,accordian:Sa,alertDialog:_a,alert:Da,avatar:Ia,badge:La,breadcrumb:Oa,button:Ua,calendar:Ha,card:ja,carousel:za,checkbox:Ga,collapsible:Ba,dialog:Va,drawer:Fa,dropdownMenu:Wa,hoverCard:qa,input:Ka,label:Ya,menuBar:Xa,navigationMenu:$a,pagination:Za,popover:Qa,progress:Ja,radioGroup:eo,select:to,separator:no,skeleton:ao,slider:oo,switchComponent:ro,table:io,tabs:so,textarea:lo,toast:co,toaster:po,toggleGroup:uo,toggle:mo,tooltip:fo,useToast:go},bo={utils:Ea,avatar:Ia,button:Ua,card:ja,checkbox:Ga,input:Ka,label:Ya,radioGroup:eo,select:to,textarea:lo};function yo(e){var t,n,a,o,r=null!==(t=null==e?void 0:e.baseURL)&&void 0!==t?t:"";return{apiKey:null!==(n=null==e?void 0:e.apiKey)&&void 0!==n?n:"",baseURL:r,mistralModel:null!==(a=null==e?void 0:e.mistralModel)&&void 0!==a?a:"",strategy:null!==(o=null==e?void 0:e.strategy)&&void 0!==o?o:un.MISTRAL_OCR}}function ho(t,n){var a;void 0===n&&(n={});var o=n.allowEmptyObject;if(void 0===o||o||(null==(r=t)||"object"!=typeof r||"object"!==r.type||null!=r.properties&&0!==Object.keys(r.properties).length)){var r,i;if("string"===t.type)if(Array.isArray(t.enum)&&t.enum.length>0){var s=t.enum,l=s[0],c=s.slice(1);i=e.enum(u([l],c,!0))}else i=e.string();else if("number"===t.type)i=e.number();else if("boolean"===t.type)i=e.boolean();else if("array"===t.type&&void 0!==t.items){var p=ho(t.items);i=e.array(p)}else if("object"===t.type){for(var d={},m=null!==(a=t.properties)&&void 0!==a?a:{},f=0,g=Object.entries(m);f<g.length;f++){var v=g[f],b=v[0],y=v[1],h=ho(y);h&&(null!=y.description&&""!==y.description&&(h=h.describe(y.description)),d[b]=h)}var R=e.object(d);if(Array.isArray(t.required)&&t.required.length>0){var x=Object.fromEntries(Object.entries(d).map((function(e){var n,a=e[0],o=e[1];return[a,!0===(null===(n=t.required)||void 0===n?void 0:n.includes(a))?o:o.optional()]})));R=e.object(x)}else R=R.partial();i=R}else i=e.unknown();return null!=t.description&&""!==t.description&&(i=i.describe(t.description)),i}}!function(e){e.Input="input",e.Textarea="textarea",e.Slider="slider",e.Checkbox="checkbox",e.Switch="switch",e.Dropdown="dropdown",e.Combobox="combobox",e.Tags="tags"}(Aa||(Aa={})),function(e){e.Number="number",e.Boolean="boolean",e.String="string",e.Enum="enum",e.Array="array"}(ka||(ka={})),function(e){e.Conversation="conversation",e.Model="model",e.Custom="custom"}(Ma||(Ma={}));var Ro=["key","type","component"];function xo(n){for(var a={},o=0,r=n;o<r.length;o++){var i=r[o],s=i.key,l=i.type,c=i.default,p=i.range,d=i.options,u=i.minText,m=i.maxText,f=i.minTags,g=i.maxTags;if(l!==ka.Number)if(l!==ka.Boolean)if(l!==ka.String)if(l!==ka.Enum)if(l!==ka.Array)console.warn("Unsupported setting type: ".concat(l));else{v=e.array(e.string().or(e.number()));f&&v instanceof t&&(v=v.min(f)),g&&v instanceof t&&(v=v.max(g)),c&&Array.isArray(c)&&(v=v.default(c)),a[s]=v}else{if(!d||0===d.length){console.warn("Missing or empty 'options' for enum setting '".concat(s,"'."));continue}v=e.enum(d);a[s]="string"==typeof c?v.default(c):v}else{var v=e.string();u&&(v=v.min(u)),m&&(v=v.max(m)),a[s]="string"==typeof c?v.default(c):v}else{var v=e.boolean();a[s]="boolean"==typeof c?v.default(c):v}else{var v=e.number();p&&(v=(v=v.min(p.min)).max(p.max)),a[s]="number"==typeof c?v.default(c):v}}return e.object(a)}var To={ZodString:"string",ZodNumber:"number",ZodBoolean:"boolean"};function Po(e){for(var t,o=[],r=new Set,i=0,s=e;i<s.length;i++){void 0!==(d=s[i]).columns&&(d.columns<1||d.columns>4?o.push({code:n.custom,message:"Invalid columns value for setting ".concat(d.key,". Must be between ").concat(1," and ").concat(4,"."),path:["columns"]}):r.add(d.columns))}for(var l=1===r.size?r.values().next().value:2,c=0,p=e;c<p.length;c++){for(var d=p[c],u=0,m=Ro;u<m.length;u++){var f=m[u];void 0===d[f]&&o.push({code:n.custom,message:"Missing required field ".concat(f," for setting ").concat(d.key,"."),path:[f]})}var g=Object.values(ka);if(g.includes(d.type)||o.push({code:n.custom,message:"Invalid type for setting ".concat(d.key,". Must be one of ").concat(g.join(", "),"."),path:["type"]}),(d.component===Aa.Tags&&d.type!==ka.Array||d.component!==Aa.Tags&&d.type===ka.Array)&&o.push({code:n.custom,message:"Tags component for setting ".concat(d.key," must have type array."),path:["type"]}),d.component===Aa.Tags&&(void 0!==d.minTags&&d.minTags<0&&o.push({code:n.custom,message:"Invalid minTags value for setting ".concat(d.key,". Must be non-negative."),path:["minTags"]}),void 0!==d.maxTags&&d.maxTags<0&&o.push({code:n.custom,message:"Invalid maxTags value for setting ".concat(d.key,". Must be non-negative."),path:["maxTags"]}),d.default&&!Array.isArray(d.default)&&o.push({code:n.custom,message:"Invalid default value for setting ".concat(d.key,". Must be an array."),path:["default"]}),d.default&&d.maxTags&&d.default.length>d.maxTags&&o.push({code:n.custom,message:"Invalid default value for setting ".concat(d.key,". Must have at most ").concat(d.maxTags," tags."),path:["default"]}),d.default&&d.minTags&&d.default.length<d.minTags&&o.push({code:n.custom,message:"Invalid default value for setting ".concat(d.key,". Must have at least ").concat(d.minTags," tags."),path:["default"]}),d.default||(d.default=[])),d.component!==Aa.Input&&d.component!==Aa.Textarea||(d.type===ka.Number&&d.component===Aa.Textarea&&o.push({code:n.custom,message:"Textarea component for setting ".concat(d.key," must have type string."),path:["type"]}),void 0!==d.minText&&void 0!==d.maxText&&d.minText>d.maxText&&o.push({code:n.custom,message:"For setting ".concat(d.key,", minText cannot be greater than maxText."),path:[d.key,"minText","maxText"]}),d.placeholder||(d.placeholder="")),d.component===Aa.Slider&&(d.type!==ka.Number||d.range||o.push({code:n.custom,message:"Slider component for setting ".concat(d.key," must have a range if type is number."),path:["range"]}),d.type===ka.Enum&&(!d.options||d.options.length<2)&&o.push({code:n.custom,message:"Slider component for setting ".concat(d.key," requires at least ").concat(2," options for enum type."),path:["options"]}),d.includeInput=d.type===ka.Number&&(null===(t=d.includeInput)||void 0===t||t)),d.component===Aa.Slider&&d.type===ka.Number&&void 0===d.default&&d.range&&(d.default=Math.round((d.range.min+d.range.max)/2)),d.component!==Aa.Checkbox&&d.component!==Aa.Switch||(d.options&&d.options.length>2&&o.push({code:n.custom,message:"Checkbox/Switch component for setting ".concat(d.key," must have 1-2 options."),path:["options"]}),d.default||d.type!==ka.Boolean||(d.default=!1)),d.component===Aa.Dropdown&&((!d.options||d.options.length<2)&&o.push({code:n.custom,message:"Dropdown component for setting ".concat(d.key," requires at least ").concat(2," options."),path:["options"]}),!d.default&&d.options&&d.options.length>0&&(d.default=d.options[0])),d.component===Aa.Combobox&&((!d.options||d.options.length<2)&&o.push({code:n.custom,message:"Combobox component for setting ".concat(d.key," requires at least ").concat(2," options."),path:["options"]}),!d.default&&d.options&&d.options.length>0&&(d.default=d.options[0])),d.columnSpan||(d.columnSpan=Math.floor((null!=l?l:0)/2)),d.label||(d.label=d.key),d.component!==Aa.Input&&d.component!==Aa.Textarea||(void 0!==d.minText&&d.minText<0&&o.push({code:n.custom,message:"Invalid minText value for setting ".concat(d.key,". Must be non-negative."),path:["minText"]}),void 0!==d.maxText&&d.maxText<0&&o.push({code:n.custom,message:"Invalid maxText value for setting ".concat(d.key,". Must be non-negative."),path:["maxText"]})),d.optionType!==Ma.Custom){var v=xe.shape[d.key];if(v){var b=v._def.typeName;(To[b]||null)!==d.type&&o.push({code:n.custom,message:"Setting ".concat(d.key,' with optionType "').concat(d.optionType,'" must match the type defined in tConversationSchema.'),path:["optionType"]})}else o.push({code:n.custom,message:"Setting ".concat(d.key,' with optionType "').concat(d.optionType,'" must be defined in tConversationSchema.'),path:["optionType"]})}d.type===ka.Number&&isNaN(d.default)&&o.push({code:n.custom,message:"Invalid default value for setting ".concat(d.key,". Must be a number."),path:["default"]}),d.type===ka.Boolean&&"boolean"!=typeof d.default&&o.push({code:n.custom,message:"Invalid default value for setting ".concat(d.key,". Must be a boolean."),path:["default"]}),d.type!==ka.String&&d.type!==ka.Enum||"string"==typeof d.default||o.push({code:n.custom,message:"Invalid default value for setting ".concat(d.key,". Must be a string."),path:["default"]}),d.type===ka.Enum&&d.options&&!d.options.includes(d.default)&&o.push({code:n.custom,message:"Invalid default value for setting ".concat(d.key,". Must be one of the options: [").concat(d.options.join(", "),"]."),path:["default"]}),d.type===ka.Number&&d.range&&"number"==typeof d.default&&(d.default<d.range.min||d.default>d.range.max)&&o.push({code:n.custom,message:"Invalid default value for setting ".concat(d.key,". Must be within the range [").concat(d.range.min,", ").concat(d.range.max,"]."),path:["default"]})}if(o.length>0)throw new a(o)}var No,wo,Co,Ao,ko,Mo,Eo,So,_o,Do,Io,Lo,Oo,Uo,Ho,jo,zo,Go,Bo,Vo,Fo,Wo,qo=function(e){var t=l(l({},ae),e);return xe.pick({model:!0,chatGptLabel:!0,promptPrefix:!0,temperature:!0,top_p:!0,presence_penalty:!0,frequency_penalty:!0,resendFiles:!0,imageDetail:!0,maxContextTokens:!0}).transform((function(e){var n,a,o,r,i,s,c,p,d;return l(l({},e),{model:null!==(n=e.model)&&void 0!==n?n:t.model.default,chatGptLabel:null!==(a=e.chatGptLabel)&&void 0!==a?a:null,promptPrefix:null!==(o=e.promptPrefix)&&void 0!==o?o:null,temperature:null!==(r=e.temperature)&&void 0!==r?r:t.temperature.default,top_p:null!==(i=e.top_p)&&void 0!==i?i:t.top_p.default,presence_penalty:null!==(s=e.presence_penalty)&&void 0!==s?s:t.presence_penalty.default,frequency_penalty:null!==(c=e.frequency_penalty)&&void 0!==c?c:t.frequency_penalty.default,resendFiles:"boolean"==typeof e.resendFiles?e.resendFiles:t.resendFiles.default,imageDetail:null!==(p=e.imageDetail)&&void 0!==p?p:t.imageDetail.default,maxContextTokens:null!==(d=e.maxContextTokens)&&void 0!==d?d:void 0})})).catch((function(){return{model:t.model.default,chatGptLabel:null,promptPrefix:null,temperature:t.temperature.default,top_p:t.top_p.default,presence_penalty:t.presence_penalty.default,frequency_penalty:t.frequency_penalty.default,resendFiles:t.resendFiles.default,imageDetail:t.imageDetail.default,maxContextTokens:void 0}}))},Ko=function(e){var t=l(l({},oe),e);return xe.pick({model:!0,modelLabel:!0,promptPrefix:!0,examples:!0,temperature:!0,maxOutputTokens:!0,topP:!0,topK:!0,maxContextTokens:!0}).transform((function(e){var n,a,o,r,i,s,c,p,d;return l(l({},e),{model:null!==(n=e.model)&&void 0!==n?n:t.model.default,modelLabel:null!==(a=e.modelLabel)&&void 0!==a?a:null,promptPrefix:null!==(o=e.promptPrefix)&&void 0!==o?o:null,examples:null!==(r=e.examples)&&void 0!==r?r:[{input:{content:""},output:{content:""}}],temperature:null!==(i=e.temperature)&&void 0!==i?i:t.temperature.default,maxOutputTokens:null!==(s=e.maxOutputTokens)&&void 0!==s?s:t.maxOutputTokens.default,topP:null!==(c=e.topP)&&void 0!==c?c:t.topP.default,topK:null!==(p=e.topK)&&void 0!==p?p:t.topK.default,maxContextTokens:null!==(d=e.maxContextTokens)&&void 0!==d?d:void 0})})).catch((function(){return{model:t.model.default,modelLabel:null,promptPrefix:null,examples:[{input:{content:""},output:{content:""}}],temperature:t.temperature.default,maxOutputTokens:t.maxOutputTokens.default,topP:t.topP.default,topK:t.topK.default,maxContextTokens:void 0}}))};!function(e){e.ADMIN="ADMIN",e.USER="USER"}(Vo||(Vo={})),function(e){e.PROMPTS="PROMPTS",e.BOOKMARKS="BOOKMARKS",e.AGENTS="AGENTS",e.MULTI_CONVO="MULTI_CONVO",e.TEMPORARY_CHAT="TEMPORARY_CHAT",e.RUN_CODE="RUN_CODE"}(Fo||(Fo={})),function(e){e.SHARED_GLOBAL="SHARED_GLOBAL",e.USE="USE",e.CREATE="CREATE",e.UPDATE="UPDATE",e.READ="READ",e.READ_AUTHOR="READ_AUTHOR",e.SHARE="SHARE"}(Wo||(Wo={}));var Yo,Xo,$o=e.object(((No={})[Wo.SHARED_GLOBAL]=e.boolean().default(!1),No[Wo.USE]=e.boolean().default(!0),No[Wo.CREATE]=e.boolean().default(!0),No)),Zo=e.object(((wo={})[Wo.USE]=e.boolean().default(!0),wo)),Qo=e.object(((Co={})[Wo.SHARED_GLOBAL]=e.boolean().default(!1),Co[Wo.USE]=e.boolean().default(!0),Co[Wo.CREATE]=e.boolean().default(!0),Co)),Jo=e.object(((Ao={})[Wo.USE]=e.boolean().default(!0),Ao)),er=e.object(((ko={})[Wo.USE]=e.boolean().default(!0),ko)),tr=e.object(((Mo={})[Wo.USE]=e.boolean().default(!0),Mo)),nr=e.object(((Eo={name:e.string()})[Fo.PROMPTS]=$o,Eo[Fo.BOOKMARKS]=Zo,Eo[Fo.AGENTS]=Qo,Eo[Fo.MULTI_CONVO]=Jo,Eo[Fo.TEMPORARY_CHAT]=er,Eo[Fo.RUN_CODE]=tr,Eo)),ar=e.object(((So={})[Vo.ADMIN]=nr.extend(((_o={name:e.literal(Vo.ADMIN)})[Fo.PROMPTS]=$o.extend(((Do={})[Wo.SHARED_GLOBAL]=e.boolean().default(!0),Do[Wo.USE]=e.boolean().default(!0),Do[Wo.CREATE]=e.boolean().default(!0),Do)),_o[Fo.BOOKMARKS]=Zo.extend(((Io={})[Wo.USE]=e.boolean().default(!0),Io)),_o[Fo.AGENTS]=Qo.extend(((Lo={})[Wo.SHARED_GLOBAL]=e.boolean().default(!0),Lo[Wo.USE]=e.boolean().default(!0),Lo[Wo.CREATE]=e.boolean().default(!0),Lo)),_o[Fo.MULTI_CONVO]=Jo.extend(((Oo={})[Wo.USE]=e.boolean().default(!0),Oo)),_o[Fo.TEMPORARY_CHAT]=er.extend(((Uo={})[Wo.USE]=e.boolean().default(!0),Uo)),_o[Fo.RUN_CODE]=tr.extend(((Ho={})[Wo.USE]=e.boolean().default(!0),Ho)),_o)),So[Vo.USER]=nr.extend(((jo={name:e.literal(Vo.USER)})[Fo.PROMPTS]=$o,jo[Fo.BOOKMARKS]=Zo,jo[Fo.AGENTS]=Qo,jo[Fo.MULTI_CONVO]=Jo,jo[Fo.TEMPORARY_CHAT]=er,jo[Fo.RUN_CODE]=tr,jo)),So)).parse(((zo={})[Vo.ADMIN]=((Go={name:Vo.ADMIN})[Fo.PROMPTS]={},Go[Fo.BOOKMARKS]={},Go[Fo.AGENTS]={},Go[Fo.MULTI_CONVO]={},Go[Fo.TEMPORARY_CHAT]={},Go[Fo.RUN_CODE]={},Go),zo[Vo.USER]=((Bo={name:Vo.USER})[Fo.PROMPTS]={},Bo[Fo.BOOKMARKS]={},Bo[Fo.AGENTS]={},Bo[Fo.MULTI_CONVO]={},Bo[Fo.TEMPORARY_CHAT]={},Bo[Fo.RUN_CODE]={},Bo),zo));function or(e){o.defaults.headers.common["Accept-Language"]=e}function rr(e){o.defaults.headers.common.Authorization="Bearer "+e}!function(e){e.messages="messages",e.sharedMessages="sharedMessages",e.sharedLinks="sharedLinks",e.allConversations="allConversations",e.archivedConversations="archivedConversations",e.searchConversations="searchConversations",e.conversation="conversation",e.searchEnabled="searchEnabled",e.user="user",e.name="name",e.models="models",e.balance="balance",e.endpoints="endpoints",e.presets="presets",e.searchResults="searchResults",e.tokenCount="tokenCount",e.availablePlugins="availablePlugins",e.startupConfig="startupConfig",e.assistants="assistants",e.assistant="assistant",e.agents="agents",e.agent="agent",e.endpointsConfigOverride="endpointsConfigOverride",e.files="files",e.fileConfig="fileConfig",e.tools="tools",e.toolAuth="toolAuth",e.toolCalls="toolCalls",e.agentTools="agentTools",e.actions="actions",e.assistantDocs="assistantDocs",e.agentDocs="agentDocs",e.fileDownload="fileDownload",e.voices="voices",e.customConfigSpeech="customConfigSpeech",e.prompts="prompts",e.prompt="prompt",e.promptGroups="promptGroups",e.allPromptGroups="allPromptGroups",e.promptGroup="promptGroup",e.categories="categories",e.randomPrompts="randomPrompts",e.roles="roles",e.conversationTags="conversationTags",e.health="health",e.userTerms="userTerms",e.banner="banner"}(Yo||(Yo={})),function(e){e.fileUpload="fileUpload",e.fileDelete="fileDelete",e.updatePreset="updatePreset",e.deletePreset="deletePreset",e.loginUser="loginUser",e.logoutUser="logoutUser",e.refreshToken="refreshToken",e.avatarUpload="avatarUpload",e.speechToText="speechToText",e.textToSpeech="textToSpeech",e.assistantAvatarUpload="assistantAvatarUpload",e.agentAvatarUpload="agentAvatarUpload",e.updateAction="updateAction",e.updateAgentAction="updateAgentAction",e.deleteAction="deleteAction",e.deleteAgentAction="deleteAgentAction",e.deleteUser="deleteUser",e.updateRole="updateRole",e.enableTwoFactor="enableTwoFactor",e.verifyTwoFactor="verifyTwoFactor"}(Xo||(Xo={}));var ir=function(e,t){return"/api/messages/".concat(e).concat(null!=t&&t?"/".concat(t):"")},sr="/api/share",lr=function(e){return"".concat(sr,"/").concat(e)},cr=function(e,t,n,a,o,r){return"".concat(sr,"?pageSize=").concat(e,"&isPublic=").concat(t,"&sortBy=").concat(n,"&sortDirection=").concat(a).concat(o?"&search=".concat(o):"").concat(r?"&cursor=".concat(r):"")},pr="/api/keys",dr="/api/convos",ur=function(e,t,n){return"".concat(dr,"?pageNumber=").concat(e).concat(!0===t?"&isArchived=true":"").concat(null==n?void 0:n.map((function(e){return"&tags=".concat(e)})).join(""))},mr=function(){return"".concat(dr,"/update")},fr=function(){return"".concat(dr,"/clear")},gr=function(e,t){return"/api/search?q=".concat(e,"&pageNumber=").concat(t)},vr=function(){return"/api/prompts"},br=function(e){var t=e.path,n=void 0===t?"":t,a=e.options,o=e.version,r=e.endpoint,i=!0===e.isAvatar?"".concat(hr(),"/assistants"):"/api/assistants/v".concat(o);if(n&&""!==n&&(i+="/".concat(n)),r&&(a=l(l({},null!=a?a:{}),{endpoint:r})),a&&Object.keys(a).length>0){var s=new URLSearchParams(a).toString();i+="?".concat(s)}return i},yr=function(e){var t=e.path,n=void 0===t?"":t,a=e.options,o="/api/agents";if(n&&""!==n&&(o+="/".concat(n)),a&&Object.keys(a).length>0){var r=new URLSearchParams(a).toString();o+="?".concat(r)}return o},hr=function(){return"".concat("/api/files","/images")},Rr=function(){return"".concat("/api/files","/speech")},xr=function(){return"".concat(Rr(),"/tts")},Tr=function(e){return"".concat("/api/prompts","/groups/").concat(e)},Pr=function(e){return"".concat("/api/prompts","/").concat(e)},Nr=vr,wr=Tr,Cr=Tr,Ar=function(e){return"".concat("/api/roles","/").concat(e.toLowerCase())},kr=function(e){return"/api/tags".concat(null!=e&&e?"/".concat(encodeURIComponent(e)):"")};function Mr(e,t){return p(this,void 0,void 0,(function(){return d(this,(function(n){switch(n.label){case 0:return[4,o.post(e,JSON.stringify(t),{headers:{"Content-Type":"application/json"}})];case 1:return[2,n.sent().data]}}))}))}var Er=!1,Sr=[],_r=function(e){return Mr(function(e){return"/api/auth/refresh".concat(!0===e?"?retry=true":"")}(e))},Dr=function(e){rr(e),window.dispatchEvent(new CustomEvent("tokenUpdated",{detail:e}))},Ir=function(e,t){void 0===t&&(t=null),Sr.forEach((function(n){e?n.reject(e):n.resolve(t)})),Sr=[]};o.interceptors.response.use((function(e){return e}),(function(e){return p(void 0,void 0,void 0,(function(){var t,n,a,r,i,s,l,c,p;return d(this,(function(d){switch(d.label){case 0:if(t=e.config,!e.response)return[2,Promise.reject(e)];if(!0===(null===(s=t.url)||void 0===s?void 0:s.includes("/api/auth/2fa")))return[2,Promise.reject(e)];if(!0===(null===(l=t.url)||void 0===l?void 0:l.includes("/api/auth/logout")))return[2,Promise.reject(e)];if(401!==e.response.status||t._retry)return[3,13];if(console.warn("401 error, refreshing token"),t._retry=!0,!Er)return[3,5];d.label=1;case 1:return d.trys.push([1,4,,5]),[4,new Promise((function(e,t){Sr.push({resolve:e,reject:t})}))];case 2:return r=d.sent(),t.headers.Authorization="Bearer "+r,[4,o(t)];case 3:return[2,d.sent()];case 4:return n=d.sent(),[2,Promise.reject(n)];case 5:Er=!0,d.label=6;case 6:return d.trys.push([6,11,12,13]),[4,_r(!0===(null===(c=t.url)||void 0===c?void 0:c.includes("api/auth/refresh")))];case 7:return a=d.sent(),(r=null!==(p=null==a?void 0:a.token)&&void 0!==p?p:"")?(t.headers.Authorization="Bearer "+r,Dr(r),Ir(null,r),[4,o(t)]):[3,9];case 8:return[2,d.sent()];case 9:window.location.href.includes("share/")?console.log("Refresh token failed from shared link, attempting request to ".concat(t.url)):window.location.href="/login",d.label=10;case 10:return[3,13];case 11:return i=d.sent(),Ir(i,null),[2,Promise.reject(i)];case 12:return Er=!1,[7];case 13:return[2,Promise.reject(e)]}}))}))}));var Lr={get:function(e,t){return p(this,void 0,void 0,(function(){return d(this,(function(n){switch(n.label){case 0:return[4,o.get(e,l({},t))];case 1:return[2,n.sent().data]}}))}))},getResponse:function(e,t){return p(this,void 0,void 0,(function(){return d(this,(function(n){switch(n.label){case 0:return[4,o.get(e,l({},t))];case 1:return[2,n.sent()]}}))}))},post:Mr,postMultiPart:function(e,t,n){return p(this,void 0,void 0,(function(){return d(this,(function(a){switch(a.label){case 0:return[4,o.post(e,t,l(l({},n),{headers:{"Content-Type":"multipart/form-data"}}))];case 1:return[2,a.sent().data]}}))}))},postTTS:function(e,t,n){return p(this,void 0,void 0,(function(){return d(this,(function(a){switch(a.label){case 0:return[4,o.post(e,t,l(l({},n),{headers:{"Content-Type":"multipart/form-data"},responseType:"arraybuffer"}))];case 1:return[2,a.sent().data]}}))}))},put:function(e,t){return p(this,void 0,void 0,(function(){return d(this,(function(n){switch(n.label){case 0:return[4,o.put(e,JSON.stringify(t),{headers:{"Content-Type":"application/json"}})];case 1:return[2,n.sent().data]}}))}))},delete:function(e){return p(this,void 0,void 0,(function(){return d(this,(function(t){switch(t.label){case 0:return[4,o.delete(e)];case 1:return[2,t.sent().data]}}))}))},deleteWithOptions:function(e,t){return p(this,void 0,void 0,(function(){return d(this,(function(n){switch(n.label){case 0:return[4,o.delete(e,l({},t))];case 1:return[2,n.sent().data]}}))}))},patch:function(e,t){return p(this,void 0,void 0,(function(){return d(this,(function(n){switch(n.label){case 0:return[4,o.patch(e,JSON.stringify(t),{headers:{"Content-Type":"application/json"}})];case 1:return[2,n.sent().data]}}))}))},refreshToken:_r,dispatchTokenUpdatedEvent:Dr};var Or=Object.freeze({__proto__:null,abortRequestWithMessage:function(e,t,n){return Lr.post(function(e){return"/api/ask/".concat(e,"/abort")}(e),{arg:{abortKey:t,message:n}})},acceptTerms:function(){return Lr.post("/api/user/terms/accept")},addTagToConversation:function(e,t){return Lr.put(function(e){return"".concat(kr(),"/convo/").concat(e)}(e),t)},archiveConversation:function(e){return Lr.post(mr(),{arg:e})},callTool:function(e){var t=e.toolId,n=e.toolParams;return Lr.post(yr({path:"tools/".concat(t,"/call")}),n)},clearAllConversations:function(){return Lr.post(fr(),{arg:{}})},confirmTwoFactor:function(e){return Lr.post("/api/auth/2fa/confirm",e)},createAgent:function(e){var t=c(e,[]);return Lr.post(yr({}),t)},createAssistant:function(e){var t=e.version,n=c(e,["version"]);return Lr.post(br({version:t}),n)},createConversationTag:function(e){return Lr.post(kr(),e)},createPreset:function(e){return Lr.post("/api/presets",e)},createPrompt:function(e){return Lr.post(Nr(),e)},createSharedLink:function(e){return Lr.post(function(e){return"".concat(sr,"/").concat(e)}(e))},deleteAction:function(e){var t=e.assistant_id,n=e.action_id,a=e.model,o=e.version,r=e.endpoint;return p(void 0,void 0,void 0,(function(){return d(this,(function(e){return[2,Lr.delete(br({path:"actions/".concat(t,"/").concat(n,"/").concat(a),version:o,endpoint:r}))]}))}))},deleteAgent:function(e){var t=e.agent_id;return Lr.delete(yr({path:t}))},deleteAgentAction:function(e){var t=e.agent_id,n=e.action_id;return p(void 0,void 0,void 0,(function(){return d(this,(function(e){return[2,Lr.delete(yr({path:"actions/".concat(t,"/").concat(n)}))]}))}))},deleteAssistant:function(e){var t=e.assistant_id,n=e.model,a=e.endpoint,o=e.version;return Lr.delete(br({path:t,options:{model:n,endpoint:a},version:o}))},deleteConversation:function(e){return Lr.post(fr(),{arg:e})},deleteConversationTag:function(e){return Lr.delete(kr(e))},deleteFiles:function(e){return p(void 0,void 0,void 0,(function(){return d(this,(function(t){return[2,Lr.deleteWithOptions("/api/files",{data:e})]}))}))},deletePreset:function(e){return Lr.post("/api/presets/delete",e)},deletePrompt:function(e){return Lr.delete(function(e){var t=e._id,n=e.groupId;return"".concat("/api/prompts","/").concat(t,"?groupId=").concat(n)}(e))},deletePromptGroup:function(e){return Lr.delete(Cr(e))},deleteSharedLink:function(e){return Lr.delete(lr(e))},deleteUser:function(){return Lr.delete("/api/user/delete")},disableTwoFactor:function(){return Lr.post("/api/auth/2fa/disable")},duplicateAgent:function(e){var t=e.agent_id;return Lr.post(yr({path:"".concat(t,"/duplicate")}))},duplicateConversation:function(e){return Lr.post("".concat(dr,"/duplicate"),e)},editArtifact:function(e){return p(void 0,void 0,void 0,(function(){var t=e.messageId,n=c(e,["messageId"]);return d(this,(function(e){return[2,Lr.post("/api/messages/artifact/".concat(t),n)]}))}))},enableTwoFactor:function(){return Lr.get("/api/auth/2fa/enable")},forkConversation:function(e){return Lr.post("".concat(dr,"/fork"),e)},genTitle:function(e){return Lr.post("".concat(dr,"/gen_title"),e)},getAIEndpoints:function(){return Lr.get("/api/endpoints")},getActions:function(){return Lr.get(yr({path:"actions"}))},getAgentById:function(e){var t=e.agent_id;return Lr.get(yr({path:t}))},getAllPromptGroups:function(){return Lr.get("".concat("/api/prompts","/all"))},getAssistantById:function(e){var t=e.endpoint,n=e.assistant_id,a=e.version;return Lr.get(br({path:n,endpoint:t,version:a}))},getAssistantDocs:function(e){var t=e.endpoint,n=e.version;return W(t)?Lr.get(br({path:"documents",version:n,options:{endpoint:t},endpoint:t})):Promise.resolve([])},getAvailableAgentTools:function(){return Lr.get(yr({path:"tools"}))},getAvailablePlugins:function(){return Lr.get("/api/plugins")},getAvailableTools:function(e,t){var n="";if(W(e)){n=br({path:"tools",endpoint:e,version:null!=t?t:Kt[e]})}else n=yr({path:"tools"});return Lr.get(n)},getBanner:function(){return Lr.get("/api/banner")},getCategories:function(){return Lr.get("/api/categories")},getCodeOutputDownload:function(e){return p(void 0,void 0,void 0,(function(){return d(this,(function(t){return[2,Lr.getResponse(e,{responseType:"blob",headers:{Accept:"application/octet-stream"}})]}))}))},getConversationById:function(e){return Lr.get(function(e){return"".concat(dr,"/").concat(e)}(e))},getConversationTags:function(){return Lr.get(kr())},getConversations:function(e){return Lr.get(ur(e))},getCustomConfigSpeech:function(){return Lr.get("".concat(Rr(),"/config/get"))},getEndpointsConfigOverride:function(){return Lr.get("/api/endpoints/config/override")},getFileConfig:function(){return Lr.get("".concat("/api/files","/config"))},getFileDownload:function(e,t){return p(void 0,void 0,void 0,(function(){return d(this,(function(n){return[2,Lr.getResponse("".concat("/api/files","/download/").concat(e,"/").concat(t),{responseType:"blob",headers:{Accept:"application/octet-stream"}})]}))}))},getFiles:function(){return Lr.get("/api/files")},getLoginGoogle:function(){return Lr.get("/api/auth/google")},getMessagesByConvoId:function(e){return"new"===e?Promise.resolve([]):Lr.get(ir(e))},getModels:function(){return p(void 0,void 0,void 0,(function(){return d(this,(function(e){return[2,Lr.get("/api/models")]}))}))},getPresets:function(){return Lr.get("/api/presets")},getPrompt:function(e){return Lr.get(Pr(e))},getPromptGroup:function(e){return Lr.get(Tr(e))},getPromptGroups:function(e){return Lr.get(function(e){var t="".concat("/api/prompts","/groups");if(Object.keys(e).length>0){var n=new URLSearchParams(e).toString();t+="?".concat(n)}return t}(e))},getPrompts:function(e){return Lr.get(function(e){var t="/api/prompts";if(Object.keys(e).length>0){var n=new URLSearchParams(e).toString();t+="?".concat(n)}return t}(e))},getRandomPrompts:function(e){return Lr.get((t=e.limit,n=e.skip,"".concat("/api/prompts","/random?limit=").concat(t,"&skip=").concat(n)));var t,n},getRole:function(e){return Lr.get(Ar(e))},getSearchEnabled:function(){return Lr.get("/api/search/enable")},getSharedLink:function(e){return Lr.get(function(e){return"".concat(sr,"/link/").concat(e)}(e))},getSharedMessages:function(e){return Lr.get(lr(e))},getStartupConfig:function(){return Lr.get("/api/config")},getToolCalls:function(e){return Lr.get(yr({path:"tools/calls",options:e}))},getUser:function(){return Lr.get("/api/user")},getUserBalance:function(){return Lr.get("/api/balance")},getUserTerms:function(){return Lr.get("/api/user/terms")},getVerifyAgentToolAuth:function(e){return Lr.get(yr({path:"tools/".concat(e.toolId,"/auth")}))},getVoices:function(){return Lr.get("".concat(xr(),"/voices"))},healthCheck:function(){return Lr.get("/health")},importConversationsFile:function(e){return Lr.postMultiPart("".concat(dr,"/import"),e)},listAgents:function(e){return Lr.get(yr({options:e}))},listAssistants:function(e,t){return Lr.get(br({version:t,options:e}))},listConversations:function(e){var t,n,a=(null!==(t=null==e?void 0:e.pageNumber)&&void 0!==t?t:"1")||"1",o=null!==(n=null==e?void 0:e.isArchived)&&void 0!==n&&n,r=(null==e?void 0:e.tags)||[];return Lr.get(ur(a,o,r))},listConversationsByQuery:function(e){var t,n,a=(null!==(t=null==e?void 0:e.pageNumber)&&void 0!==t?t:"1")||"1",o=null!==(n=null==e?void 0:e.searchQuery)&&void 0!==n?n:"";return""!==o?Lr.get(gr(o,a)):Lr.get(ur(a))},listSharedLinks:function(e){return p(void 0,void 0,void 0,(function(){var t,n,a,o,r,i;return d(this,(function(s){return t=e.pageSize,n=e.isPublic,a=e.sortBy,o=e.sortDirection,r=e.search,i=e.cursor,[2,Lr.get(cr(t,n,a,o,r,i))]}))}))},login:function(e){return Lr.post("/api/auth/login",e)},logout:function(){return Lr.post("/api/auth/logout")},makePromptProduction:function(e){return Lr.patch("".concat(Pr(e),"/tags/production"))},rebuildConversationTags:function(){return Lr.post(kr("rebuild"))},regenerateBackupCodes:function(){return Lr.post("/api/auth/2fa/backup/regenerate")},register:function(e){return Lr.post("/api/auth/register",e)},requestPasswordReset:function(e){return Lr.post("/api/auth/requestPasswordReset",e)},resendVerificationEmail:function(e){return Lr.post("/api/user/verify/resend",e)},resetPassword:function(e){return Lr.post("/api/auth/resetPassword",e)},revokeAllUserKeys:function(){return Lr.delete("".concat(pr,"?all=true"))},revokeUserKey:function(e){return Lr.delete(function(e){return"".concat(pr,"/").concat(e)}(e))},searchConversations:function(e,t){return p(void 0,void 0,void 0,(function(){return d(this,(function(n){return[2,Lr.get(gr(e,t))]}))}))},speechToText:function(e){return Lr.postMultiPart("".concat(Rr(),"/stt"),e)},textToSpeech:function(e){return Lr.postTTS("".concat(xr(),"/manual"),e)},updateAction:function(e){var t=e.assistant_id,n=e.version,a=c(e,["assistant_id","version"]);return Lr.post(br({path:"actions/".concat(t),version:n}),a)},updateAgent:function(e){var t=e.agent_id,n=e.data;return Lr.patch(yr({path:t}),n)},updateAgentAction:function(e){var t=e.agent_id,n=c(e,["agent_id"]);return Lr.post(yr({path:"actions/".concat(t)}),n)},updateAgentPermissions:function(e){return Lr.put((t=e.roleName,"".concat(Ar(t),"/agents")),e.updates);var t},updateAssistant:function(e){var t=e.assistant_id,n=e.data,a=e.version;return Lr.patch(br({path:t,version:a}),n)},updateConversation:function(e){return Lr.post(mr(),{arg:e})},updateConversationTag:function(e,t){return Lr.put(kr(e),t)},updateMessage:function(e){var t=e.conversationId,n=e.messageId,a=e.text;if(!t)throw new Error("conversationId is required");return Lr.put(ir(t,n),{text:a})},updateMessageContent:function(e){var t=e.conversationId,n=e.messageId,a=e.index,o=e.text;if(!t)throw new Error("conversationId is required");return Lr.put(ir(t,n),{text:o,index:a})},updatePreset:function(e){return Lr.post("/api/presets",e)},updatePromptGroup:function(e){return Lr.patch(wr(e.id),e.payload)},updatePromptLabels:function(e){return Lr.patch((t=e.id,"".concat(Pr(t),"/labels")),e.payload);var t},updatePromptPermissions:function(e){return Lr.put((t=e.roleName,"".concat(Ar(t),"/prompts")),e.updates);var t},updateSharedLink:function(e){return Lr.patch(function(e){return"".concat(sr,"/").concat(e)}(e))},updateTokenCount:function(e){return Lr.post("/api/tokenizer",{arg:e})},updateUserKey:function(e){if(!e.value)throw new Error("value is required");return Lr.put(pr,e)},updateUserPlugins:function(e){return Lr.post("/api/user/plugins",e)},uploadAgentAvatar:function(e){return Lr.postMultiPart("".concat(hr(),"/agents/").concat(e.agent_id,"/avatar"),e.formData)},uploadAssistantAvatar:function(e){return Lr.postMultiPart(br({isAvatar:!0,path:"".concat(e.assistant_id,"/avatar"),options:{model:e.model,endpoint:e.endpoint},version:e.version}),e.formData)},uploadAvatar:function(e){return Lr.postMultiPart("".concat(hr(),"/avatar"),e)},uploadFile:function(e,t){var n=t?{signal:t}:void 0;return Lr.postMultiPart("/api/files",e,n)},uploadImage:function(e,t){var n=t?{signal:t}:void 0;return Lr.postMultiPart(hr(),e,n)},userKeyQuery:function(e){return Lr.get(function(e){return"".concat(pr,"?name=").concat(e)}(e))},verifyEmail:function(e){return Lr.post("/api/user/verify",e)},verifyTwoFactor:function(e){return Lr.post("/api/auth/2fa/verify",e)},verifyTwoFactorTemp:function(e){return Lr.post("/api/auth/2fa/verify-temp",e)}});function Ur(e){return i.createHash("sha1").update(e).digest("hex")}function Hr(e,t){var n=e.replace(/\/$/,""),a=t.replace(/^\//,""),o="".concat(n,"/").concat(a);return new r(o).toString()}var jr={string:function(t){if(t.enum)return e.enum(t.enum);var n=e.string();return void 0!==t.minLength&&(n=n.min(t.minLength)),void 0!==t.maxLength&&(n=n.max(t.maxLength)),n},number:function(t){var n=e.number();return void 0!==t.minimum&&(n=n.min(t.minimum)),void 0!==t.maximum&&(n=n.max(t.maximum)),n},integer:function(e){return jr.number(e).int()},boolean:function(){return e.boolean()},array:function(t){if(t.items){var n=zr(t.items);return n?e.array(n):e.array(e.unknown())}return e.array(e.unknown())},object:function(t){var n={};return t.properties&&Object.entries(t.properties).forEach((function(a){var o=a[0],r=a[1],i=zr(r);n[o]=i||e.unknown(),t.required&&t.required.includes(o)?n[o]=n[o].describe(r.description||""):n[o]=n[o].optional().describe(r.description||"")})),e.object(n)}};function zr(t){if("object"!==t.type||0!==Object.keys(t.properties||{}).length)return(jr[t.type]||function(){return e.unknown()})(t)}var Gr=function(){function e(e,t,n,a){this.name=e,this.description=t,this.parameters=n,this.strict=null!=a&&a}return e.prototype.toObjectTool=function(){var e=l(l({},this.parameters),{additionalProperties:!this.strict&&void 0});return{type:m.function,function:l({name:this.name,description:this.description,parameters:e},this.strict?{strict:this.strict}:{})}},e}(),Br=function(e,t,n,a,o,r){this.domain=e,this.basePath=t,this.method=n,this.operation=a,this.isConsequential=o,this.contentType=r},Vr=function(){function e(e){this.config=e,this.authHeaders={},this.path=e.basePath}return e.prototype.setParams=function(e){this.operationHash=Ur(JSON.stringify(e)),this.params=Object.assign({},e);for(var t=0,n=Object.entries(e);t<n.length;t++){var a=n[t],o=a[0],r=a[1],i="{".concat(o,"}");this.path.includes(i)&&(this.path=this.path.replace(i,encodeURIComponent(r)),delete this.params[o])}return this},e.prototype.setAuth=function(e){return p(this,void 0,void 0,(function(){var t,n,a,o,r,i,s,l,c,p,u,m,f,g,v,b,y,h;return d(this,(function(d){if(!e.auth)return[2,this];if(t=e.auth,n=t.type,a=t.authorization_type,o=t.custom_auth_header,r=t.authorization_url,i=t.client_url,s=t.scope,l=t.token_exchange_method,c=e.api_key,p=e.oauth_client_id,u=e.oauth_client_secret,m=e.oauth_token_expires_at,f=e.oauth_access_token,g=void 0===f?"":f,v=null!=c&&c.length>0&&n===x.ServiceHttp,b=!!(null!=p&&p&&null!=u&&u&&n===x.OAuth&&null!=r&&r&&null!=i&&i&&null!=s&&s&&l),v&&a===T.Basic)y=Buffer.from(c).toString("base64"),this.authHeaders.Authorization="Basic ".concat(y);else if(v&&a===T.Bearer)this.authHeaders.Authorization="Bearer ".concat(c);else if(v&&a===T.Custom&&null!=o&&o)this.authHeaders[o]=c;else if(b){if(h=new Date,!g)throw new Error("No access token found. Please log in first.");if(m&&h>=new Date(m))throw new Error("Access token is expired. Please re-login.");this.authToken=g,this.authHeaders.Authorization="Bearer ".concat(this.authToken)}return[2,this]}))}))},e.prototype.execute=function(){return p(this,void 0,void 0,(function(){var e,t,n,a;return d(this,(function(r){if(e=Hr(this.config.domain,this.path),t=l(l({},this.authHeaders),{"Content-Type":this.config.contentType}),n=this.config.method.toLowerCase(),a=o.create(),"get"===n)return[2,a.get(e,{headers:t,params:this.params})];if("post"===n)return[2,a.post(e,this.params,{headers:t})];if("put"===n)return[2,a.put(e,this.params,{headers:t})];if("delete"===n)return[2,a.delete(e,{headers:t,data:this.params})];if("patch"===n)return[2,a.patch(e,this.params,{headers:t})];throw new Error("Unsupported HTTP method: ".concat(n))}))}))},e.prototype.getConfig=function(){return this.config},e}(),Fr=function(){function e(e,t,n,a,o,r){this.config=new Br(e,t,n,a,o,r)}return Object.defineProperty(e.prototype,"domain",{get:function(){return this.config.domain},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"path",{get:function(){return this.config.basePath},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"method",{get:function(){return this.config.method},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"operation",{get:function(){return this.config.operation},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"isConsequential",{get:function(){return this.config.isConsequential},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"contentType",{get:function(){return this.config.contentType},enumerable:!1,configurable:!0}),e.prototype.createExecutor=function(){return new Vr(this.config)},e.prototype.setParams=function(e){var t=this.createExecutor();return t.setParams(e),t},e.prototype.setAuth=function(e){return p(this,void 0,void 0,(function(){return d(this,(function(t){return[2,this.createExecutor().setAuth(e)]}))}))},e.prototype.execute=function(){return p(this,void 0,void 0,(function(){return d(this,(function(e){return[2,this.createExecutor().execute()]}))}))},e}();function Wr(e,t){if("$ref"in e&&t){for(var n=t,a=0,o=e.$ref.replace(/^#\/components\//,"").split("/");a<o.length;a++){var r=o[a];if("object"!=typeof n||null===n||!(r in n))throw new Error("Could not resolve reference: ".concat(e.$ref));n=n[r]}return Wr(n,t)}return e}function qr(e){return e.replace(/[^a-zA-Z0-9_-]/g,"")}function Kr(e,t){var n,a,o,r,i,s,c,p;void 0===t&&(t=!1);for(var d=[],u={},m={},f=null!==(r=null===(o=null===(a=e.servers)||void 0===a?void 0:a[0])||void 0===o?void 0:o.url)&&void 0!==r?r:"",g=0,v=Object.entries(e.paths);g<v.length;g++)for(var b=v[g],y=b[0],h=b[1],R=0,x=Object.entries(h);R<x.length;R++){var T=x[R],P=T[0],N=T[1],w="".concat(P,"_").concat(y),C=N.operationId||qr(w),A=N.summary||N.description||"",k=null!==(i=N["x-strict"])&&void 0!==i&&i,M={type:"object",properties:{},required:[]};if(N.parameters)for(var E=0,S=null!==(s=N.parameters)&&void 0!==s?s:[];E<S.length;E++){var _=Wr(S[E],e.components),D=_.name;if(D&&_.schema){var I=Wr(_.schema,e.components);M.properties[D]=I,_.required&&M.required.push(D)}}if(N.requestBody){var L=N.requestBody.content,O=Object.keys(null!=L?L:{})[0],U=Wr(j=null===(c=null==L?void 0:L[O])||void 0===c?void 0:c.schema,e.components);M.properties=l(l({},M.properties),U.properties),U.required&&(n=M.required).push.apply(n,U.required)}var H=new Gr(C,A,M,k);d.push(H);var j,z=new Fr(f,y,P,C,!(null===(p=N["x-openai-isConsequential"])||void 0===p||!p),N.requestBody?"application/json":"");if(u[C]=z,t&&Object.keys(M.properties).length>0)(j=zr(M))&&(m[C]=j)}return{functionSignatures:d,requestBuilders:u,zodSchemas:m}}function Yr(e){var t;try{var n=void 0;try{n=JSON.parse(e)}catch(t){n=s(e)}if(!n.servers||!Array.isArray(n.servers)||0===n.servers.length)return{status:!1,message:"Could not find a valid URL in `servers`"};if(!n.servers[0].url)return{status:!1,message:"Could not find a valid URL in `servers`"};var a=n.paths;if(!a||"object"!=typeof a||0===Object.keys(a).length)return{status:!1,message:"No paths found in the OpenAPI spec."};for(var o=(null===(t=n.components)||void 0===t?void 0:t.schemas)||{},r=[],i=0,l=Object.entries(a);i<l.length;i++)for(var c=l[i],p=c[0],d=c[1],u=0,m=Object.entries(d);u<m.length;u++){var f=m[u],g=f[0],v=f[1],b=v.responses;if("object"==typeof v&&b)for(var y=0,h=Object.entries(b);y<h.length;y++){var R=h[y],x=R[0],T=R[1].content;if(T&&T["application/json"]&&T["application/json"].schema){var P=T["application/json"].schema;if("$ref"in P&&"string"==typeof P.$ref){var N=P.$ref.split("/").pop();N&&!o[N]&&r.push("In context=('paths', '".concat(p,"', '").concat(g,"', '").concat(x,"', 'response', 'content', 'application/json', 'schema'), reference to unknown component ").concat(N,"; using empty schema"))}}}}return{status:!0,message:r.join("\n")||"OpenAPI spec is valid.",spec:n}}catch(e){return console.error(e),{status:!1,message:"Error parsing OpenAPI spec."}}}function Xr(e){var t=e.conversation,n=e.userMessage,a=e.endpointOption,o=e.isEdited,r=e.isContinued,i=e.isTemporary,s=Pe.parse(t).conversationId,c=a,p=c.endpoint,d=c.endpointType,u=Mn[null!=d?d:p];return o&&W(p)?u+="/modify":o&&(u=u.replace("/ask/","/edit/")),{server:u,payload:l(l(l({},n),a),{isContinued:!(!o||!r),conversationId:s,isTemporary:i})}}export{Fr as ActionRequest,Gt as AgentCapabilities,g as AnnotationTypes,xa as ArtifactModes,M as AssistantStreamEvents,jn as AuthKeys,L as AuthType,x as AuthTypeEnum,T as AuthorizationTypeEnum,j as BedrockProviders,On as CacheKeys,zt as Capabilities,Kn as CohereConstants,Aa as ComponentTypes,Fn as Constants,$n as ContentTypes,Y as EAgent,pn as EImageOutputType,U as EModelEndpoint,f as EToolResources,Mn as EndpointURLs,Hn as ErrorTypes,vn as FetchTokenConfig,bt as FileContext,N as FilePurpose,Ie as FileSources,qn as ForkOptions,Gr as FunctionSignature,G as ImageDetail,zn as ImageDetailCost,te as ImageVisionTool,In as InfiniteCollections,gn as KnownEndpoints,Wn as LocalStorageKeys,St as MCPOptionsSchema,_t as MCPServersSchema,b as MessageContentTypes,Xo as MutationKeys,un as OCRStrategy,Ma as OptionTypes,Fo as PermissionTypes,Wo as Permissions,Yo as QueryKeys,qt as RateLimitPrefix,B as ReasoningEffort,y as RunStatus,ha as SEPARATORS,Et as SSEOptionsSchema,Bn as STTProviders,ka as SettingTypes,Gn as SettingsTabValues,It as SettingsViews,kt as StdioOptionsSchema,v as StepStatus,Zn as StepTypes,Yn as SystemCategories,Vo as SystemRoles,Vn as TTSProviders,Ln as Time,P as TokenExchangeMethodEnum,Qn as ToolCallTypes,m as Tools,Un as ViolationTypes,xn as VisionModes,Mt as WebSocketOptionsSchema,Sa as accordian,w as actionDelimiter,C as actionDomainSeparator,ge as agentOptionSettings,Qo as agentPermissionsSchema,Zt as agentsEndpointSChema,Ue as agentsSchema,se as agentsSettings,Da as alert,_a as alertDialog,Pn as alternateName,ze as anthropicSchema,ie as anthropicSettings,tt as applicationMimeTypes,$t as assistantEndpointSchema,Le as assistantSchema,H as authTypeSchema,Ia as avatar,Vt as azureBaseSchema,Jt as azureEndpointSchema,Wt as azureGroupConfigsSchema,Ft as azureGroupSchema,La as badge,yn as balanceSchema,Yt as baseEndpointSchema,Xt as bedrockEndpointSchema,ta as bedrockInputParser,ea as bedrockInputSchema,wn as bedrockModels,oa as bedrockOutputParser,Zo as bookmarkPermissionsSchema,Oa as breadcrumb,Ua as button,Ha as calendar,ja as card,za as carousel,Me as chatGPTBrowserSchema,yt as checkOpenAIStorage,Ga as checkbox,ot as codeInterpreterMimeTypes,$e as codeInterpreterMimeTypesList,rt as codeTypeMapping,he as coerceNumber,Ba as collapsible,Fe as compactAgentsSchema,Oe as compactAssistantSchema,Ge as compactChatGPTSchema,je as compactGoogleSchema,Be as compactPluginsSchema,hn as configSchema,Pa as conflictingAzureVariables,ho as convertJsonSchemaToZod,gt as convertStringsToRegex,Xr as createPayload,Hr as createURL,Or as dataService,ee as defaultAgentFormValues,J as defaultAssistantFormValues,Kt as defaultAssistantsVersion,Tn as defaultEndpoints,Cn as defaultModels,I as defaultOrderQuery,Ot as defaultRetrievalModels,Lt as defaultSocialLogins,Ta as deprecatedAzureVariables,Va as dialog,Fa as drawer,Wa as dropdownMenu,ve as eAgentOptionsSchema,Z as eImageDetailSchema,pe as eModelEndpointSchema,Q as eReasoningEffortSchema,mt as endpointFileConfigSchema,Qt as endpointSchema,le as endpointSettings,h as envVarRegex,la as errorsToString,bo as essentialShadcnComponents,Ye as excelFileTypes,Je as excelMimeTypes,Ut as excludedKeys,de as extendedModelEndpointSchema,R as extractEnvVariable,dt as fileConfig,ft as fileConfigSchema,Ht as fileSourceSchema,Ra as findLastSeparatorIndex,Xe as fullMimeTypesList,xo as generateDynamicSchema,Ko as generateGoogleSchema,qo as generateOpenAISchema,Rn as getConfigDefaults,ia as getEnabledEndpoints,pa as getFirstDefinedValue,V as getModelKey,da as getNonEmptyValue,ga as getResponseSender,jt as getSchemaDefaults,F as getSettingsKeys,ke as googleGenConfigSchema,Ae as googleSchema,oe as googleSettings,Ee as gptPluginsSchema,A as hostImageIdSuffix,k as hostImageNamePrefix,qa as hoverCard,X as imageDetailNumeric,$ as imageDetailValue,Qe as imageExtRegex,Xn as imageGenTools,nt as imageMimeTypes,kn as initialModelsConfig,Ka as input,fn as intefaceSchema,q as isAgentsEndpoint,W as isAssistantsEndpoint,ne as isImageVisionTool,K as isParamEndpoint,O as isUUID,Ya as label,yo as loadOCRConfig,Ca as mapGroupToAzureConfig,wa as mapModelToAzureConfig,lt as mbToBytes,st as megabyte,Xa as menuBar,vt as mergeFileConfig,Bt as modelConfigSchema,En as modularEndpoints,Jo as multiConvoPermissionsSchema,$a as navigationMenu,bn as ocrSchema,He as openAISchema,ae as openAISettings,Kr as openapiToFunction,sa as orderEndpointsConfig,Za as pagination,z as paramEndpoints,ba as parseCompactConvo,ua as parseConvo,ya as parseTextParts,Qa as popover,Dt as processMCPEnv,Ja as progress,$o as promptPermissionsSchema,Jn as providerEndpointMap,eo as radioGroup,dn as rateLimitSchema,Se as removeNullishValues,Lr as request,ca as resolveHeaders,Wr as resolveRef,it as retrievalMimeTypes,Ze as retrievalMimeTypesList,ar as roleDefaults,nr as roleSchema,tr as runCodePermissionsSchema,to as select,no as separator,or as setAcceptLanguageHeader,rr as setTokenHeader,Ur as sha1,vo as shadcnComponents,ao as skeleton,oo as slider,qe as specsConfigSchema,at as supportedMimeTypes,Sn as supportsBalanceCheck,Ke as supportsFiles,ro as switchComponent,be as tAgentOptionsSchema,Ve as tBannerSchema,xe as tConversationSchema,Ce as tConversationTagSchema,Pe as tConvoUpdateSchema,fe as tExampleSchema,ye as tMessageSchema,We as tModelSpecSchema,ue as tPluginAuthConfigSchema,me as tPluginSchema,Te as tPresetSchema,Ne as tQueryParamsSchema,we as tSharedLinkSchema,io as table,so as tabs,er as temporaryChatPermissionsSchema,et as textMimeTypes,lo as textarea,co as toast,po as toaster,mo as toggle,uo as toggleGroup,fo as tooltip,go as useToast,Ea as utils,Yr as validateAndParseOpenAPISpec,Na as validateAzureGroups,Po as validateSettingDefinitions,Dn as validateVisionModel,_n as visionModels};
2
2
  //# sourceMappingURL=index.es.js.map