librechat-data-provider 0.3.2 → 0.3.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.es.js CHANGED
@@ -1,2 +1,2 @@
1
- import{z as t}from"zod";import e from"axios";var n,r,o,i,a,s,l,u,p=function(){return p=Object.assign||function(t){for(var e,n=1,r=arguments.length;n<r;n++)for(var o in e=arguments[n])Object.prototype.hasOwnProperty.call(e,o)&&(t[o]=e[o]);return t},p.apply(this,arguments)};function c(t,e,n,r){return new(n||(n=Promise))((function(o,i){function a(t){try{l(r.next(t))}catch(t){i(t)}}function s(t){try{l(r.throw(t))}catch(t){i(t)}}function l(t){var e;t.done?o(t.value):(e=t.value,e instanceof n?e:new n((function(t){t(e)}))).then(a,s)}l((r=r.apply(t,e||[])).next())}))}function d(t,e){var n,r,o,i,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return i={next:s(0),throw:s(1),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]&&(a=0)),a;)try{if(n=1,r&&(o=2&s[0]?r.return:s[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,s[1])).done)return o;switch(r=0,o&&(s=[2&s[0],o.value]),s[0]){case 0:case 1:o=s;break;case 4:return a.label++,{value:s[1],done:!1};case 5:a.label++,r=s[1],s=[0];continue;case 7:s=a.ops.pop(),a.trys.pop();continue;default:if(!(o=a.trys,(o=o.length>0&&o[o.length-1])||6!==s[0]&&2!==s[0])){a=0;continue}if(3===s[0]&&(!o||s[1]>o[0]&&s[1]<o[3])){a.label=s[1];break}if(6===s[0]&&a.label<o[1]){a.label=o[1],o=s;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(s);break}o[2]&&a.ops.pop(),a.trys.pop();continue}s=e.call(t,a)}catch(t){s=[6,t],r=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"==typeof SuppressedError&&SuppressedError,function(t){t.azureOpenAI="azureOpenAI",t.openAI="openAI",t.bingAI="bingAI",t.chatGPTBrowser="chatGPTBrowser",t.google="google",t.gptPlugins="gptPlugins",t.anthropic="anthropic",t.assistant="assistant"}(u||(u={}));var h,f=[u.openAI,u.assistant,u.azureOpenAI,u.bingAI,u.chatGPTBrowser,u.gptPlugins,u.google,u.anthropic],g=((n={})[u.google]=["gemini-pro","chat-bison","chat-bison-32k","codechat-bison","codechat-bison-32k","text-bison","text-bison-32k","text-unicorn","code-gecko","code-bison","code-bison-32k"],n[u.anthropic]=["claude-2.1","claude-2","claude-1.2","claude-1","claude-1-100k","claude-instant-1","claude-instant-1-100k"],n[u.openAI]=["gpt-3.5-turbo-16k-0613","gpt-3.5-turbo-16k","gpt-4-1106-preview","gpt-3.5-turbo","gpt-3.5-turbo-1106","gpt-4-vision-preview","gpt-4","gpt-3.5-turbo-instruct-0914","gpt-3.5-turbo-0613","gpt-3.5-turbo-0301","gpt-3.5-turbo-instruct","gpt-4-0613","text-davinci-003","gpt-4-0314"],n),m=((r={})[u.openAI]="OpenAI",r[u.assistant]="Assistants",r[u.azureOpenAI]="Azure OpenAI",r[u.bingAI]="Bing",r[u.chatGPTBrowser]="ChatGPT",r[u.gptPlugins]="Plugins",r[u.google]="Google",r[u.anthropic]="Anthropic",r);!function(t){t.GOOGLE_SERVICE_KEY="GOOGLE_SERVICE_KEY",t.GOOGLE_API_KEY="GOOGLE_API_KEY"}(h||(h={}));var v=((o={})[u.google]={model:{default:"chat-bison"},maxOutputTokens:{min:1,max:2048,step:1,default:1024,maxGeminiPro:8192,defaultGeminiPro:8192},temperature:{min:0,max:1,step:.01,default:.2},topP:{min:0,max:1,step:.01,default:.8},topK:{min:1,max:40,step:.01,default:40}},o),b=v[u.google],y=((i={})[u.azureOpenAI]="/api/ask/azureOpenAI",i[u.openAI]="/api/ask/openAI",i[u.bingAI]="/api/ask/bingAI",i[u.chatGPTBrowser]="/api/ask/chatGPTBrowser",i[u.google]="/api/ask/google",i[u.gptPlugins]="/api/ask/gptPlugins",i[u.anthropic]="/api/ask/anthropic",i[u.assistant]="/api/assistants/chat",i),P=new Set([u.gptPlugins,u.anthropic,u.google,u.openAI]),x=((a={})[u.openAI]=!0,a[u.assistant]=!0,a),k=((s={})[u.openAI]=!0,s[u.azureOpenAI]=!0,s[u.gptPlugins]=!0,s),I=["gpt-4-vision","llava-13b"],_=t.nativeEnum(u),O=t.object({authField:t.string(),label:t.string(),description:t.string()}),w=t.object({name:t.string(),pluginKey:t.string(),description:t.string(),icon:t.string(),authConfig:t.array(O),authenticated:t.boolean().optional(),isButton:t.boolean().optional()}),E=t.object({input:t.object({content:t.string()}),output:t.object({content:t.string()})}),C=t.object({agent:t.string(),skipCompletion:t.boolean(),model:t.string(),temperature:t.number()}),A=t.object({messageId:t.string(),clientId:t.string().nullable().optional(),conversationId:t.string().nullable(),parentMessageId:t.string().nullable(),responseMessageId:t.string().nullable().optional(),overrideParentMessageId:t.string().nullable().optional(),bg:t.string().nullable().optional(),model:t.string().nullable().optional(),title:t.string().nullable().or(t.literal("New Chat")).default("New Chat"),sender:t.string(),text:t.string(),generation:t.string().nullable().optional(),isEdited:t.boolean().optional(),isCreatedByUser:t.boolean(),error:t.boolean(),createdAt:t.string().optional().default((function(){return(new Date).toISOString()})),updatedAt:t.string().optional().default((function(){return(new Date).toISOString()})),current:t.boolean().optional(),unfinished:t.boolean().optional(),submitting:t.boolean().optional(),searchResult:t.boolean().optional(),finish_reason:t.string().optional()}),S=t.object({conversationId:t.string().nullable(),title:t.string().nullable().or(t.literal("New Chat")).default("New Chat"),user:t.string().optional(),endpoint:_.nullable(),suggestions:t.array(t.string()).optional(),messages:t.array(t.string()).optional(),tools:t.array(w).optional(),createdAt:t.string(),updatedAt:t.string(),systemMessage:t.string().nullable().optional(),modelLabel:t.string().nullable().optional(),examples:t.array(E).optional(),chatGptLabel:t.string().nullable().optional(),userLabel:t.string().optional(),model:t.string().nullable().optional(),promptPrefix:t.string().nullable().optional(),temperature:t.number().optional(),topP:t.number().optional(),topK:t.number().optional(),context:t.string().nullable().optional(),top_p:t.number().optional(),frequency_penalty:t.number().optional(),presence_penalty:t.number().optional(),jailbreak:t.boolean().optional(),jailbreakConversationId:t.string().nullable().optional(),conversationSignature:t.string().nullable().optional(),parentMessageId:t.string().optional(),clientId:t.string().nullable().optional(),invocationId:t.number().nullable().optional(),toneStyle:t.string().nullable().optional(),maxOutputTokens:t.number().optional(),agentOptions:C.nullable().optional(),assistant_id:t.string().optional(),thread_id:t.string().optional()}),L=S.omit({conversationId:!0,createdAt:!0,updatedAt:!0,title:!0}).merge(t.object({conversationId:t.string().optional(),presetId:t.string().nullable().optional(),title:t.string().nullable().optional(),defaultPreset:t.boolean().optional(),order:t.number().optional()})),T=S.pick({model:!0,chatGptLabel:!0,promptPrefix:!0,temperature:!0,top_p:!0,presence_penalty:!0,frequency_penalty:!0}).transform((function(t){var e,n,r,o,i,a,s;return p(p({},t),{model:null!==(e=t.model)&&void 0!==e?e:"gpt-3.5-turbo",chatGptLabel:null!==(n=t.chatGptLabel)&&void 0!==n?n:null,promptPrefix:null!==(r=t.promptPrefix)&&void 0!==r?r:null,temperature:null!==(o=t.temperature)&&void 0!==o?o:1,top_p:null!==(i=t.top_p)&&void 0!==i?i:1,presence_penalty:null!==(a=t.presence_penalty)&&void 0!==a?a:0,frequency_penalty:null!==(s=t.frequency_penalty)&&void 0!==s?s:0})})).catch((function(){return{model:"gpt-3.5-turbo",chatGptLabel:null,promptPrefix:null,temperature:1,top_p:1,presence_penalty:0,frequency_penalty:0}})),G=S.pick({model:!0,modelLabel:!0,promptPrefix:!0,examples:!0,temperature:!0,maxOutputTokens:!0,topP:!0,topK:!0}).transform((function(t){var e,n,r,o,i,a,s,l,u,c,d=null===(n=null===(e=null==t?void 0:t.model)||void 0===e?void 0:e.toLowerCase())||void 0===n?void 0:n.includes("gemini-pro"),h=d?b.maxOutputTokens.maxGeminiPro:b.maxOutputTokens.max,f=d?b.maxOutputTokens.defaultGeminiPro:b.maxOutputTokens.default,g=null!==(r=t.maxOutputTokens)&&void 0!==r?r:f;return g=Math.min(g,h),p(p({},t),{model:null!==(o=t.model)&&void 0!==o?o:b.model.default,modelLabel:null!==(i=t.modelLabel)&&void 0!==i?i:null,promptPrefix:null!==(a=t.promptPrefix)&&void 0!==a?a:null,examples:null!==(s=t.examples)&&void 0!==s?s:[{input:{content:""},output:{content:""}}],temperature:null!==(l=t.temperature)&&void 0!==l?l:b.temperature.default,maxOutputTokens:g,topP:null!==(u=t.topP)&&void 0!==u?u:b.topP.default,topK:null!==(c=t.topK)&&void 0!==c?c:b.topK.default})})).catch((function(){return{model:b.model.default,modelLabel:null,promptPrefix:null,examples:[{input:{content:""},output:{content:""}}],temperature:b.temperature.default,maxOutputTokens:b.maxOutputTokens.default,topP:b.topP.default,topK:b.topK.default}})),j=S.pick({jailbreak:!0,systemMessage:!0,context:!0,toneStyle:!0,jailbreakConversationId:!0,conversationSignature:!0,clientId:!0,invocationId:!0}).transform((function(t){var e,n,r,o,i,a,s,l;return p(p({},t),{model:"",jailbreak:null!==(e=t.jailbreak)&&void 0!==e&&e,systemMessage:null!==(n=t.systemMessage)&&void 0!==n?n:null,context:null!==(r=t.context)&&void 0!==r?r:null,toneStyle:null!==(o=t.toneStyle)&&void 0!==o?o:"creative",jailbreakConversationId:null!==(i=t.jailbreakConversationId)&&void 0!==i?i:null,conversationSignature:null!==(a=t.conversationSignature)&&void 0!==a?a:null,clientId:null!==(s=t.clientId)&&void 0!==s?s:null,invocationId:null!==(l=t.invocationId)&&void 0!==l?l:1})})).catch((function(){return{model:"",jailbreak:!1,systemMessage:null,context:null,toneStyle:"creative",jailbreakConversationId:null,conversationSignature:null,clientId:null,invocationId:1}})),K=S.pick({model:!0,modelLabel:!0,promptPrefix:!0,temperature:!0,maxOutputTokens:!0,topP:!0,topK:!0}).transform((function(t){var e,n,r,o,i,a,s;return p(p({},t),{model:null!==(e=t.model)&&void 0!==e?e:"claude-1",modelLabel:null!==(n=t.modelLabel)&&void 0!==n?n:null,promptPrefix:null!==(r=t.promptPrefix)&&void 0!==r?r:null,temperature:null!==(o=t.temperature)&&void 0!==o?o:1,maxOutputTokens:null!==(i=t.maxOutputTokens)&&void 0!==i?i:4e3,topP:null!==(a=t.topP)&&void 0!==a?a:.7,topK:null!==(s=t.topK)&&void 0!==s?s:5})})).catch((function(){return{model:"claude-1",modelLabel:null,promptPrefix:null,temperature:1,maxOutputTokens:4e3,topP:.7,topK:5}})),N=S.pick({model:!0}).transform((function(t){var e;return p(p({},t),{model:null!==(e=t.model)&&void 0!==e?e:"text-davinci-002-render-sha"})})).catch((function(){return{model:"text-davinci-002-render-sha"}})),q=S.pick({model:!0,chatGptLabel:!0,promptPrefix:!0,temperature:!0,top_p:!0,presence_penalty:!0,frequency_penalty:!0,tools:!0,agentOptions:!0}).transform((function(t){var e,n,r,o,i,a,s,l,u;return p(p({},t),{model:null!==(e=t.model)&&void 0!==e?e:"gpt-3.5-turbo",chatGptLabel:null!==(n=t.chatGptLabel)&&void 0!==n?n:null,promptPrefix:null!==(r=t.promptPrefix)&&void 0!==r?r:null,temperature:null!==(o=t.temperature)&&void 0!==o?o:.8,top_p:null!==(i=t.top_p)&&void 0!==i?i:1,presence_penalty:null!==(a=t.presence_penalty)&&void 0!==a?a:0,frequency_penalty:null!==(s=t.frequency_penalty)&&void 0!==s?s:0,tools:null!==(l=t.tools)&&void 0!==l?l:[],agentOptions:null!==(u=t.agentOptions)&&void 0!==u?u:{agent:"functions",skipCompletion:!0,model:"gpt-3.5-turbo",temperature:0}})})).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:"functions",skipCompletion:!0,model:"gpt-3.5-turbo",temperature:0}}}));function B(t){var e=p({},t);return Object.keys(e).forEach((function(t){void 0!==e[t]&&null!==e[t]&&""!==e[t]||delete e[t]})),e}var R=S.pick({model:!0,assistant_id:!0,thread_id:!0}).transform(B).catch((function(){return{}})),M=((l={})[u.openAI]=T,l[u.azureOpenAI]=T,l[u.google]=G,l[u.bingAI]=j,l[u.anthropic]=K,l[u.chatGPTBrowser]=N,l[u.gptPlugins]=q,l[u.assistant]=R,l);function z(t){for(var e,n=0,r=t;n<r.length;n++){var o=r[n];if(o){e=o;break}}return e}var U,D,F,Y=function(t,e,n){var r,o,i=M[t];if(!i)throw new Error("Unknown endpoint: ".concat(t));var a=i.parse(e),s=null!=n?n:{},l=s.models,u=s.secondaryModels;return l&&a&&(a.model=null!==(r=z(l))&&void 0!==r?r:a.model),u&&a.agentOptions&&(a.agentOptions.model=null!==(o=z(u))&&void 0!==o?o:a.agentOptions.model),a},H=function(t){var e,n=t.model,r=t.endpoint,o=t.chatGptLabel,i=t.modelLabel,a=t.jailbreak;return[u.openAI,u.azureOpenAI,u.gptPlugins,u.chatGPTBrowser].includes(r)?o||(n&&n.includes("gpt-3")?"GPT-3.5":n&&n.includes("gpt-4")?"GPT-4":null!==(e=m[r])&&void 0!==e?e:"ChatGPT"):r===u.bingAI?a?"Sydney":"BingAI":r===u.anthropic?null!=i?i:"Claude":r===u.google?i||(n&&n.includes("gemini")?"Gemini":n&&n.includes("code")?"Codey":"PaLM2"):""},J=S.pick({model:!0,chatGptLabel:!0,promptPrefix:!0,temperature:!0,top_p:!0,presence_penalty:!0,frequency_penalty:!0}).transform((function(t){var e=p({},t);return"gpt-3.5-turbo"===e.model&&delete e.model,1===e.temperature&&delete e.temperature,1===e.top_p&&delete e.top_p,0===e.presence_penalty&&delete e.presence_penalty,0===e.frequency_penalty&&delete e.frequency_penalty,B(e)})).catch((function(){return{}})),W=S.pick({model:!0,modelLabel:!0,promptPrefix:!0,examples:!0,temperature:!0,maxOutputTokens:!0,topP:!0,topK:!0}).transform((function(t){var e=p({},t);return e.model===b.model.default&&delete e.model,e.temperature===b.temperature.default&&delete e.temperature,e.maxOutputTokens===b.maxOutputTokens.default&&delete e.maxOutputTokens,e.topP===b.topP.default&&delete e.topP,e.topK===b.topK.default&&delete e.topK,B(e)})).catch((function(){return{}})),V=S.pick({model:!0,modelLabel:!0,promptPrefix:!0,temperature:!0,maxOutputTokens:!0,topP:!0,topK:!0}).transform((function(t){var e=p({},t);return"claude-1"===e.model&&delete e.model,1===e.temperature&&delete e.temperature,4e3===e.maxOutputTokens&&delete e.maxOutputTokens,.7===e.topP&&delete e.topP,5===e.topK&&delete e.topK,B(e)})).catch((function(){return{}})),X=S.pick({model:!0}).transform((function(t){var e=p({},t);return"text-davinci-002-render-sha"===e.model&&delete e.model,B(e)})).catch((function(){return{}})),Z=S.pick({model:!0,chatGptLabel:!0,promptPrefix:!0,temperature:!0,top_p:!0,presence_penalty:!0,frequency_penalty:!0,tools:!0,agentOptions:!0}).transform((function(t){var e,n=p({},t);return"gpt-3.5-turbo"===n.model&&delete n.model,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===(e=n.tools)||void 0===e?void 0:e.length)&&delete n.tools,n.agentOptions&&"functions"===n.agentOptions.agent&&!0===n.agentOptions.skipCompletion&&"gpt-3.5-turbo"===n.agentOptions.model&&0===n.agentOptions.temperature&&delete n.agentOptions,B(n)})).catch((function(){return{}})),Q={openAI:J,azureOpenAI:J,assistant:R,google:W,bingAI:j,anthropic:V,chatGPTBrowser:X,gptPlugins:Z},$=function(t,e,n){var r;if(!t)throw new Error("undefined endpoint: ".concat(t));var o=Q[t];if(!o)throw new Error("Unknown endpoint: ".concat(t));var i=o.parse(e),a=(null!=n?n:{}).models;return a&&i&&(i.model=null!==(r=z(a))&&void 0!==r?r:i.model),i};function tt(t){e.defaults.headers.common["Accept-Language"]=t}function et(t){e.defaults.headers.common.Authorization="Bearer "+t}!function(t){t.code_interpreter="code_interpreter",t.retrieval="retrieval",t.function="function"}(U||(U={})),function(t){t.messages="messages",t.allConversations="allConversations",t.conversation="conversation",t.searchEnabled="searchEnabled",t.user="user",t.name="name",t.models="models",t.balance="balance",t.endpoints="endpoints",t.presets="presets",t.searchResults="searchResults",t.tokenCount="tokenCount",t.availablePlugins="availablePlugins",t.startupConfig="startupConfig",t.assistants="assistants",t.assistant="assistant",t.endpointsConfigOverride="endpointsConfigOverride"}(D||(D={})),function(t){t.imageUpload="imageUpload",t.fileDelete="fileDelete",t.updatePreset="updatePreset",t.deletePreset="deletePreset",t.logoutUser="logoutUser"}(F||(F={}));var nt=function(t,e){return"/api/messages/".concat(t).concat(e?"/".concat(e):"")},rt="/api/keys",ot=function(t,e){return"/api/search?q=".concat(t,"&pageNumber=").concat(e)},it=function(t){return"/api/assistants".concat(t?"/".concat(t):"")};function at(t,n){return c(this,void 0,void 0,(function(){return d(this,(function(r){switch(r.label){case 0:return[4,e.post(t,JSON.stringify(n),{headers:{"Content-Type":"application/json"}})];case 1:return[2,r.sent().data]}}))}))}var st=!1,lt=[],ut=function(t){return at(function(t){return"/api/auth/refresh".concat(t?"?retry=true":"")}(t))},pt=function(t,e){void 0===e&&(e=null),lt.forEach((function(n){t?n.reject(t):n.resolve(e)})),lt=[]};e.interceptors.response.use((function(t){return t}),(function(t){return c(void 0,void 0,void 0,(function(){var n,r,o,i,a;return d(this,(function(s){switch(s.label){case 0:if(n=t.config,401!==t.response.status||n._retry)return[3,13];if(n._retry=!0,!st)return[3,5];s.label=1;case 1:return s.trys.push([1,4,,5]),[4,new Promise((function(t,e){lt.push({resolve:t,reject:e})}))];case 2:return o=s.sent(),n.headers.Authorization="Bearer "+o,[4,e(n)];case 3:return[2,s.sent()];case 4:return r=s.sent(),[2,Promise.reject(r)];case 5:st=!0,s.label=6;case 6:return s.trys.push([6,11,12,13]),[4,ut(!!(null===(a=n.url)||void 0===a?void 0:a.includes("api/auth/refresh")))];case 7:return(o=s.sent().token)?(n.headers.Authorization="Bearer "+o,et(o),window.dispatchEvent(new CustomEvent("tokenUpdated",{detail:o})),pt(null,o),[4,e(n)]):[3,9];case 8:return[2,s.sent()];case 9:window.location.href="/login",s.label=10;case 10:return[3,13];case 11:return i=s.sent(),pt(i,null),[2,Promise.reject(i)];case 12:return st=!1,[7];case 13:return[2,Promise.reject(t)]}}))}))}));var ct={get:function(t,n){return c(this,void 0,void 0,(function(){return d(this,(function(r){switch(r.label){case 0:return[4,e.get(t,p({},n))];case 1:return[2,r.sent().data]}}))}))},post:at,postMultiPart:function(t,n,r){return c(this,void 0,void 0,(function(){return d(this,(function(o){switch(o.label){case 0:return[4,e.post(t,n,p(p({},r),{headers:{"Content-Type":"multipart/form-data"}}))];case 1:return[2,o.sent().data]}}))}))},put:function(t,n){return c(this,void 0,void 0,(function(){return d(this,(function(r){switch(r.label){case 0:return[4,e.put(t,JSON.stringify(n),{headers:{"Content-Type":"application/json"}})];case 1:return[2,r.sent().data]}}))}))},delete:function(t){return c(this,void 0,void 0,(function(){return d(this,(function(n){switch(n.label){case 0:return[4,e.delete(t)];case 1:return[2,n.sent().data]}}))}))},deleteWithOptions:function(t,n){return c(this,void 0,void 0,(function(){return d(this,(function(r){switch(r.label){case 0:return[4,e.delete(t,p({},n))];case 1:return[2,r.sent().data]}}))}))},patch:function(t,n){return c(this,void 0,void 0,(function(){return d(this,(function(r){switch(r.label){case 0:return[4,e.patch(t,JSON.stringify(n),{headers:{"Content-Type":"application/json"}})];case 1:return[2,r.sent().data]}}))}))},refreshToken:ut};var dt=Object.freeze({__proto__:null,abortRequestWithMessage:function(t,e,n){return ct.post(function(t){return"/api/ask/".concat(t,"/abort")}(t),{arg:{abortKey:e,message:n}})},clearAllConversations:function(){return ct.post("/api/convos/clear",{arg:{}})},createAssistant:function(t){return ct.post(it(),t)},createPreset:function(t){return ct.post("/api/presets",t)},deleteAssistant:function(t){return ct.delete(it(t))},deleteConversation:function(t){return ct.post("/api/convos/clear",{arg:t})},deleteFiles:function(t){return c(void 0,void 0,void 0,(function(){return d(this,(function(e){return[2,ct.deleteWithOptions("/api/files",{data:{files:t}})]}))}))},deletePreset:function(t){return ct.post("/api/presets/delete",t)},getAIEndpoints:function(){return ct.get("/api/endpoints")},getAssistantById:function(t){return ct.get(it(t))},getAvailablePlugins:function(){return ct.get("/api/plugins")},getConversationById:function(t){return ct.get(function(t){return"/api/convos/".concat(t)}(t))},getConversations:function(t){return ct.get(function(t){return"/api/convos?pageNumber=".concat(t)}(t))},getEndpointsConfigOverride:function(){return ct.get("/api/endpoints/config/override")},getLoginGoogle:function(){return ct.get("/api/auth/google")},getMessagesByConvoId:function(t){return"new"===t?Promise.resolve([]):ct.get(nt(t))},getModels:function(){return c(void 0,void 0,void 0,(function(){return d(this,(function(t){return[2,ct.get("/api/models")]}))}))},getPresets:function(){return ct.get("/api/presets")},getSearchEnabled:function(){return ct.get("/api/search/enable")},getStartupConfig:function(){return ct.get("/api/config")},getUser:function(){return ct.get("/api/user")},getUserBalance:function(){return ct.get("/api/balance")},listAssistants:function(t){return ct.get(it(),{params:t})},login:function(t){return ct.post("/api/auth/login",t)},logout:function(){return ct.post("/api/auth/logout")},register:function(t){return ct.post("/api/auth/register",t)},requestPasswordReset:function(t){return ct.post("/api/auth/requestPasswordReset",t)},resetPassword:function(t){return ct.post("/api/auth/resetPassword",t)},revokeAllUserKeys:function(){return ct.delete("".concat(rt,"?all=true"))},revokeUserKey:function(t){return ct.delete(function(t){return"".concat(rt,"/").concat(t)}(t))},searchConversations:function(t,e){return c(void 0,void 0,void 0,(function(){return d(this,(function(n){return[2,ct.get(ot(t,e))]}))}))},updateAssistant:function(t,e){return ct.patch(it(t),e)},updateConversation:function(t){return ct.post("/api/convos/update",{arg:t})},updateMessage:function(t){var e=t.conversationId,n=t.messageId,r=t.text;if(!e)throw new Error("conversationId is required");return ct.put(nt(e,n),{text:r})},updatePreset:function(t){return ct.post("/api/presets",t)},updateTokenCount:function(t){return ct.post("/api/tokenizer",{arg:t})},updateUserKey:function(t){if(!t.value)throw new Error("value is required");return ct.put(rt,t)},updateUserPlugins:function(t){return ct.post("/api/user/plugins",t)},uploadImage:function(t){return ct.postMultiPart("".concat("/api/files","/images"),t)},userKeyQuery:function(t){return ct.get(function(t){return"".concat(rt,"?name=").concat(t)}(t))}}),ht=function(t,e){if(!(this instanceof ht))return new ht(t,e);this.INITIALIZING=-1,this.CONNECTING=0,this.OPEN=1,this.CLOSED=2,this.url=t,e=e||{},this.headers=e.headers||{},this.payload=void 0!==e.payload?e.payload:"",this.method=e.method||this.payload&&"POST"||"GET",this.withCredentials=!!e.withCredentials,this.FIELD_SEPARATOR=":",this.listeners={},this.xhr=null,this.readyState=this.INITIALIZING,this.progress=0,this.chunk="",this.addEventListener=function(t,e){void 0===this.listeners[t]&&(this.listeners[t]=[]),-1===this.listeners[t].indexOf(e)&&this.listeners[t].push(e)},this.removeEventListener=function(t,e){if(void 0!==this.listeners[t]){var n=[];this.listeners[t].forEach((function(t){t!==e&&n.push(t)})),0===n.length?delete this.listeners[t]:this.listeners[t]=n}},this.dispatchEvent=function(t){if(!t)return!0;t.source=this;var e="on"+t.type;return(!this.hasOwnProperty(e)||(this[e].call(this,t),!t.defaultPrevented))&&(!this.listeners[t.type]||this.listeners[t.type].every((function(e){return e(t),!t.defaultPrevented})))},this._setReadyState=function(t){var e=new CustomEvent("readystatechange");e.readyState=t,this.readyState=t,this.dispatchEvent(e)},this._onStreamFailure=function(t){var e=new CustomEvent("error");e.data=t.currentTarget.response,this.dispatchEvent(e),this.close()},this._onStreamAbort=function(t){this.dispatchEvent(new CustomEvent("abort")),this.close()},this._onStreamProgress=async function(t){if(this.xhr){if(401!==this.xhr.status||this._retry){if(200!==this.xhr.status)return void this._onStreamFailure(t)}else{this._retry=!0;try{const t=await ct.refreshToken();this.headers={"Content-Type":"application/json",Authorization:`Bearer ${t.token}`},et(t.token),window.dispatchEvent(new CustomEvent("tokenUpdated",{detail:t.token})),this.stream()}catch(e){return void this._onStreamFailure(t)}}this.readyState==this.CONNECTING&&(this.dispatchEvent(new CustomEvent("open")),this._setReadyState(this.OPEN));var e=this.xhr.responseText.substring(this.progress);this.progress+=e.length,e.split(/(\r\n|\r|\n){2}/g).forEach(function(t){0===t.trim().length?(this.dispatchEvent(this._parseEventChunk(this.chunk.trim())),this.chunk=""):this.chunk+=t}.bind(this))}},this._onStreamLoaded=function(t){this._onStreamProgress(t),this.dispatchEvent(this._parseEventChunk(this.chunk)),this.chunk=""},this._parseEventChunk=function(t){if(!t||0===t.length)return null;var e={id:null,retry:null,data:"",event:"message"};t.split(/\n|\r\n|\r/).forEach(function(t){var n=(t=t.trimRight()).indexOf(this.FIELD_SEPARATOR);if(!(n<=0)){var r=t.substring(0,n);if(r in e){var o=t.substring(n+1).trimLeft();"data"===r?e[r]+=o:e[r]=o}}}.bind(this));var n=new CustomEvent(e.event);return n.data=e.data,n.id=e.id,n},this._checkStreamClosed=function(){this.xhr&&this.xhr.readyState===XMLHttpRequest.DONE&&this._setReadyState(this.CLOSED)},this.stream=function(){for(var t in this._setReadyState(this.CONNECTING),this.xhr=new XMLHttpRequest,this.xhr.addEventListener("progress",this._onStreamProgress.bind(this)),this.xhr.addEventListener("load",this._onStreamLoaded.bind(this)),this.xhr.addEventListener("readystatechange",this._checkStreamClosed.bind(this)),this.xhr.addEventListener("error",this._onStreamFailure.bind(this)),this.xhr.addEventListener("abort",this._onStreamAbort.bind(this)),this.xhr.open(this.method,this.url),this.headers)this.xhr.setRequestHeader(t,this.headers[t]);this.xhr.withCredentials=this.withCredentials,this.xhr.send(this.payload)},this.close=function(){this.readyState!==this.CLOSED&&(this.xhr.abort(),this.xhr=null,this._setReadyState(this.CLOSED))}};function ft(t){var e=t.conversation,n=t.message,r=t.messages,o=t.endpointOption,i=t.isEdited,a=t.isContinued,s=S.parse(e).conversationId,l=o.endpoint,c=y[l];i&&l===u.assistant?c+="/modify":i&&(c=c.replace("/ask/","/edit/"));var d=p(p(p({},n),o),{isContinued:!(!i||!a),conversationId:s});return l===u.assistant&&(d.messages=r),{server:c,payload:d}}export{h as AuthKeys,u as EModelEndpoint,y as EndpointURLs,F as MutationKeys,D as QueryKeys,ht as SSE,U as Tools,m as alternateName,K as anthropicSchema,R as assistantSchema,j as bingAISchema,N as chatGPTBrowserSchema,V as compactAnthropicSchema,X as compactChatGPTSchema,W as compactGoogleSchema,J as compactOpenAISchema,Z as compactPluginsSchema,ft as createPayload,dt as dataService,f as defaultEndpoints,g as defaultModels,_ as eModelEndpointSchema,v as endpointSettings,z as getFirstDefinedValue,H as getResponseSender,G as googleSchema,q as gptPluginsSchema,P as modularEndpoints,T as openAISchema,$ as parseCompactConvo,Y as parseConvo,B as removeNullishValues,ct as request,tt as setAcceptLanguageHeader,et as setTokenHeader,k as supportsBalanceCheck,x as supportsFiles,C as tAgentOptionsSchema,S as tConversationSchema,E as tExampleSchema,A as tMessageSchema,O as tPluginAuthConfigSchema,w as tPluginSchema,L as tPresetSchema,I as visionModels};
1
+ import{z as t}from"zod";import e from"axios";var n,r,o,i,a,s,l,u,p=function(){return p=Object.assign||function(t){for(var e,n=1,r=arguments.length;n<r;n++)for(var o in e=arguments[n])Object.prototype.hasOwnProperty.call(e,o)&&(t[o]=e[o]);return t},p.apply(this,arguments)};function c(t,e,n,r){return new(n||(n=Promise))((function(o,i){function a(t){try{l(r.next(t))}catch(t){i(t)}}function s(t){try{l(r.throw(t))}catch(t){i(t)}}function l(t){var e;t.done?o(t.value):(e=t.value,e instanceof n?e:new n((function(t){t(e)}))).then(a,s)}l((r=r.apply(t,e||[])).next())}))}function d(t,e){var n,r,o,i,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return i={next:s(0),throw:s(1),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]&&(a=0)),a;)try{if(n=1,r&&(o=2&s[0]?r.return:s[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,s[1])).done)return o;switch(r=0,o&&(s=[2&s[0],o.value]),s[0]){case 0:case 1:o=s;break;case 4:return a.label++,{value:s[1],done:!1};case 5:a.label++,r=s[1],s=[0];continue;case 7:s=a.ops.pop(),a.trys.pop();continue;default:if(!(o=a.trys,(o=o.length>0&&o[o.length-1])||6!==s[0]&&2!==s[0])){a=0;continue}if(3===s[0]&&(!o||s[1]>o[0]&&s[1]<o[3])){a.label=s[1];break}if(6===s[0]&&a.label<o[1]){a.label=o[1],o=s;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(s);break}o[2]&&a.ops.pop(),a.trys.pop();continue}s=e.call(t,a)}catch(t){s=[6,t],r=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"==typeof SuppressedError&&SuppressedError,function(t){t.azureOpenAI="azureOpenAI",t.openAI="openAI",t.bingAI="bingAI",t.chatGPTBrowser="chatGPTBrowser",t.google="google",t.gptPlugins="gptPlugins",t.anthropic="anthropic",t.assistant="assistant"}(u||(u={}));var h,f=[u.openAI,u.assistant,u.azureOpenAI,u.bingAI,u.chatGPTBrowser,u.gptPlugins,u.google,u.anthropic],g=((n={})[u.google]=["gemini-pro","gemini-pro-vision","chat-bison","chat-bison-32k","codechat-bison","codechat-bison-32k","text-bison","text-bison-32k","text-unicorn","code-gecko","code-bison","code-bison-32k"],n[u.anthropic]=["claude-2.1","claude-2","claude-1.2","claude-1","claude-1-100k","claude-instant-1","claude-instant-1-100k"],n[u.openAI]=["gpt-3.5-turbo-16k-0613","gpt-3.5-turbo-16k","gpt-4-1106-preview","gpt-3.5-turbo","gpt-3.5-turbo-1106","gpt-4-vision-preview","gpt-4","gpt-3.5-turbo-instruct-0914","gpt-3.5-turbo-0613","gpt-3.5-turbo-0301","gpt-3.5-turbo-instruct","gpt-4-0613","text-davinci-003","gpt-4-0314"],n),m=((r={})[u.openAI]="OpenAI",r[u.assistant]="Assistants",r[u.azureOpenAI]="Azure OpenAI",r[u.bingAI]="Bing",r[u.chatGPTBrowser]="ChatGPT",r[u.gptPlugins]="Plugins",r[u.google]="Google",r[u.anthropic]="Anthropic",r);!function(t){t.GOOGLE_SERVICE_KEY="GOOGLE_SERVICE_KEY",t.GOOGLE_API_KEY="GOOGLE_API_KEY"}(h||(h={}));var v=((o={})[u.google]={model:{default:"chat-bison"},maxOutputTokens:{min:1,max:2048,step:1,default:1024,maxGeminiPro:8192,defaultGeminiPro:8192},temperature:{min:0,max:1,step:.01,default:.2},topP:{min:0,max:1,step:.01,default:.8},topK:{min:1,max:40,step:.01,default:40}},o),b=v[u.google],y=((i={})[u.azureOpenAI]="/api/ask/azureOpenAI",i[u.openAI]="/api/ask/openAI",i[u.bingAI]="/api/ask/bingAI",i[u.chatGPTBrowser]="/api/ask/chatGPTBrowser",i[u.google]="/api/ask/google",i[u.gptPlugins]="/api/ask/gptPlugins",i[u.anthropic]="/api/ask/anthropic",i[u.assistant]="/api/assistants/chat",i),P=new Set([u.gptPlugins,u.anthropic,u.google,u.openAI]),x=((a={})[u.openAI]=!0,a[u.google]=!0,a[u.assistant]=!0,a[u.azureOpenAI]=!0,a),k=((s={})[u.openAI]=!0,s[u.azureOpenAI]=!0,s[u.gptPlugins]=!0,s),I=["gpt-4-vision","llava-13b","gemini-pro-vision"],_=t.nativeEnum(u),O=t.object({authField:t.string(),label:t.string(),description:t.string()}),w=t.object({name:t.string(),pluginKey:t.string(),description:t.string(),icon:t.string(),authConfig:t.array(O),authenticated:t.boolean().optional(),isButton:t.boolean().optional()}),E=t.object({input:t.object({content:t.string()}),output:t.object({content:t.string()})}),C=t.object({agent:t.string(),skipCompletion:t.boolean(),model:t.string(),temperature:t.number()}),A=t.object({messageId:t.string(),clientId:t.string().nullable().optional(),conversationId:t.string().nullable(),parentMessageId:t.string().nullable(),responseMessageId:t.string().nullable().optional(),overrideParentMessageId:t.string().nullable().optional(),bg:t.string().nullable().optional(),model:t.string().nullable().optional(),title:t.string().nullable().or(t.literal("New Chat")).default("New Chat"),sender:t.string(),text:t.string(),generation:t.string().nullable().optional(),isEdited:t.boolean().optional(),isCreatedByUser:t.boolean(),error:t.boolean(),createdAt:t.string().optional().default((function(){return(new Date).toISOString()})),updatedAt:t.string().optional().default((function(){return(new Date).toISOString()})),current:t.boolean().optional(),unfinished:t.boolean().optional(),submitting:t.boolean().optional(),searchResult:t.boolean().optional(),finish_reason:t.string().optional()}),S=t.object({conversationId:t.string().nullable(),title:t.string().nullable().or(t.literal("New Chat")).default("New Chat"),user:t.string().optional(),endpoint:_.nullable(),suggestions:t.array(t.string()).optional(),messages:t.array(t.string()).optional(),tools:t.array(w).optional(),createdAt:t.string(),updatedAt:t.string(),systemMessage:t.string().nullable().optional(),modelLabel:t.string().nullable().optional(),examples:t.array(E).optional(),chatGptLabel:t.string().nullable().optional(),userLabel:t.string().optional(),model:t.string().nullable().optional(),promptPrefix:t.string().nullable().optional(),temperature:t.number().optional(),topP:t.number().optional(),topK:t.number().optional(),context:t.string().nullable().optional(),top_p:t.number().optional(),frequency_penalty:t.number().optional(),presence_penalty:t.number().optional(),jailbreak:t.boolean().optional(),jailbreakConversationId:t.string().nullable().optional(),conversationSignature:t.string().nullable().optional(),parentMessageId:t.string().optional(),clientId:t.string().nullable().optional(),invocationId:t.number().nullable().optional(),toneStyle:t.string().nullable().optional(),maxOutputTokens:t.number().optional(),agentOptions:C.nullable().optional(),assistant_id:t.string().optional(),thread_id:t.string().optional()}),L=S.omit({conversationId:!0,createdAt:!0,updatedAt:!0,title:!0}).merge(t.object({conversationId:t.string().optional(),presetId:t.string().nullable().optional(),title:t.string().nullable().optional(),defaultPreset:t.boolean().optional(),order:t.number().optional()})),T=S.pick({model:!0,chatGptLabel:!0,promptPrefix:!0,temperature:!0,top_p:!0,presence_penalty:!0,frequency_penalty:!0}).transform((function(t){var e,n,r,o,i,a,s;return p(p({},t),{model:null!==(e=t.model)&&void 0!==e?e:"gpt-3.5-turbo",chatGptLabel:null!==(n=t.chatGptLabel)&&void 0!==n?n:null,promptPrefix:null!==(r=t.promptPrefix)&&void 0!==r?r:null,temperature:null!==(o=t.temperature)&&void 0!==o?o:1,top_p:null!==(i=t.top_p)&&void 0!==i?i:1,presence_penalty:null!==(a=t.presence_penalty)&&void 0!==a?a:0,frequency_penalty:null!==(s=t.frequency_penalty)&&void 0!==s?s:0})})).catch((function(){return{model:"gpt-3.5-turbo",chatGptLabel:null,promptPrefix:null,temperature:1,top_p:1,presence_penalty:0,frequency_penalty:0}})),G=S.pick({model:!0,modelLabel:!0,promptPrefix:!0,examples:!0,temperature:!0,maxOutputTokens:!0,topP:!0,topK:!0}).transform((function(t){var e,n,r,o,i,a,s,l,u,c,d=null===(n=null===(e=null==t?void 0:t.model)||void 0===e?void 0:e.toLowerCase())||void 0===n?void 0:n.includes("gemini-pro"),h=d?b.maxOutputTokens.maxGeminiPro:b.maxOutputTokens.max,f=d?b.maxOutputTokens.defaultGeminiPro:b.maxOutputTokens.default,g=null!==(r=t.maxOutputTokens)&&void 0!==r?r:f;return g=Math.min(g,h),p(p({},t),{model:null!==(o=t.model)&&void 0!==o?o:b.model.default,modelLabel:null!==(i=t.modelLabel)&&void 0!==i?i:null,promptPrefix:null!==(a=t.promptPrefix)&&void 0!==a?a:null,examples:null!==(s=t.examples)&&void 0!==s?s:[{input:{content:""},output:{content:""}}],temperature:null!==(l=t.temperature)&&void 0!==l?l:b.temperature.default,maxOutputTokens:g,topP:null!==(u=t.topP)&&void 0!==u?u:b.topP.default,topK:null!==(c=t.topK)&&void 0!==c?c:b.topK.default})})).catch((function(){return{model:b.model.default,modelLabel:null,promptPrefix:null,examples:[{input:{content:""},output:{content:""}}],temperature:b.temperature.default,maxOutputTokens:b.maxOutputTokens.default,topP:b.topP.default,topK:b.topK.default}})),j=S.pick({jailbreak:!0,systemMessage:!0,context:!0,toneStyle:!0,jailbreakConversationId:!0,conversationSignature:!0,clientId:!0,invocationId:!0}).transform((function(t){var e,n,r,o,i,a,s,l;return p(p({},t),{model:"",jailbreak:null!==(e=t.jailbreak)&&void 0!==e&&e,systemMessage:null!==(n=t.systemMessage)&&void 0!==n?n:null,context:null!==(r=t.context)&&void 0!==r?r:null,toneStyle:null!==(o=t.toneStyle)&&void 0!==o?o:"creative",jailbreakConversationId:null!==(i=t.jailbreakConversationId)&&void 0!==i?i:null,conversationSignature:null!==(a=t.conversationSignature)&&void 0!==a?a:null,clientId:null!==(s=t.clientId)&&void 0!==s?s:null,invocationId:null!==(l=t.invocationId)&&void 0!==l?l:1})})).catch((function(){return{model:"",jailbreak:!1,systemMessage:null,context:null,toneStyle:"creative",jailbreakConversationId:null,conversationSignature:null,clientId:null,invocationId:1}})),K=S.pick({model:!0,modelLabel:!0,promptPrefix:!0,temperature:!0,maxOutputTokens:!0,topP:!0,topK:!0}).transform((function(t){var e,n,r,o,i,a,s;return p(p({},t),{model:null!==(e=t.model)&&void 0!==e?e:"claude-1",modelLabel:null!==(n=t.modelLabel)&&void 0!==n?n:null,promptPrefix:null!==(r=t.promptPrefix)&&void 0!==r?r:null,temperature:null!==(o=t.temperature)&&void 0!==o?o:1,maxOutputTokens:null!==(i=t.maxOutputTokens)&&void 0!==i?i:4e3,topP:null!==(a=t.topP)&&void 0!==a?a:.7,topK:null!==(s=t.topK)&&void 0!==s?s:5})})).catch((function(){return{model:"claude-1",modelLabel:null,promptPrefix:null,temperature:1,maxOutputTokens:4e3,topP:.7,topK:5}})),N=S.pick({model:!0}).transform((function(t){var e;return p(p({},t),{model:null!==(e=t.model)&&void 0!==e?e:"text-davinci-002-render-sha"})})).catch((function(){return{model:"text-davinci-002-render-sha"}})),q=S.pick({model:!0,chatGptLabel:!0,promptPrefix:!0,temperature:!0,top_p:!0,presence_penalty:!0,frequency_penalty:!0,tools:!0,agentOptions:!0}).transform((function(t){var e,n,r,o,i,a,s,l,u;return p(p({},t),{model:null!==(e=t.model)&&void 0!==e?e:"gpt-3.5-turbo",chatGptLabel:null!==(n=t.chatGptLabel)&&void 0!==n?n:null,promptPrefix:null!==(r=t.promptPrefix)&&void 0!==r?r:null,temperature:null!==(o=t.temperature)&&void 0!==o?o:.8,top_p:null!==(i=t.top_p)&&void 0!==i?i:1,presence_penalty:null!==(a=t.presence_penalty)&&void 0!==a?a:0,frequency_penalty:null!==(s=t.frequency_penalty)&&void 0!==s?s:0,tools:null!==(l=t.tools)&&void 0!==l?l:[],agentOptions:null!==(u=t.agentOptions)&&void 0!==u?u:{agent:"functions",skipCompletion:!0,model:"gpt-3.5-turbo",temperature:0}})})).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:"functions",skipCompletion:!0,model:"gpt-3.5-turbo",temperature:0}}}));function B(t){var e=p({},t);return Object.keys(e).forEach((function(t){void 0!==e[t]&&null!==e[t]&&""!==e[t]||delete e[t]})),e}var R=S.pick({model:!0,assistant_id:!0,thread_id:!0}).transform(B).catch((function(){return{}})),M=((l={})[u.openAI]=T,l[u.azureOpenAI]=T,l[u.google]=G,l[u.bingAI]=j,l[u.anthropic]=K,l[u.chatGPTBrowser]=N,l[u.gptPlugins]=q,l[u.assistant]=R,l);function z(t){for(var e,n=0,r=t;n<r.length;n++){var o=r[n];if(o){e=o;break}}return e}var U,D,F,Y=function(t,e,n){var r,o,i=M[t];if(!i)throw new Error("Unknown endpoint: ".concat(t));var a=i.parse(e),s=null!=n?n:{},l=s.models,u=s.secondaryModels;return l&&a&&(a.model=null!==(r=z(l))&&void 0!==r?r:a.model),u&&a.agentOptions&&(a.agentOptions.model=null!==(o=z(u))&&void 0!==o?o:a.agentOptions.model),a},H=function(t){var e,n=t.model,r=t.endpoint,o=t.chatGptLabel,i=t.modelLabel,a=t.jailbreak;return[u.openAI,u.azureOpenAI,u.gptPlugins,u.chatGPTBrowser].includes(r)?o||(n&&n.includes("gpt-3")?"GPT-3.5":n&&n.includes("gpt-4")?"GPT-4":null!==(e=m[r])&&void 0!==e?e:"ChatGPT"):r===u.bingAI?a?"Sydney":"BingAI":r===u.anthropic?null!=i?i:"Claude":r===u.google?i||(n&&n.includes("gemini")?"Gemini":n&&n.includes("code")?"Codey":"PaLM2"):""},J=S.pick({model:!0,chatGptLabel:!0,promptPrefix:!0,temperature:!0,top_p:!0,presence_penalty:!0,frequency_penalty:!0}).transform((function(t){var e=p({},t);return"gpt-3.5-turbo"===e.model&&delete e.model,1===e.temperature&&delete e.temperature,1===e.top_p&&delete e.top_p,0===e.presence_penalty&&delete e.presence_penalty,0===e.frequency_penalty&&delete e.frequency_penalty,B(e)})).catch((function(){return{}})),W=S.pick({model:!0,modelLabel:!0,promptPrefix:!0,examples:!0,temperature:!0,maxOutputTokens:!0,topP:!0,topK:!0}).transform((function(t){var e=p({},t);return e.model===b.model.default&&delete e.model,e.temperature===b.temperature.default&&delete e.temperature,e.maxOutputTokens===b.maxOutputTokens.default&&delete e.maxOutputTokens,e.topP===b.topP.default&&delete e.topP,e.topK===b.topK.default&&delete e.topK,B(e)})).catch((function(){return{}})),V=S.pick({model:!0,modelLabel:!0,promptPrefix:!0,temperature:!0,maxOutputTokens:!0,topP:!0,topK:!0}).transform((function(t){var e=p({},t);return"claude-1"===e.model&&delete e.model,1===e.temperature&&delete e.temperature,4e3===e.maxOutputTokens&&delete e.maxOutputTokens,.7===e.topP&&delete e.topP,5===e.topK&&delete e.topK,B(e)})).catch((function(){return{}})),X=S.pick({model:!0}).transform((function(t){var e=p({},t);return"text-davinci-002-render-sha"===e.model&&delete e.model,B(e)})).catch((function(){return{}})),Z=S.pick({model:!0,chatGptLabel:!0,promptPrefix:!0,temperature:!0,top_p:!0,presence_penalty:!0,frequency_penalty:!0,tools:!0,agentOptions:!0}).transform((function(t){var e,n=p({},t);return"gpt-3.5-turbo"===n.model&&delete n.model,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===(e=n.tools)||void 0===e?void 0:e.length)&&delete n.tools,n.agentOptions&&"functions"===n.agentOptions.agent&&!0===n.agentOptions.skipCompletion&&"gpt-3.5-turbo"===n.agentOptions.model&&0===n.agentOptions.temperature&&delete n.agentOptions,B(n)})).catch((function(){return{}})),Q={openAI:J,azureOpenAI:J,assistant:R,google:W,bingAI:j,anthropic:V,chatGPTBrowser:X,gptPlugins:Z},$=function(t,e,n){var r;if(!t)throw new Error("undefined endpoint: ".concat(t));var o=Q[t];if(!o)throw new Error("Unknown endpoint: ".concat(t));var i=o.parse(e),a=(null!=n?n:{}).models;return a&&i&&(i.model=null!==(r=z(a))&&void 0!==r?r:i.model),i};function tt(t){e.defaults.headers.common["Accept-Language"]=t}function et(t){e.defaults.headers.common.Authorization="Bearer "+t}!function(t){t.code_interpreter="code_interpreter",t.retrieval="retrieval",t.function="function"}(U||(U={})),function(t){t.messages="messages",t.allConversations="allConversations",t.conversation="conversation",t.searchEnabled="searchEnabled",t.user="user",t.name="name",t.models="models",t.balance="balance",t.endpoints="endpoints",t.presets="presets",t.searchResults="searchResults",t.tokenCount="tokenCount",t.availablePlugins="availablePlugins",t.startupConfig="startupConfig",t.assistants="assistants",t.assistant="assistant",t.endpointsConfigOverride="endpointsConfigOverride"}(D||(D={})),function(t){t.imageUpload="imageUpload",t.fileDelete="fileDelete",t.updatePreset="updatePreset",t.deletePreset="deletePreset",t.logoutUser="logoutUser"}(F||(F={}));var nt=function(t,e){return"/api/messages/".concat(t).concat(e?"/".concat(e):"")},rt="/api/keys",ot=function(t,e){return"/api/search?q=".concat(t,"&pageNumber=").concat(e)},it=function(t){return"/api/assistants".concat(t?"/".concat(t):"")};function at(t,n){return c(this,void 0,void 0,(function(){return d(this,(function(r){switch(r.label){case 0:return[4,e.post(t,JSON.stringify(n),{headers:{"Content-Type":"application/json"}})];case 1:return[2,r.sent().data]}}))}))}var st=!1,lt=[],ut=function(t){return at(function(t){return"/api/auth/refresh".concat(t?"?retry=true":"")}(t))},pt=function(t,e){void 0===e&&(e=null),lt.forEach((function(n){t?n.reject(t):n.resolve(e)})),lt=[]};e.interceptors.response.use((function(t){return t}),(function(t){return c(void 0,void 0,void 0,(function(){var n,r,o,i,a;return d(this,(function(s){switch(s.label){case 0:if(n=t.config,401!==t.response.status||n._retry)return[3,13];if(n._retry=!0,!st)return[3,5];s.label=1;case 1:return s.trys.push([1,4,,5]),[4,new Promise((function(t,e){lt.push({resolve:t,reject:e})}))];case 2:return o=s.sent(),n.headers.Authorization="Bearer "+o,[4,e(n)];case 3:return[2,s.sent()];case 4:return r=s.sent(),[2,Promise.reject(r)];case 5:st=!0,s.label=6;case 6:return s.trys.push([6,11,12,13]),[4,ut(!!(null===(a=n.url)||void 0===a?void 0:a.includes("api/auth/refresh")))];case 7:return(o=s.sent().token)?(n.headers.Authorization="Bearer "+o,et(o),window.dispatchEvent(new CustomEvent("tokenUpdated",{detail:o})),pt(null,o),[4,e(n)]):[3,9];case 8:return[2,s.sent()];case 9:window.location.href="/login",s.label=10;case 10:return[3,13];case 11:return i=s.sent(),pt(i,null),[2,Promise.reject(i)];case 12:return st=!1,[7];case 13:return[2,Promise.reject(t)]}}))}))}));var ct={get:function(t,n){return c(this,void 0,void 0,(function(){return d(this,(function(r){switch(r.label){case 0:return[4,e.get(t,p({},n))];case 1:return[2,r.sent().data]}}))}))},post:at,postMultiPart:function(t,n,r){return c(this,void 0,void 0,(function(){return d(this,(function(o){switch(o.label){case 0:return[4,e.post(t,n,p(p({},r),{headers:{"Content-Type":"multipart/form-data"}}))];case 1:return[2,o.sent().data]}}))}))},put:function(t,n){return c(this,void 0,void 0,(function(){return d(this,(function(r){switch(r.label){case 0:return[4,e.put(t,JSON.stringify(n),{headers:{"Content-Type":"application/json"}})];case 1:return[2,r.sent().data]}}))}))},delete:function(t){return c(this,void 0,void 0,(function(){return d(this,(function(n){switch(n.label){case 0:return[4,e.delete(t)];case 1:return[2,n.sent().data]}}))}))},deleteWithOptions:function(t,n){return c(this,void 0,void 0,(function(){return d(this,(function(r){switch(r.label){case 0:return[4,e.delete(t,p({},n))];case 1:return[2,r.sent().data]}}))}))},patch:function(t,n){return c(this,void 0,void 0,(function(){return d(this,(function(r){switch(r.label){case 0:return[4,e.patch(t,JSON.stringify(n),{headers:{"Content-Type":"application/json"}})];case 1:return[2,r.sent().data]}}))}))},refreshToken:ut};var dt=Object.freeze({__proto__:null,abortRequestWithMessage:function(t,e,n){return ct.post(function(t){return"/api/ask/".concat(t,"/abort")}(t),{arg:{abortKey:e,message:n}})},clearAllConversations:function(){return ct.post("/api/convos/clear",{arg:{}})},createAssistant:function(t){return ct.post(it(),t)},createPreset:function(t){return ct.post("/api/presets",t)},deleteAssistant:function(t){return ct.delete(it(t))},deleteConversation:function(t){return ct.post("/api/convos/clear",{arg:t})},deleteFiles:function(t){return c(void 0,void 0,void 0,(function(){return d(this,(function(e){return[2,ct.deleteWithOptions("/api/files",{data:{files:t}})]}))}))},deletePreset:function(t){return ct.post("/api/presets/delete",t)},getAIEndpoints:function(){return ct.get("/api/endpoints")},getAssistantById:function(t){return ct.get(it(t))},getAvailablePlugins:function(){return ct.get("/api/plugins")},getConversationById:function(t){return ct.get(function(t){return"/api/convos/".concat(t)}(t))},getConversations:function(t){return ct.get(function(t){return"/api/convos?pageNumber=".concat(t)}(t))},getEndpointsConfigOverride:function(){return ct.get("/api/endpoints/config/override")},getLoginGoogle:function(){return ct.get("/api/auth/google")},getMessagesByConvoId:function(t){return"new"===t?Promise.resolve([]):ct.get(nt(t))},getModels:function(){return c(void 0,void 0,void 0,(function(){return d(this,(function(t){return[2,ct.get("/api/models")]}))}))},getPresets:function(){return ct.get("/api/presets")},getSearchEnabled:function(){return ct.get("/api/search/enable")},getStartupConfig:function(){return ct.get("/api/config")},getUser:function(){return ct.get("/api/user")},getUserBalance:function(){return ct.get("/api/balance")},listAssistants:function(t){return ct.get(it(),{params:t})},login:function(t){return ct.post("/api/auth/login",t)},logout:function(){return ct.post("/api/auth/logout")},register:function(t){return ct.post("/api/auth/register",t)},requestPasswordReset:function(t){return ct.post("/api/auth/requestPasswordReset",t)},resetPassword:function(t){return ct.post("/api/auth/resetPassword",t)},revokeAllUserKeys:function(){return ct.delete("".concat(rt,"?all=true"))},revokeUserKey:function(t){return ct.delete(function(t){return"".concat(rt,"/").concat(t)}(t))},searchConversations:function(t,e){return c(void 0,void 0,void 0,(function(){return d(this,(function(n){return[2,ct.get(ot(t,e))]}))}))},updateAssistant:function(t,e){return ct.patch(it(t),e)},updateConversation:function(t){return ct.post("/api/convos/update",{arg:t})},updateMessage:function(t){var e=t.conversationId,n=t.messageId,r=t.text;if(!e)throw new Error("conversationId is required");return ct.put(nt(e,n),{text:r})},updatePreset:function(t){return ct.post("/api/presets",t)},updateTokenCount:function(t){return ct.post("/api/tokenizer",{arg:t})},updateUserKey:function(t){if(!t.value)throw new Error("value is required");return ct.put(rt,t)},updateUserPlugins:function(t){return ct.post("/api/user/plugins",t)},uploadImage:function(t){return ct.postMultiPart("".concat("/api/files","/images"),t)},userKeyQuery:function(t){return ct.get(function(t){return"".concat(rt,"?name=").concat(t)}(t))}}),ht=function(t,e){if(!(this instanceof ht))return new ht(t,e);this.INITIALIZING=-1,this.CONNECTING=0,this.OPEN=1,this.CLOSED=2,this.url=t,e=e||{},this.headers=e.headers||{},this.payload=void 0!==e.payload?e.payload:"",this.method=e.method||this.payload&&"POST"||"GET",this.withCredentials=!!e.withCredentials,this.FIELD_SEPARATOR=":",this.listeners={},this.xhr=null,this.readyState=this.INITIALIZING,this.progress=0,this.chunk="",this.addEventListener=function(t,e){void 0===this.listeners[t]&&(this.listeners[t]=[]),-1===this.listeners[t].indexOf(e)&&this.listeners[t].push(e)},this.removeEventListener=function(t,e){if(void 0!==this.listeners[t]){var n=[];this.listeners[t].forEach((function(t){t!==e&&n.push(t)})),0===n.length?delete this.listeners[t]:this.listeners[t]=n}},this.dispatchEvent=function(t){if(!t)return!0;t.source=this;var e="on"+t.type;return(!this.hasOwnProperty(e)||(this[e].call(this,t),!t.defaultPrevented))&&(!this.listeners[t.type]||this.listeners[t.type].every((function(e){return e(t),!t.defaultPrevented})))},this._setReadyState=function(t){var e=new CustomEvent("readystatechange");e.readyState=t,this.readyState=t,this.dispatchEvent(e)},this._onStreamFailure=function(t){var e=new CustomEvent("error");e.data=t.currentTarget.response,this.dispatchEvent(e),this.close()},this._onStreamAbort=function(t){this.dispatchEvent(new CustomEvent("abort")),this.close()},this._onStreamProgress=async function(t){if(this.xhr){if(401!==this.xhr.status||this._retry){if(200!==this.xhr.status)return void this._onStreamFailure(t)}else{this._retry=!0;try{const t=await ct.refreshToken();this.headers={"Content-Type":"application/json",Authorization:`Bearer ${t.token}`},et(t.token),window.dispatchEvent(new CustomEvent("tokenUpdated",{detail:t.token})),this.stream()}catch(e){return void this._onStreamFailure(t)}}this.readyState==this.CONNECTING&&(this.dispatchEvent(new CustomEvent("open")),this._setReadyState(this.OPEN));var e=this.xhr.responseText.substring(this.progress);this.progress+=e.length,e.split(/(\r\n|\r|\n){2}/g).forEach(function(t){0===t.trim().length?(this.dispatchEvent(this._parseEventChunk(this.chunk.trim())),this.chunk=""):this.chunk+=t}.bind(this))}},this._onStreamLoaded=function(t){this._onStreamProgress(t),this.dispatchEvent(this._parseEventChunk(this.chunk)),this.chunk=""},this._parseEventChunk=function(t){if(!t||0===t.length)return null;var e={id:null,retry:null,data:"",event:"message"};t.split(/\n|\r\n|\r/).forEach(function(t){var n=(t=t.trimRight()).indexOf(this.FIELD_SEPARATOR);if(!(n<=0)){var r=t.substring(0,n);if(r in e){var o=t.substring(n+1).trimLeft();"data"===r?e[r]+=o:e[r]=o}}}.bind(this));var n=new CustomEvent(e.event);return n.data=e.data,n.id=e.id,n},this._checkStreamClosed=function(){this.xhr&&this.xhr.readyState===XMLHttpRequest.DONE&&this._setReadyState(this.CLOSED)},this.stream=function(){for(var t in this._setReadyState(this.CONNECTING),this.xhr=new XMLHttpRequest,this.xhr.addEventListener("progress",this._onStreamProgress.bind(this)),this.xhr.addEventListener("load",this._onStreamLoaded.bind(this)),this.xhr.addEventListener("readystatechange",this._checkStreamClosed.bind(this)),this.xhr.addEventListener("error",this._onStreamFailure.bind(this)),this.xhr.addEventListener("abort",this._onStreamAbort.bind(this)),this.xhr.open(this.method,this.url),this.headers)this.xhr.setRequestHeader(t,this.headers[t]);this.xhr.withCredentials=this.withCredentials,this.xhr.send(this.payload)},this.close=function(){this.readyState!==this.CLOSED&&(this.xhr.abort(),this.xhr=null,this._setReadyState(this.CLOSED))}};function ft(t){var e=t.conversation,n=t.message,r=t.messages,o=t.endpointOption,i=t.isEdited,a=t.isContinued,s=S.parse(e).conversationId,l=o.endpoint,c=y[l];i&&l===u.assistant?c+="/modify":i&&(c=c.replace("/ask/","/edit/"));var d=p(p(p({},n),o),{isContinued:!(!i||!a),conversationId:s});return l===u.assistant&&(d.messages=r),{server:c,payload:d}}export{h as AuthKeys,u as EModelEndpoint,y as EndpointURLs,F as MutationKeys,D as QueryKeys,ht as SSE,U as Tools,m as alternateName,K as anthropicSchema,R as assistantSchema,j as bingAISchema,N as chatGPTBrowserSchema,V as compactAnthropicSchema,X as compactChatGPTSchema,W as compactGoogleSchema,J as compactOpenAISchema,Z as compactPluginsSchema,ft as createPayload,dt as dataService,f as defaultEndpoints,g as defaultModels,_ as eModelEndpointSchema,v as endpointSettings,z as getFirstDefinedValue,H as getResponseSender,G as googleSchema,q as gptPluginsSchema,P as modularEndpoints,T as openAISchema,$ as parseCompactConvo,Y as parseConvo,B as removeNullishValues,ct as request,tt as setAcceptLanguageHeader,et as setTokenHeader,k as supportsBalanceCheck,x as supportsFiles,C as tAgentOptionsSchema,S as tConversationSchema,E as tExampleSchema,A as tMessageSchema,O as tPluginAuthConfigSchema,w as tPluginSchema,L as tPresetSchema,I as visionModels};
2
2
  //# sourceMappingURL=index.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.es.js","sources":["../src/schemas.ts","../src/types/assistants.ts","../src/keys.ts","../src/headers-helpers.ts","../src/api-endpoints.ts","../src/request.ts","../src/data-service.ts","../src/sse.js","../src/createPayload.ts"],"sourcesContent":["import { z } from 'zod';\n\nexport enum EModelEndpoint {\n azureOpenAI = 'azureOpenAI',\n openAI = 'openAI',\n bingAI = 'bingAI',\n chatGPTBrowser = 'chatGPTBrowser',\n google = 'google',\n gptPlugins = 'gptPlugins',\n anthropic = 'anthropic',\n assistant = 'assistant',\n}\n\nexport const defaultEndpoints: EModelEndpoint[] = [\n EModelEndpoint.openAI,\n EModelEndpoint.assistant,\n EModelEndpoint.azureOpenAI,\n EModelEndpoint.bingAI,\n EModelEndpoint.chatGPTBrowser,\n EModelEndpoint.gptPlugins,\n EModelEndpoint.google,\n EModelEndpoint.anthropic,\n];\n\nexport const defaultModels = {\n [EModelEndpoint.google]: [\n 'gemini-pro',\n 'chat-bison',\n 'chat-bison-32k',\n 'codechat-bison',\n 'codechat-bison-32k',\n 'text-bison',\n 'text-bison-32k',\n 'text-unicorn',\n 'code-gecko',\n 'code-bison',\n 'code-bison-32k',\n ],\n [EModelEndpoint.anthropic]: [\n 'claude-2.1',\n 'claude-2',\n 'claude-1.2',\n 'claude-1',\n 'claude-1-100k',\n 'claude-instant-1',\n 'claude-instant-1-100k',\n ],\n [EModelEndpoint.openAI]: [\n 'gpt-3.5-turbo-16k-0613',\n 'gpt-3.5-turbo-16k',\n 'gpt-4-1106-preview',\n 'gpt-3.5-turbo',\n 'gpt-3.5-turbo-1106',\n 'gpt-4-vision-preview',\n 'gpt-4',\n 'gpt-3.5-turbo-instruct-0914',\n 'gpt-3.5-turbo-0613',\n 'gpt-3.5-turbo-0301',\n 'gpt-3.5-turbo-instruct',\n 'gpt-4-0613',\n 'text-davinci-003',\n 'gpt-4-0314',\n ],\n};\n\nexport const alternateName = {\n [EModelEndpoint.openAI]: 'OpenAI',\n [EModelEndpoint.assistant]: 'Assistants',\n [EModelEndpoint.azureOpenAI]: 'Azure OpenAI',\n [EModelEndpoint.bingAI]: 'Bing',\n [EModelEndpoint.chatGPTBrowser]: 'ChatGPT',\n [EModelEndpoint.gptPlugins]: 'Plugins',\n [EModelEndpoint.google]: 'Google',\n [EModelEndpoint.anthropic]: 'Anthropic',\n};\n\nexport enum AuthKeys {\n GOOGLE_SERVICE_KEY = 'GOOGLE_SERVICE_KEY',\n GOOGLE_API_KEY = 'GOOGLE_API_KEY',\n}\n\nexport const endpointSettings = {\n [EModelEndpoint.google]: {\n model: {\n default: 'chat-bison',\n },\n maxOutputTokens: {\n min: 1,\n max: 2048,\n step: 1,\n default: 1024,\n maxGeminiPro: 8192,\n defaultGeminiPro: 8192,\n },\n temperature: {\n min: 0,\n max: 1,\n step: 0.01,\n default: 0.2,\n },\n topP: {\n min: 0,\n max: 1,\n step: 0.01,\n default: 0.8,\n },\n topK: {\n min: 1,\n max: 40,\n step: 0.01,\n default: 40,\n },\n },\n};\n\nconst google = endpointSettings[EModelEndpoint.google];\n\nexport const EndpointURLs: { [key in EModelEndpoint]: string } = {\n [EModelEndpoint.azureOpenAI]: '/api/ask/azureOpenAI',\n [EModelEndpoint.openAI]: '/api/ask/openAI',\n [EModelEndpoint.bingAI]: '/api/ask/bingAI',\n [EModelEndpoint.chatGPTBrowser]: '/api/ask/chatGPTBrowser',\n [EModelEndpoint.google]: '/api/ask/google',\n [EModelEndpoint.gptPlugins]: '/api/ask/gptPlugins',\n [EModelEndpoint.anthropic]: '/api/ask/anthropic',\n [EModelEndpoint.assistant]: '/api/assistants/chat',\n};\n\nexport const modularEndpoints = new Set<EModelEndpoint | string>([\n EModelEndpoint.gptPlugins,\n EModelEndpoint.anthropic,\n EModelEndpoint.google,\n EModelEndpoint.openAI,\n]);\n\nexport const supportsFiles = {\n [EModelEndpoint.openAI]: true,\n [EModelEndpoint.assistant]: true,\n};\n\nexport const supportsBalanceCheck = {\n [EModelEndpoint.openAI]: true,\n [EModelEndpoint.azureOpenAI]: true,\n [EModelEndpoint.gptPlugins]: true,\n};\n\nexport const visionModels = ['gpt-4-vision', 'llava-13b'];\n\nexport const eModelEndpointSchema = z.nativeEnum(EModelEndpoint);\n\nexport const tPluginAuthConfigSchema = z.object({\n authField: z.string(),\n label: z.string(),\n description: z.string(),\n});\n\nexport type TPluginAuthConfig = z.infer<typeof tPluginAuthConfigSchema>;\n\nexport const tPluginSchema = z.object({\n name: z.string(),\n pluginKey: z.string(),\n description: z.string(),\n icon: z.string(),\n authConfig: z.array(tPluginAuthConfigSchema),\n authenticated: z.boolean().optional(),\n isButton: z.boolean().optional(),\n});\n\nexport type TPlugin = z.infer<typeof tPluginSchema>;\n\nexport type TInput = {\n inputStr: string;\n};\n\nexport type TResPlugin = {\n plugin: string;\n input: string;\n thought: string;\n loading?: boolean;\n outputs?: string;\n latest?: string;\n inputs?: TInput[];\n};\n\nexport const tExampleSchema = z.object({\n input: z.object({\n content: z.string(),\n }),\n output: z.object({\n content: z.string(),\n }),\n});\n\nexport type TExample = z.infer<typeof tExampleSchema>;\n\nexport const tAgentOptionsSchema = z.object({\n agent: z.string(),\n skipCompletion: z.boolean(),\n model: z.string(),\n temperature: z.number(),\n});\n\nexport const tMessageSchema = z.object({\n messageId: z.string(),\n clientId: z.string().nullable().optional(),\n conversationId: z.string().nullable(),\n parentMessageId: z.string().nullable(),\n responseMessageId: z.string().nullable().optional(),\n overrideParentMessageId: z.string().nullable().optional(),\n bg: z.string().nullable().optional(),\n model: z.string().nullable().optional(),\n title: z.string().nullable().or(z.literal('New Chat')).default('New Chat'),\n sender: z.string(),\n text: z.string(),\n generation: z.string().nullable().optional(),\n isEdited: z.boolean().optional(),\n isCreatedByUser: z.boolean(),\n error: z.boolean(),\n createdAt: z\n .string()\n .optional()\n .default(() => new Date().toISOString()),\n updatedAt: z\n .string()\n .optional()\n .default(() => new Date().toISOString()),\n current: z.boolean().optional(),\n unfinished: z.boolean().optional(),\n submitting: z.boolean().optional(),\n searchResult: z.boolean().optional(),\n finish_reason: z.string().optional(),\n});\n\nexport type TMessage = z.input<typeof tMessageSchema> & {\n children?: TMessage[];\n plugin?: TResPlugin | null;\n plugins?: TResPlugin[];\n files?: {\n type: string;\n file_id: string;\n filename?: string;\n preview?: string;\n filepath?: string;\n height?: number;\n width?: number;\n }[];\n};\n\nexport const tConversationSchema = z.object({\n conversationId: z.string().nullable(),\n title: z.string().nullable().or(z.literal('New Chat')).default('New Chat'),\n user: z.string().optional(),\n endpoint: eModelEndpointSchema.nullable(),\n suggestions: z.array(z.string()).optional(),\n messages: z.array(z.string()).optional(),\n tools: z.array(tPluginSchema).optional(),\n createdAt: z.string(),\n updatedAt: z.string(),\n systemMessage: z.string().nullable().optional(),\n modelLabel: z.string().nullable().optional(),\n examples: z.array(tExampleSchema).optional(),\n chatGptLabel: z.string().nullable().optional(),\n userLabel: z.string().optional(),\n model: z.string().nullable().optional(),\n promptPrefix: z.string().nullable().optional(),\n temperature: z.number().optional(),\n topP: z.number().optional(),\n topK: z.number().optional(),\n context: z.string().nullable().optional(),\n top_p: z.number().optional(),\n frequency_penalty: z.number().optional(),\n presence_penalty: z.number().optional(),\n jailbreak: z.boolean().optional(),\n jailbreakConversationId: z.string().nullable().optional(),\n conversationSignature: z.string().nullable().optional(),\n parentMessageId: z.string().optional(),\n clientId: z.string().nullable().optional(),\n invocationId: z.number().nullable().optional(),\n toneStyle: z.string().nullable().optional(),\n maxOutputTokens: z.number().optional(),\n agentOptions: tAgentOptionsSchema.nullable().optional(),\n /* assistant */\n assistant_id: z.string().optional(),\n thread_id: z.string().optional(),\n});\n\nexport type TConversation = z.infer<typeof tConversationSchema>;\n\nexport const tPresetSchema = tConversationSchema\n .omit({\n conversationId: true,\n createdAt: true,\n updatedAt: true,\n title: true,\n })\n .merge(\n z.object({\n conversationId: z.string().optional(),\n presetId: z.string().nullable().optional(),\n title: z.string().nullable().optional(),\n defaultPreset: z.boolean().optional(),\n order: z.number().optional(),\n }),\n );\n\nexport type TPreset = z.infer<typeof tPresetSchema>;\n\nexport const openAISchema = tConversationSchema\n .pick({\n model: true,\n chatGptLabel: true,\n promptPrefix: true,\n temperature: true,\n top_p: true,\n presence_penalty: true,\n frequency_penalty: true,\n })\n .transform((obj) => ({\n ...obj,\n model: obj.model ?? 'gpt-3.5-turbo',\n chatGptLabel: obj.chatGptLabel ?? null,\n promptPrefix: obj.promptPrefix ?? null,\n temperature: obj.temperature ?? 1,\n top_p: obj.top_p ?? 1,\n presence_penalty: obj.presence_penalty ?? 0,\n frequency_penalty: obj.frequency_penalty ?? 0,\n }))\n .catch(() => ({\n model: 'gpt-3.5-turbo',\n chatGptLabel: null,\n promptPrefix: null,\n temperature: 1,\n top_p: 1,\n presence_penalty: 0,\n frequency_penalty: 0,\n }));\n\nexport const googleSchema = tConversationSchema\n .pick({\n model: true,\n modelLabel: true,\n promptPrefix: true,\n examples: true,\n temperature: true,\n maxOutputTokens: true,\n topP: true,\n topK: true,\n })\n .transform((obj) => {\n const isGeminiPro = obj?.model?.toLowerCase()?.includes('gemini-pro');\n\n const maxOutputTokensMax = isGeminiPro\n ? google.maxOutputTokens.maxGeminiPro\n : google.maxOutputTokens.max;\n const maxOutputTokensDefault = isGeminiPro\n ? google.maxOutputTokens.defaultGeminiPro\n : google.maxOutputTokens.default;\n\n let maxOutputTokens = obj.maxOutputTokens ?? maxOutputTokensDefault;\n maxOutputTokens = Math.min(maxOutputTokens, maxOutputTokensMax);\n\n return {\n ...obj,\n model: obj.model ?? google.model.default,\n modelLabel: obj.modelLabel ?? null,\n promptPrefix: obj.promptPrefix ?? null,\n examples: obj.examples ?? [{ input: { content: '' }, output: { content: '' } }],\n temperature: obj.temperature ?? google.temperature.default,\n maxOutputTokens,\n topP: obj.topP ?? google.topP.default,\n topK: obj.topK ?? google.topK.default,\n };\n })\n .catch(() => ({\n model: google.model.default,\n modelLabel: null,\n promptPrefix: null,\n examples: [{ input: { content: '' }, output: { content: '' } }],\n temperature: google.temperature.default,\n maxOutputTokens: google.maxOutputTokens.default,\n topP: google.topP.default,\n topK: google.topK.default,\n }));\n\nexport const bingAISchema = tConversationSchema\n .pick({\n jailbreak: true,\n systemMessage: true,\n context: true,\n toneStyle: true,\n jailbreakConversationId: true,\n conversationSignature: true,\n clientId: true,\n invocationId: true,\n })\n .transform((obj) => ({\n ...obj,\n model: '',\n jailbreak: obj.jailbreak ?? false,\n systemMessage: obj.systemMessage ?? null,\n context: obj.context ?? null,\n toneStyle: obj.toneStyle ?? 'creative',\n jailbreakConversationId: obj.jailbreakConversationId ?? null,\n conversationSignature: obj.conversationSignature ?? null,\n clientId: obj.clientId ?? null,\n invocationId: obj.invocationId ?? 1,\n }))\n .catch(() => ({\n model: '',\n jailbreak: false,\n systemMessage: null,\n context: null,\n toneStyle: 'creative',\n jailbreakConversationId: null,\n conversationSignature: null,\n clientId: null,\n invocationId: 1,\n }));\n\nexport const anthropicSchema = tConversationSchema\n .pick({\n model: true,\n modelLabel: true,\n promptPrefix: true,\n temperature: true,\n maxOutputTokens: true,\n topP: true,\n topK: true,\n })\n .transform((obj) => ({\n ...obj,\n model: obj.model ?? 'claude-1',\n modelLabel: obj.modelLabel ?? null,\n promptPrefix: obj.promptPrefix ?? null,\n temperature: obj.temperature ?? 1,\n maxOutputTokens: obj.maxOutputTokens ?? 4000,\n topP: obj.topP ?? 0.7,\n topK: obj.topK ?? 5,\n }))\n .catch(() => ({\n model: 'claude-1',\n modelLabel: null,\n promptPrefix: null,\n temperature: 1,\n maxOutputTokens: 4000,\n topP: 0.7,\n topK: 5,\n }));\n\nexport const chatGPTBrowserSchema = tConversationSchema\n .pick({\n model: true,\n })\n .transform((obj) => ({\n ...obj,\n model: obj.model ?? 'text-davinci-002-render-sha',\n }))\n .catch(() => ({\n model: 'text-davinci-002-render-sha',\n }));\n\nexport const gptPluginsSchema = tConversationSchema\n .pick({\n model: true,\n chatGptLabel: true,\n promptPrefix: true,\n temperature: true,\n top_p: true,\n presence_penalty: true,\n frequency_penalty: true,\n tools: true,\n agentOptions: true,\n })\n .transform((obj) => ({\n ...obj,\n model: obj.model ?? 'gpt-3.5-turbo',\n chatGptLabel: obj.chatGptLabel ?? null,\n promptPrefix: obj.promptPrefix ?? null,\n temperature: obj.temperature ?? 0.8,\n top_p: obj.top_p ?? 1,\n presence_penalty: obj.presence_penalty ?? 0,\n frequency_penalty: obj.frequency_penalty ?? 0,\n tools: obj.tools ?? [],\n agentOptions: obj.agentOptions ?? {\n agent: 'functions',\n skipCompletion: true,\n model: 'gpt-3.5-turbo',\n temperature: 0,\n },\n }))\n .catch(() => ({\n model: 'gpt-3.5-turbo',\n chatGptLabel: null,\n promptPrefix: null,\n temperature: 0.8,\n top_p: 1,\n presence_penalty: 0,\n frequency_penalty: 0,\n tools: [],\n agentOptions: {\n agent: 'functions',\n skipCompletion: true,\n model: 'gpt-3.5-turbo',\n temperature: 0,\n },\n }));\n\nexport function removeNullishValues<T extends object>(obj: T): T {\n const newObj: Partial<T> = { ...obj };\n\n (Object.keys(newObj) as Array<keyof T>).forEach((key) => {\n if (newObj[key] === undefined || newObj[key] === null || newObj[key] === '') {\n delete newObj[key];\n }\n });\n\n return newObj as T;\n}\n\nexport const assistantSchema = tConversationSchema\n .pick({\n model: true,\n assistant_id: true,\n thread_id: true,\n })\n .transform(removeNullishValues)\n .catch(() => ({}));\n\ntype EndpointSchema =\n | typeof openAISchema\n | typeof googleSchema\n | typeof bingAISchema\n | typeof anthropicSchema\n | typeof chatGPTBrowserSchema\n | typeof gptPluginsSchema\n | typeof assistantSchema;\n\nconst endpointSchemas: Record<EModelEndpoint, EndpointSchema> = {\n [EModelEndpoint.openAI]: openAISchema,\n [EModelEndpoint.azureOpenAI]: openAISchema,\n [EModelEndpoint.google]: googleSchema,\n [EModelEndpoint.bingAI]: bingAISchema,\n [EModelEndpoint.anthropic]: anthropicSchema,\n [EModelEndpoint.chatGPTBrowser]: chatGPTBrowserSchema,\n [EModelEndpoint.gptPlugins]: gptPluginsSchema,\n [EModelEndpoint.assistant]: assistantSchema,\n};\n\nexport function getFirstDefinedValue(possibleValues: string[]) {\n let returnValue;\n for (const value of possibleValues) {\n if (value) {\n returnValue = value;\n break;\n }\n }\n return returnValue;\n}\n\nexport type TPossibleValues = {\n models: string[];\n secondaryModels?: string[];\n};\n\nexport const parseConvo = (\n endpoint: EModelEndpoint,\n conversation: Partial<TConversation | TPreset>,\n possibleValues?: TPossibleValues,\n) => {\n const schema = endpointSchemas[endpoint];\n\n if (!schema) {\n throw new Error(`Unknown endpoint: ${endpoint}`);\n }\n\n const convo = schema.parse(conversation) as TConversation;\n const { models, secondaryModels } = possibleValues ?? {};\n\n if (models && convo) {\n convo.model = getFirstDefinedValue(models) ?? convo.model;\n }\n\n if (secondaryModels && convo.agentOptions) {\n convo.agentOptions.model = getFirstDefinedValue(secondaryModels) ?? convo.agentOptions.model;\n }\n\n return convo;\n};\n\nexport type TEndpointOption = {\n endpoint: EModelEndpoint;\n model?: string | null;\n promptPrefix?: string;\n temperature?: number;\n chatGptLabel?: string | null;\n modelLabel?: string | null;\n jailbreak?: boolean;\n key?: string | null;\n};\n\nexport const getResponseSender = (endpointOption: TEndpointOption): string => {\n const { model, endpoint, chatGptLabel, modelLabel, jailbreak } = endpointOption;\n\n if (\n [\n EModelEndpoint.openAI,\n EModelEndpoint.azureOpenAI,\n EModelEndpoint.gptPlugins,\n EModelEndpoint.chatGPTBrowser,\n ].includes(endpoint)\n ) {\n if (chatGptLabel) {\n return chatGptLabel;\n } else if (model && model.includes('gpt-3')) {\n return 'GPT-3.5';\n } else if (model && model.includes('gpt-4')) {\n return 'GPT-4';\n }\n return alternateName[endpoint] ?? 'ChatGPT';\n }\n\n if (endpoint === EModelEndpoint.bingAI) {\n return jailbreak ? 'Sydney' : 'BingAI';\n }\n\n if (endpoint === EModelEndpoint.anthropic) {\n return modelLabel ?? 'Claude';\n }\n\n if (endpoint === EModelEndpoint.google) {\n if (modelLabel) {\n return modelLabel;\n } else if (model && model.includes('gemini')) {\n return 'Gemini';\n } else if (model && model.includes('code')) {\n return 'Codey';\n }\n\n return 'PaLM2';\n }\n\n return '';\n};\n\nexport const compactOpenAISchema = tConversationSchema\n .pick({\n model: true,\n chatGptLabel: true,\n promptPrefix: true,\n temperature: true,\n top_p: true,\n presence_penalty: true,\n frequency_penalty: true,\n })\n .transform((obj: Partial<TConversation>) => {\n const newObj: Partial<TConversation> = { ...obj };\n if (newObj.model === 'gpt-3.5-turbo') {\n delete newObj.model;\n }\n if (newObj.temperature === 1) {\n delete newObj.temperature;\n }\n if (newObj.top_p === 1) {\n delete newObj.top_p;\n }\n if (newObj.presence_penalty === 0) {\n delete newObj.presence_penalty;\n }\n if (newObj.frequency_penalty === 0) {\n delete newObj.frequency_penalty;\n }\n\n return removeNullishValues(newObj);\n })\n .catch(() => ({}));\n\nexport const compactGoogleSchema = tConversationSchema\n .pick({\n model: true,\n modelLabel: true,\n promptPrefix: true,\n examples: true,\n temperature: true,\n maxOutputTokens: true,\n topP: true,\n topK: true,\n })\n .transform((obj) => {\n const newObj: Partial<TConversation> = { ...obj };\n if (newObj.model === google.model.default) {\n delete newObj.model;\n }\n if (newObj.temperature === google.temperature.default) {\n delete newObj.temperature;\n }\n if (newObj.maxOutputTokens === google.maxOutputTokens.default) {\n delete newObj.maxOutputTokens;\n }\n if (newObj.topP === google.topP.default) {\n delete newObj.topP;\n }\n if (newObj.topK === google.topK.default) {\n delete newObj.topK;\n }\n\n return removeNullishValues(newObj);\n })\n .catch(() => ({}));\n\nexport const compactAnthropicSchema = tConversationSchema\n .pick({\n model: true,\n modelLabel: true,\n promptPrefix: true,\n temperature: true,\n maxOutputTokens: true,\n topP: true,\n topK: true,\n })\n .transform((obj) => {\n const newObj: Partial<TConversation> = { ...obj };\n if (newObj.model === 'claude-1') {\n delete newObj.model;\n }\n if (newObj.temperature === 1) {\n delete newObj.temperature;\n }\n if (newObj.maxOutputTokens === 4000) {\n delete newObj.maxOutputTokens;\n }\n if (newObj.topP === 0.7) {\n delete newObj.topP;\n }\n if (newObj.topK === 5) {\n delete newObj.topK;\n }\n\n return removeNullishValues(newObj);\n })\n .catch(() => ({}));\n\nexport const compactChatGPTSchema = tConversationSchema\n .pick({\n model: true,\n })\n .transform((obj) => {\n const newObj: Partial<TConversation> = { ...obj };\n // model: obj.model ?? 'text-davinci-002-render-sha',\n if (newObj.model === 'text-davinci-002-render-sha') {\n delete newObj.model;\n }\n\n return removeNullishValues(newObj);\n })\n .catch(() => ({}));\n\nexport const compactPluginsSchema = tConversationSchema\n .pick({\n model: true,\n chatGptLabel: true,\n promptPrefix: true,\n temperature: true,\n top_p: true,\n presence_penalty: true,\n frequency_penalty: true,\n tools: true,\n agentOptions: true,\n })\n .transform((obj) => {\n const newObj: Partial<TConversation> = { ...obj };\n if (newObj.model === 'gpt-3.5-turbo') {\n delete newObj.model;\n }\n if (newObj.chatGptLabel === null) {\n delete newObj.chatGptLabel;\n }\n if (newObj.promptPrefix === null) {\n delete newObj.promptPrefix;\n }\n if (newObj.temperature === 0.8) {\n delete newObj.temperature;\n }\n if (newObj.top_p === 1) {\n delete newObj.top_p;\n }\n if (newObj.presence_penalty === 0) {\n delete newObj.presence_penalty;\n }\n if (newObj.frequency_penalty === 0) {\n delete newObj.frequency_penalty;\n }\n if (newObj.tools?.length === 0) {\n delete newObj.tools;\n }\n\n if (\n newObj.agentOptions &&\n newObj.agentOptions.agent === 'functions' &&\n newObj.agentOptions.skipCompletion === true &&\n newObj.agentOptions.model === 'gpt-3.5-turbo' &&\n newObj.agentOptions.temperature === 0\n ) {\n delete newObj.agentOptions;\n }\n\n return removeNullishValues(newObj);\n })\n .catch(() => ({}));\n\ntype CompactEndpointSchema =\n | typeof compactOpenAISchema\n | typeof assistantSchema\n | typeof compactGoogleSchema\n | typeof bingAISchema\n | typeof compactAnthropicSchema\n | typeof compactChatGPTSchema\n | typeof compactPluginsSchema;\n\nconst compactEndpointSchemas: Record<string, CompactEndpointSchema> = {\n openAI: compactOpenAISchema,\n azureOpenAI: compactOpenAISchema,\n assistant: assistantSchema,\n google: compactGoogleSchema,\n /* BingAI needs all fields */\n bingAI: bingAISchema,\n anthropic: compactAnthropicSchema,\n chatGPTBrowser: compactChatGPTSchema,\n gptPlugins: compactPluginsSchema,\n};\n\nexport const parseCompactConvo = (\n endpoint: EModelEndpoint | undefined,\n conversation: Partial<TConversation | TPreset>,\n possibleValues?: TPossibleValues,\n) => {\n if (!endpoint) {\n throw new Error(`undefined endpoint: ${endpoint}`);\n }\n\n const schema = compactEndpointSchemas[endpoint];\n\n if (!schema) {\n throw new Error(`Unknown endpoint: ${endpoint}`);\n }\n\n const convo = schema.parse(conversation) as TConversation;\n // const { models, secondaryModels } = possibleValues ?? {};\n const { models } = possibleValues ?? {};\n\n if (models && convo) {\n convo.model = getFirstDefinedValue(models) ?? convo.model;\n }\n\n // if (secondaryModels && convo.agentOptions) {\n // convo.agentOptionmodel = getFirstDefinedValue(secondaryModels) ?? convo.agentOptionmodel;\n // }\n\n return convo;\n};\n","export type Metadata = {\n [key: string]: unknown;\n};\n\nexport enum Tools {\n code_interpreter = 'code_interpreter',\n retrieval = 'retrieval',\n function = 'function',\n}\n\nexport type Tool = {\n [type: string]: Tools;\n};\n\nexport type Assistant = {\n id: string;\n created_at: number;\n description: string | null;\n file_ids: string[];\n instructions: string | null;\n metadata: Metadata | null;\n model: string;\n name: string | null;\n object: string;\n tools: Tool[];\n};\n\nexport type AssistantCreateParams = {\n model: string;\n description?: string | null;\n file_ids?: string[];\n instructions?: string | null;\n metadata?: Metadata | null;\n name?: string | null;\n tools?: Tool[];\n};\n\nexport type AssistantUpdateParams = {\n model?: string;\n description?: string | null;\n file_ids?: string[];\n instructions?: string | null;\n metadata?: Metadata | null;\n name?: string | null;\n tools?: Tool[];\n};\n\nexport type AssistantListParams = {\n limit?: number;\n before?: string | null;\n after?: string | null;\n order?: 'asc' | 'desc';\n};\n\nexport type AssistantListResponse = {\n object: string;\n data: Assistant[];\n first_id: string;\n last_id: string;\n has_more: boolean;\n};\n\nexport type File = {\n file_id: string;\n id?: string;\n temp_file_id?: string;\n bytes: number;\n created_at: number;\n filename: string;\n object: string;\n purpose: 'fine-tune' | 'fine-tune-results' | 'assistants' | 'assistants_output';\n};\n","export enum QueryKeys {\n messages = 'messages',\n allConversations = 'allConversations',\n conversation = 'conversation',\n searchEnabled = 'searchEnabled',\n user = 'user',\n name = 'name', // user key name\n models = 'models',\n balance = 'balance',\n endpoints = 'endpoints',\n presets = 'presets',\n searchResults = 'searchResults',\n tokenCount = 'tokenCount',\n availablePlugins = 'availablePlugins',\n startupConfig = 'startupConfig',\n assistants = 'assistants',\n assistant = 'assistant',\n endpointsConfigOverride = 'endpointsConfigOverride',\n}\n\nexport enum MutationKeys {\n imageUpload = 'imageUpload',\n fileDelete = 'fileDelete',\n updatePreset = 'updatePreset',\n deletePreset = 'deletePreset',\n logoutUser = 'logoutUser',\n}\n","import axios from 'axios';\n\nexport function setAcceptLanguageHeader(value: string): void {\n axios.defaults.headers.common['Accept-Language'] = value;\n}\n\nexport function setTokenHeader(token: string) {\n axios.defaults.headers.common['Authorization'] = 'Bearer ' + token;\n}\n","export const user = () => '/api/user';\n\nexport const balance = () => '/api/balance';\n\nexport const userPlugins = () => '/api/user/plugins';\n\nexport const messages = (conversationId: string, messageId?: string) =>\n `/api/messages/${conversationId}${messageId ? `/${messageId}` : ''}`;\n\nconst keysEndpoint = '/api/keys';\n\nexport const keys = () => keysEndpoint;\n\nexport const userKeyQuery = (name: string) => `${keysEndpoint}?name=${name}`;\n\nexport const revokeUserKey = (name: string) => `${keysEndpoint}/${name}`;\n\nexport const revokeAllUserKeys = () => `${keysEndpoint}?all=true`;\n\nexport const abortRequest = (endpoint: string) => `/api/ask/${endpoint}/abort`;\n\nexport const conversations = (pageNumber: string) => `/api/convos?pageNumber=${pageNumber}`;\n\nexport const conversationById = (id: string) => `/api/convos/${id}`;\n\nexport const updateConversation = () => '/api/convos/update';\n\nexport const deleteConversation = () => '/api/convos/clear';\n\nexport const search = (q: string, pageNumber: string) =>\n `/api/search?q=${q}&pageNumber=${pageNumber}`;\n\nexport const searchEnabled = () => '/api/search/enable';\n\nexport const presets = () => '/api/presets';\n\nexport const deletePreset = () => '/api/presets/delete';\n\nexport const aiEndpoints = () => '/api/endpoints';\n\nexport const endpointsConfigOverride = () => '/api/endpoints/config/override';\n\nexport const models = () => '/api/models';\n\nexport const tokenizer = () => '/api/tokenizer';\n\nexport const login = () => '/api/auth/login';\n\nexport const logout = () => '/api/auth/logout';\n\nexport const register = () => '/api/auth/register';\n\nexport const loginFacebook = () => '/api/auth/facebook';\n\nexport const loginGoogle = () => '/api/auth/google';\n\nexport const refreshToken = (retry?: boolean) => `/api/auth/refresh${retry ? '?retry=true' : ''}`;\n\nexport const requestPasswordReset = () => '/api/auth/requestPasswordReset';\n\nexport const resetPassword = () => '/api/auth/resetPassword';\n\nexport const plugins = () => '/api/plugins';\n\nexport const config = () => '/api/config';\n\nexport const assistants = (id?: string) => `/api/assistants${id ? `/${id}` : ''}`;\n\nexport const files = () => '/api/files';\n\nexport const images = () => `${files()}/images`;\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport axios, { AxiosRequestConfig, AxiosError } from 'axios';\nimport { setTokenHeader } from './headers-helpers';\nimport * as endpoints from './api-endpoints';\n\nasync function _get<T>(url: string, options?: AxiosRequestConfig): Promise<T> {\n const response = await axios.get(url, { ...options });\n return response.data;\n}\n\nasync function _post(url: string, data?: any) {\n const response = await axios.post(url, JSON.stringify(data), {\n headers: { 'Content-Type': 'application/json' },\n });\n return response.data;\n}\n\nasync function _postMultiPart(url: string, formData: FormData, options?: AxiosRequestConfig) {\n const response = await axios.post(url, formData, {\n ...options,\n headers: { 'Content-Type': 'multipart/form-data' },\n });\n return response.data;\n}\n\nasync function _put(url: string, data?: any) {\n const response = await axios.put(url, JSON.stringify(data), {\n headers: { 'Content-Type': 'application/json' },\n });\n return response.data;\n}\n\nasync function _delete<T>(url: string): Promise<T> {\n const response = await axios.delete(url);\n return response.data;\n}\n\nasync function _deleteWithOptions<T>(url: string, options?: AxiosRequestConfig): Promise<T> {\n const response = await axios.delete(url, { ...options });\n return response.data;\n}\n\nasync function _patch(url: string, data?: any) {\n const response = await axios.patch(url, JSON.stringify(data), {\n headers: { 'Content-Type': 'application/json' },\n });\n return response.data;\n}\n\nlet isRefreshing = false;\nlet failedQueue: { resolve: (value?: any) => void; reject: (reason?: any) => void }[] = [];\n\nconst refreshToken = (retry?: boolean) => _post(endpoints.refreshToken(retry));\n\nconst processQueue = (error: AxiosError | null, token: string | null = null) => {\n failedQueue.forEach((prom) => {\n if (error) {\n prom.reject(error);\n } else {\n prom.resolve(token);\n }\n });\n failedQueue = [];\n};\n\naxios.interceptors.response.use(\n (response) => response,\n async (error) => {\n const originalRequest = error.config;\n\n if (error.response.status === 401 && !originalRequest._retry) {\n originalRequest._retry = true;\n\n if (isRefreshing) {\n try {\n const token = await new Promise((resolve, reject) => {\n failedQueue.push({ resolve, reject });\n });\n originalRequest.headers['Authorization'] = 'Bearer ' + token;\n return await axios(originalRequest);\n } catch (err) {\n return Promise.reject(err);\n }\n }\n\n isRefreshing = true;\n\n try {\n const { token } = await refreshToken(\n // Handle edge case where we get a blank screen if the initial 401 error is from a refresh token request\n originalRequest.url?.includes('api/auth/refresh') ? true : false,\n );\n\n if (token) {\n originalRequest.headers['Authorization'] = 'Bearer ' + token;\n setTokenHeader(token);\n window.dispatchEvent(new CustomEvent('tokenUpdated', { detail: token }));\n processQueue(null, token);\n return await axios(originalRequest);\n } else {\n window.location.href = '/login';\n }\n } catch (err) {\n processQueue(err as AxiosError, null);\n return Promise.reject(err);\n } finally {\n isRefreshing = false;\n }\n }\n\n return Promise.reject(error);\n },\n);\n\nexport default {\n get: _get,\n post: _post,\n postMultiPart: _postMultiPart,\n put: _put,\n delete: _delete,\n deleteWithOptions: _deleteWithOptions,\n patch: _patch,\n refreshToken,\n};\n","import * as f from './types/files';\nimport * as m from './types/mutations';\nimport * as a from './types/assistants';\nimport * as t from './types';\nimport * as s from './schemas';\nimport request from './request';\nimport * as endpoints from './api-endpoints';\n\nexport function getConversations(pageNumber: string): Promise<t.TGetConversationsResponse> {\n return request.get(endpoints.conversations(pageNumber));\n}\n\nexport function abortRequestWithMessage(\n endpoint: string,\n abortKey: string,\n message: string,\n): Promise<void> {\n return request.post(endpoints.abortRequest(endpoint), { arg: { abortKey, message } });\n}\n\nexport function deleteConversation(payload: t.TDeleteConversationRequest) {\n //todo: this should be a DELETE request\n return request.post(endpoints.deleteConversation(), { arg: payload });\n}\n\nexport function clearAllConversations(): Promise<unknown> {\n return request.post(endpoints.deleteConversation(), { arg: {} });\n}\n\nexport function revokeUserKey(name: string): Promise<unknown> {\n return request.delete(endpoints.revokeUserKey(name));\n}\n\nexport function revokeAllUserKeys(): Promise<unknown> {\n return request.delete(endpoints.revokeAllUserKeys());\n}\n\nexport function getMessagesByConvoId(conversationId: string): Promise<s.TMessage[]> {\n if (conversationId === 'new') {\n return Promise.resolve([]);\n }\n return request.get(endpoints.messages(conversationId));\n}\n\nexport function getConversationById(id: string): Promise<s.TConversation> {\n return request.get(endpoints.conversationById(id));\n}\n\nexport function updateConversation(\n payload: t.TUpdateConversationRequest,\n): Promise<t.TUpdateConversationResponse> {\n return request.post(endpoints.updateConversation(), { arg: payload });\n}\n\nexport function updateMessage(payload: t.TUpdateMessageRequest): Promise<unknown> {\n const { conversationId, messageId, text } = payload;\n if (!conversationId) {\n throw new Error('conversationId is required');\n }\n\n return request.put(endpoints.messages(conversationId, messageId), { text });\n}\n\nexport function updateUserKey(payload: t.TUpdateUserKeyRequest) {\n const { value } = payload;\n if (!value) {\n throw new Error('value is required');\n }\n\n return request.put(endpoints.keys(), payload);\n}\n\nexport function getPresets(): Promise<s.TPreset[]> {\n return request.get(endpoints.presets());\n}\n\nexport function createPreset(payload: s.TPreset): Promise<s.TPreset> {\n return request.post(endpoints.presets(), payload);\n}\n\nexport function updatePreset(payload: s.TPreset): Promise<s.TPreset> {\n return request.post(endpoints.presets(), payload);\n}\n\nexport function deletePreset(arg: s.TPreset | undefined): Promise<m.PresetDeleteResponse> {\n return request.post(endpoints.deletePreset(), arg);\n}\n\nexport function getSearchEnabled(): Promise<boolean> {\n return request.get(endpoints.searchEnabled());\n}\n\nexport function getUser(): Promise<t.TUser> {\n return request.get(endpoints.user());\n}\n\nexport function getUserBalance(): Promise<string> {\n return request.get(endpoints.balance());\n}\n\nexport const searchConversations = async (\n q: string,\n pageNumber: string,\n): Promise<t.TSearchResults> => {\n return request.get(endpoints.search(q, pageNumber));\n};\n\nexport const updateTokenCount = (text: string) => {\n return request.post(endpoints.tokenizer(), { arg: text });\n};\n\nexport const login = (payload: t.TLoginUser) => {\n return request.post(endpoints.login(), payload);\n};\n\nexport const logout = () => {\n return request.post(endpoints.logout());\n};\n\nexport const register = (payload: t.TRegisterUser) => {\n return request.post(endpoints.register(), payload);\n};\n\nexport const userKeyQuery = (name: string): Promise<t.TCheckUserKeyResponse> =>\n request.get(endpoints.userKeyQuery(name));\n\nexport const getLoginGoogle = () => {\n return request.get(endpoints.loginGoogle());\n};\n\nexport const requestPasswordReset = (\n payload: t.TRequestPasswordReset,\n): Promise<t.TRequestPasswordResetResponse> => {\n return request.post(endpoints.requestPasswordReset(), payload);\n};\n\nexport const resetPassword = (payload: t.TResetPassword) => {\n return request.post(endpoints.resetPassword(), payload);\n};\n\nexport const getAvailablePlugins = (): Promise<s.TPlugin[]> => {\n return request.get(endpoints.plugins());\n};\n\nexport const updateUserPlugins = (payload: t.TUpdateUserPlugins) => {\n return request.post(endpoints.userPlugins(), payload);\n};\n\n/* Config */\n\nexport const getStartupConfig = (): Promise<t.TStartupConfig> => {\n return request.get(endpoints.config());\n};\n\nexport const getAIEndpoints = (): Promise<t.TEndpointsConfig> => {\n return request.get(endpoints.aiEndpoints());\n};\n\nexport const getModels = async (): Promise<t.TModelsConfig> => {\n return request.get(endpoints.models());\n};\n\nexport const getEndpointsConfigOverride = (): Promise<unknown | boolean> => {\n return request.get(endpoints.endpointsConfigOverride());\n};\n\n/* Assistants */\n\nexport const createAssistant = (data: a.AssistantCreateParams): Promise<a.Assistant> => {\n return request.post(endpoints.assistants(), data);\n};\n\nexport const getAssistantById = (assistant_id: string): Promise<a.Assistant> => {\n return request.get(endpoints.assistants(assistant_id));\n};\n\nexport const updateAssistant = (\n assistant_id: string,\n data: a.AssistantUpdateParams,\n): Promise<a.Assistant> => {\n return request.patch(endpoints.assistants(assistant_id), data);\n};\n\nexport const deleteAssistant = (assistant_id: string): Promise<void> => {\n return request.delete(endpoints.assistants(assistant_id));\n};\n\nexport const listAssistants = (\n params?: a.AssistantListParams,\n): Promise<a.AssistantListResponse> => {\n return request.get(endpoints.assistants(), { params });\n};\n\n/* Files */\n\nexport const uploadImage = (data: FormData): Promise<f.FileUploadResponse> => {\n return request.postMultiPart(endpoints.images(), data);\n};\n\nexport const deleteFiles = async (files: f.BatchFile[]): Promise<f.DeleteFilesResponse> =>\n request.deleteWithOptions(endpoints.files(), {\n data: { files },\n });\n","/* eslint-disable */\n/**\n * Copyright (C) 2016 Maxime Petazzoni <maxime.petazzoni@bulix.org>.\n * All rights reserved.\n */\n\nimport request from './request';\nimport { setTokenHeader } from './headers-helpers';\n\nvar SSE = function (url, options) {\n if (!(this instanceof SSE)) {\n return new SSE(url, options);\n }\n\n this.INITIALIZING = -1;\n this.CONNECTING = 0;\n this.OPEN = 1;\n this.CLOSED = 2;\n\n this.url = url;\n\n options = options || {};\n this.headers = options.headers || {};\n this.payload = options.payload !== undefined ? options.payload : '';\n this.method = options.method || (this.payload && 'POST') || 'GET';\n this.withCredentials = !!options.withCredentials;\n\n this.FIELD_SEPARATOR = ':';\n this.listeners = {};\n\n this.xhr = null;\n this.readyState = this.INITIALIZING;\n this.progress = 0;\n this.chunk = '';\n\n this.addEventListener = function (type, listener) {\n if (this.listeners[type] === undefined) {\n this.listeners[type] = [];\n }\n\n if (this.listeners[type].indexOf(listener) === -1) {\n this.listeners[type].push(listener);\n }\n };\n\n this.removeEventListener = function (type, listener) {\n if (this.listeners[type] === undefined) {\n return;\n }\n\n var filtered = [];\n this.listeners[type].forEach(function (element) {\n if (element !== listener) {\n filtered.push(element);\n }\n });\n if (filtered.length === 0) {\n delete this.listeners[type];\n } else {\n this.listeners[type] = filtered;\n }\n };\n\n this.dispatchEvent = function (e) {\n if (!e) {\n return true;\n }\n\n e.source = this;\n\n var onHandler = 'on' + e.type;\n if (this.hasOwnProperty(onHandler)) {\n this[onHandler].call(this, e);\n if (e.defaultPrevented) {\n return false;\n }\n }\n\n if (this.listeners[e.type]) {\n return this.listeners[e.type].every(function (callback) {\n callback(e);\n return !e.defaultPrevented;\n });\n }\n\n return true;\n };\n\n this._setReadyState = function (state) {\n var event = new CustomEvent('readystatechange');\n event.readyState = state;\n this.readyState = state;\n this.dispatchEvent(event);\n };\n\n this._onStreamFailure = function (e) {\n var event = new CustomEvent('error');\n event.data = e.currentTarget.response;\n this.dispatchEvent(event);\n this.close();\n };\n\n this._onStreamAbort = function (e) {\n this.dispatchEvent(new CustomEvent('abort'));\n this.close();\n };\n\n this._onStreamProgress = async function (e) {\n if (!this.xhr) {\n return;\n }\n\n if (this.xhr.status === 401 && !this._retry) {\n this._retry = true;\n try {\n const refreshResponse = await request.refreshToken();\n this.headers = {\n 'Content-Type': 'application/json',\n Authorization: `Bearer ${refreshResponse.token}`,\n };\n setTokenHeader(refreshResponse.token);\n window.dispatchEvent(new CustomEvent('tokenUpdated', { detail: refreshResponse.token }));\n this.stream();\n } catch (err) {\n this._onStreamFailure(e);\n return;\n }\n } else if (this.xhr.status !== 200) {\n this._onStreamFailure(e);\n return;\n }\n\n if (this.readyState == this.CONNECTING) {\n this.dispatchEvent(new CustomEvent('open'));\n this._setReadyState(this.OPEN);\n }\n\n var data = this.xhr.responseText.substring(this.progress);\n this.progress += data.length;\n data.split(/(\\r\\n|\\r|\\n){2}/g).forEach(\n function (part) {\n if (part.trim().length === 0) {\n this.dispatchEvent(this._parseEventChunk(this.chunk.trim()));\n this.chunk = '';\n } else {\n this.chunk += part;\n }\n }.bind(this),\n );\n };\n\n this._onStreamLoaded = function (e) {\n this._onStreamProgress(e);\n\n // Parse the last chunk.\n this.dispatchEvent(this._parseEventChunk(this.chunk));\n this.chunk = '';\n };\n\n /**\n * Parse a received SSE event chunk into a constructed event object.\n */\n this._parseEventChunk = function (chunk) {\n if (!chunk || chunk.length === 0) {\n return null;\n }\n\n var e = { id: null, retry: null, data: '', event: 'message' };\n chunk.split(/\\n|\\r\\n|\\r/).forEach(\n function (line) {\n line = line.trimRight();\n var index = line.indexOf(this.FIELD_SEPARATOR);\n if (index <= 0) {\n // Line was either empty, or started with a separator and is a comment.\n // Either way, ignore.\n return;\n }\n\n var field = line.substring(0, index);\n if (!(field in e)) {\n return;\n }\n\n var value = line.substring(index + 1).trimLeft();\n if (field === 'data') {\n e[field] += value;\n } else {\n e[field] = value;\n }\n }.bind(this),\n );\n\n var event = new CustomEvent(e.event);\n event.data = e.data;\n event.id = e.id;\n return event;\n };\n\n this._checkStreamClosed = function () {\n if (!this.xhr) {\n return;\n }\n\n if (this.xhr.readyState === XMLHttpRequest.DONE) {\n this._setReadyState(this.CLOSED);\n }\n };\n\n this.stream = function () {\n this._setReadyState(this.CONNECTING);\n\n this.xhr = new XMLHttpRequest();\n this.xhr.addEventListener('progress', this._onStreamProgress.bind(this));\n this.xhr.addEventListener('load', this._onStreamLoaded.bind(this));\n this.xhr.addEventListener('readystatechange', this._checkStreamClosed.bind(this));\n this.xhr.addEventListener('error', this._onStreamFailure.bind(this));\n this.xhr.addEventListener('abort', this._onStreamAbort.bind(this));\n this.xhr.open(this.method, this.url);\n for (var header in this.headers) {\n this.xhr.setRequestHeader(header, this.headers[header]);\n }\n this.xhr.withCredentials = this.withCredentials;\n this.xhr.send(this.payload);\n };\n\n this.close = function () {\n if (this.readyState === this.CLOSED) {\n return;\n }\n\n this.xhr.abort();\n this.xhr = null;\n this._setReadyState(this.CLOSED);\n };\n};\n\nexport { SSE };\n// Export our SSE module for npm.js\n// if (typeof exports !== 'undefined') {\n// // exports.SSE = SSE;\n// module.exports = { SSE };\n// }\n","import { tConversationSchema } from './schemas';\nimport type { TSubmission, TMessage, TEndpointOption } from './types';\nimport { EModelEndpoint, EndpointURLs } from './types';\n\nexport default function createPayload(submission: TSubmission) {\n const { conversation, message, messages, endpointOption, isEdited, isContinued } = submission;\n const { conversationId } = tConversationSchema.parse(conversation);\n const { endpoint } = endpointOption as { endpoint: EModelEndpoint };\n\n let server = EndpointURLs[endpoint];\n\n if (isEdited && endpoint === EModelEndpoint.assistant) {\n server += '/modify';\n } else if (isEdited) {\n server = server.replace('/ask/', '/edit/');\n }\n\n type Payload = Partial<TMessage> &\n Partial<TEndpointOption> & {\n isContinued: boolean;\n conversationId: string | null;\n messages?: typeof messages;\n };\n\n const payload: Payload = {\n ...message,\n ...endpointOption,\n isContinued: !!(isEdited && isContinued),\n conversationId,\n };\n\n if (endpoint === EModelEndpoint.assistant) {\n payload.messages = messages;\n }\n\n return { server, payload };\n}\n"],"names":["EModelEndpoint","AuthKeys","defaultEndpoints","openAI","assistant","azureOpenAI","bingAI","chatGPTBrowser","gptPlugins","google","anthropic","defaultModels","_a","alternateName","_b","endpointSettings","_c","model","default","maxOutputTokens","min","max","step","maxGeminiPro","defaultGeminiPro","temperature","topP","topK","EndpointURLs","_d","modularEndpoints","Set","supportsFiles","_e","supportsBalanceCheck","_f","visionModels","eModelEndpointSchema","z","nativeEnum","tPluginAuthConfigSchema","object","authField","string","label","description","tPluginSchema","name","pluginKey","icon","authConfig","array","authenticated","boolean","optional","isButton","tExampleSchema","input","content","output","tAgentOptionsSchema","agent","skipCompletion","number","tMessageSchema","messageId","clientId","nullable","conversationId","parentMessageId","responseMessageId","overrideParentMessageId","bg","title","or","literal","sender","text","generation","isEdited","isCreatedByUser","error","createdAt","Date","toISOString","updatedAt","current","unfinished","submitting","searchResult","finish_reason","tConversationSchema","user","endpoint","suggestions","messages","tools","systemMessage","modelLabel","examples","chatGptLabel","userLabel","promptPrefix","context","top_p","frequency_penalty","presence_penalty","jailbreak","jailbreakConversationId","conversationSignature","invocationId","toneStyle","agentOptions","assistant_id","thread_id","tPresetSchema","omit","merge","presetId","defaultPreset","order","openAISchema","pick","transform","obj","__assign","_g","catch","googleSchema","isGeminiPro","toLowerCase","includes","maxOutputTokensMax","maxOutputTokensDefault","Math","_h","_j","_k","bingAISchema","anthropicSchema","chatGPTBrowserSchema","gptPluginsSchema","removeNullishValues","newObj","Object","keys","forEach","key","undefined","assistantSchema","endpointSchemas","getFirstDefinedValue","possibleValues","returnValue","possibleValues_1","_i","length","value","Tools","QueryKeys","MutationKeys","parseConvo","conversation","schema","Error","convo","parse","models","secondaryModels","getResponseSender","endpointOption","compactOpenAISchema","compactGoogleSchema","compactAnthropicSchema","compactChatGPTSchema","compactPluginsSchema","compactEndpointSchemas","parseCompactConvo","setAcceptLanguageHeader","axios","defaults","headers","common","setTokenHeader","token","concat","keysEndpoint","search","q","pageNumber","assistants","id","_post","url","data","post","JSON","stringify","sent","isRefreshing","failedQueue","refreshToken","retry","endpoints.refreshToken","processQueue","prom","reject","resolve","interceptors","response","use","__awaiter","originalRequest","config","status","_retry","Promise","push","err_1","window","dispatchEvent","CustomEvent","detail","location","href","err_2","request","get","options","postMultiPart","formData","put","delete","deleteWithOptions","patch","abortKey","message","endpoints.abortRequest","arg","endpoints.assistants","payload","files","endpoints.conversationById","endpoints.conversations","endpoints.messages","params","endpoints.revokeUserKey","endpoints.search","endpoints.userKeyQuery","SSE","this","INITIALIZING","CONNECTING","OPEN","CLOSED","method","withCredentials","FIELD_SEPARATOR","listeners","xhr","readyState","progress","chunk","addEventListener","type","listener","indexOf","removeEventListener","filtered","element","e","source","onHandler","hasOwnProperty","call","defaultPrevented","every","callback","_setReadyState","state","event","_onStreamFailure","currentTarget","close","_onStreamAbort","_onStreamProgress","async","refreshResponse","Authorization","stream","err","responseText","substring","split","part","trim","_parseEventChunk","bind","_onStreamLoaded","line","index","trimRight","field","trimLeft","_checkStreamClosed","XMLHttpRequest","DONE","header","open","setRequestHeader","send","abort","createPayload","submission","isContinued","server","replace"],"mappings":"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"}
1
+ {"version":3,"file":"index.es.js","sources":["../src/schemas.ts","../src/types/assistants.ts","../src/keys.ts","../src/headers-helpers.ts","../src/api-endpoints.ts","../src/request.ts","../src/data-service.ts","../src/sse.js","../src/createPayload.ts"],"sourcesContent":["import { z } from 'zod';\n\nexport enum EModelEndpoint {\n azureOpenAI = 'azureOpenAI',\n openAI = 'openAI',\n bingAI = 'bingAI',\n chatGPTBrowser = 'chatGPTBrowser',\n google = 'google',\n gptPlugins = 'gptPlugins',\n anthropic = 'anthropic',\n assistant = 'assistant',\n}\n\nexport const defaultEndpoints: EModelEndpoint[] = [\n EModelEndpoint.openAI,\n EModelEndpoint.assistant,\n EModelEndpoint.azureOpenAI,\n EModelEndpoint.bingAI,\n EModelEndpoint.chatGPTBrowser,\n EModelEndpoint.gptPlugins,\n EModelEndpoint.google,\n EModelEndpoint.anthropic,\n];\n\nexport const defaultModels = {\n [EModelEndpoint.google]: [\n 'gemini-pro',\n 'gemini-pro-vision',\n 'chat-bison',\n 'chat-bison-32k',\n 'codechat-bison',\n 'codechat-bison-32k',\n 'text-bison',\n 'text-bison-32k',\n 'text-unicorn',\n 'code-gecko',\n 'code-bison',\n 'code-bison-32k',\n ],\n [EModelEndpoint.anthropic]: [\n 'claude-2.1',\n 'claude-2',\n 'claude-1.2',\n 'claude-1',\n 'claude-1-100k',\n 'claude-instant-1',\n 'claude-instant-1-100k',\n ],\n [EModelEndpoint.openAI]: [\n 'gpt-3.5-turbo-16k-0613',\n 'gpt-3.5-turbo-16k',\n 'gpt-4-1106-preview',\n 'gpt-3.5-turbo',\n 'gpt-3.5-turbo-1106',\n 'gpt-4-vision-preview',\n 'gpt-4',\n 'gpt-3.5-turbo-instruct-0914',\n 'gpt-3.5-turbo-0613',\n 'gpt-3.5-turbo-0301',\n 'gpt-3.5-turbo-instruct',\n 'gpt-4-0613',\n 'text-davinci-003',\n 'gpt-4-0314',\n ],\n};\n\nexport const alternateName = {\n [EModelEndpoint.openAI]: 'OpenAI',\n [EModelEndpoint.assistant]: 'Assistants',\n [EModelEndpoint.azureOpenAI]: 'Azure OpenAI',\n [EModelEndpoint.bingAI]: 'Bing',\n [EModelEndpoint.chatGPTBrowser]: 'ChatGPT',\n [EModelEndpoint.gptPlugins]: 'Plugins',\n [EModelEndpoint.google]: 'Google',\n [EModelEndpoint.anthropic]: 'Anthropic',\n};\n\nexport enum AuthKeys {\n GOOGLE_SERVICE_KEY = 'GOOGLE_SERVICE_KEY',\n GOOGLE_API_KEY = 'GOOGLE_API_KEY',\n}\n\nexport const endpointSettings = {\n [EModelEndpoint.google]: {\n model: {\n default: 'chat-bison',\n },\n maxOutputTokens: {\n min: 1,\n max: 2048,\n step: 1,\n default: 1024,\n maxGeminiPro: 8192,\n defaultGeminiPro: 8192,\n },\n temperature: {\n min: 0,\n max: 1,\n step: 0.01,\n default: 0.2,\n },\n topP: {\n min: 0,\n max: 1,\n step: 0.01,\n default: 0.8,\n },\n topK: {\n min: 1,\n max: 40,\n step: 0.01,\n default: 40,\n },\n },\n};\n\nconst google = endpointSettings[EModelEndpoint.google];\n\nexport const EndpointURLs: { [key in EModelEndpoint]: string } = {\n [EModelEndpoint.azureOpenAI]: '/api/ask/azureOpenAI',\n [EModelEndpoint.openAI]: '/api/ask/openAI',\n [EModelEndpoint.bingAI]: '/api/ask/bingAI',\n [EModelEndpoint.chatGPTBrowser]: '/api/ask/chatGPTBrowser',\n [EModelEndpoint.google]: '/api/ask/google',\n [EModelEndpoint.gptPlugins]: '/api/ask/gptPlugins',\n [EModelEndpoint.anthropic]: '/api/ask/anthropic',\n [EModelEndpoint.assistant]: '/api/assistants/chat',\n};\n\nexport const modularEndpoints = new Set<EModelEndpoint | string>([\n EModelEndpoint.gptPlugins,\n EModelEndpoint.anthropic,\n EModelEndpoint.google,\n EModelEndpoint.openAI,\n]);\n\nexport const supportsFiles = {\n [EModelEndpoint.openAI]: true,\n [EModelEndpoint.google]: true,\n [EModelEndpoint.assistant]: true,\n [EModelEndpoint.azureOpenAI]: true,\n};\n\nexport const supportsBalanceCheck = {\n [EModelEndpoint.openAI]: true,\n [EModelEndpoint.azureOpenAI]: true,\n [EModelEndpoint.gptPlugins]: true,\n};\n\nexport const visionModels = ['gpt-4-vision', 'llava-13b', 'gemini-pro-vision'];\n\nexport const eModelEndpointSchema = z.nativeEnum(EModelEndpoint);\n\nexport const tPluginAuthConfigSchema = z.object({\n authField: z.string(),\n label: z.string(),\n description: z.string(),\n});\n\nexport type TPluginAuthConfig = z.infer<typeof tPluginAuthConfigSchema>;\n\nexport const tPluginSchema = z.object({\n name: z.string(),\n pluginKey: z.string(),\n description: z.string(),\n icon: z.string(),\n authConfig: z.array(tPluginAuthConfigSchema),\n authenticated: z.boolean().optional(),\n isButton: z.boolean().optional(),\n});\n\nexport type TPlugin = z.infer<typeof tPluginSchema>;\n\nexport type TInput = {\n inputStr: string;\n};\n\nexport type TResPlugin = {\n plugin: string;\n input: string;\n thought: string;\n loading?: boolean;\n outputs?: string;\n latest?: string;\n inputs?: TInput[];\n};\n\nexport const tExampleSchema = z.object({\n input: z.object({\n content: z.string(),\n }),\n output: z.object({\n content: z.string(),\n }),\n});\n\nexport type TExample = z.infer<typeof tExampleSchema>;\n\nexport const tAgentOptionsSchema = z.object({\n agent: z.string(),\n skipCompletion: z.boolean(),\n model: z.string(),\n temperature: z.number(),\n});\n\nexport const tMessageSchema = z.object({\n messageId: z.string(),\n clientId: z.string().nullable().optional(),\n conversationId: z.string().nullable(),\n parentMessageId: z.string().nullable(),\n responseMessageId: z.string().nullable().optional(),\n overrideParentMessageId: z.string().nullable().optional(),\n bg: z.string().nullable().optional(),\n model: z.string().nullable().optional(),\n title: z.string().nullable().or(z.literal('New Chat')).default('New Chat'),\n sender: z.string(),\n text: z.string(),\n generation: z.string().nullable().optional(),\n isEdited: z.boolean().optional(),\n isCreatedByUser: z.boolean(),\n error: z.boolean(),\n createdAt: z\n .string()\n .optional()\n .default(() => new Date().toISOString()),\n updatedAt: z\n .string()\n .optional()\n .default(() => new Date().toISOString()),\n current: z.boolean().optional(),\n unfinished: z.boolean().optional(),\n submitting: z.boolean().optional(),\n searchResult: z.boolean().optional(),\n finish_reason: z.string().optional(),\n});\n\nexport type TMessage = z.input<typeof tMessageSchema> & {\n children?: TMessage[];\n plugin?: TResPlugin | null;\n plugins?: TResPlugin[];\n files?: {\n type: string;\n file_id: string;\n filename?: string;\n preview?: string;\n filepath?: string;\n height?: number;\n width?: number;\n }[];\n};\n\nexport const tConversationSchema = z.object({\n conversationId: z.string().nullable(),\n title: z.string().nullable().or(z.literal('New Chat')).default('New Chat'),\n user: z.string().optional(),\n endpoint: eModelEndpointSchema.nullable(),\n suggestions: z.array(z.string()).optional(),\n messages: z.array(z.string()).optional(),\n tools: z.array(tPluginSchema).optional(),\n createdAt: z.string(),\n updatedAt: z.string(),\n systemMessage: z.string().nullable().optional(),\n modelLabel: z.string().nullable().optional(),\n examples: z.array(tExampleSchema).optional(),\n chatGptLabel: z.string().nullable().optional(),\n userLabel: z.string().optional(),\n model: z.string().nullable().optional(),\n promptPrefix: z.string().nullable().optional(),\n temperature: z.number().optional(),\n topP: z.number().optional(),\n topK: z.number().optional(),\n context: z.string().nullable().optional(),\n top_p: z.number().optional(),\n frequency_penalty: z.number().optional(),\n presence_penalty: z.number().optional(),\n jailbreak: z.boolean().optional(),\n jailbreakConversationId: z.string().nullable().optional(),\n conversationSignature: z.string().nullable().optional(),\n parentMessageId: z.string().optional(),\n clientId: z.string().nullable().optional(),\n invocationId: z.number().nullable().optional(),\n toneStyle: z.string().nullable().optional(),\n maxOutputTokens: z.number().optional(),\n agentOptions: tAgentOptionsSchema.nullable().optional(),\n /* assistant */\n assistant_id: z.string().optional(),\n thread_id: z.string().optional(),\n});\n\nexport type TConversation = z.infer<typeof tConversationSchema>;\n\nexport const tPresetSchema = tConversationSchema\n .omit({\n conversationId: true,\n createdAt: true,\n updatedAt: true,\n title: true,\n })\n .merge(\n z.object({\n conversationId: z.string().optional(),\n presetId: z.string().nullable().optional(),\n title: z.string().nullable().optional(),\n defaultPreset: z.boolean().optional(),\n order: z.number().optional(),\n }),\n );\n\nexport type TPreset = z.infer<typeof tPresetSchema>;\n\nexport const openAISchema = tConversationSchema\n .pick({\n model: true,\n chatGptLabel: true,\n promptPrefix: true,\n temperature: true,\n top_p: true,\n presence_penalty: true,\n frequency_penalty: true,\n })\n .transform((obj) => ({\n ...obj,\n model: obj.model ?? 'gpt-3.5-turbo',\n chatGptLabel: obj.chatGptLabel ?? null,\n promptPrefix: obj.promptPrefix ?? null,\n temperature: obj.temperature ?? 1,\n top_p: obj.top_p ?? 1,\n presence_penalty: obj.presence_penalty ?? 0,\n frequency_penalty: obj.frequency_penalty ?? 0,\n }))\n .catch(() => ({\n model: 'gpt-3.5-turbo',\n chatGptLabel: null,\n promptPrefix: null,\n temperature: 1,\n top_p: 1,\n presence_penalty: 0,\n frequency_penalty: 0,\n }));\n\nexport const googleSchema = tConversationSchema\n .pick({\n model: true,\n modelLabel: true,\n promptPrefix: true,\n examples: true,\n temperature: true,\n maxOutputTokens: true,\n topP: true,\n topK: true,\n })\n .transform((obj) => {\n const isGeminiPro = obj?.model?.toLowerCase()?.includes('gemini-pro');\n\n const maxOutputTokensMax = isGeminiPro\n ? google.maxOutputTokens.maxGeminiPro\n : google.maxOutputTokens.max;\n const maxOutputTokensDefault = isGeminiPro\n ? google.maxOutputTokens.defaultGeminiPro\n : google.maxOutputTokens.default;\n\n let maxOutputTokens = obj.maxOutputTokens ?? maxOutputTokensDefault;\n maxOutputTokens = Math.min(maxOutputTokens, maxOutputTokensMax);\n\n return {\n ...obj,\n model: obj.model ?? google.model.default,\n modelLabel: obj.modelLabel ?? null,\n promptPrefix: obj.promptPrefix ?? null,\n examples: obj.examples ?? [{ input: { content: '' }, output: { content: '' } }],\n temperature: obj.temperature ?? google.temperature.default,\n maxOutputTokens,\n topP: obj.topP ?? google.topP.default,\n topK: obj.topK ?? google.topK.default,\n };\n })\n .catch(() => ({\n model: google.model.default,\n modelLabel: null,\n promptPrefix: null,\n examples: [{ input: { content: '' }, output: { content: '' } }],\n temperature: google.temperature.default,\n maxOutputTokens: google.maxOutputTokens.default,\n topP: google.topP.default,\n topK: google.topK.default,\n }));\n\nexport const bingAISchema = tConversationSchema\n .pick({\n jailbreak: true,\n systemMessage: true,\n context: true,\n toneStyle: true,\n jailbreakConversationId: true,\n conversationSignature: true,\n clientId: true,\n invocationId: true,\n })\n .transform((obj) => ({\n ...obj,\n model: '',\n jailbreak: obj.jailbreak ?? false,\n systemMessage: obj.systemMessage ?? null,\n context: obj.context ?? null,\n toneStyle: obj.toneStyle ?? 'creative',\n jailbreakConversationId: obj.jailbreakConversationId ?? null,\n conversationSignature: obj.conversationSignature ?? null,\n clientId: obj.clientId ?? null,\n invocationId: obj.invocationId ?? 1,\n }))\n .catch(() => ({\n model: '',\n jailbreak: false,\n systemMessage: null,\n context: null,\n toneStyle: 'creative',\n jailbreakConversationId: null,\n conversationSignature: null,\n clientId: null,\n invocationId: 1,\n }));\n\nexport const anthropicSchema = tConversationSchema\n .pick({\n model: true,\n modelLabel: true,\n promptPrefix: true,\n temperature: true,\n maxOutputTokens: true,\n topP: true,\n topK: true,\n })\n .transform((obj) => ({\n ...obj,\n model: obj.model ?? 'claude-1',\n modelLabel: obj.modelLabel ?? null,\n promptPrefix: obj.promptPrefix ?? null,\n temperature: obj.temperature ?? 1,\n maxOutputTokens: obj.maxOutputTokens ?? 4000,\n topP: obj.topP ?? 0.7,\n topK: obj.topK ?? 5,\n }))\n .catch(() => ({\n model: 'claude-1',\n modelLabel: null,\n promptPrefix: null,\n temperature: 1,\n maxOutputTokens: 4000,\n topP: 0.7,\n topK: 5,\n }));\n\nexport const chatGPTBrowserSchema = tConversationSchema\n .pick({\n model: true,\n })\n .transform((obj) => ({\n ...obj,\n model: obj.model ?? 'text-davinci-002-render-sha',\n }))\n .catch(() => ({\n model: 'text-davinci-002-render-sha',\n }));\n\nexport const gptPluginsSchema = tConversationSchema\n .pick({\n model: true,\n chatGptLabel: true,\n promptPrefix: true,\n temperature: true,\n top_p: true,\n presence_penalty: true,\n frequency_penalty: true,\n tools: true,\n agentOptions: true,\n })\n .transform((obj) => ({\n ...obj,\n model: obj.model ?? 'gpt-3.5-turbo',\n chatGptLabel: obj.chatGptLabel ?? null,\n promptPrefix: obj.promptPrefix ?? null,\n temperature: obj.temperature ?? 0.8,\n top_p: obj.top_p ?? 1,\n presence_penalty: obj.presence_penalty ?? 0,\n frequency_penalty: obj.frequency_penalty ?? 0,\n tools: obj.tools ?? [],\n agentOptions: obj.agentOptions ?? {\n agent: 'functions',\n skipCompletion: true,\n model: 'gpt-3.5-turbo',\n temperature: 0,\n },\n }))\n .catch(() => ({\n model: 'gpt-3.5-turbo',\n chatGptLabel: null,\n promptPrefix: null,\n temperature: 0.8,\n top_p: 1,\n presence_penalty: 0,\n frequency_penalty: 0,\n tools: [],\n agentOptions: {\n agent: 'functions',\n skipCompletion: true,\n model: 'gpt-3.5-turbo',\n temperature: 0,\n },\n }));\n\nexport function removeNullishValues<T extends object>(obj: T): T {\n const newObj: Partial<T> = { ...obj };\n\n (Object.keys(newObj) as Array<keyof T>).forEach((key) => {\n if (newObj[key] === undefined || newObj[key] === null || newObj[key] === '') {\n delete newObj[key];\n }\n });\n\n return newObj as T;\n}\n\nexport const assistantSchema = tConversationSchema\n .pick({\n model: true,\n assistant_id: true,\n thread_id: true,\n })\n .transform(removeNullishValues)\n .catch(() => ({}));\n\ntype EndpointSchema =\n | typeof openAISchema\n | typeof googleSchema\n | typeof bingAISchema\n | typeof anthropicSchema\n | typeof chatGPTBrowserSchema\n | typeof gptPluginsSchema\n | typeof assistantSchema;\n\nconst endpointSchemas: Record<EModelEndpoint, EndpointSchema> = {\n [EModelEndpoint.openAI]: openAISchema,\n [EModelEndpoint.azureOpenAI]: openAISchema,\n [EModelEndpoint.google]: googleSchema,\n [EModelEndpoint.bingAI]: bingAISchema,\n [EModelEndpoint.anthropic]: anthropicSchema,\n [EModelEndpoint.chatGPTBrowser]: chatGPTBrowserSchema,\n [EModelEndpoint.gptPlugins]: gptPluginsSchema,\n [EModelEndpoint.assistant]: assistantSchema,\n};\n\nexport function getFirstDefinedValue(possibleValues: string[]) {\n let returnValue;\n for (const value of possibleValues) {\n if (value) {\n returnValue = value;\n break;\n }\n }\n return returnValue;\n}\n\nexport type TPossibleValues = {\n models: string[];\n secondaryModels?: string[];\n};\n\nexport const parseConvo = (\n endpoint: EModelEndpoint,\n conversation: Partial<TConversation | TPreset>,\n possibleValues?: TPossibleValues,\n) => {\n const schema = endpointSchemas[endpoint];\n\n if (!schema) {\n throw new Error(`Unknown endpoint: ${endpoint}`);\n }\n\n const convo = schema.parse(conversation) as TConversation;\n const { models, secondaryModels } = possibleValues ?? {};\n\n if (models && convo) {\n convo.model = getFirstDefinedValue(models) ?? convo.model;\n }\n\n if (secondaryModels && convo.agentOptions) {\n convo.agentOptions.model = getFirstDefinedValue(secondaryModels) ?? convo.agentOptions.model;\n }\n\n return convo;\n};\n\nexport type TEndpointOption = {\n endpoint: EModelEndpoint;\n model?: string | null;\n promptPrefix?: string;\n temperature?: number;\n chatGptLabel?: string | null;\n modelLabel?: string | null;\n jailbreak?: boolean;\n key?: string | null;\n};\n\nexport const getResponseSender = (endpointOption: TEndpointOption): string => {\n const { model, endpoint, chatGptLabel, modelLabel, jailbreak } = endpointOption;\n\n if (\n [\n EModelEndpoint.openAI,\n EModelEndpoint.azureOpenAI,\n EModelEndpoint.gptPlugins,\n EModelEndpoint.chatGPTBrowser,\n ].includes(endpoint)\n ) {\n if (chatGptLabel) {\n return chatGptLabel;\n } else if (model && model.includes('gpt-3')) {\n return 'GPT-3.5';\n } else if (model && model.includes('gpt-4')) {\n return 'GPT-4';\n }\n return alternateName[endpoint] ?? 'ChatGPT';\n }\n\n if (endpoint === EModelEndpoint.bingAI) {\n return jailbreak ? 'Sydney' : 'BingAI';\n }\n\n if (endpoint === EModelEndpoint.anthropic) {\n return modelLabel ?? 'Claude';\n }\n\n if (endpoint === EModelEndpoint.google) {\n if (modelLabel) {\n return modelLabel;\n } else if (model && model.includes('gemini')) {\n return 'Gemini';\n } else if (model && model.includes('code')) {\n return 'Codey';\n }\n\n return 'PaLM2';\n }\n\n return '';\n};\n\nexport const compactOpenAISchema = tConversationSchema\n .pick({\n model: true,\n chatGptLabel: true,\n promptPrefix: true,\n temperature: true,\n top_p: true,\n presence_penalty: true,\n frequency_penalty: true,\n })\n .transform((obj: Partial<TConversation>) => {\n const newObj: Partial<TConversation> = { ...obj };\n if (newObj.model === 'gpt-3.5-turbo') {\n delete newObj.model;\n }\n if (newObj.temperature === 1) {\n delete newObj.temperature;\n }\n if (newObj.top_p === 1) {\n delete newObj.top_p;\n }\n if (newObj.presence_penalty === 0) {\n delete newObj.presence_penalty;\n }\n if (newObj.frequency_penalty === 0) {\n delete newObj.frequency_penalty;\n }\n\n return removeNullishValues(newObj);\n })\n .catch(() => ({}));\n\nexport const compactGoogleSchema = tConversationSchema\n .pick({\n model: true,\n modelLabel: true,\n promptPrefix: true,\n examples: true,\n temperature: true,\n maxOutputTokens: true,\n topP: true,\n topK: true,\n })\n .transform((obj) => {\n const newObj: Partial<TConversation> = { ...obj };\n if (newObj.model === google.model.default) {\n delete newObj.model;\n }\n if (newObj.temperature === google.temperature.default) {\n delete newObj.temperature;\n }\n if (newObj.maxOutputTokens === google.maxOutputTokens.default) {\n delete newObj.maxOutputTokens;\n }\n if (newObj.topP === google.topP.default) {\n delete newObj.topP;\n }\n if (newObj.topK === google.topK.default) {\n delete newObj.topK;\n }\n\n return removeNullishValues(newObj);\n })\n .catch(() => ({}));\n\nexport const compactAnthropicSchema = tConversationSchema\n .pick({\n model: true,\n modelLabel: true,\n promptPrefix: true,\n temperature: true,\n maxOutputTokens: true,\n topP: true,\n topK: true,\n })\n .transform((obj) => {\n const newObj: Partial<TConversation> = { ...obj };\n if (newObj.model === 'claude-1') {\n delete newObj.model;\n }\n if (newObj.temperature === 1) {\n delete newObj.temperature;\n }\n if (newObj.maxOutputTokens === 4000) {\n delete newObj.maxOutputTokens;\n }\n if (newObj.topP === 0.7) {\n delete newObj.topP;\n }\n if (newObj.topK === 5) {\n delete newObj.topK;\n }\n\n return removeNullishValues(newObj);\n })\n .catch(() => ({}));\n\nexport const compactChatGPTSchema = tConversationSchema\n .pick({\n model: true,\n })\n .transform((obj) => {\n const newObj: Partial<TConversation> = { ...obj };\n // model: obj.model ?? 'text-davinci-002-render-sha',\n if (newObj.model === 'text-davinci-002-render-sha') {\n delete newObj.model;\n }\n\n return removeNullishValues(newObj);\n })\n .catch(() => ({}));\n\nexport const compactPluginsSchema = tConversationSchema\n .pick({\n model: true,\n chatGptLabel: true,\n promptPrefix: true,\n temperature: true,\n top_p: true,\n presence_penalty: true,\n frequency_penalty: true,\n tools: true,\n agentOptions: true,\n })\n .transform((obj) => {\n const newObj: Partial<TConversation> = { ...obj };\n if (newObj.model === 'gpt-3.5-turbo') {\n delete newObj.model;\n }\n if (newObj.chatGptLabel === null) {\n delete newObj.chatGptLabel;\n }\n if (newObj.promptPrefix === null) {\n delete newObj.promptPrefix;\n }\n if (newObj.temperature === 0.8) {\n delete newObj.temperature;\n }\n if (newObj.top_p === 1) {\n delete newObj.top_p;\n }\n if (newObj.presence_penalty === 0) {\n delete newObj.presence_penalty;\n }\n if (newObj.frequency_penalty === 0) {\n delete newObj.frequency_penalty;\n }\n if (newObj.tools?.length === 0) {\n delete newObj.tools;\n }\n\n if (\n newObj.agentOptions &&\n newObj.agentOptions.agent === 'functions' &&\n newObj.agentOptions.skipCompletion === true &&\n newObj.agentOptions.model === 'gpt-3.5-turbo' &&\n newObj.agentOptions.temperature === 0\n ) {\n delete newObj.agentOptions;\n }\n\n return removeNullishValues(newObj);\n })\n .catch(() => ({}));\n\ntype CompactEndpointSchema =\n | typeof compactOpenAISchema\n | typeof assistantSchema\n | typeof compactGoogleSchema\n | typeof bingAISchema\n | typeof compactAnthropicSchema\n | typeof compactChatGPTSchema\n | typeof compactPluginsSchema;\n\nconst compactEndpointSchemas: Record<string, CompactEndpointSchema> = {\n openAI: compactOpenAISchema,\n azureOpenAI: compactOpenAISchema,\n assistant: assistantSchema,\n google: compactGoogleSchema,\n /* BingAI needs all fields */\n bingAI: bingAISchema,\n anthropic: compactAnthropicSchema,\n chatGPTBrowser: compactChatGPTSchema,\n gptPlugins: compactPluginsSchema,\n};\n\nexport const parseCompactConvo = (\n endpoint: EModelEndpoint | undefined,\n conversation: Partial<TConversation | TPreset>,\n possibleValues?: TPossibleValues,\n) => {\n if (!endpoint) {\n throw new Error(`undefined endpoint: ${endpoint}`);\n }\n\n const schema = compactEndpointSchemas[endpoint];\n\n if (!schema) {\n throw new Error(`Unknown endpoint: ${endpoint}`);\n }\n\n const convo = schema.parse(conversation) as TConversation;\n // const { models, secondaryModels } = possibleValues ?? {};\n const { models } = possibleValues ?? {};\n\n if (models && convo) {\n convo.model = getFirstDefinedValue(models) ?? convo.model;\n }\n\n // if (secondaryModels && convo.agentOptions) {\n // convo.agentOptionmodel = getFirstDefinedValue(secondaryModels) ?? convo.agentOptionmodel;\n // }\n\n return convo;\n};\n","export type Metadata = {\n [key: string]: unknown;\n};\n\nexport enum Tools {\n code_interpreter = 'code_interpreter',\n retrieval = 'retrieval',\n function = 'function',\n}\n\nexport type Tool = {\n [type: string]: Tools;\n};\n\nexport type Assistant = {\n id: string;\n created_at: number;\n description: string | null;\n file_ids: string[];\n instructions: string | null;\n metadata: Metadata | null;\n model: string;\n name: string | null;\n object: string;\n tools: Tool[];\n};\n\nexport type AssistantCreateParams = {\n model: string;\n description?: string | null;\n file_ids?: string[];\n instructions?: string | null;\n metadata?: Metadata | null;\n name?: string | null;\n tools?: Tool[];\n};\n\nexport type AssistantUpdateParams = {\n model?: string;\n description?: string | null;\n file_ids?: string[];\n instructions?: string | null;\n metadata?: Metadata | null;\n name?: string | null;\n tools?: Tool[];\n};\n\nexport type AssistantListParams = {\n limit?: number;\n before?: string | null;\n after?: string | null;\n order?: 'asc' | 'desc';\n};\n\nexport type AssistantListResponse = {\n object: string;\n data: Assistant[];\n first_id: string;\n last_id: string;\n has_more: boolean;\n};\n\nexport type File = {\n file_id: string;\n id?: string;\n temp_file_id?: string;\n bytes: number;\n created_at: number;\n filename: string;\n object: string;\n purpose: 'fine-tune' | 'fine-tune-results' | 'assistants' | 'assistants_output';\n};\n","export enum QueryKeys {\n messages = 'messages',\n allConversations = 'allConversations',\n conversation = 'conversation',\n searchEnabled = 'searchEnabled',\n user = 'user',\n name = 'name', // user key name\n models = 'models',\n balance = 'balance',\n endpoints = 'endpoints',\n presets = 'presets',\n searchResults = 'searchResults',\n tokenCount = 'tokenCount',\n availablePlugins = 'availablePlugins',\n startupConfig = 'startupConfig',\n assistants = 'assistants',\n assistant = 'assistant',\n endpointsConfigOverride = 'endpointsConfigOverride',\n}\n\nexport enum MutationKeys {\n imageUpload = 'imageUpload',\n fileDelete = 'fileDelete',\n updatePreset = 'updatePreset',\n deletePreset = 'deletePreset',\n logoutUser = 'logoutUser',\n}\n","import axios from 'axios';\n\nexport function setAcceptLanguageHeader(value: string): void {\n axios.defaults.headers.common['Accept-Language'] = value;\n}\n\nexport function setTokenHeader(token: string) {\n axios.defaults.headers.common['Authorization'] = 'Bearer ' + token;\n}\n","export const user = () => '/api/user';\n\nexport const balance = () => '/api/balance';\n\nexport const userPlugins = () => '/api/user/plugins';\n\nexport const messages = (conversationId: string, messageId?: string) =>\n `/api/messages/${conversationId}${messageId ? `/${messageId}` : ''}`;\n\nconst keysEndpoint = '/api/keys';\n\nexport const keys = () => keysEndpoint;\n\nexport const userKeyQuery = (name: string) => `${keysEndpoint}?name=${name}`;\n\nexport const revokeUserKey = (name: string) => `${keysEndpoint}/${name}`;\n\nexport const revokeAllUserKeys = () => `${keysEndpoint}?all=true`;\n\nexport const abortRequest = (endpoint: string) => `/api/ask/${endpoint}/abort`;\n\nexport const conversations = (pageNumber: string) => `/api/convos?pageNumber=${pageNumber}`;\n\nexport const conversationById = (id: string) => `/api/convos/${id}`;\n\nexport const updateConversation = () => '/api/convos/update';\n\nexport const deleteConversation = () => '/api/convos/clear';\n\nexport const search = (q: string, pageNumber: string) =>\n `/api/search?q=${q}&pageNumber=${pageNumber}`;\n\nexport const searchEnabled = () => '/api/search/enable';\n\nexport const presets = () => '/api/presets';\n\nexport const deletePreset = () => '/api/presets/delete';\n\nexport const aiEndpoints = () => '/api/endpoints';\n\nexport const endpointsConfigOverride = () => '/api/endpoints/config/override';\n\nexport const models = () => '/api/models';\n\nexport const tokenizer = () => '/api/tokenizer';\n\nexport const login = () => '/api/auth/login';\n\nexport const logout = () => '/api/auth/logout';\n\nexport const register = () => '/api/auth/register';\n\nexport const loginFacebook = () => '/api/auth/facebook';\n\nexport const loginGoogle = () => '/api/auth/google';\n\nexport const refreshToken = (retry?: boolean) => `/api/auth/refresh${retry ? '?retry=true' : ''}`;\n\nexport const requestPasswordReset = () => '/api/auth/requestPasswordReset';\n\nexport const resetPassword = () => '/api/auth/resetPassword';\n\nexport const plugins = () => '/api/plugins';\n\nexport const config = () => '/api/config';\n\nexport const assistants = (id?: string) => `/api/assistants${id ? `/${id}` : ''}`;\n\nexport const files = () => '/api/files';\n\nexport const images = () => `${files()}/images`;\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport axios, { AxiosRequestConfig, AxiosError } from 'axios';\nimport { setTokenHeader } from './headers-helpers';\nimport * as endpoints from './api-endpoints';\n\nasync function _get<T>(url: string, options?: AxiosRequestConfig): Promise<T> {\n const response = await axios.get(url, { ...options });\n return response.data;\n}\n\nasync function _post(url: string, data?: any) {\n const response = await axios.post(url, JSON.stringify(data), {\n headers: { 'Content-Type': 'application/json' },\n });\n return response.data;\n}\n\nasync function _postMultiPart(url: string, formData: FormData, options?: AxiosRequestConfig) {\n const response = await axios.post(url, formData, {\n ...options,\n headers: { 'Content-Type': 'multipart/form-data' },\n });\n return response.data;\n}\n\nasync function _put(url: string, data?: any) {\n const response = await axios.put(url, JSON.stringify(data), {\n headers: { 'Content-Type': 'application/json' },\n });\n return response.data;\n}\n\nasync function _delete<T>(url: string): Promise<T> {\n const response = await axios.delete(url);\n return response.data;\n}\n\nasync function _deleteWithOptions<T>(url: string, options?: AxiosRequestConfig): Promise<T> {\n const response = await axios.delete(url, { ...options });\n return response.data;\n}\n\nasync function _patch(url: string, data?: any) {\n const response = await axios.patch(url, JSON.stringify(data), {\n headers: { 'Content-Type': 'application/json' },\n });\n return response.data;\n}\n\nlet isRefreshing = false;\nlet failedQueue: { resolve: (value?: any) => void; reject: (reason?: any) => void }[] = [];\n\nconst refreshToken = (retry?: boolean) => _post(endpoints.refreshToken(retry));\n\nconst processQueue = (error: AxiosError | null, token: string | null = null) => {\n failedQueue.forEach((prom) => {\n if (error) {\n prom.reject(error);\n } else {\n prom.resolve(token);\n }\n });\n failedQueue = [];\n};\n\naxios.interceptors.response.use(\n (response) => response,\n async (error) => {\n const originalRequest = error.config;\n\n if (error.response.status === 401 && !originalRequest._retry) {\n originalRequest._retry = true;\n\n if (isRefreshing) {\n try {\n const token = await new Promise((resolve, reject) => {\n failedQueue.push({ resolve, reject });\n });\n originalRequest.headers['Authorization'] = 'Bearer ' + token;\n return await axios(originalRequest);\n } catch (err) {\n return Promise.reject(err);\n }\n }\n\n isRefreshing = true;\n\n try {\n const { token } = await refreshToken(\n // Handle edge case where we get a blank screen if the initial 401 error is from a refresh token request\n originalRequest.url?.includes('api/auth/refresh') ? true : false,\n );\n\n if (token) {\n originalRequest.headers['Authorization'] = 'Bearer ' + token;\n setTokenHeader(token);\n window.dispatchEvent(new CustomEvent('tokenUpdated', { detail: token }));\n processQueue(null, token);\n return await axios(originalRequest);\n } else {\n window.location.href = '/login';\n }\n } catch (err) {\n processQueue(err as AxiosError, null);\n return Promise.reject(err);\n } finally {\n isRefreshing = false;\n }\n }\n\n return Promise.reject(error);\n },\n);\n\nexport default {\n get: _get,\n post: _post,\n postMultiPart: _postMultiPart,\n put: _put,\n delete: _delete,\n deleteWithOptions: _deleteWithOptions,\n patch: _patch,\n refreshToken,\n};\n","import * as f from './types/files';\nimport * as m from './types/mutations';\nimport * as a from './types/assistants';\nimport * as t from './types';\nimport * as s from './schemas';\nimport request from './request';\nimport * as endpoints from './api-endpoints';\n\nexport function getConversations(pageNumber: string): Promise<t.TGetConversationsResponse> {\n return request.get(endpoints.conversations(pageNumber));\n}\n\nexport function abortRequestWithMessage(\n endpoint: string,\n abortKey: string,\n message: string,\n): Promise<void> {\n return request.post(endpoints.abortRequest(endpoint), { arg: { abortKey, message } });\n}\n\nexport function deleteConversation(payload: t.TDeleteConversationRequest) {\n //todo: this should be a DELETE request\n return request.post(endpoints.deleteConversation(), { arg: payload });\n}\n\nexport function clearAllConversations(): Promise<unknown> {\n return request.post(endpoints.deleteConversation(), { arg: {} });\n}\n\nexport function revokeUserKey(name: string): Promise<unknown> {\n return request.delete(endpoints.revokeUserKey(name));\n}\n\nexport function revokeAllUserKeys(): Promise<unknown> {\n return request.delete(endpoints.revokeAllUserKeys());\n}\n\nexport function getMessagesByConvoId(conversationId: string): Promise<s.TMessage[]> {\n if (conversationId === 'new') {\n return Promise.resolve([]);\n }\n return request.get(endpoints.messages(conversationId));\n}\n\nexport function getConversationById(id: string): Promise<s.TConversation> {\n return request.get(endpoints.conversationById(id));\n}\n\nexport function updateConversation(\n payload: t.TUpdateConversationRequest,\n): Promise<t.TUpdateConversationResponse> {\n return request.post(endpoints.updateConversation(), { arg: payload });\n}\n\nexport function updateMessage(payload: t.TUpdateMessageRequest): Promise<unknown> {\n const { conversationId, messageId, text } = payload;\n if (!conversationId) {\n throw new Error('conversationId is required');\n }\n\n return request.put(endpoints.messages(conversationId, messageId), { text });\n}\n\nexport function updateUserKey(payload: t.TUpdateUserKeyRequest) {\n const { value } = payload;\n if (!value) {\n throw new Error('value is required');\n }\n\n return request.put(endpoints.keys(), payload);\n}\n\nexport function getPresets(): Promise<s.TPreset[]> {\n return request.get(endpoints.presets());\n}\n\nexport function createPreset(payload: s.TPreset): Promise<s.TPreset> {\n return request.post(endpoints.presets(), payload);\n}\n\nexport function updatePreset(payload: s.TPreset): Promise<s.TPreset> {\n return request.post(endpoints.presets(), payload);\n}\n\nexport function deletePreset(arg: s.TPreset | undefined): Promise<m.PresetDeleteResponse> {\n return request.post(endpoints.deletePreset(), arg);\n}\n\nexport function getSearchEnabled(): Promise<boolean> {\n return request.get(endpoints.searchEnabled());\n}\n\nexport function getUser(): Promise<t.TUser> {\n return request.get(endpoints.user());\n}\n\nexport function getUserBalance(): Promise<string> {\n return request.get(endpoints.balance());\n}\n\nexport const searchConversations = async (\n q: string,\n pageNumber: string,\n): Promise<t.TSearchResults> => {\n return request.get(endpoints.search(q, pageNumber));\n};\n\nexport const updateTokenCount = (text: string) => {\n return request.post(endpoints.tokenizer(), { arg: text });\n};\n\nexport const login = (payload: t.TLoginUser) => {\n return request.post(endpoints.login(), payload);\n};\n\nexport const logout = () => {\n return request.post(endpoints.logout());\n};\n\nexport const register = (payload: t.TRegisterUser) => {\n return request.post(endpoints.register(), payload);\n};\n\nexport const userKeyQuery = (name: string): Promise<t.TCheckUserKeyResponse> =>\n request.get(endpoints.userKeyQuery(name));\n\nexport const getLoginGoogle = () => {\n return request.get(endpoints.loginGoogle());\n};\n\nexport const requestPasswordReset = (\n payload: t.TRequestPasswordReset,\n): Promise<t.TRequestPasswordResetResponse> => {\n return request.post(endpoints.requestPasswordReset(), payload);\n};\n\nexport const resetPassword = (payload: t.TResetPassword) => {\n return request.post(endpoints.resetPassword(), payload);\n};\n\nexport const getAvailablePlugins = (): Promise<s.TPlugin[]> => {\n return request.get(endpoints.plugins());\n};\n\nexport const updateUserPlugins = (payload: t.TUpdateUserPlugins) => {\n return request.post(endpoints.userPlugins(), payload);\n};\n\n/* Config */\n\nexport const getStartupConfig = (): Promise<t.TStartupConfig> => {\n return request.get(endpoints.config());\n};\n\nexport const getAIEndpoints = (): Promise<t.TEndpointsConfig> => {\n return request.get(endpoints.aiEndpoints());\n};\n\nexport const getModels = async (): Promise<t.TModelsConfig> => {\n return request.get(endpoints.models());\n};\n\nexport const getEndpointsConfigOverride = (): Promise<unknown | boolean> => {\n return request.get(endpoints.endpointsConfigOverride());\n};\n\n/* Assistants */\n\nexport const createAssistant = (data: a.AssistantCreateParams): Promise<a.Assistant> => {\n return request.post(endpoints.assistants(), data);\n};\n\nexport const getAssistantById = (assistant_id: string): Promise<a.Assistant> => {\n return request.get(endpoints.assistants(assistant_id));\n};\n\nexport const updateAssistant = (\n assistant_id: string,\n data: a.AssistantUpdateParams,\n): Promise<a.Assistant> => {\n return request.patch(endpoints.assistants(assistant_id), data);\n};\n\nexport const deleteAssistant = (assistant_id: string): Promise<void> => {\n return request.delete(endpoints.assistants(assistant_id));\n};\n\nexport const listAssistants = (\n params?: a.AssistantListParams,\n): Promise<a.AssistantListResponse> => {\n return request.get(endpoints.assistants(), { params });\n};\n\n/* Files */\n\nexport const uploadImage = (data: FormData): Promise<f.FileUploadResponse> => {\n return request.postMultiPart(endpoints.images(), data);\n};\n\nexport const deleteFiles = async (files: f.BatchFile[]): Promise<f.DeleteFilesResponse> =>\n request.deleteWithOptions(endpoints.files(), {\n data: { files },\n });\n","/* eslint-disable */\n/**\n * Copyright (C) 2016 Maxime Petazzoni <maxime.petazzoni@bulix.org>.\n * All rights reserved.\n */\n\nimport request from './request';\nimport { setTokenHeader } from './headers-helpers';\n\nvar SSE = function (url, options) {\n if (!(this instanceof SSE)) {\n return new SSE(url, options);\n }\n\n this.INITIALIZING = -1;\n this.CONNECTING = 0;\n this.OPEN = 1;\n this.CLOSED = 2;\n\n this.url = url;\n\n options = options || {};\n this.headers = options.headers || {};\n this.payload = options.payload !== undefined ? options.payload : '';\n this.method = options.method || (this.payload && 'POST') || 'GET';\n this.withCredentials = !!options.withCredentials;\n\n this.FIELD_SEPARATOR = ':';\n this.listeners = {};\n\n this.xhr = null;\n this.readyState = this.INITIALIZING;\n this.progress = 0;\n this.chunk = '';\n\n this.addEventListener = function (type, listener) {\n if (this.listeners[type] === undefined) {\n this.listeners[type] = [];\n }\n\n if (this.listeners[type].indexOf(listener) === -1) {\n this.listeners[type].push(listener);\n }\n };\n\n this.removeEventListener = function (type, listener) {\n if (this.listeners[type] === undefined) {\n return;\n }\n\n var filtered = [];\n this.listeners[type].forEach(function (element) {\n if (element !== listener) {\n filtered.push(element);\n }\n });\n if (filtered.length === 0) {\n delete this.listeners[type];\n } else {\n this.listeners[type] = filtered;\n }\n };\n\n this.dispatchEvent = function (e) {\n if (!e) {\n return true;\n }\n\n e.source = this;\n\n var onHandler = 'on' + e.type;\n if (this.hasOwnProperty(onHandler)) {\n this[onHandler].call(this, e);\n if (e.defaultPrevented) {\n return false;\n }\n }\n\n if (this.listeners[e.type]) {\n return this.listeners[e.type].every(function (callback) {\n callback(e);\n return !e.defaultPrevented;\n });\n }\n\n return true;\n };\n\n this._setReadyState = function (state) {\n var event = new CustomEvent('readystatechange');\n event.readyState = state;\n this.readyState = state;\n this.dispatchEvent(event);\n };\n\n this._onStreamFailure = function (e) {\n var event = new CustomEvent('error');\n event.data = e.currentTarget.response;\n this.dispatchEvent(event);\n this.close();\n };\n\n this._onStreamAbort = function (e) {\n this.dispatchEvent(new CustomEvent('abort'));\n this.close();\n };\n\n this._onStreamProgress = async function (e) {\n if (!this.xhr) {\n return;\n }\n\n if (this.xhr.status === 401 && !this._retry) {\n this._retry = true;\n try {\n const refreshResponse = await request.refreshToken();\n this.headers = {\n 'Content-Type': 'application/json',\n Authorization: `Bearer ${refreshResponse.token}`,\n };\n setTokenHeader(refreshResponse.token);\n window.dispatchEvent(new CustomEvent('tokenUpdated', { detail: refreshResponse.token }));\n this.stream();\n } catch (err) {\n this._onStreamFailure(e);\n return;\n }\n } else if (this.xhr.status !== 200) {\n this._onStreamFailure(e);\n return;\n }\n\n if (this.readyState == this.CONNECTING) {\n this.dispatchEvent(new CustomEvent('open'));\n this._setReadyState(this.OPEN);\n }\n\n var data = this.xhr.responseText.substring(this.progress);\n this.progress += data.length;\n data.split(/(\\r\\n|\\r|\\n){2}/g).forEach(\n function (part) {\n if (part.trim().length === 0) {\n this.dispatchEvent(this._parseEventChunk(this.chunk.trim()));\n this.chunk = '';\n } else {\n this.chunk += part;\n }\n }.bind(this),\n );\n };\n\n this._onStreamLoaded = function (e) {\n this._onStreamProgress(e);\n\n // Parse the last chunk.\n this.dispatchEvent(this._parseEventChunk(this.chunk));\n this.chunk = '';\n };\n\n /**\n * Parse a received SSE event chunk into a constructed event object.\n */\n this._parseEventChunk = function (chunk) {\n if (!chunk || chunk.length === 0) {\n return null;\n }\n\n var e = { id: null, retry: null, data: '', event: 'message' };\n chunk.split(/\\n|\\r\\n|\\r/).forEach(\n function (line) {\n line = line.trimRight();\n var index = line.indexOf(this.FIELD_SEPARATOR);\n if (index <= 0) {\n // Line was either empty, or started with a separator and is a comment.\n // Either way, ignore.\n return;\n }\n\n var field = line.substring(0, index);\n if (!(field in e)) {\n return;\n }\n\n var value = line.substring(index + 1).trimLeft();\n if (field === 'data') {\n e[field] += value;\n } else {\n e[field] = value;\n }\n }.bind(this),\n );\n\n var event = new CustomEvent(e.event);\n event.data = e.data;\n event.id = e.id;\n return event;\n };\n\n this._checkStreamClosed = function () {\n if (!this.xhr) {\n return;\n }\n\n if (this.xhr.readyState === XMLHttpRequest.DONE) {\n this._setReadyState(this.CLOSED);\n }\n };\n\n this.stream = function () {\n this._setReadyState(this.CONNECTING);\n\n this.xhr = new XMLHttpRequest();\n this.xhr.addEventListener('progress', this._onStreamProgress.bind(this));\n this.xhr.addEventListener('load', this._onStreamLoaded.bind(this));\n this.xhr.addEventListener('readystatechange', this._checkStreamClosed.bind(this));\n this.xhr.addEventListener('error', this._onStreamFailure.bind(this));\n this.xhr.addEventListener('abort', this._onStreamAbort.bind(this));\n this.xhr.open(this.method, this.url);\n for (var header in this.headers) {\n this.xhr.setRequestHeader(header, this.headers[header]);\n }\n this.xhr.withCredentials = this.withCredentials;\n this.xhr.send(this.payload);\n };\n\n this.close = function () {\n if (this.readyState === this.CLOSED) {\n return;\n }\n\n this.xhr.abort();\n this.xhr = null;\n this._setReadyState(this.CLOSED);\n };\n};\n\nexport { SSE };\n// Export our SSE module for npm.js\n// if (typeof exports !== 'undefined') {\n// // exports.SSE = SSE;\n// module.exports = { SSE };\n// }\n","import { tConversationSchema } from './schemas';\nimport type { TSubmission, TMessage, TEndpointOption } from './types';\nimport { EModelEndpoint, EndpointURLs } from './types';\n\nexport default function createPayload(submission: TSubmission) {\n const { conversation, message, messages, endpointOption, isEdited, isContinued } = submission;\n const { conversationId } = tConversationSchema.parse(conversation);\n const { endpoint } = endpointOption as { endpoint: EModelEndpoint };\n\n let server = EndpointURLs[endpoint];\n\n if (isEdited && endpoint === EModelEndpoint.assistant) {\n server += '/modify';\n } else if (isEdited) {\n server = server.replace('/ask/', '/edit/');\n }\n\n type Payload = Partial<TMessage> &\n Partial<TEndpointOption> & {\n isContinued: boolean;\n conversationId: string | null;\n messages?: typeof messages;\n };\n\n const payload: Payload = {\n ...message,\n ...endpointOption,\n isContinued: !!(isEdited && isContinued),\n conversationId,\n };\n\n if (endpoint === EModelEndpoint.assistant) {\n payload.messages = messages;\n }\n\n return { server, payload };\n}\n"],"names":["EModelEndpoint","AuthKeys","defaultEndpoints","openAI","assistant","azureOpenAI","bingAI","chatGPTBrowser","gptPlugins","google","anthropic","defaultModels","_a","alternateName","_b","endpointSettings","_c","model","default","maxOutputTokens","min","max","step","maxGeminiPro","defaultGeminiPro","temperature","topP","topK","EndpointURLs","_d","modularEndpoints","Set","supportsFiles","_e","supportsBalanceCheck","_f","visionModels","eModelEndpointSchema","z","nativeEnum","tPluginAuthConfigSchema","object","authField","string","label","description","tPluginSchema","name","pluginKey","icon","authConfig","array","authenticated","boolean","optional","isButton","tExampleSchema","input","content","output","tAgentOptionsSchema","agent","skipCompletion","number","tMessageSchema","messageId","clientId","nullable","conversationId","parentMessageId","responseMessageId","overrideParentMessageId","bg","title","or","literal","sender","text","generation","isEdited","isCreatedByUser","error","createdAt","Date","toISOString","updatedAt","current","unfinished","submitting","searchResult","finish_reason","tConversationSchema","user","endpoint","suggestions","messages","tools","systemMessage","modelLabel","examples","chatGptLabel","userLabel","promptPrefix","context","top_p","frequency_penalty","presence_penalty","jailbreak","jailbreakConversationId","conversationSignature","invocationId","toneStyle","agentOptions","assistant_id","thread_id","tPresetSchema","omit","merge","presetId","defaultPreset","order","openAISchema","pick","transform","obj","__assign","_g","catch","googleSchema","isGeminiPro","toLowerCase","includes","maxOutputTokensMax","maxOutputTokensDefault","Math","_h","_j","_k","bingAISchema","anthropicSchema","chatGPTBrowserSchema","gptPluginsSchema","removeNullishValues","newObj","Object","keys","forEach","key","undefined","assistantSchema","endpointSchemas","getFirstDefinedValue","possibleValues","returnValue","possibleValues_1","_i","length","value","Tools","QueryKeys","MutationKeys","parseConvo","conversation","schema","Error","convo","parse","models","secondaryModels","getResponseSender","endpointOption","compactOpenAISchema","compactGoogleSchema","compactAnthropicSchema","compactChatGPTSchema","compactPluginsSchema","compactEndpointSchemas","parseCompactConvo","setAcceptLanguageHeader","axios","defaults","headers","common","setTokenHeader","token","concat","keysEndpoint","search","q","pageNumber","assistants","id","_post","url","data","post","JSON","stringify","sent","isRefreshing","failedQueue","refreshToken","retry","endpoints.refreshToken","processQueue","prom","reject","resolve","interceptors","response","use","__awaiter","originalRequest","config","status","_retry","Promise","push","err_1","window","dispatchEvent","CustomEvent","detail","location","href","err_2","request","get","options","postMultiPart","formData","put","delete","deleteWithOptions","patch","abortKey","message","endpoints.abortRequest","arg","endpoints.assistants","payload","files","endpoints.conversationById","endpoints.conversations","endpoints.messages","params","endpoints.revokeUserKey","endpoints.search","endpoints.userKeyQuery","SSE","this","INITIALIZING","CONNECTING","OPEN","CLOSED","method","withCredentials","FIELD_SEPARATOR","listeners","xhr","readyState","progress","chunk","addEventListener","type","listener","indexOf","removeEventListener","filtered","element","e","source","onHandler","hasOwnProperty","call","defaultPrevented","every","callback","_setReadyState","state","event","_onStreamFailure","currentTarget","close","_onStreamAbort","_onStreamProgress","async","refreshResponse","Authorization","stream","err","responseText","substring","split","part","trim","_parseEventChunk","bind","_onStreamLoaded","line","index","trimRight","field","trimLeft","_checkStreamClosed","XMLHttpRequest","DONE","header","open","setRequestHeader","send","abort","createPayload","submission","isContinued","server","replace"],"mappings":"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"}
package/dist/index.js CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";var e,t,n,o,r,i,a,s,l=require("zod"),p=require("axios"),u=function(){return u=Object.assign||function(e){for(var t,n=1,o=arguments.length;n<o;n++)for(var r in t=arguments[n])Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e},u.apply(this,arguments)};function d(e,t,n,o){return new(n||(n=Promise))((function(r,i){function a(e){try{l(o.next(e))}catch(e){i(e)}}function s(e){try{l(o.throw(e))}catch(e){i(e)}}function l(e){var t;e.done?r(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,s)}l((o=o.apply(e,t||[])).next())}))}function c(e,t){var n,o,r,i,a={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return i={next:s(0),throw:s(1),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]&&(a=0)),a;)try{if(n=1,o&&(r=2&s[0]?o.return:s[0]?o.throw||((r=o.return)&&r.call(o),0):o.next)&&!(r=r.call(o,s[1])).done)return r;switch(o=0,r&&(s=[2&s[0],r.value]),s[0]){case 0:case 1:r=s;break;case 4:return a.label++,{value:s[1],done:!1};case 5:a.label++,o=s[1],s=[0];continue;case 7:s=a.ops.pop(),a.trys.pop();continue;default:if(!(r=a.trys,(r=r.length>0&&r[r.length-1])||6!==s[0]&&2!==s[0])){a=0;continue}if(3===s[0]&&(!r||s[1]>r[0]&&s[1]<r[3])){a.label=s[1];break}if(6===s[0]&&a.label<r[1]){a.label=r[1],r=s;break}if(r&&a.label<r[2]){a.label=r[2],a.ops.push(s);break}r[2]&&a.ops.pop(),a.trys.pop();continue}s=t.call(e,a)}catch(e){s=[6,e],o=0}finally{n=r=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}([s,l])}}}"function"==typeof SuppressedError&&SuppressedError,exports.EModelEndpoint=void 0,(s=exports.EModelEndpoint||(exports.EModelEndpoint={})).azureOpenAI="azureOpenAI",s.openAI="openAI",s.bingAI="bingAI",s.chatGPTBrowser="chatGPTBrowser",s.google="google",s.gptPlugins="gptPlugins",s.anthropic="anthropic",s.assistant="assistant";var h,g=[exports.EModelEndpoint.openAI,exports.EModelEndpoint.assistant,exports.EModelEndpoint.azureOpenAI,exports.EModelEndpoint.bingAI,exports.EModelEndpoint.chatGPTBrowser,exports.EModelEndpoint.gptPlugins,exports.EModelEndpoint.google,exports.EModelEndpoint.anthropic],f=((e={})[exports.EModelEndpoint.google]=["gemini-pro","chat-bison","chat-bison-32k","codechat-bison","codechat-bison-32k","text-bison","text-bison-32k","text-unicorn","code-gecko","code-bison","code-bison-32k"],e[exports.EModelEndpoint.anthropic]=["claude-2.1","claude-2","claude-1.2","claude-1","claude-1-100k","claude-instant-1","claude-instant-1-100k"],e[exports.EModelEndpoint.openAI]=["gpt-3.5-turbo-16k-0613","gpt-3.5-turbo-16k","gpt-4-1106-preview","gpt-3.5-turbo","gpt-3.5-turbo-1106","gpt-4-vision-preview","gpt-4","gpt-3.5-turbo-instruct-0914","gpt-3.5-turbo-0613","gpt-3.5-turbo-0301","gpt-3.5-turbo-instruct","gpt-4-0613","text-davinci-003","gpt-4-0314"],e),m=((t={})[exports.EModelEndpoint.openAI]="OpenAI",t[exports.EModelEndpoint.assistant]="Assistants",t[exports.EModelEndpoint.azureOpenAI]="Azure OpenAI",t[exports.EModelEndpoint.bingAI]="Bing",t[exports.EModelEndpoint.chatGPTBrowser]="ChatGPT",t[exports.EModelEndpoint.gptPlugins]="Plugins",t[exports.EModelEndpoint.google]="Google",t[exports.EModelEndpoint.anthropic]="Anthropic",t);exports.AuthKeys=void 0,(h=exports.AuthKeys||(exports.AuthKeys={})).GOOGLE_SERVICE_KEY="GOOGLE_SERVICE_KEY",h.GOOGLE_API_KEY="GOOGLE_API_KEY";var v=((n={})[exports.EModelEndpoint.google]={model:{default:"chat-bison"},maxOutputTokens:{min:1,max:2048,step:1,default:1024,maxGeminiPro:8192,defaultGeminiPro:8192},temperature:{min:0,max:1,step:.01,default:.2},topP:{min:0,max:1,step:.01,default:.8},topK:{min:1,max:40,step:.01,default:40}},n),x=v[exports.EModelEndpoint.google],E=((o={})[exports.EModelEndpoint.azureOpenAI]="/api/ask/azureOpenAI",o[exports.EModelEndpoint.openAI]="/api/ask/openAI",o[exports.EModelEndpoint.bingAI]="/api/ask/bingAI",o[exports.EModelEndpoint.chatGPTBrowser]="/api/ask/chatGPTBrowser",o[exports.EModelEndpoint.google]="/api/ask/google",o[exports.EModelEndpoint.gptPlugins]="/api/ask/gptPlugins",o[exports.EModelEndpoint.anthropic]="/api/ask/anthropic",o[exports.EModelEndpoint.assistant]="/api/assistants/chat",o),b=new Set([exports.EModelEndpoint.gptPlugins,exports.EModelEndpoint.anthropic,exports.EModelEndpoint.google,exports.EModelEndpoint.openAI]),y=((r={})[exports.EModelEndpoint.openAI]=!0,r[exports.EModelEndpoint.assistant]=!0,r),P=((i={})[exports.EModelEndpoint.openAI]=!0,i[exports.EModelEndpoint.azureOpenAI]=!0,i[exports.EModelEndpoint.gptPlugins]=!0,i),z=l.z.nativeEnum(exports.EModelEndpoint),k=l.z.object({authField:l.z.string(),label:l.z.string(),description:l.z.string()}),I=l.z.object({name:l.z.string(),pluginKey:l.z.string(),description:l.z.string(),icon:l.z.string(),authConfig:l.z.array(k),authenticated:l.z.boolean().optional(),isButton:l.z.boolean().optional()}),O=l.z.object({input:l.z.object({content:l.z.string()}),output:l.z.object({content:l.z.string()})}),_=l.z.object({agent:l.z.string(),skipCompletion:l.z.boolean(),model:l.z.string(),temperature:l.z.number()}),M=l.z.object({messageId:l.z.string(),clientId:l.z.string().nullable().optional(),conversationId:l.z.string().nullable(),parentMessageId:l.z.string().nullable(),responseMessageId:l.z.string().nullable().optional(),overrideParentMessageId:l.z.string().nullable().optional(),bg:l.z.string().nullable().optional(),model:l.z.string().nullable().optional(),title:l.z.string().nullable().or(l.z.literal("New Chat")).default("New Chat"),sender:l.z.string(),text:l.z.string(),generation:l.z.string().nullable().optional(),isEdited:l.z.boolean().optional(),isCreatedByUser:l.z.boolean(),error:l.z.boolean(),createdAt:l.z.string().optional().default((function(){return(new Date).toISOString()})),updatedAt:l.z.string().optional().default((function(){return(new Date).toISOString()})),current:l.z.boolean().optional(),unfinished:l.z.boolean().optional(),submitting:l.z.boolean().optional(),searchResult:l.z.boolean().optional(),finish_reason:l.z.string().optional()}),S=l.z.object({conversationId:l.z.string().nullable(),title:l.z.string().nullable().or(l.z.literal("New Chat")).default("New Chat"),user:l.z.string().optional(),endpoint:z.nullable(),suggestions:l.z.array(l.z.string()).optional(),messages:l.z.array(l.z.string()).optional(),tools:l.z.array(I).optional(),createdAt:l.z.string(),updatedAt:l.z.string(),systemMessage:l.z.string().nullable().optional(),modelLabel:l.z.string().nullable().optional(),examples:l.z.array(O).optional(),chatGptLabel:l.z.string().nullable().optional(),userLabel:l.z.string().optional(),model:l.z.string().nullable().optional(),promptPrefix:l.z.string().nullable().optional(),temperature:l.z.number().optional(),topP:l.z.number().optional(),topK:l.z.number().optional(),context:l.z.string().nullable().optional(),top_p:l.z.number().optional(),frequency_penalty:l.z.number().optional(),presence_penalty:l.z.number().optional(),jailbreak:l.z.boolean().optional(),jailbreakConversationId:l.z.string().nullable().optional(),conversationSignature:l.z.string().nullable().optional(),parentMessageId:l.z.string().optional(),clientId:l.z.string().nullable().optional(),invocationId:l.z.number().nullable().optional(),toneStyle:l.z.string().nullable().optional(),maxOutputTokens:l.z.number().optional(),agentOptions:_.nullable().optional(),assistant_id:l.z.string().optional(),thread_id:l.z.string().optional()}),C=S.omit({conversationId:!0,createdAt:!0,updatedAt:!0,title:!0}).merge(l.z.object({conversationId:l.z.string().optional(),presetId:l.z.string().nullable().optional(),title:l.z.string().nullable().optional(),defaultPreset:l.z.boolean().optional(),order:l.z.number().optional()})),w=S.pick({model:!0,chatGptLabel:!0,promptPrefix:!0,temperature:!0,top_p:!0,presence_penalty:!0,frequency_penalty:!0}).transform((function(e){var t,n,o,r,i,a,s;return u(u({},e),{model:null!==(t=e.model)&&void 0!==t?t:"gpt-3.5-turbo",chatGptLabel:null!==(n=e.chatGptLabel)&&void 0!==n?n:null,promptPrefix:null!==(o=e.promptPrefix)&&void 0!==o?o:null,temperature:null!==(r=e.temperature)&&void 0!==r?r:1,top_p:null!==(i=e.top_p)&&void 0!==i?i:1,presence_penalty:null!==(a=e.presence_penalty)&&void 0!==a?a:0,frequency_penalty:null!==(s=e.frequency_penalty)&&void 0!==s?s:0})})).catch((function(){return{model:"gpt-3.5-turbo",chatGptLabel:null,promptPrefix:null,temperature:1,top_p:1,presence_penalty:0,frequency_penalty:0}})),A=S.pick({model:!0,modelLabel:!0,promptPrefix:!0,examples:!0,temperature:!0,maxOutputTokens:!0,topP:!0,topK:!0}).transform((function(e){var t,n,o,r,i,a,s,l,p,d,c=null===(n=null===(t=null==e?void 0:e.model)||void 0===t?void 0:t.toLowerCase())||void 0===n?void 0:n.includes("gemini-pro"),h=c?x.maxOutputTokens.maxGeminiPro:x.maxOutputTokens.max,g=c?x.maxOutputTokens.defaultGeminiPro:x.maxOutputTokens.default,f=null!==(o=e.maxOutputTokens)&&void 0!==o?o:g;return f=Math.min(f,h),u(u({},e),{model:null!==(r=e.model)&&void 0!==r?r:x.model.default,modelLabel:null!==(i=e.modelLabel)&&void 0!==i?i:null,promptPrefix:null!==(a=e.promptPrefix)&&void 0!==a?a:null,examples:null!==(s=e.examples)&&void 0!==s?s:[{input:{content:""},output:{content:""}}],temperature:null!==(l=e.temperature)&&void 0!==l?l:x.temperature.default,maxOutputTokens:f,topP:null!==(p=e.topP)&&void 0!==p?p:x.topP.default,topK:null!==(d=e.topK)&&void 0!==d?d:x.topK.default})})).catch((function(){return{model:x.model.default,modelLabel:null,promptPrefix:null,examples:[{input:{content:""},output:{content:""}}],temperature:x.temperature.default,maxOutputTokens:x.maxOutputTokens.default,topP:x.topP.default,topK:x.topK.default}})),T=S.pick({jailbreak:!0,systemMessage:!0,context:!0,toneStyle:!0,jailbreakConversationId:!0,conversationSignature:!0,clientId:!0,invocationId:!0}).transform((function(e){var t,n,o,r,i,a,s,l;return u(u({},e),{model:"",jailbreak:null!==(t=e.jailbreak)&&void 0!==t&&t,systemMessage:null!==(n=e.systemMessage)&&void 0!==n?n:null,context:null!==(o=e.context)&&void 0!==o?o:null,toneStyle:null!==(r=e.toneStyle)&&void 0!==r?r:"creative",jailbreakConversationId:null!==(i=e.jailbreakConversationId)&&void 0!==i?i:null,conversationSignature:null!==(a=e.conversationSignature)&&void 0!==a?a:null,clientId:null!==(s=e.clientId)&&void 0!==s?s:null,invocationId:null!==(l=e.invocationId)&&void 0!==l?l:1})})).catch((function(){return{model:"",jailbreak:!1,systemMessage:null,context:null,toneStyle:"creative",jailbreakConversationId:null,conversationSignature:null,clientId:null,invocationId:1}})),L=S.pick({model:!0,modelLabel:!0,promptPrefix:!0,temperature:!0,maxOutputTokens:!0,topP:!0,topK:!0}).transform((function(e){var t,n,o,r,i,a,s;return u(u({},e),{model:null!==(t=e.model)&&void 0!==t?t:"claude-1",modelLabel:null!==(n=e.modelLabel)&&void 0!==n?n:null,promptPrefix:null!==(o=e.promptPrefix)&&void 0!==o?o:null,temperature:null!==(r=e.temperature)&&void 0!==r?r:1,maxOutputTokens:null!==(i=e.maxOutputTokens)&&void 0!==i?i:4e3,topP:null!==(a=e.topP)&&void 0!==a?a:.7,topK:null!==(s=e.topK)&&void 0!==s?s:5})})).catch((function(){return{model:"claude-1",modelLabel:null,promptPrefix:null,temperature:1,maxOutputTokens:4e3,topP:.7,topK:5}})),G=S.pick({model:!0}).transform((function(e){var t;return u(u({},e),{model:null!==(t=e.model)&&void 0!==t?t:"text-davinci-002-render-sha"})})).catch((function(){return{model:"text-davinci-002-render-sha"}})),K=S.pick({model:!0,chatGptLabel:!0,promptPrefix:!0,temperature:!0,top_p:!0,presence_penalty:!0,frequency_penalty:!0,tools:!0,agentOptions:!0}).transform((function(e){var t,n,o,r,i,a,s,l,p;return u(u({},e),{model:null!==(t=e.model)&&void 0!==t?t:"gpt-3.5-turbo",chatGptLabel:null!==(n=e.chatGptLabel)&&void 0!==n?n: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!==(a=e.presence_penalty)&&void 0!==a?a:0,frequency_penalty:null!==(s=e.frequency_penalty)&&void 0!==s?s:0,tools:null!==(l=e.tools)&&void 0!==l?l:[],agentOptions:null!==(p=e.agentOptions)&&void 0!==p?p:{agent:"functions",skipCompletion:!0,model:"gpt-3.5-turbo",temperature:0}})})).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:"functions",skipCompletion:!0,model:"gpt-3.5-turbo",temperature:0}}}));function j(e){var t=u({},e);return Object.keys(t).forEach((function(e){void 0!==t[e]&&null!==t[e]&&""!==t[e]||delete t[e]})),t}var q=S.pick({model:!0,assistant_id:!0,thread_id:!0}).transform(j).catch((function(){return{}})),N=((a={})[exports.EModelEndpoint.openAI]=w,a[exports.EModelEndpoint.azureOpenAI]=w,a[exports.EModelEndpoint.google]=A,a[exports.EModelEndpoint.bingAI]=T,a[exports.EModelEndpoint.anthropic]=L,a[exports.EModelEndpoint.chatGPTBrowser]=G,a[exports.EModelEndpoint.gptPlugins]=K,a[exports.EModelEndpoint.assistant]=q,a);function B(e){for(var t,n=0,o=e;n<o.length;n++){var r=o[n];if(r){t=r;break}}return t}var R,U,D,F=S.pick({model:!0,chatGptLabel:!0,promptPrefix:!0,temperature:!0,top_p:!0,presence_penalty:!0,frequency_penalty:!0}).transform((function(e){var t=u({},e);return"gpt-3.5-turbo"===t.model&&delete t.model,1===t.temperature&&delete t.temperature,1===t.top_p&&delete t.top_p,0===t.presence_penalty&&delete t.presence_penalty,0===t.frequency_penalty&&delete t.frequency_penalty,j(t)})).catch((function(){return{}})),H=S.pick({model:!0,modelLabel:!0,promptPrefix:!0,examples:!0,temperature:!0,maxOutputTokens:!0,topP:!0,topK:!0}).transform((function(e){var t=u({},e);return t.model===x.model.default&&delete t.model,t.temperature===x.temperature.default&&delete t.temperature,t.maxOutputTokens===x.maxOutputTokens.default&&delete t.maxOutputTokens,t.topP===x.topP.default&&delete t.topP,t.topK===x.topK.default&&delete t.topK,j(t)})).catch((function(){return{}})),Q=S.pick({model:!0,modelLabel:!0,promptPrefix:!0,temperature:!0,maxOutputTokens:!0,topP:!0,topK:!0}).transform((function(e){var t=u({},e);return"claude-1"===t.model&&delete t.model,1===t.temperature&&delete t.temperature,4e3===t.maxOutputTokens&&delete t.maxOutputTokens,.7===t.topP&&delete t.topP,5===t.topK&&delete t.topK,j(t)})).catch((function(){return{}})),V=S.pick({model:!0}).transform((function(e){var t=u({},e);return"text-davinci-002-render-sha"===t.model&&delete t.model,j(t)})).catch((function(){return{}})),Y=S.pick({model:!0,chatGptLabel:!0,promptPrefix:!0,temperature:!0,top_p:!0,presence_penalty:!0,frequency_penalty:!0,tools:!0,agentOptions:!0}).transform((function(e){var t,n=u({},e);return"gpt-3.5-turbo"===n.model&&delete n.model,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&&"functions"===n.agentOptions.agent&&!0===n.agentOptions.skipCompletion&&"gpt-3.5-turbo"===n.agentOptions.model&&0===n.agentOptions.temperature&&delete n.agentOptions,j(n)})).catch((function(){return{}})),J={openAI:F,azureOpenAI:F,assistant:q,google:H,bingAI:T,anthropic:Q,chatGPTBrowser:V,gptPlugins:Y};function W(e){p.defaults.headers.common.Authorization="Bearer "+e}exports.Tools=void 0,(R=exports.Tools||(exports.Tools={})).code_interpreter="code_interpreter",R.retrieval="retrieval",R.function="function",exports.QueryKeys=void 0,(U=exports.QueryKeys||(exports.QueryKeys={})).messages="messages",U.allConversations="allConversations",U.conversation="conversation",U.searchEnabled="searchEnabled",U.user="user",U.name="name",U.models="models",U.balance="balance",U.endpoints="endpoints",U.presets="presets",U.searchResults="searchResults",U.tokenCount="tokenCount",U.availablePlugins="availablePlugins",U.startupConfig="startupConfig",U.assistants="assistants",U.assistant="assistant",U.endpointsConfigOverride="endpointsConfigOverride",exports.MutationKeys=void 0,(D=exports.MutationKeys||(exports.MutationKeys={})).imageUpload="imageUpload",D.fileDelete="fileDelete",D.updatePreset="updatePreset",D.deletePreset="deletePreset",D.logoutUser="logoutUser";var X=function(e,t){return"/api/messages/".concat(e).concat(t?"/".concat(t):"")},Z="/api/keys",$=function(e,t){return"/api/search?q=".concat(e,"&pageNumber=").concat(t)},ee=function(e){return"/api/assistants".concat(e?"/".concat(e):"")};function te(e,t){return d(this,void 0,void 0,(function(){return c(this,(function(n){switch(n.label){case 0:return[4,p.post(e,JSON.stringify(t),{headers:{"Content-Type":"application/json"}})];case 1:return[2,n.sent().data]}}))}))}var ne=!1,oe=[],re=function(e){return te(function(e){return"/api/auth/refresh".concat(e?"?retry=true":"")}(e))},ie=function(e,t){void 0===t&&(t=null),oe.forEach((function(n){e?n.reject(e):n.resolve(t)})),oe=[]};p.interceptors.response.use((function(e){return e}),(function(e){return d(void 0,void 0,void 0,(function(){var t,n,o,r,i;return c(this,(function(a){switch(a.label){case 0:if(t=e.config,401!==e.response.status||t._retry)return[3,13];if(t._retry=!0,!ne)return[3,5];a.label=1;case 1:return a.trys.push([1,4,,5]),[4,new Promise((function(e,t){oe.push({resolve:e,reject:t})}))];case 2:return o=a.sent(),t.headers.Authorization="Bearer "+o,[4,p(t)];case 3:return[2,a.sent()];case 4:return n=a.sent(),[2,Promise.reject(n)];case 5:ne=!0,a.label=6;case 6:return a.trys.push([6,11,12,13]),[4,re(!!(null===(i=t.url)||void 0===i?void 0:i.includes("api/auth/refresh")))];case 7:return(o=a.sent().token)?(t.headers.Authorization="Bearer "+o,W(o),window.dispatchEvent(new CustomEvent("tokenUpdated",{detail:o})),ie(null,o),[4,p(t)]):[3,9];case 8:return[2,a.sent()];case 9:window.location.href="/login",a.label=10;case 10:return[3,13];case 11:return r=a.sent(),ie(r,null),[2,Promise.reject(r)];case 12:return ne=!1,[7];case 13:return[2,Promise.reject(e)]}}))}))}));var ae={get:function(e,t){return d(this,void 0,void 0,(function(){return c(this,(function(n){switch(n.label){case 0:return[4,p.get(e,u({},t))];case 1:return[2,n.sent().data]}}))}))},post:te,postMultiPart:function(e,t,n){return d(this,void 0,void 0,(function(){return c(this,(function(o){switch(o.label){case 0:return[4,p.post(e,t,u(u({},n),{headers:{"Content-Type":"multipart/form-data"}}))];case 1:return[2,o.sent().data]}}))}))},put:function(e,t){return d(this,void 0,void 0,(function(){return c(this,(function(n){switch(n.label){case 0:return[4,p.put(e,JSON.stringify(t),{headers:{"Content-Type":"application/json"}})];case 1:return[2,n.sent().data]}}))}))},delete:function(e){return d(this,void 0,void 0,(function(){return c(this,(function(t){switch(t.label){case 0:return[4,p.delete(e)];case 1:return[2,t.sent().data]}}))}))},deleteWithOptions:function(e,t){return d(this,void 0,void 0,(function(){return c(this,(function(n){switch(n.label){case 0:return[4,p.delete(e,u({},t))];case 1:return[2,n.sent().data]}}))}))},patch:function(e,t){return d(this,void 0,void 0,(function(){return c(this,(function(n){switch(n.label){case 0:return[4,p.patch(e,JSON.stringify(t),{headers:{"Content-Type":"application/json"}})];case 1:return[2,n.sent().data]}}))}))},refreshToken:re};var se=Object.freeze({__proto__:null,abortRequestWithMessage:function(e,t,n){return ae.post(function(e){return"/api/ask/".concat(e,"/abort")}(e),{arg:{abortKey:t,message:n}})},clearAllConversations:function(){return ae.post("/api/convos/clear",{arg:{}})},createAssistant:function(e){return ae.post(ee(),e)},createPreset:function(e){return ae.post("/api/presets",e)},deleteAssistant:function(e){return ae.delete(ee(e))},deleteConversation:function(e){return ae.post("/api/convos/clear",{arg:e})},deleteFiles:function(e){return d(void 0,void 0,void 0,(function(){return c(this,(function(t){return[2,ae.deleteWithOptions("/api/files",{data:{files:e}})]}))}))},deletePreset:function(e){return ae.post("/api/presets/delete",e)},getAIEndpoints:function(){return ae.get("/api/endpoints")},getAssistantById:function(e){return ae.get(ee(e))},getAvailablePlugins:function(){return ae.get("/api/plugins")},getConversationById:function(e){return ae.get(function(e){return"/api/convos/".concat(e)}(e))},getConversations:function(e){return ae.get(function(e){return"/api/convos?pageNumber=".concat(e)}(e))},getEndpointsConfigOverride:function(){return ae.get("/api/endpoints/config/override")},getLoginGoogle:function(){return ae.get("/api/auth/google")},getMessagesByConvoId:function(e){return"new"===e?Promise.resolve([]):ae.get(X(e))},getModels:function(){return d(void 0,void 0,void 0,(function(){return c(this,(function(e){return[2,ae.get("/api/models")]}))}))},getPresets:function(){return ae.get("/api/presets")},getSearchEnabled:function(){return ae.get("/api/search/enable")},getStartupConfig:function(){return ae.get("/api/config")},getUser:function(){return ae.get("/api/user")},getUserBalance:function(){return ae.get("/api/balance")},listAssistants:function(e){return ae.get(ee(),{params:e})},login:function(e){return ae.post("/api/auth/login",e)},logout:function(){return ae.post("/api/auth/logout")},register:function(e){return ae.post("/api/auth/register",e)},requestPasswordReset:function(e){return ae.post("/api/auth/requestPasswordReset",e)},resetPassword:function(e){return ae.post("/api/auth/resetPassword",e)},revokeAllUserKeys:function(){return ae.delete("".concat(Z,"?all=true"))},revokeUserKey:function(e){return ae.delete(function(e){return"".concat(Z,"/").concat(e)}(e))},searchConversations:function(e,t){return d(void 0,void 0,void 0,(function(){return c(this,(function(n){return[2,ae.get($(e,t))]}))}))},updateAssistant:function(e,t){return ae.patch(ee(e),t)},updateConversation:function(e){return ae.post("/api/convos/update",{arg:e})},updateMessage:function(e){var t=e.conversationId,n=e.messageId,o=e.text;if(!t)throw new Error("conversationId is required");return ae.put(X(t,n),{text:o})},updatePreset:function(e){return ae.post("/api/presets",e)},updateTokenCount:function(e){return ae.post("/api/tokenizer",{arg:e})},updateUserKey:function(e){if(!e.value)throw new Error("value is required");return ae.put(Z,e)},updateUserPlugins:function(e){return ae.post("/api/user/plugins",e)},uploadImage:function(e){return ae.postMultiPart("".concat("/api/files","/images"),e)},userKeyQuery:function(e){return ae.get(function(e){return"".concat(Z,"?name=").concat(e)}(e))}}),le=function(e,t){if(!(this instanceof le))return new le(e,t);this.INITIALIZING=-1,this.CONNECTING=0,this.OPEN=1,this.CLOSED=2,this.url=e,t=t||{},this.headers=t.headers||{},this.payload=void 0!==t.payload?t.payload:"",this.method=t.method||this.payload&&"POST"||"GET",this.withCredentials=!!t.withCredentials,this.FIELD_SEPARATOR=":",this.listeners={},this.xhr=null,this.readyState=this.INITIALIZING,this.progress=0,this.chunk="",this.addEventListener=function(e,t){void 0===this.listeners[e]&&(this.listeners[e]=[]),-1===this.listeners[e].indexOf(t)&&this.listeners[e].push(t)},this.removeEventListener=function(e,t){if(void 0!==this.listeners[e]){var n=[];this.listeners[e].forEach((function(e){e!==t&&n.push(e)})),0===n.length?delete this.listeners[e]:this.listeners[e]=n}},this.dispatchEvent=function(e){if(!e)return!0;e.source=this;var t="on"+e.type;return(!this.hasOwnProperty(t)||(this[t].call(this,e),!e.defaultPrevented))&&(!this.listeners[e.type]||this.listeners[e.type].every((function(t){return t(e),!e.defaultPrevented})))},this._setReadyState=function(e){var t=new CustomEvent("readystatechange");t.readyState=e,this.readyState=e,this.dispatchEvent(t)},this._onStreamFailure=function(e){var t=new CustomEvent("error");t.data=e.currentTarget.response,this.dispatchEvent(t),this.close()},this._onStreamAbort=function(e){this.dispatchEvent(new CustomEvent("abort")),this.close()},this._onStreamProgress=async function(e){if(this.xhr){if(401!==this.xhr.status||this._retry){if(200!==this.xhr.status)return void this._onStreamFailure(e)}else{this._retry=!0;try{const e=await ae.refreshToken();this.headers={"Content-Type":"application/json",Authorization:`Bearer ${e.token}`},W(e.token),window.dispatchEvent(new CustomEvent("tokenUpdated",{detail:e.token})),this.stream()}catch(t){return void this._onStreamFailure(e)}}this.readyState==this.CONNECTING&&(this.dispatchEvent(new CustomEvent("open")),this._setReadyState(this.OPEN));var t=this.xhr.responseText.substring(this.progress);this.progress+=t.length,t.split(/(\r\n|\r|\n){2}/g).forEach(function(e){0===e.trim().length?(this.dispatchEvent(this._parseEventChunk(this.chunk.trim())),this.chunk=""):this.chunk+=e}.bind(this))}},this._onStreamLoaded=function(e){this._onStreamProgress(e),this.dispatchEvent(this._parseEventChunk(this.chunk)),this.chunk=""},this._parseEventChunk=function(e){if(!e||0===e.length)return null;var t={id:null,retry:null,data:"",event:"message"};e.split(/\n|\r\n|\r/).forEach(function(e){var n=(e=e.trimRight()).indexOf(this.FIELD_SEPARATOR);if(!(n<=0)){var o=e.substring(0,n);if(o in t){var r=e.substring(n+1).trimLeft();"data"===o?t[o]+=r:t[o]=r}}}.bind(this));var n=new CustomEvent(t.event);return n.data=t.data,n.id=t.id,n},this._checkStreamClosed=function(){this.xhr&&this.xhr.readyState===XMLHttpRequest.DONE&&this._setReadyState(this.CLOSED)},this.stream=function(){for(var e in this._setReadyState(this.CONNECTING),this.xhr=new XMLHttpRequest,this.xhr.addEventListener("progress",this._onStreamProgress.bind(this)),this.xhr.addEventListener("load",this._onStreamLoaded.bind(this)),this.xhr.addEventListener("readystatechange",this._checkStreamClosed.bind(this)),this.xhr.addEventListener("error",this._onStreamFailure.bind(this)),this.xhr.addEventListener("abort",this._onStreamAbort.bind(this)),this.xhr.open(this.method,this.url),this.headers)this.xhr.setRequestHeader(e,this.headers[e]);this.xhr.withCredentials=this.withCredentials,this.xhr.send(this.payload)},this.close=function(){this.readyState!==this.CLOSED&&(this.xhr.abort(),this.xhr=null,this._setReadyState(this.CLOSED))}};exports.EndpointURLs=E,exports.SSE=le,exports.alternateName=m,exports.anthropicSchema=L,exports.assistantSchema=q,exports.bingAISchema=T,exports.chatGPTBrowserSchema=G,exports.compactAnthropicSchema=Q,exports.compactChatGPTSchema=V,exports.compactGoogleSchema=H,exports.compactOpenAISchema=F,exports.compactPluginsSchema=Y,exports.createPayload=function(e){var t=e.conversation,n=e.message,o=e.messages,r=e.endpointOption,i=e.isEdited,a=e.isContinued,s=S.parse(t).conversationId,l=r.endpoint,p=E[l];i&&l===exports.EModelEndpoint.assistant?p+="/modify":i&&(p=p.replace("/ask/","/edit/"));var d=u(u(u({},n),r),{isContinued:!(!i||!a),conversationId:s});return l===exports.EModelEndpoint.assistant&&(d.messages=o),{server:p,payload:d}},exports.dataService=se,exports.defaultEndpoints=g,exports.defaultModels=f,exports.eModelEndpointSchema=z,exports.endpointSettings=v,exports.getFirstDefinedValue=B,exports.getResponseSender=function(e){var t,n=e.model,o=e.endpoint,r=e.chatGptLabel,i=e.modelLabel,a=e.jailbreak;return[exports.EModelEndpoint.openAI,exports.EModelEndpoint.azureOpenAI,exports.EModelEndpoint.gptPlugins,exports.EModelEndpoint.chatGPTBrowser].includes(o)?r||(n&&n.includes("gpt-3")?"GPT-3.5":n&&n.includes("gpt-4")?"GPT-4":null!==(t=m[o])&&void 0!==t?t:"ChatGPT"):o===exports.EModelEndpoint.bingAI?a?"Sydney":"BingAI":o===exports.EModelEndpoint.anthropic?null!=i?i:"Claude":o===exports.EModelEndpoint.google?i||(n&&n.includes("gemini")?"Gemini":n&&n.includes("code")?"Codey":"PaLM2"):""},exports.googleSchema=A,exports.gptPluginsSchema=K,exports.modularEndpoints=b,exports.openAISchema=w,exports.parseCompactConvo=function(e,t,n){var o;if(!e)throw new Error("undefined endpoint: ".concat(e));var r=J[e];if(!r)throw new Error("Unknown endpoint: ".concat(e));var i=r.parse(t),a=(null!=n?n:{}).models;return a&&i&&(i.model=null!==(o=B(a))&&void 0!==o?o:i.model),i},exports.parseConvo=function(e,t,n){var o,r,i=N[e];if(!i)throw new Error("Unknown endpoint: ".concat(e));var a=i.parse(t),s=null!=n?n:{},l=s.models,p=s.secondaryModels;return l&&a&&(a.model=null!==(o=B(l))&&void 0!==o?o:a.model),p&&a.agentOptions&&(a.agentOptions.model=null!==(r=B(p))&&void 0!==r?r:a.agentOptions.model),a},exports.removeNullishValues=j,exports.request=ae,exports.setAcceptLanguageHeader=function(e){p.defaults.headers.common["Accept-Language"]=e},exports.setTokenHeader=W,exports.supportsBalanceCheck=P,exports.supportsFiles=y,exports.tAgentOptionsSchema=_,exports.tConversationSchema=S,exports.tExampleSchema=O,exports.tMessageSchema=M,exports.tPluginAuthConfigSchema=k,exports.tPluginSchema=I,exports.tPresetSchema=C,exports.visionModels=["gpt-4-vision","llava-13b"];
1
+ "use strict";var e,t,n,o,r,i,a,s,l=require("zod"),p=require("axios"),u=function(){return u=Object.assign||function(e){for(var t,n=1,o=arguments.length;n<o;n++)for(var r in t=arguments[n])Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e},u.apply(this,arguments)};function d(e,t,n,o){return new(n||(n=Promise))((function(r,i){function a(e){try{l(o.next(e))}catch(e){i(e)}}function s(e){try{l(o.throw(e))}catch(e){i(e)}}function l(e){var t;e.done?r(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,s)}l((o=o.apply(e,t||[])).next())}))}function c(e,t){var n,o,r,i,a={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return i={next:s(0),throw:s(1),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]&&(a=0)),a;)try{if(n=1,o&&(r=2&s[0]?o.return:s[0]?o.throw||((r=o.return)&&r.call(o),0):o.next)&&!(r=r.call(o,s[1])).done)return r;switch(o=0,r&&(s=[2&s[0],r.value]),s[0]){case 0:case 1:r=s;break;case 4:return a.label++,{value:s[1],done:!1};case 5:a.label++,o=s[1],s=[0];continue;case 7:s=a.ops.pop(),a.trys.pop();continue;default:if(!(r=a.trys,(r=r.length>0&&r[r.length-1])||6!==s[0]&&2!==s[0])){a=0;continue}if(3===s[0]&&(!r||s[1]>r[0]&&s[1]<r[3])){a.label=s[1];break}if(6===s[0]&&a.label<r[1]){a.label=r[1],r=s;break}if(r&&a.label<r[2]){a.label=r[2],a.ops.push(s);break}r[2]&&a.ops.pop(),a.trys.pop();continue}s=t.call(e,a)}catch(e){s=[6,e],o=0}finally{n=r=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}([s,l])}}}"function"==typeof SuppressedError&&SuppressedError,exports.EModelEndpoint=void 0,(s=exports.EModelEndpoint||(exports.EModelEndpoint={})).azureOpenAI="azureOpenAI",s.openAI="openAI",s.bingAI="bingAI",s.chatGPTBrowser="chatGPTBrowser",s.google="google",s.gptPlugins="gptPlugins",s.anthropic="anthropic",s.assistant="assistant";var h,g=[exports.EModelEndpoint.openAI,exports.EModelEndpoint.assistant,exports.EModelEndpoint.azureOpenAI,exports.EModelEndpoint.bingAI,exports.EModelEndpoint.chatGPTBrowser,exports.EModelEndpoint.gptPlugins,exports.EModelEndpoint.google,exports.EModelEndpoint.anthropic],m=((e={})[exports.EModelEndpoint.google]=["gemini-pro","gemini-pro-vision","chat-bison","chat-bison-32k","codechat-bison","codechat-bison-32k","text-bison","text-bison-32k","text-unicorn","code-gecko","code-bison","code-bison-32k"],e[exports.EModelEndpoint.anthropic]=["claude-2.1","claude-2","claude-1.2","claude-1","claude-1-100k","claude-instant-1","claude-instant-1-100k"],e[exports.EModelEndpoint.openAI]=["gpt-3.5-turbo-16k-0613","gpt-3.5-turbo-16k","gpt-4-1106-preview","gpt-3.5-turbo","gpt-3.5-turbo-1106","gpt-4-vision-preview","gpt-4","gpt-3.5-turbo-instruct-0914","gpt-3.5-turbo-0613","gpt-3.5-turbo-0301","gpt-3.5-turbo-instruct","gpt-4-0613","text-davinci-003","gpt-4-0314"],e),f=((t={})[exports.EModelEndpoint.openAI]="OpenAI",t[exports.EModelEndpoint.assistant]="Assistants",t[exports.EModelEndpoint.azureOpenAI]="Azure OpenAI",t[exports.EModelEndpoint.bingAI]="Bing",t[exports.EModelEndpoint.chatGPTBrowser]="ChatGPT",t[exports.EModelEndpoint.gptPlugins]="Plugins",t[exports.EModelEndpoint.google]="Google",t[exports.EModelEndpoint.anthropic]="Anthropic",t);exports.AuthKeys=void 0,(h=exports.AuthKeys||(exports.AuthKeys={})).GOOGLE_SERVICE_KEY="GOOGLE_SERVICE_KEY",h.GOOGLE_API_KEY="GOOGLE_API_KEY";var v=((n={})[exports.EModelEndpoint.google]={model:{default:"chat-bison"},maxOutputTokens:{min:1,max:2048,step:1,default:1024,maxGeminiPro:8192,defaultGeminiPro:8192},temperature:{min:0,max:1,step:.01,default:.2},topP:{min:0,max:1,step:.01,default:.8},topK:{min:1,max:40,step:.01,default:40}},n),x=v[exports.EModelEndpoint.google],E=((o={})[exports.EModelEndpoint.azureOpenAI]="/api/ask/azureOpenAI",o[exports.EModelEndpoint.openAI]="/api/ask/openAI",o[exports.EModelEndpoint.bingAI]="/api/ask/bingAI",o[exports.EModelEndpoint.chatGPTBrowser]="/api/ask/chatGPTBrowser",o[exports.EModelEndpoint.google]="/api/ask/google",o[exports.EModelEndpoint.gptPlugins]="/api/ask/gptPlugins",o[exports.EModelEndpoint.anthropic]="/api/ask/anthropic",o[exports.EModelEndpoint.assistant]="/api/assistants/chat",o),b=new Set([exports.EModelEndpoint.gptPlugins,exports.EModelEndpoint.anthropic,exports.EModelEndpoint.google,exports.EModelEndpoint.openAI]),y=((r={})[exports.EModelEndpoint.openAI]=!0,r[exports.EModelEndpoint.google]=!0,r[exports.EModelEndpoint.assistant]=!0,r[exports.EModelEndpoint.azureOpenAI]=!0,r),P=((i={})[exports.EModelEndpoint.openAI]=!0,i[exports.EModelEndpoint.azureOpenAI]=!0,i[exports.EModelEndpoint.gptPlugins]=!0,i),z=l.z.nativeEnum(exports.EModelEndpoint),k=l.z.object({authField:l.z.string(),label:l.z.string(),description:l.z.string()}),I=l.z.object({name:l.z.string(),pluginKey:l.z.string(),description:l.z.string(),icon:l.z.string(),authConfig:l.z.array(k),authenticated:l.z.boolean().optional(),isButton:l.z.boolean().optional()}),O=l.z.object({input:l.z.object({content:l.z.string()}),output:l.z.object({content:l.z.string()})}),_=l.z.object({agent:l.z.string(),skipCompletion:l.z.boolean(),model:l.z.string(),temperature:l.z.number()}),M=l.z.object({messageId:l.z.string(),clientId:l.z.string().nullable().optional(),conversationId:l.z.string().nullable(),parentMessageId:l.z.string().nullable(),responseMessageId:l.z.string().nullable().optional(),overrideParentMessageId:l.z.string().nullable().optional(),bg:l.z.string().nullable().optional(),model:l.z.string().nullable().optional(),title:l.z.string().nullable().or(l.z.literal("New Chat")).default("New Chat"),sender:l.z.string(),text:l.z.string(),generation:l.z.string().nullable().optional(),isEdited:l.z.boolean().optional(),isCreatedByUser:l.z.boolean(),error:l.z.boolean(),createdAt:l.z.string().optional().default((function(){return(new Date).toISOString()})),updatedAt:l.z.string().optional().default((function(){return(new Date).toISOString()})),current:l.z.boolean().optional(),unfinished:l.z.boolean().optional(),submitting:l.z.boolean().optional(),searchResult:l.z.boolean().optional(),finish_reason:l.z.string().optional()}),S=l.z.object({conversationId:l.z.string().nullable(),title:l.z.string().nullable().or(l.z.literal("New Chat")).default("New Chat"),user:l.z.string().optional(),endpoint:z.nullable(),suggestions:l.z.array(l.z.string()).optional(),messages:l.z.array(l.z.string()).optional(),tools:l.z.array(I).optional(),createdAt:l.z.string(),updatedAt:l.z.string(),systemMessage:l.z.string().nullable().optional(),modelLabel:l.z.string().nullable().optional(),examples:l.z.array(O).optional(),chatGptLabel:l.z.string().nullable().optional(),userLabel:l.z.string().optional(),model:l.z.string().nullable().optional(),promptPrefix:l.z.string().nullable().optional(),temperature:l.z.number().optional(),topP:l.z.number().optional(),topK:l.z.number().optional(),context:l.z.string().nullable().optional(),top_p:l.z.number().optional(),frequency_penalty:l.z.number().optional(),presence_penalty:l.z.number().optional(),jailbreak:l.z.boolean().optional(),jailbreakConversationId:l.z.string().nullable().optional(),conversationSignature:l.z.string().nullable().optional(),parentMessageId:l.z.string().optional(),clientId:l.z.string().nullable().optional(),invocationId:l.z.number().nullable().optional(),toneStyle:l.z.string().nullable().optional(),maxOutputTokens:l.z.number().optional(),agentOptions:_.nullable().optional(),assistant_id:l.z.string().optional(),thread_id:l.z.string().optional()}),C=S.omit({conversationId:!0,createdAt:!0,updatedAt:!0,title:!0}).merge(l.z.object({conversationId:l.z.string().optional(),presetId:l.z.string().nullable().optional(),title:l.z.string().nullable().optional(),defaultPreset:l.z.boolean().optional(),order:l.z.number().optional()})),A=S.pick({model:!0,chatGptLabel:!0,promptPrefix:!0,temperature:!0,top_p:!0,presence_penalty:!0,frequency_penalty:!0}).transform((function(e){var t,n,o,r,i,a,s;return u(u({},e),{model:null!==(t=e.model)&&void 0!==t?t:"gpt-3.5-turbo",chatGptLabel:null!==(n=e.chatGptLabel)&&void 0!==n?n:null,promptPrefix:null!==(o=e.promptPrefix)&&void 0!==o?o:null,temperature:null!==(r=e.temperature)&&void 0!==r?r:1,top_p:null!==(i=e.top_p)&&void 0!==i?i:1,presence_penalty:null!==(a=e.presence_penalty)&&void 0!==a?a:0,frequency_penalty:null!==(s=e.frequency_penalty)&&void 0!==s?s:0})})).catch((function(){return{model:"gpt-3.5-turbo",chatGptLabel:null,promptPrefix:null,temperature:1,top_p:1,presence_penalty:0,frequency_penalty:0}})),w=S.pick({model:!0,modelLabel:!0,promptPrefix:!0,examples:!0,temperature:!0,maxOutputTokens:!0,topP:!0,topK:!0}).transform((function(e){var t,n,o,r,i,a,s,l,p,d,c=null===(n=null===(t=null==e?void 0:e.model)||void 0===t?void 0:t.toLowerCase())||void 0===n?void 0:n.includes("gemini-pro"),h=c?x.maxOutputTokens.maxGeminiPro:x.maxOutputTokens.max,g=c?x.maxOutputTokens.defaultGeminiPro:x.maxOutputTokens.default,m=null!==(o=e.maxOutputTokens)&&void 0!==o?o:g;return m=Math.min(m,h),u(u({},e),{model:null!==(r=e.model)&&void 0!==r?r:x.model.default,modelLabel:null!==(i=e.modelLabel)&&void 0!==i?i:null,promptPrefix:null!==(a=e.promptPrefix)&&void 0!==a?a:null,examples:null!==(s=e.examples)&&void 0!==s?s:[{input:{content:""},output:{content:""}}],temperature:null!==(l=e.temperature)&&void 0!==l?l:x.temperature.default,maxOutputTokens:m,topP:null!==(p=e.topP)&&void 0!==p?p:x.topP.default,topK:null!==(d=e.topK)&&void 0!==d?d:x.topK.default})})).catch((function(){return{model:x.model.default,modelLabel:null,promptPrefix:null,examples:[{input:{content:""},output:{content:""}}],temperature:x.temperature.default,maxOutputTokens:x.maxOutputTokens.default,topP:x.topP.default,topK:x.topK.default}})),T=S.pick({jailbreak:!0,systemMessage:!0,context:!0,toneStyle:!0,jailbreakConversationId:!0,conversationSignature:!0,clientId:!0,invocationId:!0}).transform((function(e){var t,n,o,r,i,a,s,l;return u(u({},e),{model:"",jailbreak:null!==(t=e.jailbreak)&&void 0!==t&&t,systemMessage:null!==(n=e.systemMessage)&&void 0!==n?n:null,context:null!==(o=e.context)&&void 0!==o?o:null,toneStyle:null!==(r=e.toneStyle)&&void 0!==r?r:"creative",jailbreakConversationId:null!==(i=e.jailbreakConversationId)&&void 0!==i?i:null,conversationSignature:null!==(a=e.conversationSignature)&&void 0!==a?a:null,clientId:null!==(s=e.clientId)&&void 0!==s?s:null,invocationId:null!==(l=e.invocationId)&&void 0!==l?l:1})})).catch((function(){return{model:"",jailbreak:!1,systemMessage:null,context:null,toneStyle:"creative",jailbreakConversationId:null,conversationSignature:null,clientId:null,invocationId:1}})),L=S.pick({model:!0,modelLabel:!0,promptPrefix:!0,temperature:!0,maxOutputTokens:!0,topP:!0,topK:!0}).transform((function(e){var t,n,o,r,i,a,s;return u(u({},e),{model:null!==(t=e.model)&&void 0!==t?t:"claude-1",modelLabel:null!==(n=e.modelLabel)&&void 0!==n?n:null,promptPrefix:null!==(o=e.promptPrefix)&&void 0!==o?o:null,temperature:null!==(r=e.temperature)&&void 0!==r?r:1,maxOutputTokens:null!==(i=e.maxOutputTokens)&&void 0!==i?i:4e3,topP:null!==(a=e.topP)&&void 0!==a?a:.7,topK:null!==(s=e.topK)&&void 0!==s?s:5})})).catch((function(){return{model:"claude-1",modelLabel:null,promptPrefix:null,temperature:1,maxOutputTokens:4e3,topP:.7,topK:5}})),G=S.pick({model:!0}).transform((function(e){var t;return u(u({},e),{model:null!==(t=e.model)&&void 0!==t?t:"text-davinci-002-render-sha"})})).catch((function(){return{model:"text-davinci-002-render-sha"}})),K=S.pick({model:!0,chatGptLabel:!0,promptPrefix:!0,temperature:!0,top_p:!0,presence_penalty:!0,frequency_penalty:!0,tools:!0,agentOptions:!0}).transform((function(e){var t,n,o,r,i,a,s,l,p;return u(u({},e),{model:null!==(t=e.model)&&void 0!==t?t:"gpt-3.5-turbo",chatGptLabel:null!==(n=e.chatGptLabel)&&void 0!==n?n: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!==(a=e.presence_penalty)&&void 0!==a?a:0,frequency_penalty:null!==(s=e.frequency_penalty)&&void 0!==s?s:0,tools:null!==(l=e.tools)&&void 0!==l?l:[],agentOptions:null!==(p=e.agentOptions)&&void 0!==p?p:{agent:"functions",skipCompletion:!0,model:"gpt-3.5-turbo",temperature:0}})})).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:"functions",skipCompletion:!0,model:"gpt-3.5-turbo",temperature:0}}}));function j(e){var t=u({},e);return Object.keys(t).forEach((function(e){void 0!==t[e]&&null!==t[e]&&""!==t[e]||delete t[e]})),t}var q=S.pick({model:!0,assistant_id:!0,thread_id:!0}).transform(j).catch((function(){return{}})),N=((a={})[exports.EModelEndpoint.openAI]=A,a[exports.EModelEndpoint.azureOpenAI]=A,a[exports.EModelEndpoint.google]=w,a[exports.EModelEndpoint.bingAI]=T,a[exports.EModelEndpoint.anthropic]=L,a[exports.EModelEndpoint.chatGPTBrowser]=G,a[exports.EModelEndpoint.gptPlugins]=K,a[exports.EModelEndpoint.assistant]=q,a);function B(e){for(var t,n=0,o=e;n<o.length;n++){var r=o[n];if(r){t=r;break}}return t}var R,U,D,F=S.pick({model:!0,chatGptLabel:!0,promptPrefix:!0,temperature:!0,top_p:!0,presence_penalty:!0,frequency_penalty:!0}).transform((function(e){var t=u({},e);return"gpt-3.5-turbo"===t.model&&delete t.model,1===t.temperature&&delete t.temperature,1===t.top_p&&delete t.top_p,0===t.presence_penalty&&delete t.presence_penalty,0===t.frequency_penalty&&delete t.frequency_penalty,j(t)})).catch((function(){return{}})),H=S.pick({model:!0,modelLabel:!0,promptPrefix:!0,examples:!0,temperature:!0,maxOutputTokens:!0,topP:!0,topK:!0}).transform((function(e){var t=u({},e);return t.model===x.model.default&&delete t.model,t.temperature===x.temperature.default&&delete t.temperature,t.maxOutputTokens===x.maxOutputTokens.default&&delete t.maxOutputTokens,t.topP===x.topP.default&&delete t.topP,t.topK===x.topK.default&&delete t.topK,j(t)})).catch((function(){return{}})),Q=S.pick({model:!0,modelLabel:!0,promptPrefix:!0,temperature:!0,maxOutputTokens:!0,topP:!0,topK:!0}).transform((function(e){var t=u({},e);return"claude-1"===t.model&&delete t.model,1===t.temperature&&delete t.temperature,4e3===t.maxOutputTokens&&delete t.maxOutputTokens,.7===t.topP&&delete t.topP,5===t.topK&&delete t.topK,j(t)})).catch((function(){return{}})),V=S.pick({model:!0}).transform((function(e){var t=u({},e);return"text-davinci-002-render-sha"===t.model&&delete t.model,j(t)})).catch((function(){return{}})),Y=S.pick({model:!0,chatGptLabel:!0,promptPrefix:!0,temperature:!0,top_p:!0,presence_penalty:!0,frequency_penalty:!0,tools:!0,agentOptions:!0}).transform((function(e){var t,n=u({},e);return"gpt-3.5-turbo"===n.model&&delete n.model,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&&"functions"===n.agentOptions.agent&&!0===n.agentOptions.skipCompletion&&"gpt-3.5-turbo"===n.agentOptions.model&&0===n.agentOptions.temperature&&delete n.agentOptions,j(n)})).catch((function(){return{}})),J={openAI:F,azureOpenAI:F,assistant:q,google:H,bingAI:T,anthropic:Q,chatGPTBrowser:V,gptPlugins:Y};function W(e){p.defaults.headers.common.Authorization="Bearer "+e}exports.Tools=void 0,(R=exports.Tools||(exports.Tools={})).code_interpreter="code_interpreter",R.retrieval="retrieval",R.function="function",exports.QueryKeys=void 0,(U=exports.QueryKeys||(exports.QueryKeys={})).messages="messages",U.allConversations="allConversations",U.conversation="conversation",U.searchEnabled="searchEnabled",U.user="user",U.name="name",U.models="models",U.balance="balance",U.endpoints="endpoints",U.presets="presets",U.searchResults="searchResults",U.tokenCount="tokenCount",U.availablePlugins="availablePlugins",U.startupConfig="startupConfig",U.assistants="assistants",U.assistant="assistant",U.endpointsConfigOverride="endpointsConfigOverride",exports.MutationKeys=void 0,(D=exports.MutationKeys||(exports.MutationKeys={})).imageUpload="imageUpload",D.fileDelete="fileDelete",D.updatePreset="updatePreset",D.deletePreset="deletePreset",D.logoutUser="logoutUser";var X=function(e,t){return"/api/messages/".concat(e).concat(t?"/".concat(t):"")},Z="/api/keys",$=function(e,t){return"/api/search?q=".concat(e,"&pageNumber=").concat(t)},ee=function(e){return"/api/assistants".concat(e?"/".concat(e):"")};function te(e,t){return d(this,void 0,void 0,(function(){return c(this,(function(n){switch(n.label){case 0:return[4,p.post(e,JSON.stringify(t),{headers:{"Content-Type":"application/json"}})];case 1:return[2,n.sent().data]}}))}))}var ne=!1,oe=[],re=function(e){return te(function(e){return"/api/auth/refresh".concat(e?"?retry=true":"")}(e))},ie=function(e,t){void 0===t&&(t=null),oe.forEach((function(n){e?n.reject(e):n.resolve(t)})),oe=[]};p.interceptors.response.use((function(e){return e}),(function(e){return d(void 0,void 0,void 0,(function(){var t,n,o,r,i;return c(this,(function(a){switch(a.label){case 0:if(t=e.config,401!==e.response.status||t._retry)return[3,13];if(t._retry=!0,!ne)return[3,5];a.label=1;case 1:return a.trys.push([1,4,,5]),[4,new Promise((function(e,t){oe.push({resolve:e,reject:t})}))];case 2:return o=a.sent(),t.headers.Authorization="Bearer "+o,[4,p(t)];case 3:return[2,a.sent()];case 4:return n=a.sent(),[2,Promise.reject(n)];case 5:ne=!0,a.label=6;case 6:return a.trys.push([6,11,12,13]),[4,re(!!(null===(i=t.url)||void 0===i?void 0:i.includes("api/auth/refresh")))];case 7:return(o=a.sent().token)?(t.headers.Authorization="Bearer "+o,W(o),window.dispatchEvent(new CustomEvent("tokenUpdated",{detail:o})),ie(null,o),[4,p(t)]):[3,9];case 8:return[2,a.sent()];case 9:window.location.href="/login",a.label=10;case 10:return[3,13];case 11:return r=a.sent(),ie(r,null),[2,Promise.reject(r)];case 12:return ne=!1,[7];case 13:return[2,Promise.reject(e)]}}))}))}));var ae={get:function(e,t){return d(this,void 0,void 0,(function(){return c(this,(function(n){switch(n.label){case 0:return[4,p.get(e,u({},t))];case 1:return[2,n.sent().data]}}))}))},post:te,postMultiPart:function(e,t,n){return d(this,void 0,void 0,(function(){return c(this,(function(o){switch(o.label){case 0:return[4,p.post(e,t,u(u({},n),{headers:{"Content-Type":"multipart/form-data"}}))];case 1:return[2,o.sent().data]}}))}))},put:function(e,t){return d(this,void 0,void 0,(function(){return c(this,(function(n){switch(n.label){case 0:return[4,p.put(e,JSON.stringify(t),{headers:{"Content-Type":"application/json"}})];case 1:return[2,n.sent().data]}}))}))},delete:function(e){return d(this,void 0,void 0,(function(){return c(this,(function(t){switch(t.label){case 0:return[4,p.delete(e)];case 1:return[2,t.sent().data]}}))}))},deleteWithOptions:function(e,t){return d(this,void 0,void 0,(function(){return c(this,(function(n){switch(n.label){case 0:return[4,p.delete(e,u({},t))];case 1:return[2,n.sent().data]}}))}))},patch:function(e,t){return d(this,void 0,void 0,(function(){return c(this,(function(n){switch(n.label){case 0:return[4,p.patch(e,JSON.stringify(t),{headers:{"Content-Type":"application/json"}})];case 1:return[2,n.sent().data]}}))}))},refreshToken:re};var se=Object.freeze({__proto__:null,abortRequestWithMessage:function(e,t,n){return ae.post(function(e){return"/api/ask/".concat(e,"/abort")}(e),{arg:{abortKey:t,message:n}})},clearAllConversations:function(){return ae.post("/api/convos/clear",{arg:{}})},createAssistant:function(e){return ae.post(ee(),e)},createPreset:function(e){return ae.post("/api/presets",e)},deleteAssistant:function(e){return ae.delete(ee(e))},deleteConversation:function(e){return ae.post("/api/convos/clear",{arg:e})},deleteFiles:function(e){return d(void 0,void 0,void 0,(function(){return c(this,(function(t){return[2,ae.deleteWithOptions("/api/files",{data:{files:e}})]}))}))},deletePreset:function(e){return ae.post("/api/presets/delete",e)},getAIEndpoints:function(){return ae.get("/api/endpoints")},getAssistantById:function(e){return ae.get(ee(e))},getAvailablePlugins:function(){return ae.get("/api/plugins")},getConversationById:function(e){return ae.get(function(e){return"/api/convos/".concat(e)}(e))},getConversations:function(e){return ae.get(function(e){return"/api/convos?pageNumber=".concat(e)}(e))},getEndpointsConfigOverride:function(){return ae.get("/api/endpoints/config/override")},getLoginGoogle:function(){return ae.get("/api/auth/google")},getMessagesByConvoId:function(e){return"new"===e?Promise.resolve([]):ae.get(X(e))},getModels:function(){return d(void 0,void 0,void 0,(function(){return c(this,(function(e){return[2,ae.get("/api/models")]}))}))},getPresets:function(){return ae.get("/api/presets")},getSearchEnabled:function(){return ae.get("/api/search/enable")},getStartupConfig:function(){return ae.get("/api/config")},getUser:function(){return ae.get("/api/user")},getUserBalance:function(){return ae.get("/api/balance")},listAssistants:function(e){return ae.get(ee(),{params:e})},login:function(e){return ae.post("/api/auth/login",e)},logout:function(){return ae.post("/api/auth/logout")},register:function(e){return ae.post("/api/auth/register",e)},requestPasswordReset:function(e){return ae.post("/api/auth/requestPasswordReset",e)},resetPassword:function(e){return ae.post("/api/auth/resetPassword",e)},revokeAllUserKeys:function(){return ae.delete("".concat(Z,"?all=true"))},revokeUserKey:function(e){return ae.delete(function(e){return"".concat(Z,"/").concat(e)}(e))},searchConversations:function(e,t){return d(void 0,void 0,void 0,(function(){return c(this,(function(n){return[2,ae.get($(e,t))]}))}))},updateAssistant:function(e,t){return ae.patch(ee(e),t)},updateConversation:function(e){return ae.post("/api/convos/update",{arg:e})},updateMessage:function(e){var t=e.conversationId,n=e.messageId,o=e.text;if(!t)throw new Error("conversationId is required");return ae.put(X(t,n),{text:o})},updatePreset:function(e){return ae.post("/api/presets",e)},updateTokenCount:function(e){return ae.post("/api/tokenizer",{arg:e})},updateUserKey:function(e){if(!e.value)throw new Error("value is required");return ae.put(Z,e)},updateUserPlugins:function(e){return ae.post("/api/user/plugins",e)},uploadImage:function(e){return ae.postMultiPart("".concat("/api/files","/images"),e)},userKeyQuery:function(e){return ae.get(function(e){return"".concat(Z,"?name=").concat(e)}(e))}}),le=function(e,t){if(!(this instanceof le))return new le(e,t);this.INITIALIZING=-1,this.CONNECTING=0,this.OPEN=1,this.CLOSED=2,this.url=e,t=t||{},this.headers=t.headers||{},this.payload=void 0!==t.payload?t.payload:"",this.method=t.method||this.payload&&"POST"||"GET",this.withCredentials=!!t.withCredentials,this.FIELD_SEPARATOR=":",this.listeners={},this.xhr=null,this.readyState=this.INITIALIZING,this.progress=0,this.chunk="",this.addEventListener=function(e,t){void 0===this.listeners[e]&&(this.listeners[e]=[]),-1===this.listeners[e].indexOf(t)&&this.listeners[e].push(t)},this.removeEventListener=function(e,t){if(void 0!==this.listeners[e]){var n=[];this.listeners[e].forEach((function(e){e!==t&&n.push(e)})),0===n.length?delete this.listeners[e]:this.listeners[e]=n}},this.dispatchEvent=function(e){if(!e)return!0;e.source=this;var t="on"+e.type;return(!this.hasOwnProperty(t)||(this[t].call(this,e),!e.defaultPrevented))&&(!this.listeners[e.type]||this.listeners[e.type].every((function(t){return t(e),!e.defaultPrevented})))},this._setReadyState=function(e){var t=new CustomEvent("readystatechange");t.readyState=e,this.readyState=e,this.dispatchEvent(t)},this._onStreamFailure=function(e){var t=new CustomEvent("error");t.data=e.currentTarget.response,this.dispatchEvent(t),this.close()},this._onStreamAbort=function(e){this.dispatchEvent(new CustomEvent("abort")),this.close()},this._onStreamProgress=async function(e){if(this.xhr){if(401!==this.xhr.status||this._retry){if(200!==this.xhr.status)return void this._onStreamFailure(e)}else{this._retry=!0;try{const e=await ae.refreshToken();this.headers={"Content-Type":"application/json",Authorization:`Bearer ${e.token}`},W(e.token),window.dispatchEvent(new CustomEvent("tokenUpdated",{detail:e.token})),this.stream()}catch(t){return void this._onStreamFailure(e)}}this.readyState==this.CONNECTING&&(this.dispatchEvent(new CustomEvent("open")),this._setReadyState(this.OPEN));var t=this.xhr.responseText.substring(this.progress);this.progress+=t.length,t.split(/(\r\n|\r|\n){2}/g).forEach(function(e){0===e.trim().length?(this.dispatchEvent(this._parseEventChunk(this.chunk.trim())),this.chunk=""):this.chunk+=e}.bind(this))}},this._onStreamLoaded=function(e){this._onStreamProgress(e),this.dispatchEvent(this._parseEventChunk(this.chunk)),this.chunk=""},this._parseEventChunk=function(e){if(!e||0===e.length)return null;var t={id:null,retry:null,data:"",event:"message"};e.split(/\n|\r\n|\r/).forEach(function(e){var n=(e=e.trimRight()).indexOf(this.FIELD_SEPARATOR);if(!(n<=0)){var o=e.substring(0,n);if(o in t){var r=e.substring(n+1).trimLeft();"data"===o?t[o]+=r:t[o]=r}}}.bind(this));var n=new CustomEvent(t.event);return n.data=t.data,n.id=t.id,n},this._checkStreamClosed=function(){this.xhr&&this.xhr.readyState===XMLHttpRequest.DONE&&this._setReadyState(this.CLOSED)},this.stream=function(){for(var e in this._setReadyState(this.CONNECTING),this.xhr=new XMLHttpRequest,this.xhr.addEventListener("progress",this._onStreamProgress.bind(this)),this.xhr.addEventListener("load",this._onStreamLoaded.bind(this)),this.xhr.addEventListener("readystatechange",this._checkStreamClosed.bind(this)),this.xhr.addEventListener("error",this._onStreamFailure.bind(this)),this.xhr.addEventListener("abort",this._onStreamAbort.bind(this)),this.xhr.open(this.method,this.url),this.headers)this.xhr.setRequestHeader(e,this.headers[e]);this.xhr.withCredentials=this.withCredentials,this.xhr.send(this.payload)},this.close=function(){this.readyState!==this.CLOSED&&(this.xhr.abort(),this.xhr=null,this._setReadyState(this.CLOSED))}};exports.EndpointURLs=E,exports.SSE=le,exports.alternateName=f,exports.anthropicSchema=L,exports.assistantSchema=q,exports.bingAISchema=T,exports.chatGPTBrowserSchema=G,exports.compactAnthropicSchema=Q,exports.compactChatGPTSchema=V,exports.compactGoogleSchema=H,exports.compactOpenAISchema=F,exports.compactPluginsSchema=Y,exports.createPayload=function(e){var t=e.conversation,n=e.message,o=e.messages,r=e.endpointOption,i=e.isEdited,a=e.isContinued,s=S.parse(t).conversationId,l=r.endpoint,p=E[l];i&&l===exports.EModelEndpoint.assistant?p+="/modify":i&&(p=p.replace("/ask/","/edit/"));var d=u(u(u({},n),r),{isContinued:!(!i||!a),conversationId:s});return l===exports.EModelEndpoint.assistant&&(d.messages=o),{server:p,payload:d}},exports.dataService=se,exports.defaultEndpoints=g,exports.defaultModels=m,exports.eModelEndpointSchema=z,exports.endpointSettings=v,exports.getFirstDefinedValue=B,exports.getResponseSender=function(e){var t,n=e.model,o=e.endpoint,r=e.chatGptLabel,i=e.modelLabel,a=e.jailbreak;return[exports.EModelEndpoint.openAI,exports.EModelEndpoint.azureOpenAI,exports.EModelEndpoint.gptPlugins,exports.EModelEndpoint.chatGPTBrowser].includes(o)?r||(n&&n.includes("gpt-3")?"GPT-3.5":n&&n.includes("gpt-4")?"GPT-4":null!==(t=f[o])&&void 0!==t?t:"ChatGPT"):o===exports.EModelEndpoint.bingAI?a?"Sydney":"BingAI":o===exports.EModelEndpoint.anthropic?null!=i?i:"Claude":o===exports.EModelEndpoint.google?i||(n&&n.includes("gemini")?"Gemini":n&&n.includes("code")?"Codey":"PaLM2"):""},exports.googleSchema=w,exports.gptPluginsSchema=K,exports.modularEndpoints=b,exports.openAISchema=A,exports.parseCompactConvo=function(e,t,n){var o;if(!e)throw new Error("undefined endpoint: ".concat(e));var r=J[e];if(!r)throw new Error("Unknown endpoint: ".concat(e));var i=r.parse(t),a=(null!=n?n:{}).models;return a&&i&&(i.model=null!==(o=B(a))&&void 0!==o?o:i.model),i},exports.parseConvo=function(e,t,n){var o,r,i=N[e];if(!i)throw new Error("Unknown endpoint: ".concat(e));var a=i.parse(t),s=null!=n?n:{},l=s.models,p=s.secondaryModels;return l&&a&&(a.model=null!==(o=B(l))&&void 0!==o?o:a.model),p&&a.agentOptions&&(a.agentOptions.model=null!==(r=B(p))&&void 0!==r?r:a.agentOptions.model),a},exports.removeNullishValues=j,exports.request=ae,exports.setAcceptLanguageHeader=function(e){p.defaults.headers.common["Accept-Language"]=e},exports.setTokenHeader=W,exports.supportsBalanceCheck=P,exports.supportsFiles=y,exports.tAgentOptionsSchema=_,exports.tConversationSchema=S,exports.tExampleSchema=O,exports.tMessageSchema=M,exports.tPluginAuthConfigSchema=k,exports.tPluginSchema=I,exports.tPresetSchema=C,exports.visionModels=["gpt-4-vision","llava-13b","gemini-pro-vision"];
2
2
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../src/schemas.ts","../src/types/assistants.ts","../src/keys.ts","../src/headers-helpers.ts","../src/api-endpoints.ts","../src/request.ts","../src/data-service.ts","../src/sse.js","../src/createPayload.ts"],"sourcesContent":["import { z } from 'zod';\n\nexport enum EModelEndpoint {\n azureOpenAI = 'azureOpenAI',\n openAI = 'openAI',\n bingAI = 'bingAI',\n chatGPTBrowser = 'chatGPTBrowser',\n google = 'google',\n gptPlugins = 'gptPlugins',\n anthropic = 'anthropic',\n assistant = 'assistant',\n}\n\nexport const defaultEndpoints: EModelEndpoint[] = [\n EModelEndpoint.openAI,\n EModelEndpoint.assistant,\n EModelEndpoint.azureOpenAI,\n EModelEndpoint.bingAI,\n EModelEndpoint.chatGPTBrowser,\n EModelEndpoint.gptPlugins,\n EModelEndpoint.google,\n EModelEndpoint.anthropic,\n];\n\nexport const defaultModels = {\n [EModelEndpoint.google]: [\n 'gemini-pro',\n 'chat-bison',\n 'chat-bison-32k',\n 'codechat-bison',\n 'codechat-bison-32k',\n 'text-bison',\n 'text-bison-32k',\n 'text-unicorn',\n 'code-gecko',\n 'code-bison',\n 'code-bison-32k',\n ],\n [EModelEndpoint.anthropic]: [\n 'claude-2.1',\n 'claude-2',\n 'claude-1.2',\n 'claude-1',\n 'claude-1-100k',\n 'claude-instant-1',\n 'claude-instant-1-100k',\n ],\n [EModelEndpoint.openAI]: [\n 'gpt-3.5-turbo-16k-0613',\n 'gpt-3.5-turbo-16k',\n 'gpt-4-1106-preview',\n 'gpt-3.5-turbo',\n 'gpt-3.5-turbo-1106',\n 'gpt-4-vision-preview',\n 'gpt-4',\n 'gpt-3.5-turbo-instruct-0914',\n 'gpt-3.5-turbo-0613',\n 'gpt-3.5-turbo-0301',\n 'gpt-3.5-turbo-instruct',\n 'gpt-4-0613',\n 'text-davinci-003',\n 'gpt-4-0314',\n ],\n};\n\nexport const alternateName = {\n [EModelEndpoint.openAI]: 'OpenAI',\n [EModelEndpoint.assistant]: 'Assistants',\n [EModelEndpoint.azureOpenAI]: 'Azure OpenAI',\n [EModelEndpoint.bingAI]: 'Bing',\n [EModelEndpoint.chatGPTBrowser]: 'ChatGPT',\n [EModelEndpoint.gptPlugins]: 'Plugins',\n [EModelEndpoint.google]: 'Google',\n [EModelEndpoint.anthropic]: 'Anthropic',\n};\n\nexport enum AuthKeys {\n GOOGLE_SERVICE_KEY = 'GOOGLE_SERVICE_KEY',\n GOOGLE_API_KEY = 'GOOGLE_API_KEY',\n}\n\nexport const endpointSettings = {\n [EModelEndpoint.google]: {\n model: {\n default: 'chat-bison',\n },\n maxOutputTokens: {\n min: 1,\n max: 2048,\n step: 1,\n default: 1024,\n maxGeminiPro: 8192,\n defaultGeminiPro: 8192,\n },\n temperature: {\n min: 0,\n max: 1,\n step: 0.01,\n default: 0.2,\n },\n topP: {\n min: 0,\n max: 1,\n step: 0.01,\n default: 0.8,\n },\n topK: {\n min: 1,\n max: 40,\n step: 0.01,\n default: 40,\n },\n },\n};\n\nconst google = endpointSettings[EModelEndpoint.google];\n\nexport const EndpointURLs: { [key in EModelEndpoint]: string } = {\n [EModelEndpoint.azureOpenAI]: '/api/ask/azureOpenAI',\n [EModelEndpoint.openAI]: '/api/ask/openAI',\n [EModelEndpoint.bingAI]: '/api/ask/bingAI',\n [EModelEndpoint.chatGPTBrowser]: '/api/ask/chatGPTBrowser',\n [EModelEndpoint.google]: '/api/ask/google',\n [EModelEndpoint.gptPlugins]: '/api/ask/gptPlugins',\n [EModelEndpoint.anthropic]: '/api/ask/anthropic',\n [EModelEndpoint.assistant]: '/api/assistants/chat',\n};\n\nexport const modularEndpoints = new Set<EModelEndpoint | string>([\n EModelEndpoint.gptPlugins,\n EModelEndpoint.anthropic,\n EModelEndpoint.google,\n EModelEndpoint.openAI,\n]);\n\nexport const supportsFiles = {\n [EModelEndpoint.openAI]: true,\n [EModelEndpoint.assistant]: true,\n};\n\nexport const supportsBalanceCheck = {\n [EModelEndpoint.openAI]: true,\n [EModelEndpoint.azureOpenAI]: true,\n [EModelEndpoint.gptPlugins]: true,\n};\n\nexport const visionModels = ['gpt-4-vision', 'llava-13b'];\n\nexport const eModelEndpointSchema = z.nativeEnum(EModelEndpoint);\n\nexport const tPluginAuthConfigSchema = z.object({\n authField: z.string(),\n label: z.string(),\n description: z.string(),\n});\n\nexport type TPluginAuthConfig = z.infer<typeof tPluginAuthConfigSchema>;\n\nexport const tPluginSchema = z.object({\n name: z.string(),\n pluginKey: z.string(),\n description: z.string(),\n icon: z.string(),\n authConfig: z.array(tPluginAuthConfigSchema),\n authenticated: z.boolean().optional(),\n isButton: z.boolean().optional(),\n});\n\nexport type TPlugin = z.infer<typeof tPluginSchema>;\n\nexport type TInput = {\n inputStr: string;\n};\n\nexport type TResPlugin = {\n plugin: string;\n input: string;\n thought: string;\n loading?: boolean;\n outputs?: string;\n latest?: string;\n inputs?: TInput[];\n};\n\nexport const tExampleSchema = z.object({\n input: z.object({\n content: z.string(),\n }),\n output: z.object({\n content: z.string(),\n }),\n});\n\nexport type TExample = z.infer<typeof tExampleSchema>;\n\nexport const tAgentOptionsSchema = z.object({\n agent: z.string(),\n skipCompletion: z.boolean(),\n model: z.string(),\n temperature: z.number(),\n});\n\nexport const tMessageSchema = z.object({\n messageId: z.string(),\n clientId: z.string().nullable().optional(),\n conversationId: z.string().nullable(),\n parentMessageId: z.string().nullable(),\n responseMessageId: z.string().nullable().optional(),\n overrideParentMessageId: z.string().nullable().optional(),\n bg: z.string().nullable().optional(),\n model: z.string().nullable().optional(),\n title: z.string().nullable().or(z.literal('New Chat')).default('New Chat'),\n sender: z.string(),\n text: z.string(),\n generation: z.string().nullable().optional(),\n isEdited: z.boolean().optional(),\n isCreatedByUser: z.boolean(),\n error: z.boolean(),\n createdAt: z\n .string()\n .optional()\n .default(() => new Date().toISOString()),\n updatedAt: z\n .string()\n .optional()\n .default(() => new Date().toISOString()),\n current: z.boolean().optional(),\n unfinished: z.boolean().optional(),\n submitting: z.boolean().optional(),\n searchResult: z.boolean().optional(),\n finish_reason: z.string().optional(),\n});\n\nexport type TMessage = z.input<typeof tMessageSchema> & {\n children?: TMessage[];\n plugin?: TResPlugin | null;\n plugins?: TResPlugin[];\n files?: {\n type: string;\n file_id: string;\n filename?: string;\n preview?: string;\n filepath?: string;\n height?: number;\n width?: number;\n }[];\n};\n\nexport const tConversationSchema = z.object({\n conversationId: z.string().nullable(),\n title: z.string().nullable().or(z.literal('New Chat')).default('New Chat'),\n user: z.string().optional(),\n endpoint: eModelEndpointSchema.nullable(),\n suggestions: z.array(z.string()).optional(),\n messages: z.array(z.string()).optional(),\n tools: z.array(tPluginSchema).optional(),\n createdAt: z.string(),\n updatedAt: z.string(),\n systemMessage: z.string().nullable().optional(),\n modelLabel: z.string().nullable().optional(),\n examples: z.array(tExampleSchema).optional(),\n chatGptLabel: z.string().nullable().optional(),\n userLabel: z.string().optional(),\n model: z.string().nullable().optional(),\n promptPrefix: z.string().nullable().optional(),\n temperature: z.number().optional(),\n topP: z.number().optional(),\n topK: z.number().optional(),\n context: z.string().nullable().optional(),\n top_p: z.number().optional(),\n frequency_penalty: z.number().optional(),\n presence_penalty: z.number().optional(),\n jailbreak: z.boolean().optional(),\n jailbreakConversationId: z.string().nullable().optional(),\n conversationSignature: z.string().nullable().optional(),\n parentMessageId: z.string().optional(),\n clientId: z.string().nullable().optional(),\n invocationId: z.number().nullable().optional(),\n toneStyle: z.string().nullable().optional(),\n maxOutputTokens: z.number().optional(),\n agentOptions: tAgentOptionsSchema.nullable().optional(),\n /* assistant */\n assistant_id: z.string().optional(),\n thread_id: z.string().optional(),\n});\n\nexport type TConversation = z.infer<typeof tConversationSchema>;\n\nexport const tPresetSchema = tConversationSchema\n .omit({\n conversationId: true,\n createdAt: true,\n updatedAt: true,\n title: true,\n })\n .merge(\n z.object({\n conversationId: z.string().optional(),\n presetId: z.string().nullable().optional(),\n title: z.string().nullable().optional(),\n defaultPreset: z.boolean().optional(),\n order: z.number().optional(),\n }),\n );\n\nexport type TPreset = z.infer<typeof tPresetSchema>;\n\nexport const openAISchema = tConversationSchema\n .pick({\n model: true,\n chatGptLabel: true,\n promptPrefix: true,\n temperature: true,\n top_p: true,\n presence_penalty: true,\n frequency_penalty: true,\n })\n .transform((obj) => ({\n ...obj,\n model: obj.model ?? 'gpt-3.5-turbo',\n chatGptLabel: obj.chatGptLabel ?? null,\n promptPrefix: obj.promptPrefix ?? null,\n temperature: obj.temperature ?? 1,\n top_p: obj.top_p ?? 1,\n presence_penalty: obj.presence_penalty ?? 0,\n frequency_penalty: obj.frequency_penalty ?? 0,\n }))\n .catch(() => ({\n model: 'gpt-3.5-turbo',\n chatGptLabel: null,\n promptPrefix: null,\n temperature: 1,\n top_p: 1,\n presence_penalty: 0,\n frequency_penalty: 0,\n }));\n\nexport const googleSchema = tConversationSchema\n .pick({\n model: true,\n modelLabel: true,\n promptPrefix: true,\n examples: true,\n temperature: true,\n maxOutputTokens: true,\n topP: true,\n topK: true,\n })\n .transform((obj) => {\n const isGeminiPro = obj?.model?.toLowerCase()?.includes('gemini-pro');\n\n const maxOutputTokensMax = isGeminiPro\n ? google.maxOutputTokens.maxGeminiPro\n : google.maxOutputTokens.max;\n const maxOutputTokensDefault = isGeminiPro\n ? google.maxOutputTokens.defaultGeminiPro\n : google.maxOutputTokens.default;\n\n let maxOutputTokens = obj.maxOutputTokens ?? maxOutputTokensDefault;\n maxOutputTokens = Math.min(maxOutputTokens, maxOutputTokensMax);\n\n return {\n ...obj,\n model: obj.model ?? google.model.default,\n modelLabel: obj.modelLabel ?? null,\n promptPrefix: obj.promptPrefix ?? null,\n examples: obj.examples ?? [{ input: { content: '' }, output: { content: '' } }],\n temperature: obj.temperature ?? google.temperature.default,\n maxOutputTokens,\n topP: obj.topP ?? google.topP.default,\n topK: obj.topK ?? google.topK.default,\n };\n })\n .catch(() => ({\n model: google.model.default,\n modelLabel: null,\n promptPrefix: null,\n examples: [{ input: { content: '' }, output: { content: '' } }],\n temperature: google.temperature.default,\n maxOutputTokens: google.maxOutputTokens.default,\n topP: google.topP.default,\n topK: google.topK.default,\n }));\n\nexport const bingAISchema = tConversationSchema\n .pick({\n jailbreak: true,\n systemMessage: true,\n context: true,\n toneStyle: true,\n jailbreakConversationId: true,\n conversationSignature: true,\n clientId: true,\n invocationId: true,\n })\n .transform((obj) => ({\n ...obj,\n model: '',\n jailbreak: obj.jailbreak ?? false,\n systemMessage: obj.systemMessage ?? null,\n context: obj.context ?? null,\n toneStyle: obj.toneStyle ?? 'creative',\n jailbreakConversationId: obj.jailbreakConversationId ?? null,\n conversationSignature: obj.conversationSignature ?? null,\n clientId: obj.clientId ?? null,\n invocationId: obj.invocationId ?? 1,\n }))\n .catch(() => ({\n model: '',\n jailbreak: false,\n systemMessage: null,\n context: null,\n toneStyle: 'creative',\n jailbreakConversationId: null,\n conversationSignature: null,\n clientId: null,\n invocationId: 1,\n }));\n\nexport const anthropicSchema = tConversationSchema\n .pick({\n model: true,\n modelLabel: true,\n promptPrefix: true,\n temperature: true,\n maxOutputTokens: true,\n topP: true,\n topK: true,\n })\n .transform((obj) => ({\n ...obj,\n model: obj.model ?? 'claude-1',\n modelLabel: obj.modelLabel ?? null,\n promptPrefix: obj.promptPrefix ?? null,\n temperature: obj.temperature ?? 1,\n maxOutputTokens: obj.maxOutputTokens ?? 4000,\n topP: obj.topP ?? 0.7,\n topK: obj.topK ?? 5,\n }))\n .catch(() => ({\n model: 'claude-1',\n modelLabel: null,\n promptPrefix: null,\n temperature: 1,\n maxOutputTokens: 4000,\n topP: 0.7,\n topK: 5,\n }));\n\nexport const chatGPTBrowserSchema = tConversationSchema\n .pick({\n model: true,\n })\n .transform((obj) => ({\n ...obj,\n model: obj.model ?? 'text-davinci-002-render-sha',\n }))\n .catch(() => ({\n model: 'text-davinci-002-render-sha',\n }));\n\nexport const gptPluginsSchema = tConversationSchema\n .pick({\n model: true,\n chatGptLabel: true,\n promptPrefix: true,\n temperature: true,\n top_p: true,\n presence_penalty: true,\n frequency_penalty: true,\n tools: true,\n agentOptions: true,\n })\n .transform((obj) => ({\n ...obj,\n model: obj.model ?? 'gpt-3.5-turbo',\n chatGptLabel: obj.chatGptLabel ?? null,\n promptPrefix: obj.promptPrefix ?? null,\n temperature: obj.temperature ?? 0.8,\n top_p: obj.top_p ?? 1,\n presence_penalty: obj.presence_penalty ?? 0,\n frequency_penalty: obj.frequency_penalty ?? 0,\n tools: obj.tools ?? [],\n agentOptions: obj.agentOptions ?? {\n agent: 'functions',\n skipCompletion: true,\n model: 'gpt-3.5-turbo',\n temperature: 0,\n },\n }))\n .catch(() => ({\n model: 'gpt-3.5-turbo',\n chatGptLabel: null,\n promptPrefix: null,\n temperature: 0.8,\n top_p: 1,\n presence_penalty: 0,\n frequency_penalty: 0,\n tools: [],\n agentOptions: {\n agent: 'functions',\n skipCompletion: true,\n model: 'gpt-3.5-turbo',\n temperature: 0,\n },\n }));\n\nexport function removeNullishValues<T extends object>(obj: T): T {\n const newObj: Partial<T> = { ...obj };\n\n (Object.keys(newObj) as Array<keyof T>).forEach((key) => {\n if (newObj[key] === undefined || newObj[key] === null || newObj[key] === '') {\n delete newObj[key];\n }\n });\n\n return newObj as T;\n}\n\nexport const assistantSchema = tConversationSchema\n .pick({\n model: true,\n assistant_id: true,\n thread_id: true,\n })\n .transform(removeNullishValues)\n .catch(() => ({}));\n\ntype EndpointSchema =\n | typeof openAISchema\n | typeof googleSchema\n | typeof bingAISchema\n | typeof anthropicSchema\n | typeof chatGPTBrowserSchema\n | typeof gptPluginsSchema\n | typeof assistantSchema;\n\nconst endpointSchemas: Record<EModelEndpoint, EndpointSchema> = {\n [EModelEndpoint.openAI]: openAISchema,\n [EModelEndpoint.azureOpenAI]: openAISchema,\n [EModelEndpoint.google]: googleSchema,\n [EModelEndpoint.bingAI]: bingAISchema,\n [EModelEndpoint.anthropic]: anthropicSchema,\n [EModelEndpoint.chatGPTBrowser]: chatGPTBrowserSchema,\n [EModelEndpoint.gptPlugins]: gptPluginsSchema,\n [EModelEndpoint.assistant]: assistantSchema,\n};\n\nexport function getFirstDefinedValue(possibleValues: string[]) {\n let returnValue;\n for (const value of possibleValues) {\n if (value) {\n returnValue = value;\n break;\n }\n }\n return returnValue;\n}\n\nexport type TPossibleValues = {\n models: string[];\n secondaryModels?: string[];\n};\n\nexport const parseConvo = (\n endpoint: EModelEndpoint,\n conversation: Partial<TConversation | TPreset>,\n possibleValues?: TPossibleValues,\n) => {\n const schema = endpointSchemas[endpoint];\n\n if (!schema) {\n throw new Error(`Unknown endpoint: ${endpoint}`);\n }\n\n const convo = schema.parse(conversation) as TConversation;\n const { models, secondaryModels } = possibleValues ?? {};\n\n if (models && convo) {\n convo.model = getFirstDefinedValue(models) ?? convo.model;\n }\n\n if (secondaryModels && convo.agentOptions) {\n convo.agentOptions.model = getFirstDefinedValue(secondaryModels) ?? convo.agentOptions.model;\n }\n\n return convo;\n};\n\nexport type TEndpointOption = {\n endpoint: EModelEndpoint;\n model?: string | null;\n promptPrefix?: string;\n temperature?: number;\n chatGptLabel?: string | null;\n modelLabel?: string | null;\n jailbreak?: boolean;\n key?: string | null;\n};\n\nexport const getResponseSender = (endpointOption: TEndpointOption): string => {\n const { model, endpoint, chatGptLabel, modelLabel, jailbreak } = endpointOption;\n\n if (\n [\n EModelEndpoint.openAI,\n EModelEndpoint.azureOpenAI,\n EModelEndpoint.gptPlugins,\n EModelEndpoint.chatGPTBrowser,\n ].includes(endpoint)\n ) {\n if (chatGptLabel) {\n return chatGptLabel;\n } else if (model && model.includes('gpt-3')) {\n return 'GPT-3.5';\n } else if (model && model.includes('gpt-4')) {\n return 'GPT-4';\n }\n return alternateName[endpoint] ?? 'ChatGPT';\n }\n\n if (endpoint === EModelEndpoint.bingAI) {\n return jailbreak ? 'Sydney' : 'BingAI';\n }\n\n if (endpoint === EModelEndpoint.anthropic) {\n return modelLabel ?? 'Claude';\n }\n\n if (endpoint === EModelEndpoint.google) {\n if (modelLabel) {\n return modelLabel;\n } else if (model && model.includes('gemini')) {\n return 'Gemini';\n } else if (model && model.includes('code')) {\n return 'Codey';\n }\n\n return 'PaLM2';\n }\n\n return '';\n};\n\nexport const compactOpenAISchema = tConversationSchema\n .pick({\n model: true,\n chatGptLabel: true,\n promptPrefix: true,\n temperature: true,\n top_p: true,\n presence_penalty: true,\n frequency_penalty: true,\n })\n .transform((obj: Partial<TConversation>) => {\n const newObj: Partial<TConversation> = { ...obj };\n if (newObj.model === 'gpt-3.5-turbo') {\n delete newObj.model;\n }\n if (newObj.temperature === 1) {\n delete newObj.temperature;\n }\n if (newObj.top_p === 1) {\n delete newObj.top_p;\n }\n if (newObj.presence_penalty === 0) {\n delete newObj.presence_penalty;\n }\n if (newObj.frequency_penalty === 0) {\n delete newObj.frequency_penalty;\n }\n\n return removeNullishValues(newObj);\n })\n .catch(() => ({}));\n\nexport const compactGoogleSchema = tConversationSchema\n .pick({\n model: true,\n modelLabel: true,\n promptPrefix: true,\n examples: true,\n temperature: true,\n maxOutputTokens: true,\n topP: true,\n topK: true,\n })\n .transform((obj) => {\n const newObj: Partial<TConversation> = { ...obj };\n if (newObj.model === google.model.default) {\n delete newObj.model;\n }\n if (newObj.temperature === google.temperature.default) {\n delete newObj.temperature;\n }\n if (newObj.maxOutputTokens === google.maxOutputTokens.default) {\n delete newObj.maxOutputTokens;\n }\n if (newObj.topP === google.topP.default) {\n delete newObj.topP;\n }\n if (newObj.topK === google.topK.default) {\n delete newObj.topK;\n }\n\n return removeNullishValues(newObj);\n })\n .catch(() => ({}));\n\nexport const compactAnthropicSchema = tConversationSchema\n .pick({\n model: true,\n modelLabel: true,\n promptPrefix: true,\n temperature: true,\n maxOutputTokens: true,\n topP: true,\n topK: true,\n })\n .transform((obj) => {\n const newObj: Partial<TConversation> = { ...obj };\n if (newObj.model === 'claude-1') {\n delete newObj.model;\n }\n if (newObj.temperature === 1) {\n delete newObj.temperature;\n }\n if (newObj.maxOutputTokens === 4000) {\n delete newObj.maxOutputTokens;\n }\n if (newObj.topP === 0.7) {\n delete newObj.topP;\n }\n if (newObj.topK === 5) {\n delete newObj.topK;\n }\n\n return removeNullishValues(newObj);\n })\n .catch(() => ({}));\n\nexport const compactChatGPTSchema = tConversationSchema\n .pick({\n model: true,\n })\n .transform((obj) => {\n const newObj: Partial<TConversation> = { ...obj };\n // model: obj.model ?? 'text-davinci-002-render-sha',\n if (newObj.model === 'text-davinci-002-render-sha') {\n delete newObj.model;\n }\n\n return removeNullishValues(newObj);\n })\n .catch(() => ({}));\n\nexport const compactPluginsSchema = tConversationSchema\n .pick({\n model: true,\n chatGptLabel: true,\n promptPrefix: true,\n temperature: true,\n top_p: true,\n presence_penalty: true,\n frequency_penalty: true,\n tools: true,\n agentOptions: true,\n })\n .transform((obj) => {\n const newObj: Partial<TConversation> = { ...obj };\n if (newObj.model === 'gpt-3.5-turbo') {\n delete newObj.model;\n }\n if (newObj.chatGptLabel === null) {\n delete newObj.chatGptLabel;\n }\n if (newObj.promptPrefix === null) {\n delete newObj.promptPrefix;\n }\n if (newObj.temperature === 0.8) {\n delete newObj.temperature;\n }\n if (newObj.top_p === 1) {\n delete newObj.top_p;\n }\n if (newObj.presence_penalty === 0) {\n delete newObj.presence_penalty;\n }\n if (newObj.frequency_penalty === 0) {\n delete newObj.frequency_penalty;\n }\n if (newObj.tools?.length === 0) {\n delete newObj.tools;\n }\n\n if (\n newObj.agentOptions &&\n newObj.agentOptions.agent === 'functions' &&\n newObj.agentOptions.skipCompletion === true &&\n newObj.agentOptions.model === 'gpt-3.5-turbo' &&\n newObj.agentOptions.temperature === 0\n ) {\n delete newObj.agentOptions;\n }\n\n return removeNullishValues(newObj);\n })\n .catch(() => ({}));\n\ntype CompactEndpointSchema =\n | typeof compactOpenAISchema\n | typeof assistantSchema\n | typeof compactGoogleSchema\n | typeof bingAISchema\n | typeof compactAnthropicSchema\n | typeof compactChatGPTSchema\n | typeof compactPluginsSchema;\n\nconst compactEndpointSchemas: Record<string, CompactEndpointSchema> = {\n openAI: compactOpenAISchema,\n azureOpenAI: compactOpenAISchema,\n assistant: assistantSchema,\n google: compactGoogleSchema,\n /* BingAI needs all fields */\n bingAI: bingAISchema,\n anthropic: compactAnthropicSchema,\n chatGPTBrowser: compactChatGPTSchema,\n gptPlugins: compactPluginsSchema,\n};\n\nexport const parseCompactConvo = (\n endpoint: EModelEndpoint | undefined,\n conversation: Partial<TConversation | TPreset>,\n possibleValues?: TPossibleValues,\n) => {\n if (!endpoint) {\n throw new Error(`undefined endpoint: ${endpoint}`);\n }\n\n const schema = compactEndpointSchemas[endpoint];\n\n if (!schema) {\n throw new Error(`Unknown endpoint: ${endpoint}`);\n }\n\n const convo = schema.parse(conversation) as TConversation;\n // const { models, secondaryModels } = possibleValues ?? {};\n const { models } = possibleValues ?? {};\n\n if (models && convo) {\n convo.model = getFirstDefinedValue(models) ?? convo.model;\n }\n\n // if (secondaryModels && convo.agentOptions) {\n // convo.agentOptionmodel = getFirstDefinedValue(secondaryModels) ?? convo.agentOptionmodel;\n // }\n\n return convo;\n};\n","export type Metadata = {\n [key: string]: unknown;\n};\n\nexport enum Tools {\n code_interpreter = 'code_interpreter',\n retrieval = 'retrieval',\n function = 'function',\n}\n\nexport type Tool = {\n [type: string]: Tools;\n};\n\nexport type Assistant = {\n id: string;\n created_at: number;\n description: string | null;\n file_ids: string[];\n instructions: string | null;\n metadata: Metadata | null;\n model: string;\n name: string | null;\n object: string;\n tools: Tool[];\n};\n\nexport type AssistantCreateParams = {\n model: string;\n description?: string | null;\n file_ids?: string[];\n instructions?: string | null;\n metadata?: Metadata | null;\n name?: string | null;\n tools?: Tool[];\n};\n\nexport type AssistantUpdateParams = {\n model?: string;\n description?: string | null;\n file_ids?: string[];\n instructions?: string | null;\n metadata?: Metadata | null;\n name?: string | null;\n tools?: Tool[];\n};\n\nexport type AssistantListParams = {\n limit?: number;\n before?: string | null;\n after?: string | null;\n order?: 'asc' | 'desc';\n};\n\nexport type AssistantListResponse = {\n object: string;\n data: Assistant[];\n first_id: string;\n last_id: string;\n has_more: boolean;\n};\n\nexport type File = {\n file_id: string;\n id?: string;\n temp_file_id?: string;\n bytes: number;\n created_at: number;\n filename: string;\n object: string;\n purpose: 'fine-tune' | 'fine-tune-results' | 'assistants' | 'assistants_output';\n};\n","export enum QueryKeys {\n messages = 'messages',\n allConversations = 'allConversations',\n conversation = 'conversation',\n searchEnabled = 'searchEnabled',\n user = 'user',\n name = 'name', // user key name\n models = 'models',\n balance = 'balance',\n endpoints = 'endpoints',\n presets = 'presets',\n searchResults = 'searchResults',\n tokenCount = 'tokenCount',\n availablePlugins = 'availablePlugins',\n startupConfig = 'startupConfig',\n assistants = 'assistants',\n assistant = 'assistant',\n endpointsConfigOverride = 'endpointsConfigOverride',\n}\n\nexport enum MutationKeys {\n imageUpload = 'imageUpload',\n fileDelete = 'fileDelete',\n updatePreset = 'updatePreset',\n deletePreset = 'deletePreset',\n logoutUser = 'logoutUser',\n}\n","import axios from 'axios';\n\nexport function setAcceptLanguageHeader(value: string): void {\n axios.defaults.headers.common['Accept-Language'] = value;\n}\n\nexport function setTokenHeader(token: string) {\n axios.defaults.headers.common['Authorization'] = 'Bearer ' + token;\n}\n","export const user = () => '/api/user';\n\nexport const balance = () => '/api/balance';\n\nexport const userPlugins = () => '/api/user/plugins';\n\nexport const messages = (conversationId: string, messageId?: string) =>\n `/api/messages/${conversationId}${messageId ? `/${messageId}` : ''}`;\n\nconst keysEndpoint = '/api/keys';\n\nexport const keys = () => keysEndpoint;\n\nexport const userKeyQuery = (name: string) => `${keysEndpoint}?name=${name}`;\n\nexport const revokeUserKey = (name: string) => `${keysEndpoint}/${name}`;\n\nexport const revokeAllUserKeys = () => `${keysEndpoint}?all=true`;\n\nexport const abortRequest = (endpoint: string) => `/api/ask/${endpoint}/abort`;\n\nexport const conversations = (pageNumber: string) => `/api/convos?pageNumber=${pageNumber}`;\n\nexport const conversationById = (id: string) => `/api/convos/${id}`;\n\nexport const updateConversation = () => '/api/convos/update';\n\nexport const deleteConversation = () => '/api/convos/clear';\n\nexport const search = (q: string, pageNumber: string) =>\n `/api/search?q=${q}&pageNumber=${pageNumber}`;\n\nexport const searchEnabled = () => '/api/search/enable';\n\nexport const presets = () => '/api/presets';\n\nexport const deletePreset = () => '/api/presets/delete';\n\nexport const aiEndpoints = () => '/api/endpoints';\n\nexport const endpointsConfigOverride = () => '/api/endpoints/config/override';\n\nexport const models = () => '/api/models';\n\nexport const tokenizer = () => '/api/tokenizer';\n\nexport const login = () => '/api/auth/login';\n\nexport const logout = () => '/api/auth/logout';\n\nexport const register = () => '/api/auth/register';\n\nexport const loginFacebook = () => '/api/auth/facebook';\n\nexport const loginGoogle = () => '/api/auth/google';\n\nexport const refreshToken = (retry?: boolean) => `/api/auth/refresh${retry ? '?retry=true' : ''}`;\n\nexport const requestPasswordReset = () => '/api/auth/requestPasswordReset';\n\nexport const resetPassword = () => '/api/auth/resetPassword';\n\nexport const plugins = () => '/api/plugins';\n\nexport const config = () => '/api/config';\n\nexport const assistants = (id?: string) => `/api/assistants${id ? `/${id}` : ''}`;\n\nexport const files = () => '/api/files';\n\nexport const images = () => `${files()}/images`;\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport axios, { AxiosRequestConfig, AxiosError } from 'axios';\nimport { setTokenHeader } from './headers-helpers';\nimport * as endpoints from './api-endpoints';\n\nasync function _get<T>(url: string, options?: AxiosRequestConfig): Promise<T> {\n const response = await axios.get(url, { ...options });\n return response.data;\n}\n\nasync function _post(url: string, data?: any) {\n const response = await axios.post(url, JSON.stringify(data), {\n headers: { 'Content-Type': 'application/json' },\n });\n return response.data;\n}\n\nasync function _postMultiPart(url: string, formData: FormData, options?: AxiosRequestConfig) {\n const response = await axios.post(url, formData, {\n ...options,\n headers: { 'Content-Type': 'multipart/form-data' },\n });\n return response.data;\n}\n\nasync function _put(url: string, data?: any) {\n const response = await axios.put(url, JSON.stringify(data), {\n headers: { 'Content-Type': 'application/json' },\n });\n return response.data;\n}\n\nasync function _delete<T>(url: string): Promise<T> {\n const response = await axios.delete(url);\n return response.data;\n}\n\nasync function _deleteWithOptions<T>(url: string, options?: AxiosRequestConfig): Promise<T> {\n const response = await axios.delete(url, { ...options });\n return response.data;\n}\n\nasync function _patch(url: string, data?: any) {\n const response = await axios.patch(url, JSON.stringify(data), {\n headers: { 'Content-Type': 'application/json' },\n });\n return response.data;\n}\n\nlet isRefreshing = false;\nlet failedQueue: { resolve: (value?: any) => void; reject: (reason?: any) => void }[] = [];\n\nconst refreshToken = (retry?: boolean) => _post(endpoints.refreshToken(retry));\n\nconst processQueue = (error: AxiosError | null, token: string | null = null) => {\n failedQueue.forEach((prom) => {\n if (error) {\n prom.reject(error);\n } else {\n prom.resolve(token);\n }\n });\n failedQueue = [];\n};\n\naxios.interceptors.response.use(\n (response) => response,\n async (error) => {\n const originalRequest = error.config;\n\n if (error.response.status === 401 && !originalRequest._retry) {\n originalRequest._retry = true;\n\n if (isRefreshing) {\n try {\n const token = await new Promise((resolve, reject) => {\n failedQueue.push({ resolve, reject });\n });\n originalRequest.headers['Authorization'] = 'Bearer ' + token;\n return await axios(originalRequest);\n } catch (err) {\n return Promise.reject(err);\n }\n }\n\n isRefreshing = true;\n\n try {\n const { token } = await refreshToken(\n // Handle edge case where we get a blank screen if the initial 401 error is from a refresh token request\n originalRequest.url?.includes('api/auth/refresh') ? true : false,\n );\n\n if (token) {\n originalRequest.headers['Authorization'] = 'Bearer ' + token;\n setTokenHeader(token);\n window.dispatchEvent(new CustomEvent('tokenUpdated', { detail: token }));\n processQueue(null, token);\n return await axios(originalRequest);\n } else {\n window.location.href = '/login';\n }\n } catch (err) {\n processQueue(err as AxiosError, null);\n return Promise.reject(err);\n } finally {\n isRefreshing = false;\n }\n }\n\n return Promise.reject(error);\n },\n);\n\nexport default {\n get: _get,\n post: _post,\n postMultiPart: _postMultiPart,\n put: _put,\n delete: _delete,\n deleteWithOptions: _deleteWithOptions,\n patch: _patch,\n refreshToken,\n};\n","import * as f from './types/files';\nimport * as m from './types/mutations';\nimport * as a from './types/assistants';\nimport * as t from './types';\nimport * as s from './schemas';\nimport request from './request';\nimport * as endpoints from './api-endpoints';\n\nexport function getConversations(pageNumber: string): Promise<t.TGetConversationsResponse> {\n return request.get(endpoints.conversations(pageNumber));\n}\n\nexport function abortRequestWithMessage(\n endpoint: string,\n abortKey: string,\n message: string,\n): Promise<void> {\n return request.post(endpoints.abortRequest(endpoint), { arg: { abortKey, message } });\n}\n\nexport function deleteConversation(payload: t.TDeleteConversationRequest) {\n //todo: this should be a DELETE request\n return request.post(endpoints.deleteConversation(), { arg: payload });\n}\n\nexport function clearAllConversations(): Promise<unknown> {\n return request.post(endpoints.deleteConversation(), { arg: {} });\n}\n\nexport function revokeUserKey(name: string): Promise<unknown> {\n return request.delete(endpoints.revokeUserKey(name));\n}\n\nexport function revokeAllUserKeys(): Promise<unknown> {\n return request.delete(endpoints.revokeAllUserKeys());\n}\n\nexport function getMessagesByConvoId(conversationId: string): Promise<s.TMessage[]> {\n if (conversationId === 'new') {\n return Promise.resolve([]);\n }\n return request.get(endpoints.messages(conversationId));\n}\n\nexport function getConversationById(id: string): Promise<s.TConversation> {\n return request.get(endpoints.conversationById(id));\n}\n\nexport function updateConversation(\n payload: t.TUpdateConversationRequest,\n): Promise<t.TUpdateConversationResponse> {\n return request.post(endpoints.updateConversation(), { arg: payload });\n}\n\nexport function updateMessage(payload: t.TUpdateMessageRequest): Promise<unknown> {\n const { conversationId, messageId, text } = payload;\n if (!conversationId) {\n throw new Error('conversationId is required');\n }\n\n return request.put(endpoints.messages(conversationId, messageId), { text });\n}\n\nexport function updateUserKey(payload: t.TUpdateUserKeyRequest) {\n const { value } = payload;\n if (!value) {\n throw new Error('value is required');\n }\n\n return request.put(endpoints.keys(), payload);\n}\n\nexport function getPresets(): Promise<s.TPreset[]> {\n return request.get(endpoints.presets());\n}\n\nexport function createPreset(payload: s.TPreset): Promise<s.TPreset> {\n return request.post(endpoints.presets(), payload);\n}\n\nexport function updatePreset(payload: s.TPreset): Promise<s.TPreset> {\n return request.post(endpoints.presets(), payload);\n}\n\nexport function deletePreset(arg: s.TPreset | undefined): Promise<m.PresetDeleteResponse> {\n return request.post(endpoints.deletePreset(), arg);\n}\n\nexport function getSearchEnabled(): Promise<boolean> {\n return request.get(endpoints.searchEnabled());\n}\n\nexport function getUser(): Promise<t.TUser> {\n return request.get(endpoints.user());\n}\n\nexport function getUserBalance(): Promise<string> {\n return request.get(endpoints.balance());\n}\n\nexport const searchConversations = async (\n q: string,\n pageNumber: string,\n): Promise<t.TSearchResults> => {\n return request.get(endpoints.search(q, pageNumber));\n};\n\nexport const updateTokenCount = (text: string) => {\n return request.post(endpoints.tokenizer(), { arg: text });\n};\n\nexport const login = (payload: t.TLoginUser) => {\n return request.post(endpoints.login(), payload);\n};\n\nexport const logout = () => {\n return request.post(endpoints.logout());\n};\n\nexport const register = (payload: t.TRegisterUser) => {\n return request.post(endpoints.register(), payload);\n};\n\nexport const userKeyQuery = (name: string): Promise<t.TCheckUserKeyResponse> =>\n request.get(endpoints.userKeyQuery(name));\n\nexport const getLoginGoogle = () => {\n return request.get(endpoints.loginGoogle());\n};\n\nexport const requestPasswordReset = (\n payload: t.TRequestPasswordReset,\n): Promise<t.TRequestPasswordResetResponse> => {\n return request.post(endpoints.requestPasswordReset(), payload);\n};\n\nexport const resetPassword = (payload: t.TResetPassword) => {\n return request.post(endpoints.resetPassword(), payload);\n};\n\nexport const getAvailablePlugins = (): Promise<s.TPlugin[]> => {\n return request.get(endpoints.plugins());\n};\n\nexport const updateUserPlugins = (payload: t.TUpdateUserPlugins) => {\n return request.post(endpoints.userPlugins(), payload);\n};\n\n/* Config */\n\nexport const getStartupConfig = (): Promise<t.TStartupConfig> => {\n return request.get(endpoints.config());\n};\n\nexport const getAIEndpoints = (): Promise<t.TEndpointsConfig> => {\n return request.get(endpoints.aiEndpoints());\n};\n\nexport const getModels = async (): Promise<t.TModelsConfig> => {\n return request.get(endpoints.models());\n};\n\nexport const getEndpointsConfigOverride = (): Promise<unknown | boolean> => {\n return request.get(endpoints.endpointsConfigOverride());\n};\n\n/* Assistants */\n\nexport const createAssistant = (data: a.AssistantCreateParams): Promise<a.Assistant> => {\n return request.post(endpoints.assistants(), data);\n};\n\nexport const getAssistantById = (assistant_id: string): Promise<a.Assistant> => {\n return request.get(endpoints.assistants(assistant_id));\n};\n\nexport const updateAssistant = (\n assistant_id: string,\n data: a.AssistantUpdateParams,\n): Promise<a.Assistant> => {\n return request.patch(endpoints.assistants(assistant_id), data);\n};\n\nexport const deleteAssistant = (assistant_id: string): Promise<void> => {\n return request.delete(endpoints.assistants(assistant_id));\n};\n\nexport const listAssistants = (\n params?: a.AssistantListParams,\n): Promise<a.AssistantListResponse> => {\n return request.get(endpoints.assistants(), { params });\n};\n\n/* Files */\n\nexport const uploadImage = (data: FormData): Promise<f.FileUploadResponse> => {\n return request.postMultiPart(endpoints.images(), data);\n};\n\nexport const deleteFiles = async (files: f.BatchFile[]): Promise<f.DeleteFilesResponse> =>\n request.deleteWithOptions(endpoints.files(), {\n data: { files },\n });\n","/* eslint-disable */\n/**\n * Copyright (C) 2016 Maxime Petazzoni <maxime.petazzoni@bulix.org>.\n * All rights reserved.\n */\n\nimport request from './request';\nimport { setTokenHeader } from './headers-helpers';\n\nvar SSE = function (url, options) {\n if (!(this instanceof SSE)) {\n return new SSE(url, options);\n }\n\n this.INITIALIZING = -1;\n this.CONNECTING = 0;\n this.OPEN = 1;\n this.CLOSED = 2;\n\n this.url = url;\n\n options = options || {};\n this.headers = options.headers || {};\n this.payload = options.payload !== undefined ? options.payload : '';\n this.method = options.method || (this.payload && 'POST') || 'GET';\n this.withCredentials = !!options.withCredentials;\n\n this.FIELD_SEPARATOR = ':';\n this.listeners = {};\n\n this.xhr = null;\n this.readyState = this.INITIALIZING;\n this.progress = 0;\n this.chunk = '';\n\n this.addEventListener = function (type, listener) {\n if (this.listeners[type] === undefined) {\n this.listeners[type] = [];\n }\n\n if (this.listeners[type].indexOf(listener) === -1) {\n this.listeners[type].push(listener);\n }\n };\n\n this.removeEventListener = function (type, listener) {\n if (this.listeners[type] === undefined) {\n return;\n }\n\n var filtered = [];\n this.listeners[type].forEach(function (element) {\n if (element !== listener) {\n filtered.push(element);\n }\n });\n if (filtered.length === 0) {\n delete this.listeners[type];\n } else {\n this.listeners[type] = filtered;\n }\n };\n\n this.dispatchEvent = function (e) {\n if (!e) {\n return true;\n }\n\n e.source = this;\n\n var onHandler = 'on' + e.type;\n if (this.hasOwnProperty(onHandler)) {\n this[onHandler].call(this, e);\n if (e.defaultPrevented) {\n return false;\n }\n }\n\n if (this.listeners[e.type]) {\n return this.listeners[e.type].every(function (callback) {\n callback(e);\n return !e.defaultPrevented;\n });\n }\n\n return true;\n };\n\n this._setReadyState = function (state) {\n var event = new CustomEvent('readystatechange');\n event.readyState = state;\n this.readyState = state;\n this.dispatchEvent(event);\n };\n\n this._onStreamFailure = function (e) {\n var event = new CustomEvent('error');\n event.data = e.currentTarget.response;\n this.dispatchEvent(event);\n this.close();\n };\n\n this._onStreamAbort = function (e) {\n this.dispatchEvent(new CustomEvent('abort'));\n this.close();\n };\n\n this._onStreamProgress = async function (e) {\n if (!this.xhr) {\n return;\n }\n\n if (this.xhr.status === 401 && !this._retry) {\n this._retry = true;\n try {\n const refreshResponse = await request.refreshToken();\n this.headers = {\n 'Content-Type': 'application/json',\n Authorization: `Bearer ${refreshResponse.token}`,\n };\n setTokenHeader(refreshResponse.token);\n window.dispatchEvent(new CustomEvent('tokenUpdated', { detail: refreshResponse.token }));\n this.stream();\n } catch (err) {\n this._onStreamFailure(e);\n return;\n }\n } else if (this.xhr.status !== 200) {\n this._onStreamFailure(e);\n return;\n }\n\n if (this.readyState == this.CONNECTING) {\n this.dispatchEvent(new CustomEvent('open'));\n this._setReadyState(this.OPEN);\n }\n\n var data = this.xhr.responseText.substring(this.progress);\n this.progress += data.length;\n data.split(/(\\r\\n|\\r|\\n){2}/g).forEach(\n function (part) {\n if (part.trim().length === 0) {\n this.dispatchEvent(this._parseEventChunk(this.chunk.trim()));\n this.chunk = '';\n } else {\n this.chunk += part;\n }\n }.bind(this),\n );\n };\n\n this._onStreamLoaded = function (e) {\n this._onStreamProgress(e);\n\n // Parse the last chunk.\n this.dispatchEvent(this._parseEventChunk(this.chunk));\n this.chunk = '';\n };\n\n /**\n * Parse a received SSE event chunk into a constructed event object.\n */\n this._parseEventChunk = function (chunk) {\n if (!chunk || chunk.length === 0) {\n return null;\n }\n\n var e = { id: null, retry: null, data: '', event: 'message' };\n chunk.split(/\\n|\\r\\n|\\r/).forEach(\n function (line) {\n line = line.trimRight();\n var index = line.indexOf(this.FIELD_SEPARATOR);\n if (index <= 0) {\n // Line was either empty, or started with a separator and is a comment.\n // Either way, ignore.\n return;\n }\n\n var field = line.substring(0, index);\n if (!(field in e)) {\n return;\n }\n\n var value = line.substring(index + 1).trimLeft();\n if (field === 'data') {\n e[field] += value;\n } else {\n e[field] = value;\n }\n }.bind(this),\n );\n\n var event = new CustomEvent(e.event);\n event.data = e.data;\n event.id = e.id;\n return event;\n };\n\n this._checkStreamClosed = function () {\n if (!this.xhr) {\n return;\n }\n\n if (this.xhr.readyState === XMLHttpRequest.DONE) {\n this._setReadyState(this.CLOSED);\n }\n };\n\n this.stream = function () {\n this._setReadyState(this.CONNECTING);\n\n this.xhr = new XMLHttpRequest();\n this.xhr.addEventListener('progress', this._onStreamProgress.bind(this));\n this.xhr.addEventListener('load', this._onStreamLoaded.bind(this));\n this.xhr.addEventListener('readystatechange', this._checkStreamClosed.bind(this));\n this.xhr.addEventListener('error', this._onStreamFailure.bind(this));\n this.xhr.addEventListener('abort', this._onStreamAbort.bind(this));\n this.xhr.open(this.method, this.url);\n for (var header in this.headers) {\n this.xhr.setRequestHeader(header, this.headers[header]);\n }\n this.xhr.withCredentials = this.withCredentials;\n this.xhr.send(this.payload);\n };\n\n this.close = function () {\n if (this.readyState === this.CLOSED) {\n return;\n }\n\n this.xhr.abort();\n this.xhr = null;\n this._setReadyState(this.CLOSED);\n };\n};\n\nexport { SSE };\n// Export our SSE module for npm.js\n// if (typeof exports !== 'undefined') {\n// // exports.SSE = SSE;\n// module.exports = { SSE };\n// }\n","import { tConversationSchema } from './schemas';\nimport type { TSubmission, TMessage, TEndpointOption } from './types';\nimport { EModelEndpoint, EndpointURLs } from './types';\n\nexport default function createPayload(submission: TSubmission) {\n const { conversation, message, messages, endpointOption, isEdited, isContinued } = submission;\n const { conversationId } = tConversationSchema.parse(conversation);\n const { endpoint } = endpointOption as { endpoint: EModelEndpoint };\n\n let server = EndpointURLs[endpoint];\n\n if (isEdited && endpoint === EModelEndpoint.assistant) {\n server += '/modify';\n } else if (isEdited) {\n server = server.replace('/ask/', '/edit/');\n }\n\n type Payload = Partial<TMessage> &\n Partial<TEndpointOption> & {\n isContinued: boolean;\n conversationId: string | null;\n messages?: typeof messages;\n };\n\n const payload: Payload = {\n ...message,\n ...endpointOption,\n isContinued: !!(isEdited && isContinued),\n conversationId,\n };\n\n if (endpoint === EModelEndpoint.assistant) {\n payload.messages = messages;\n }\n\n return { server, payload };\n}\n"],"names":["EModelEndpoint","AuthKeys","defaultEndpoints","openAI","assistant","azureOpenAI","bingAI","chatGPTBrowser","gptPlugins","google","anthropic","defaultModels","_a","alternateName","_b","endpointSettings","_c","model","default","maxOutputTokens","min","max","step","maxGeminiPro","defaultGeminiPro","temperature","topP","topK","EndpointURLs","_d","modularEndpoints","Set","supportsFiles","_e","supportsBalanceCheck","_f","eModelEndpointSchema","z","nativeEnum","tPluginAuthConfigSchema","object","authField","string","label","description","tPluginSchema","name","pluginKey","icon","authConfig","array","authenticated","boolean","optional","isButton","tExampleSchema","input","content","output","tAgentOptionsSchema","agent","skipCompletion","number","tMessageSchema","messageId","clientId","nullable","conversationId","parentMessageId","responseMessageId","overrideParentMessageId","bg","title","or","literal","sender","text","generation","isEdited","isCreatedByUser","error","createdAt","Date","toISOString","updatedAt","current","unfinished","submitting","searchResult","finish_reason","tConversationSchema","user","endpoint","suggestions","messages","tools","systemMessage","modelLabel","examples","chatGptLabel","userLabel","promptPrefix","context","top_p","frequency_penalty","presence_penalty","jailbreak","jailbreakConversationId","conversationSignature","invocationId","toneStyle","agentOptions","assistant_id","thread_id","tPresetSchema","omit","merge","presetId","defaultPreset","order","openAISchema","pick","transform","obj","__assign","_g","catch","googleSchema","isGeminiPro","toLowerCase","includes","maxOutputTokensMax","maxOutputTokensDefault","Math","_h","_j","_k","bingAISchema","anthropicSchema","chatGPTBrowserSchema","gptPluginsSchema","removeNullishValues","newObj","Object","keys","forEach","key","undefined","assistantSchema","endpointSchemas","getFirstDefinedValue","possibleValues","returnValue","possibleValues_1","_i","length","value","Tools","QueryKeys","MutationKeys","compactOpenAISchema","compactGoogleSchema","compactAnthropicSchema","compactChatGPTSchema","compactPluginsSchema","compactEndpointSchemas","setTokenHeader","token","axios","defaults","headers","common","concat","keysEndpoint","search","q","pageNumber","assistants","id","_post","url","data","post","JSON","stringify","sent","isRefreshing","failedQueue","refreshToken","retry","endpoints.refreshToken","processQueue","prom","reject","resolve","interceptors","response","use","__awaiter","originalRequest","config","status","_retry","Promise","push","err_1","window","dispatchEvent","CustomEvent","detail","location","href","err_2","request","get","options","postMultiPart","formData","put","delete","deleteWithOptions","patch","abortKey","message","endpoints.abortRequest","arg","endpoints.assistants","payload","files","endpoints.conversationById","endpoints.conversations","endpoints.messages","params","endpoints.revokeUserKey","endpoints.search","Error","endpoints.userKeyQuery","SSE","this","INITIALIZING","CONNECTING","OPEN","CLOSED","method","withCredentials","FIELD_SEPARATOR","listeners","xhr","readyState","progress","chunk","addEventListener","type","listener","indexOf","removeEventListener","filtered","element","e","source","onHandler","hasOwnProperty","call","defaultPrevented","every","callback","_setReadyState","state","event","_onStreamFailure","currentTarget","close","_onStreamAbort","_onStreamProgress","async","refreshResponse","Authorization","stream","err","responseText","substring","split","part","trim","_parseEventChunk","bind","_onStreamLoaded","line","index","trimRight","field","trimLeft","_checkStreamClosed","XMLHttpRequest","DONE","header","open","setRequestHeader","send","abort","submission","conversation","endpointOption","isContinued","parse","server","replace","schema","convo","models","secondaryModels"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../src/schemas.ts","../src/types/assistants.ts","../src/keys.ts","../src/headers-helpers.ts","../src/api-endpoints.ts","../src/request.ts","../src/data-service.ts","../src/sse.js","../src/createPayload.ts"],"sourcesContent":["import { z } from 'zod';\n\nexport enum EModelEndpoint {\n azureOpenAI = 'azureOpenAI',\n openAI = 'openAI',\n bingAI = 'bingAI',\n chatGPTBrowser = 'chatGPTBrowser',\n google = 'google',\n gptPlugins = 'gptPlugins',\n anthropic = 'anthropic',\n assistant = 'assistant',\n}\n\nexport const defaultEndpoints: EModelEndpoint[] = [\n EModelEndpoint.openAI,\n EModelEndpoint.assistant,\n EModelEndpoint.azureOpenAI,\n EModelEndpoint.bingAI,\n EModelEndpoint.chatGPTBrowser,\n EModelEndpoint.gptPlugins,\n EModelEndpoint.google,\n EModelEndpoint.anthropic,\n];\n\nexport const defaultModels = {\n [EModelEndpoint.google]: [\n 'gemini-pro',\n 'gemini-pro-vision',\n 'chat-bison',\n 'chat-bison-32k',\n 'codechat-bison',\n 'codechat-bison-32k',\n 'text-bison',\n 'text-bison-32k',\n 'text-unicorn',\n 'code-gecko',\n 'code-bison',\n 'code-bison-32k',\n ],\n [EModelEndpoint.anthropic]: [\n 'claude-2.1',\n 'claude-2',\n 'claude-1.2',\n 'claude-1',\n 'claude-1-100k',\n 'claude-instant-1',\n 'claude-instant-1-100k',\n ],\n [EModelEndpoint.openAI]: [\n 'gpt-3.5-turbo-16k-0613',\n 'gpt-3.5-turbo-16k',\n 'gpt-4-1106-preview',\n 'gpt-3.5-turbo',\n 'gpt-3.5-turbo-1106',\n 'gpt-4-vision-preview',\n 'gpt-4',\n 'gpt-3.5-turbo-instruct-0914',\n 'gpt-3.5-turbo-0613',\n 'gpt-3.5-turbo-0301',\n 'gpt-3.5-turbo-instruct',\n 'gpt-4-0613',\n 'text-davinci-003',\n 'gpt-4-0314',\n ],\n};\n\nexport const alternateName = {\n [EModelEndpoint.openAI]: 'OpenAI',\n [EModelEndpoint.assistant]: 'Assistants',\n [EModelEndpoint.azureOpenAI]: 'Azure OpenAI',\n [EModelEndpoint.bingAI]: 'Bing',\n [EModelEndpoint.chatGPTBrowser]: 'ChatGPT',\n [EModelEndpoint.gptPlugins]: 'Plugins',\n [EModelEndpoint.google]: 'Google',\n [EModelEndpoint.anthropic]: 'Anthropic',\n};\n\nexport enum AuthKeys {\n GOOGLE_SERVICE_KEY = 'GOOGLE_SERVICE_KEY',\n GOOGLE_API_KEY = 'GOOGLE_API_KEY',\n}\n\nexport const endpointSettings = {\n [EModelEndpoint.google]: {\n model: {\n default: 'chat-bison',\n },\n maxOutputTokens: {\n min: 1,\n max: 2048,\n step: 1,\n default: 1024,\n maxGeminiPro: 8192,\n defaultGeminiPro: 8192,\n },\n temperature: {\n min: 0,\n max: 1,\n step: 0.01,\n default: 0.2,\n },\n topP: {\n min: 0,\n max: 1,\n step: 0.01,\n default: 0.8,\n },\n topK: {\n min: 1,\n max: 40,\n step: 0.01,\n default: 40,\n },\n },\n};\n\nconst google = endpointSettings[EModelEndpoint.google];\n\nexport const EndpointURLs: { [key in EModelEndpoint]: string } = {\n [EModelEndpoint.azureOpenAI]: '/api/ask/azureOpenAI',\n [EModelEndpoint.openAI]: '/api/ask/openAI',\n [EModelEndpoint.bingAI]: '/api/ask/bingAI',\n [EModelEndpoint.chatGPTBrowser]: '/api/ask/chatGPTBrowser',\n [EModelEndpoint.google]: '/api/ask/google',\n [EModelEndpoint.gptPlugins]: '/api/ask/gptPlugins',\n [EModelEndpoint.anthropic]: '/api/ask/anthropic',\n [EModelEndpoint.assistant]: '/api/assistants/chat',\n};\n\nexport const modularEndpoints = new Set<EModelEndpoint | string>([\n EModelEndpoint.gptPlugins,\n EModelEndpoint.anthropic,\n EModelEndpoint.google,\n EModelEndpoint.openAI,\n]);\n\nexport const supportsFiles = {\n [EModelEndpoint.openAI]: true,\n [EModelEndpoint.google]: true,\n [EModelEndpoint.assistant]: true,\n [EModelEndpoint.azureOpenAI]: true,\n};\n\nexport const supportsBalanceCheck = {\n [EModelEndpoint.openAI]: true,\n [EModelEndpoint.azureOpenAI]: true,\n [EModelEndpoint.gptPlugins]: true,\n};\n\nexport const visionModels = ['gpt-4-vision', 'llava-13b', 'gemini-pro-vision'];\n\nexport const eModelEndpointSchema = z.nativeEnum(EModelEndpoint);\n\nexport const tPluginAuthConfigSchema = z.object({\n authField: z.string(),\n label: z.string(),\n description: z.string(),\n});\n\nexport type TPluginAuthConfig = z.infer<typeof tPluginAuthConfigSchema>;\n\nexport const tPluginSchema = z.object({\n name: z.string(),\n pluginKey: z.string(),\n description: z.string(),\n icon: z.string(),\n authConfig: z.array(tPluginAuthConfigSchema),\n authenticated: z.boolean().optional(),\n isButton: z.boolean().optional(),\n});\n\nexport type TPlugin = z.infer<typeof tPluginSchema>;\n\nexport type TInput = {\n inputStr: string;\n};\n\nexport type TResPlugin = {\n plugin: string;\n input: string;\n thought: string;\n loading?: boolean;\n outputs?: string;\n latest?: string;\n inputs?: TInput[];\n};\n\nexport const tExampleSchema = z.object({\n input: z.object({\n content: z.string(),\n }),\n output: z.object({\n content: z.string(),\n }),\n});\n\nexport type TExample = z.infer<typeof tExampleSchema>;\n\nexport const tAgentOptionsSchema = z.object({\n agent: z.string(),\n skipCompletion: z.boolean(),\n model: z.string(),\n temperature: z.number(),\n});\n\nexport const tMessageSchema = z.object({\n messageId: z.string(),\n clientId: z.string().nullable().optional(),\n conversationId: z.string().nullable(),\n parentMessageId: z.string().nullable(),\n responseMessageId: z.string().nullable().optional(),\n overrideParentMessageId: z.string().nullable().optional(),\n bg: z.string().nullable().optional(),\n model: z.string().nullable().optional(),\n title: z.string().nullable().or(z.literal('New Chat')).default('New Chat'),\n sender: z.string(),\n text: z.string(),\n generation: z.string().nullable().optional(),\n isEdited: z.boolean().optional(),\n isCreatedByUser: z.boolean(),\n error: z.boolean(),\n createdAt: z\n .string()\n .optional()\n .default(() => new Date().toISOString()),\n updatedAt: z\n .string()\n .optional()\n .default(() => new Date().toISOString()),\n current: z.boolean().optional(),\n unfinished: z.boolean().optional(),\n submitting: z.boolean().optional(),\n searchResult: z.boolean().optional(),\n finish_reason: z.string().optional(),\n});\n\nexport type TMessage = z.input<typeof tMessageSchema> & {\n children?: TMessage[];\n plugin?: TResPlugin | null;\n plugins?: TResPlugin[];\n files?: {\n type: string;\n file_id: string;\n filename?: string;\n preview?: string;\n filepath?: string;\n height?: number;\n width?: number;\n }[];\n};\n\nexport const tConversationSchema = z.object({\n conversationId: z.string().nullable(),\n title: z.string().nullable().or(z.literal('New Chat')).default('New Chat'),\n user: z.string().optional(),\n endpoint: eModelEndpointSchema.nullable(),\n suggestions: z.array(z.string()).optional(),\n messages: z.array(z.string()).optional(),\n tools: z.array(tPluginSchema).optional(),\n createdAt: z.string(),\n updatedAt: z.string(),\n systemMessage: z.string().nullable().optional(),\n modelLabel: z.string().nullable().optional(),\n examples: z.array(tExampleSchema).optional(),\n chatGptLabel: z.string().nullable().optional(),\n userLabel: z.string().optional(),\n model: z.string().nullable().optional(),\n promptPrefix: z.string().nullable().optional(),\n temperature: z.number().optional(),\n topP: z.number().optional(),\n topK: z.number().optional(),\n context: z.string().nullable().optional(),\n top_p: z.number().optional(),\n frequency_penalty: z.number().optional(),\n presence_penalty: z.number().optional(),\n jailbreak: z.boolean().optional(),\n jailbreakConversationId: z.string().nullable().optional(),\n conversationSignature: z.string().nullable().optional(),\n parentMessageId: z.string().optional(),\n clientId: z.string().nullable().optional(),\n invocationId: z.number().nullable().optional(),\n toneStyle: z.string().nullable().optional(),\n maxOutputTokens: z.number().optional(),\n agentOptions: tAgentOptionsSchema.nullable().optional(),\n /* assistant */\n assistant_id: z.string().optional(),\n thread_id: z.string().optional(),\n});\n\nexport type TConversation = z.infer<typeof tConversationSchema>;\n\nexport const tPresetSchema = tConversationSchema\n .omit({\n conversationId: true,\n createdAt: true,\n updatedAt: true,\n title: true,\n })\n .merge(\n z.object({\n conversationId: z.string().optional(),\n presetId: z.string().nullable().optional(),\n title: z.string().nullable().optional(),\n defaultPreset: z.boolean().optional(),\n order: z.number().optional(),\n }),\n );\n\nexport type TPreset = z.infer<typeof tPresetSchema>;\n\nexport const openAISchema = tConversationSchema\n .pick({\n model: true,\n chatGptLabel: true,\n promptPrefix: true,\n temperature: true,\n top_p: true,\n presence_penalty: true,\n frequency_penalty: true,\n })\n .transform((obj) => ({\n ...obj,\n model: obj.model ?? 'gpt-3.5-turbo',\n chatGptLabel: obj.chatGptLabel ?? null,\n promptPrefix: obj.promptPrefix ?? null,\n temperature: obj.temperature ?? 1,\n top_p: obj.top_p ?? 1,\n presence_penalty: obj.presence_penalty ?? 0,\n frequency_penalty: obj.frequency_penalty ?? 0,\n }))\n .catch(() => ({\n model: 'gpt-3.5-turbo',\n chatGptLabel: null,\n promptPrefix: null,\n temperature: 1,\n top_p: 1,\n presence_penalty: 0,\n frequency_penalty: 0,\n }));\n\nexport const googleSchema = tConversationSchema\n .pick({\n model: true,\n modelLabel: true,\n promptPrefix: true,\n examples: true,\n temperature: true,\n maxOutputTokens: true,\n topP: true,\n topK: true,\n })\n .transform((obj) => {\n const isGeminiPro = obj?.model?.toLowerCase()?.includes('gemini-pro');\n\n const maxOutputTokensMax = isGeminiPro\n ? google.maxOutputTokens.maxGeminiPro\n : google.maxOutputTokens.max;\n const maxOutputTokensDefault = isGeminiPro\n ? google.maxOutputTokens.defaultGeminiPro\n : google.maxOutputTokens.default;\n\n let maxOutputTokens = obj.maxOutputTokens ?? maxOutputTokensDefault;\n maxOutputTokens = Math.min(maxOutputTokens, maxOutputTokensMax);\n\n return {\n ...obj,\n model: obj.model ?? google.model.default,\n modelLabel: obj.modelLabel ?? null,\n promptPrefix: obj.promptPrefix ?? null,\n examples: obj.examples ?? [{ input: { content: '' }, output: { content: '' } }],\n temperature: obj.temperature ?? google.temperature.default,\n maxOutputTokens,\n topP: obj.topP ?? google.topP.default,\n topK: obj.topK ?? google.topK.default,\n };\n })\n .catch(() => ({\n model: google.model.default,\n modelLabel: null,\n promptPrefix: null,\n examples: [{ input: { content: '' }, output: { content: '' } }],\n temperature: google.temperature.default,\n maxOutputTokens: google.maxOutputTokens.default,\n topP: google.topP.default,\n topK: google.topK.default,\n }));\n\nexport const bingAISchema = tConversationSchema\n .pick({\n jailbreak: true,\n systemMessage: true,\n context: true,\n toneStyle: true,\n jailbreakConversationId: true,\n conversationSignature: true,\n clientId: true,\n invocationId: true,\n })\n .transform((obj) => ({\n ...obj,\n model: '',\n jailbreak: obj.jailbreak ?? false,\n systemMessage: obj.systemMessage ?? null,\n context: obj.context ?? null,\n toneStyle: obj.toneStyle ?? 'creative',\n jailbreakConversationId: obj.jailbreakConversationId ?? null,\n conversationSignature: obj.conversationSignature ?? null,\n clientId: obj.clientId ?? null,\n invocationId: obj.invocationId ?? 1,\n }))\n .catch(() => ({\n model: '',\n jailbreak: false,\n systemMessage: null,\n context: null,\n toneStyle: 'creative',\n jailbreakConversationId: null,\n conversationSignature: null,\n clientId: null,\n invocationId: 1,\n }));\n\nexport const anthropicSchema = tConversationSchema\n .pick({\n model: true,\n modelLabel: true,\n promptPrefix: true,\n temperature: true,\n maxOutputTokens: true,\n topP: true,\n topK: true,\n })\n .transform((obj) => ({\n ...obj,\n model: obj.model ?? 'claude-1',\n modelLabel: obj.modelLabel ?? null,\n promptPrefix: obj.promptPrefix ?? null,\n temperature: obj.temperature ?? 1,\n maxOutputTokens: obj.maxOutputTokens ?? 4000,\n topP: obj.topP ?? 0.7,\n topK: obj.topK ?? 5,\n }))\n .catch(() => ({\n model: 'claude-1',\n modelLabel: null,\n promptPrefix: null,\n temperature: 1,\n maxOutputTokens: 4000,\n topP: 0.7,\n topK: 5,\n }));\n\nexport const chatGPTBrowserSchema = tConversationSchema\n .pick({\n model: true,\n })\n .transform((obj) => ({\n ...obj,\n model: obj.model ?? 'text-davinci-002-render-sha',\n }))\n .catch(() => ({\n model: 'text-davinci-002-render-sha',\n }));\n\nexport const gptPluginsSchema = tConversationSchema\n .pick({\n model: true,\n chatGptLabel: true,\n promptPrefix: true,\n temperature: true,\n top_p: true,\n presence_penalty: true,\n frequency_penalty: true,\n tools: true,\n agentOptions: true,\n })\n .transform((obj) => ({\n ...obj,\n model: obj.model ?? 'gpt-3.5-turbo',\n chatGptLabel: obj.chatGptLabel ?? null,\n promptPrefix: obj.promptPrefix ?? null,\n temperature: obj.temperature ?? 0.8,\n top_p: obj.top_p ?? 1,\n presence_penalty: obj.presence_penalty ?? 0,\n frequency_penalty: obj.frequency_penalty ?? 0,\n tools: obj.tools ?? [],\n agentOptions: obj.agentOptions ?? {\n agent: 'functions',\n skipCompletion: true,\n model: 'gpt-3.5-turbo',\n temperature: 0,\n },\n }))\n .catch(() => ({\n model: 'gpt-3.5-turbo',\n chatGptLabel: null,\n promptPrefix: null,\n temperature: 0.8,\n top_p: 1,\n presence_penalty: 0,\n frequency_penalty: 0,\n tools: [],\n agentOptions: {\n agent: 'functions',\n skipCompletion: true,\n model: 'gpt-3.5-turbo',\n temperature: 0,\n },\n }));\n\nexport function removeNullishValues<T extends object>(obj: T): T {\n const newObj: Partial<T> = { ...obj };\n\n (Object.keys(newObj) as Array<keyof T>).forEach((key) => {\n if (newObj[key] === undefined || newObj[key] === null || newObj[key] === '') {\n delete newObj[key];\n }\n });\n\n return newObj as T;\n}\n\nexport const assistantSchema = tConversationSchema\n .pick({\n model: true,\n assistant_id: true,\n thread_id: true,\n })\n .transform(removeNullishValues)\n .catch(() => ({}));\n\ntype EndpointSchema =\n | typeof openAISchema\n | typeof googleSchema\n | typeof bingAISchema\n | typeof anthropicSchema\n | typeof chatGPTBrowserSchema\n | typeof gptPluginsSchema\n | typeof assistantSchema;\n\nconst endpointSchemas: Record<EModelEndpoint, EndpointSchema> = {\n [EModelEndpoint.openAI]: openAISchema,\n [EModelEndpoint.azureOpenAI]: openAISchema,\n [EModelEndpoint.google]: googleSchema,\n [EModelEndpoint.bingAI]: bingAISchema,\n [EModelEndpoint.anthropic]: anthropicSchema,\n [EModelEndpoint.chatGPTBrowser]: chatGPTBrowserSchema,\n [EModelEndpoint.gptPlugins]: gptPluginsSchema,\n [EModelEndpoint.assistant]: assistantSchema,\n};\n\nexport function getFirstDefinedValue(possibleValues: string[]) {\n let returnValue;\n for (const value of possibleValues) {\n if (value) {\n returnValue = value;\n break;\n }\n }\n return returnValue;\n}\n\nexport type TPossibleValues = {\n models: string[];\n secondaryModels?: string[];\n};\n\nexport const parseConvo = (\n endpoint: EModelEndpoint,\n conversation: Partial<TConversation | TPreset>,\n possibleValues?: TPossibleValues,\n) => {\n const schema = endpointSchemas[endpoint];\n\n if (!schema) {\n throw new Error(`Unknown endpoint: ${endpoint}`);\n }\n\n const convo = schema.parse(conversation) as TConversation;\n const { models, secondaryModels } = possibleValues ?? {};\n\n if (models && convo) {\n convo.model = getFirstDefinedValue(models) ?? convo.model;\n }\n\n if (secondaryModels && convo.agentOptions) {\n convo.agentOptions.model = getFirstDefinedValue(secondaryModels) ?? convo.agentOptions.model;\n }\n\n return convo;\n};\n\nexport type TEndpointOption = {\n endpoint: EModelEndpoint;\n model?: string | null;\n promptPrefix?: string;\n temperature?: number;\n chatGptLabel?: string | null;\n modelLabel?: string | null;\n jailbreak?: boolean;\n key?: string | null;\n};\n\nexport const getResponseSender = (endpointOption: TEndpointOption): string => {\n const { model, endpoint, chatGptLabel, modelLabel, jailbreak } = endpointOption;\n\n if (\n [\n EModelEndpoint.openAI,\n EModelEndpoint.azureOpenAI,\n EModelEndpoint.gptPlugins,\n EModelEndpoint.chatGPTBrowser,\n ].includes(endpoint)\n ) {\n if (chatGptLabel) {\n return chatGptLabel;\n } else if (model && model.includes('gpt-3')) {\n return 'GPT-3.5';\n } else if (model && model.includes('gpt-4')) {\n return 'GPT-4';\n }\n return alternateName[endpoint] ?? 'ChatGPT';\n }\n\n if (endpoint === EModelEndpoint.bingAI) {\n return jailbreak ? 'Sydney' : 'BingAI';\n }\n\n if (endpoint === EModelEndpoint.anthropic) {\n return modelLabel ?? 'Claude';\n }\n\n if (endpoint === EModelEndpoint.google) {\n if (modelLabel) {\n return modelLabel;\n } else if (model && model.includes('gemini')) {\n return 'Gemini';\n } else if (model && model.includes('code')) {\n return 'Codey';\n }\n\n return 'PaLM2';\n }\n\n return '';\n};\n\nexport const compactOpenAISchema = tConversationSchema\n .pick({\n model: true,\n chatGptLabel: true,\n promptPrefix: true,\n temperature: true,\n top_p: true,\n presence_penalty: true,\n frequency_penalty: true,\n })\n .transform((obj: Partial<TConversation>) => {\n const newObj: Partial<TConversation> = { ...obj };\n if (newObj.model === 'gpt-3.5-turbo') {\n delete newObj.model;\n }\n if (newObj.temperature === 1) {\n delete newObj.temperature;\n }\n if (newObj.top_p === 1) {\n delete newObj.top_p;\n }\n if (newObj.presence_penalty === 0) {\n delete newObj.presence_penalty;\n }\n if (newObj.frequency_penalty === 0) {\n delete newObj.frequency_penalty;\n }\n\n return removeNullishValues(newObj);\n })\n .catch(() => ({}));\n\nexport const compactGoogleSchema = tConversationSchema\n .pick({\n model: true,\n modelLabel: true,\n promptPrefix: true,\n examples: true,\n temperature: true,\n maxOutputTokens: true,\n topP: true,\n topK: true,\n })\n .transform((obj) => {\n const newObj: Partial<TConversation> = { ...obj };\n if (newObj.model === google.model.default) {\n delete newObj.model;\n }\n if (newObj.temperature === google.temperature.default) {\n delete newObj.temperature;\n }\n if (newObj.maxOutputTokens === google.maxOutputTokens.default) {\n delete newObj.maxOutputTokens;\n }\n if (newObj.topP === google.topP.default) {\n delete newObj.topP;\n }\n if (newObj.topK === google.topK.default) {\n delete newObj.topK;\n }\n\n return removeNullishValues(newObj);\n })\n .catch(() => ({}));\n\nexport const compactAnthropicSchema = tConversationSchema\n .pick({\n model: true,\n modelLabel: true,\n promptPrefix: true,\n temperature: true,\n maxOutputTokens: true,\n topP: true,\n topK: true,\n })\n .transform((obj) => {\n const newObj: Partial<TConversation> = { ...obj };\n if (newObj.model === 'claude-1') {\n delete newObj.model;\n }\n if (newObj.temperature === 1) {\n delete newObj.temperature;\n }\n if (newObj.maxOutputTokens === 4000) {\n delete newObj.maxOutputTokens;\n }\n if (newObj.topP === 0.7) {\n delete newObj.topP;\n }\n if (newObj.topK === 5) {\n delete newObj.topK;\n }\n\n return removeNullishValues(newObj);\n })\n .catch(() => ({}));\n\nexport const compactChatGPTSchema = tConversationSchema\n .pick({\n model: true,\n })\n .transform((obj) => {\n const newObj: Partial<TConversation> = { ...obj };\n // model: obj.model ?? 'text-davinci-002-render-sha',\n if (newObj.model === 'text-davinci-002-render-sha') {\n delete newObj.model;\n }\n\n return removeNullishValues(newObj);\n })\n .catch(() => ({}));\n\nexport const compactPluginsSchema = tConversationSchema\n .pick({\n model: true,\n chatGptLabel: true,\n promptPrefix: true,\n temperature: true,\n top_p: true,\n presence_penalty: true,\n frequency_penalty: true,\n tools: true,\n agentOptions: true,\n })\n .transform((obj) => {\n const newObj: Partial<TConversation> = { ...obj };\n if (newObj.model === 'gpt-3.5-turbo') {\n delete newObj.model;\n }\n if (newObj.chatGptLabel === null) {\n delete newObj.chatGptLabel;\n }\n if (newObj.promptPrefix === null) {\n delete newObj.promptPrefix;\n }\n if (newObj.temperature === 0.8) {\n delete newObj.temperature;\n }\n if (newObj.top_p === 1) {\n delete newObj.top_p;\n }\n if (newObj.presence_penalty === 0) {\n delete newObj.presence_penalty;\n }\n if (newObj.frequency_penalty === 0) {\n delete newObj.frequency_penalty;\n }\n if (newObj.tools?.length === 0) {\n delete newObj.tools;\n }\n\n if (\n newObj.agentOptions &&\n newObj.agentOptions.agent === 'functions' &&\n newObj.agentOptions.skipCompletion === true &&\n newObj.agentOptions.model === 'gpt-3.5-turbo' &&\n newObj.agentOptions.temperature === 0\n ) {\n delete newObj.agentOptions;\n }\n\n return removeNullishValues(newObj);\n })\n .catch(() => ({}));\n\ntype CompactEndpointSchema =\n | typeof compactOpenAISchema\n | typeof assistantSchema\n | typeof compactGoogleSchema\n | typeof bingAISchema\n | typeof compactAnthropicSchema\n | typeof compactChatGPTSchema\n | typeof compactPluginsSchema;\n\nconst compactEndpointSchemas: Record<string, CompactEndpointSchema> = {\n openAI: compactOpenAISchema,\n azureOpenAI: compactOpenAISchema,\n assistant: assistantSchema,\n google: compactGoogleSchema,\n /* BingAI needs all fields */\n bingAI: bingAISchema,\n anthropic: compactAnthropicSchema,\n chatGPTBrowser: compactChatGPTSchema,\n gptPlugins: compactPluginsSchema,\n};\n\nexport const parseCompactConvo = (\n endpoint: EModelEndpoint | undefined,\n conversation: Partial<TConversation | TPreset>,\n possibleValues?: TPossibleValues,\n) => {\n if (!endpoint) {\n throw new Error(`undefined endpoint: ${endpoint}`);\n }\n\n const schema = compactEndpointSchemas[endpoint];\n\n if (!schema) {\n throw new Error(`Unknown endpoint: ${endpoint}`);\n }\n\n const convo = schema.parse(conversation) as TConversation;\n // const { models, secondaryModels } = possibleValues ?? {};\n const { models } = possibleValues ?? {};\n\n if (models && convo) {\n convo.model = getFirstDefinedValue(models) ?? convo.model;\n }\n\n // if (secondaryModels && convo.agentOptions) {\n // convo.agentOptionmodel = getFirstDefinedValue(secondaryModels) ?? convo.agentOptionmodel;\n // }\n\n return convo;\n};\n","export type Metadata = {\n [key: string]: unknown;\n};\n\nexport enum Tools {\n code_interpreter = 'code_interpreter',\n retrieval = 'retrieval',\n function = 'function',\n}\n\nexport type Tool = {\n [type: string]: Tools;\n};\n\nexport type Assistant = {\n id: string;\n created_at: number;\n description: string | null;\n file_ids: string[];\n instructions: string | null;\n metadata: Metadata | null;\n model: string;\n name: string | null;\n object: string;\n tools: Tool[];\n};\n\nexport type AssistantCreateParams = {\n model: string;\n description?: string | null;\n file_ids?: string[];\n instructions?: string | null;\n metadata?: Metadata | null;\n name?: string | null;\n tools?: Tool[];\n};\n\nexport type AssistantUpdateParams = {\n model?: string;\n description?: string | null;\n file_ids?: string[];\n instructions?: string | null;\n metadata?: Metadata | null;\n name?: string | null;\n tools?: Tool[];\n};\n\nexport type AssistantListParams = {\n limit?: number;\n before?: string | null;\n after?: string | null;\n order?: 'asc' | 'desc';\n};\n\nexport type AssistantListResponse = {\n object: string;\n data: Assistant[];\n first_id: string;\n last_id: string;\n has_more: boolean;\n};\n\nexport type File = {\n file_id: string;\n id?: string;\n temp_file_id?: string;\n bytes: number;\n created_at: number;\n filename: string;\n object: string;\n purpose: 'fine-tune' | 'fine-tune-results' | 'assistants' | 'assistants_output';\n};\n","export enum QueryKeys {\n messages = 'messages',\n allConversations = 'allConversations',\n conversation = 'conversation',\n searchEnabled = 'searchEnabled',\n user = 'user',\n name = 'name', // user key name\n models = 'models',\n balance = 'balance',\n endpoints = 'endpoints',\n presets = 'presets',\n searchResults = 'searchResults',\n tokenCount = 'tokenCount',\n availablePlugins = 'availablePlugins',\n startupConfig = 'startupConfig',\n assistants = 'assistants',\n assistant = 'assistant',\n endpointsConfigOverride = 'endpointsConfigOverride',\n}\n\nexport enum MutationKeys {\n imageUpload = 'imageUpload',\n fileDelete = 'fileDelete',\n updatePreset = 'updatePreset',\n deletePreset = 'deletePreset',\n logoutUser = 'logoutUser',\n}\n","import axios from 'axios';\n\nexport function setAcceptLanguageHeader(value: string): void {\n axios.defaults.headers.common['Accept-Language'] = value;\n}\n\nexport function setTokenHeader(token: string) {\n axios.defaults.headers.common['Authorization'] = 'Bearer ' + token;\n}\n","export const user = () => '/api/user';\n\nexport const balance = () => '/api/balance';\n\nexport const userPlugins = () => '/api/user/plugins';\n\nexport const messages = (conversationId: string, messageId?: string) =>\n `/api/messages/${conversationId}${messageId ? `/${messageId}` : ''}`;\n\nconst keysEndpoint = '/api/keys';\n\nexport const keys = () => keysEndpoint;\n\nexport const userKeyQuery = (name: string) => `${keysEndpoint}?name=${name}`;\n\nexport const revokeUserKey = (name: string) => `${keysEndpoint}/${name}`;\n\nexport const revokeAllUserKeys = () => `${keysEndpoint}?all=true`;\n\nexport const abortRequest = (endpoint: string) => `/api/ask/${endpoint}/abort`;\n\nexport const conversations = (pageNumber: string) => `/api/convos?pageNumber=${pageNumber}`;\n\nexport const conversationById = (id: string) => `/api/convos/${id}`;\n\nexport const updateConversation = () => '/api/convos/update';\n\nexport const deleteConversation = () => '/api/convos/clear';\n\nexport const search = (q: string, pageNumber: string) =>\n `/api/search?q=${q}&pageNumber=${pageNumber}`;\n\nexport const searchEnabled = () => '/api/search/enable';\n\nexport const presets = () => '/api/presets';\n\nexport const deletePreset = () => '/api/presets/delete';\n\nexport const aiEndpoints = () => '/api/endpoints';\n\nexport const endpointsConfigOverride = () => '/api/endpoints/config/override';\n\nexport const models = () => '/api/models';\n\nexport const tokenizer = () => '/api/tokenizer';\n\nexport const login = () => '/api/auth/login';\n\nexport const logout = () => '/api/auth/logout';\n\nexport const register = () => '/api/auth/register';\n\nexport const loginFacebook = () => '/api/auth/facebook';\n\nexport const loginGoogle = () => '/api/auth/google';\n\nexport const refreshToken = (retry?: boolean) => `/api/auth/refresh${retry ? '?retry=true' : ''}`;\n\nexport const requestPasswordReset = () => '/api/auth/requestPasswordReset';\n\nexport const resetPassword = () => '/api/auth/resetPassword';\n\nexport const plugins = () => '/api/plugins';\n\nexport const config = () => '/api/config';\n\nexport const assistants = (id?: string) => `/api/assistants${id ? `/${id}` : ''}`;\n\nexport const files = () => '/api/files';\n\nexport const images = () => `${files()}/images`;\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport axios, { AxiosRequestConfig, AxiosError } from 'axios';\nimport { setTokenHeader } from './headers-helpers';\nimport * as endpoints from './api-endpoints';\n\nasync function _get<T>(url: string, options?: AxiosRequestConfig): Promise<T> {\n const response = await axios.get(url, { ...options });\n return response.data;\n}\n\nasync function _post(url: string, data?: any) {\n const response = await axios.post(url, JSON.stringify(data), {\n headers: { 'Content-Type': 'application/json' },\n });\n return response.data;\n}\n\nasync function _postMultiPart(url: string, formData: FormData, options?: AxiosRequestConfig) {\n const response = await axios.post(url, formData, {\n ...options,\n headers: { 'Content-Type': 'multipart/form-data' },\n });\n return response.data;\n}\n\nasync function _put(url: string, data?: any) {\n const response = await axios.put(url, JSON.stringify(data), {\n headers: { 'Content-Type': 'application/json' },\n });\n return response.data;\n}\n\nasync function _delete<T>(url: string): Promise<T> {\n const response = await axios.delete(url);\n return response.data;\n}\n\nasync function _deleteWithOptions<T>(url: string, options?: AxiosRequestConfig): Promise<T> {\n const response = await axios.delete(url, { ...options });\n return response.data;\n}\n\nasync function _patch(url: string, data?: any) {\n const response = await axios.patch(url, JSON.stringify(data), {\n headers: { 'Content-Type': 'application/json' },\n });\n return response.data;\n}\n\nlet isRefreshing = false;\nlet failedQueue: { resolve: (value?: any) => void; reject: (reason?: any) => void }[] = [];\n\nconst refreshToken = (retry?: boolean) => _post(endpoints.refreshToken(retry));\n\nconst processQueue = (error: AxiosError | null, token: string | null = null) => {\n failedQueue.forEach((prom) => {\n if (error) {\n prom.reject(error);\n } else {\n prom.resolve(token);\n }\n });\n failedQueue = [];\n};\n\naxios.interceptors.response.use(\n (response) => response,\n async (error) => {\n const originalRequest = error.config;\n\n if (error.response.status === 401 && !originalRequest._retry) {\n originalRequest._retry = true;\n\n if (isRefreshing) {\n try {\n const token = await new Promise((resolve, reject) => {\n failedQueue.push({ resolve, reject });\n });\n originalRequest.headers['Authorization'] = 'Bearer ' + token;\n return await axios(originalRequest);\n } catch (err) {\n return Promise.reject(err);\n }\n }\n\n isRefreshing = true;\n\n try {\n const { token } = await refreshToken(\n // Handle edge case where we get a blank screen if the initial 401 error is from a refresh token request\n originalRequest.url?.includes('api/auth/refresh') ? true : false,\n );\n\n if (token) {\n originalRequest.headers['Authorization'] = 'Bearer ' + token;\n setTokenHeader(token);\n window.dispatchEvent(new CustomEvent('tokenUpdated', { detail: token }));\n processQueue(null, token);\n return await axios(originalRequest);\n } else {\n window.location.href = '/login';\n }\n } catch (err) {\n processQueue(err as AxiosError, null);\n return Promise.reject(err);\n } finally {\n isRefreshing = false;\n }\n }\n\n return Promise.reject(error);\n },\n);\n\nexport default {\n get: _get,\n post: _post,\n postMultiPart: _postMultiPart,\n put: _put,\n delete: _delete,\n deleteWithOptions: _deleteWithOptions,\n patch: _patch,\n refreshToken,\n};\n","import * as f from './types/files';\nimport * as m from './types/mutations';\nimport * as a from './types/assistants';\nimport * as t from './types';\nimport * as s from './schemas';\nimport request from './request';\nimport * as endpoints from './api-endpoints';\n\nexport function getConversations(pageNumber: string): Promise<t.TGetConversationsResponse> {\n return request.get(endpoints.conversations(pageNumber));\n}\n\nexport function abortRequestWithMessage(\n endpoint: string,\n abortKey: string,\n message: string,\n): Promise<void> {\n return request.post(endpoints.abortRequest(endpoint), { arg: { abortKey, message } });\n}\n\nexport function deleteConversation(payload: t.TDeleteConversationRequest) {\n //todo: this should be a DELETE request\n return request.post(endpoints.deleteConversation(), { arg: payload });\n}\n\nexport function clearAllConversations(): Promise<unknown> {\n return request.post(endpoints.deleteConversation(), { arg: {} });\n}\n\nexport function revokeUserKey(name: string): Promise<unknown> {\n return request.delete(endpoints.revokeUserKey(name));\n}\n\nexport function revokeAllUserKeys(): Promise<unknown> {\n return request.delete(endpoints.revokeAllUserKeys());\n}\n\nexport function getMessagesByConvoId(conversationId: string): Promise<s.TMessage[]> {\n if (conversationId === 'new') {\n return Promise.resolve([]);\n }\n return request.get(endpoints.messages(conversationId));\n}\n\nexport function getConversationById(id: string): Promise<s.TConversation> {\n return request.get(endpoints.conversationById(id));\n}\n\nexport function updateConversation(\n payload: t.TUpdateConversationRequest,\n): Promise<t.TUpdateConversationResponse> {\n return request.post(endpoints.updateConversation(), { arg: payload });\n}\n\nexport function updateMessage(payload: t.TUpdateMessageRequest): Promise<unknown> {\n const { conversationId, messageId, text } = payload;\n if (!conversationId) {\n throw new Error('conversationId is required');\n }\n\n return request.put(endpoints.messages(conversationId, messageId), { text });\n}\n\nexport function updateUserKey(payload: t.TUpdateUserKeyRequest) {\n const { value } = payload;\n if (!value) {\n throw new Error('value is required');\n }\n\n return request.put(endpoints.keys(), payload);\n}\n\nexport function getPresets(): Promise<s.TPreset[]> {\n return request.get(endpoints.presets());\n}\n\nexport function createPreset(payload: s.TPreset): Promise<s.TPreset> {\n return request.post(endpoints.presets(), payload);\n}\n\nexport function updatePreset(payload: s.TPreset): Promise<s.TPreset> {\n return request.post(endpoints.presets(), payload);\n}\n\nexport function deletePreset(arg: s.TPreset | undefined): Promise<m.PresetDeleteResponse> {\n return request.post(endpoints.deletePreset(), arg);\n}\n\nexport function getSearchEnabled(): Promise<boolean> {\n return request.get(endpoints.searchEnabled());\n}\n\nexport function getUser(): Promise<t.TUser> {\n return request.get(endpoints.user());\n}\n\nexport function getUserBalance(): Promise<string> {\n return request.get(endpoints.balance());\n}\n\nexport const searchConversations = async (\n q: string,\n pageNumber: string,\n): Promise<t.TSearchResults> => {\n return request.get(endpoints.search(q, pageNumber));\n};\n\nexport const updateTokenCount = (text: string) => {\n return request.post(endpoints.tokenizer(), { arg: text });\n};\n\nexport const login = (payload: t.TLoginUser) => {\n return request.post(endpoints.login(), payload);\n};\n\nexport const logout = () => {\n return request.post(endpoints.logout());\n};\n\nexport const register = (payload: t.TRegisterUser) => {\n return request.post(endpoints.register(), payload);\n};\n\nexport const userKeyQuery = (name: string): Promise<t.TCheckUserKeyResponse> =>\n request.get(endpoints.userKeyQuery(name));\n\nexport const getLoginGoogle = () => {\n return request.get(endpoints.loginGoogle());\n};\n\nexport const requestPasswordReset = (\n payload: t.TRequestPasswordReset,\n): Promise<t.TRequestPasswordResetResponse> => {\n return request.post(endpoints.requestPasswordReset(), payload);\n};\n\nexport const resetPassword = (payload: t.TResetPassword) => {\n return request.post(endpoints.resetPassword(), payload);\n};\n\nexport const getAvailablePlugins = (): Promise<s.TPlugin[]> => {\n return request.get(endpoints.plugins());\n};\n\nexport const updateUserPlugins = (payload: t.TUpdateUserPlugins) => {\n return request.post(endpoints.userPlugins(), payload);\n};\n\n/* Config */\n\nexport const getStartupConfig = (): Promise<t.TStartupConfig> => {\n return request.get(endpoints.config());\n};\n\nexport const getAIEndpoints = (): Promise<t.TEndpointsConfig> => {\n return request.get(endpoints.aiEndpoints());\n};\n\nexport const getModels = async (): Promise<t.TModelsConfig> => {\n return request.get(endpoints.models());\n};\n\nexport const getEndpointsConfigOverride = (): Promise<unknown | boolean> => {\n return request.get(endpoints.endpointsConfigOverride());\n};\n\n/* Assistants */\n\nexport const createAssistant = (data: a.AssistantCreateParams): Promise<a.Assistant> => {\n return request.post(endpoints.assistants(), data);\n};\n\nexport const getAssistantById = (assistant_id: string): Promise<a.Assistant> => {\n return request.get(endpoints.assistants(assistant_id));\n};\n\nexport const updateAssistant = (\n assistant_id: string,\n data: a.AssistantUpdateParams,\n): Promise<a.Assistant> => {\n return request.patch(endpoints.assistants(assistant_id), data);\n};\n\nexport const deleteAssistant = (assistant_id: string): Promise<void> => {\n return request.delete(endpoints.assistants(assistant_id));\n};\n\nexport const listAssistants = (\n params?: a.AssistantListParams,\n): Promise<a.AssistantListResponse> => {\n return request.get(endpoints.assistants(), { params });\n};\n\n/* Files */\n\nexport const uploadImage = (data: FormData): Promise<f.FileUploadResponse> => {\n return request.postMultiPart(endpoints.images(), data);\n};\n\nexport const deleteFiles = async (files: f.BatchFile[]): Promise<f.DeleteFilesResponse> =>\n request.deleteWithOptions(endpoints.files(), {\n data: { files },\n });\n","/* eslint-disable */\n/**\n * Copyright (C) 2016 Maxime Petazzoni <maxime.petazzoni@bulix.org>.\n * All rights reserved.\n */\n\nimport request from './request';\nimport { setTokenHeader } from './headers-helpers';\n\nvar SSE = function (url, options) {\n if (!(this instanceof SSE)) {\n return new SSE(url, options);\n }\n\n this.INITIALIZING = -1;\n this.CONNECTING = 0;\n this.OPEN = 1;\n this.CLOSED = 2;\n\n this.url = url;\n\n options = options || {};\n this.headers = options.headers || {};\n this.payload = options.payload !== undefined ? options.payload : '';\n this.method = options.method || (this.payload && 'POST') || 'GET';\n this.withCredentials = !!options.withCredentials;\n\n this.FIELD_SEPARATOR = ':';\n this.listeners = {};\n\n this.xhr = null;\n this.readyState = this.INITIALIZING;\n this.progress = 0;\n this.chunk = '';\n\n this.addEventListener = function (type, listener) {\n if (this.listeners[type] === undefined) {\n this.listeners[type] = [];\n }\n\n if (this.listeners[type].indexOf(listener) === -1) {\n this.listeners[type].push(listener);\n }\n };\n\n this.removeEventListener = function (type, listener) {\n if (this.listeners[type] === undefined) {\n return;\n }\n\n var filtered = [];\n this.listeners[type].forEach(function (element) {\n if (element !== listener) {\n filtered.push(element);\n }\n });\n if (filtered.length === 0) {\n delete this.listeners[type];\n } else {\n this.listeners[type] = filtered;\n }\n };\n\n this.dispatchEvent = function (e) {\n if (!e) {\n return true;\n }\n\n e.source = this;\n\n var onHandler = 'on' + e.type;\n if (this.hasOwnProperty(onHandler)) {\n this[onHandler].call(this, e);\n if (e.defaultPrevented) {\n return false;\n }\n }\n\n if (this.listeners[e.type]) {\n return this.listeners[e.type].every(function (callback) {\n callback(e);\n return !e.defaultPrevented;\n });\n }\n\n return true;\n };\n\n this._setReadyState = function (state) {\n var event = new CustomEvent('readystatechange');\n event.readyState = state;\n this.readyState = state;\n this.dispatchEvent(event);\n };\n\n this._onStreamFailure = function (e) {\n var event = new CustomEvent('error');\n event.data = e.currentTarget.response;\n this.dispatchEvent(event);\n this.close();\n };\n\n this._onStreamAbort = function (e) {\n this.dispatchEvent(new CustomEvent('abort'));\n this.close();\n };\n\n this._onStreamProgress = async function (e) {\n if (!this.xhr) {\n return;\n }\n\n if (this.xhr.status === 401 && !this._retry) {\n this._retry = true;\n try {\n const refreshResponse = await request.refreshToken();\n this.headers = {\n 'Content-Type': 'application/json',\n Authorization: `Bearer ${refreshResponse.token}`,\n };\n setTokenHeader(refreshResponse.token);\n window.dispatchEvent(new CustomEvent('tokenUpdated', { detail: refreshResponse.token }));\n this.stream();\n } catch (err) {\n this._onStreamFailure(e);\n return;\n }\n } else if (this.xhr.status !== 200) {\n this._onStreamFailure(e);\n return;\n }\n\n if (this.readyState == this.CONNECTING) {\n this.dispatchEvent(new CustomEvent('open'));\n this._setReadyState(this.OPEN);\n }\n\n var data = this.xhr.responseText.substring(this.progress);\n this.progress += data.length;\n data.split(/(\\r\\n|\\r|\\n){2}/g).forEach(\n function (part) {\n if (part.trim().length === 0) {\n this.dispatchEvent(this._parseEventChunk(this.chunk.trim()));\n this.chunk = '';\n } else {\n this.chunk += part;\n }\n }.bind(this),\n );\n };\n\n this._onStreamLoaded = function (e) {\n this._onStreamProgress(e);\n\n // Parse the last chunk.\n this.dispatchEvent(this._parseEventChunk(this.chunk));\n this.chunk = '';\n };\n\n /**\n * Parse a received SSE event chunk into a constructed event object.\n */\n this._parseEventChunk = function (chunk) {\n if (!chunk || chunk.length === 0) {\n return null;\n }\n\n var e = { id: null, retry: null, data: '', event: 'message' };\n chunk.split(/\\n|\\r\\n|\\r/).forEach(\n function (line) {\n line = line.trimRight();\n var index = line.indexOf(this.FIELD_SEPARATOR);\n if (index <= 0) {\n // Line was either empty, or started with a separator and is a comment.\n // Either way, ignore.\n return;\n }\n\n var field = line.substring(0, index);\n if (!(field in e)) {\n return;\n }\n\n var value = line.substring(index + 1).trimLeft();\n if (field === 'data') {\n e[field] += value;\n } else {\n e[field] = value;\n }\n }.bind(this),\n );\n\n var event = new CustomEvent(e.event);\n event.data = e.data;\n event.id = e.id;\n return event;\n };\n\n this._checkStreamClosed = function () {\n if (!this.xhr) {\n return;\n }\n\n if (this.xhr.readyState === XMLHttpRequest.DONE) {\n this._setReadyState(this.CLOSED);\n }\n };\n\n this.stream = function () {\n this._setReadyState(this.CONNECTING);\n\n this.xhr = new XMLHttpRequest();\n this.xhr.addEventListener('progress', this._onStreamProgress.bind(this));\n this.xhr.addEventListener('load', this._onStreamLoaded.bind(this));\n this.xhr.addEventListener('readystatechange', this._checkStreamClosed.bind(this));\n this.xhr.addEventListener('error', this._onStreamFailure.bind(this));\n this.xhr.addEventListener('abort', this._onStreamAbort.bind(this));\n this.xhr.open(this.method, this.url);\n for (var header in this.headers) {\n this.xhr.setRequestHeader(header, this.headers[header]);\n }\n this.xhr.withCredentials = this.withCredentials;\n this.xhr.send(this.payload);\n };\n\n this.close = function () {\n if (this.readyState === this.CLOSED) {\n return;\n }\n\n this.xhr.abort();\n this.xhr = null;\n this._setReadyState(this.CLOSED);\n };\n};\n\nexport { SSE };\n// Export our SSE module for npm.js\n// if (typeof exports !== 'undefined') {\n// // exports.SSE = SSE;\n// module.exports = { SSE };\n// }\n","import { tConversationSchema } from './schemas';\nimport type { TSubmission, TMessage, TEndpointOption } from './types';\nimport { EModelEndpoint, EndpointURLs } from './types';\n\nexport default function createPayload(submission: TSubmission) {\n const { conversation, message, messages, endpointOption, isEdited, isContinued } = submission;\n const { conversationId } = tConversationSchema.parse(conversation);\n const { endpoint } = endpointOption as { endpoint: EModelEndpoint };\n\n let server = EndpointURLs[endpoint];\n\n if (isEdited && endpoint === EModelEndpoint.assistant) {\n server += '/modify';\n } else if (isEdited) {\n server = server.replace('/ask/', '/edit/');\n }\n\n type Payload = Partial<TMessage> &\n Partial<TEndpointOption> & {\n isContinued: boolean;\n conversationId: string | null;\n messages?: typeof messages;\n };\n\n const payload: Payload = {\n ...message,\n ...endpointOption,\n isContinued: !!(isEdited && isContinued),\n conversationId,\n };\n\n if (endpoint === EModelEndpoint.assistant) {\n payload.messages = messages;\n }\n\n return { server, payload };\n}\n"],"names":["EModelEndpoint","AuthKeys","defaultEndpoints","openAI","assistant","azureOpenAI","bingAI","chatGPTBrowser","gptPlugins","google","anthropic","defaultModels","_a","alternateName","_b","endpointSettings","_c","model","default","maxOutputTokens","min","max","step","maxGeminiPro","defaultGeminiPro","temperature","topP","topK","EndpointURLs","_d","modularEndpoints","Set","supportsFiles","_e","supportsBalanceCheck","_f","eModelEndpointSchema","z","nativeEnum","tPluginAuthConfigSchema","object","authField","string","label","description","tPluginSchema","name","pluginKey","icon","authConfig","array","authenticated","boolean","optional","isButton","tExampleSchema","input","content","output","tAgentOptionsSchema","agent","skipCompletion","number","tMessageSchema","messageId","clientId","nullable","conversationId","parentMessageId","responseMessageId","overrideParentMessageId","bg","title","or","literal","sender","text","generation","isEdited","isCreatedByUser","error","createdAt","Date","toISOString","updatedAt","current","unfinished","submitting","searchResult","finish_reason","tConversationSchema","user","endpoint","suggestions","messages","tools","systemMessage","modelLabel","examples","chatGptLabel","userLabel","promptPrefix","context","top_p","frequency_penalty","presence_penalty","jailbreak","jailbreakConversationId","conversationSignature","invocationId","toneStyle","agentOptions","assistant_id","thread_id","tPresetSchema","omit","merge","presetId","defaultPreset","order","openAISchema","pick","transform","obj","__assign","_g","catch","googleSchema","isGeminiPro","toLowerCase","includes","maxOutputTokensMax","maxOutputTokensDefault","Math","_h","_j","_k","bingAISchema","anthropicSchema","chatGPTBrowserSchema","gptPluginsSchema","removeNullishValues","newObj","Object","keys","forEach","key","undefined","assistantSchema","endpointSchemas","getFirstDefinedValue","possibleValues","returnValue","possibleValues_1","_i","length","value","Tools","QueryKeys","MutationKeys","compactOpenAISchema","compactGoogleSchema","compactAnthropicSchema","compactChatGPTSchema","compactPluginsSchema","compactEndpointSchemas","setTokenHeader","token","axios","defaults","headers","common","concat","keysEndpoint","search","q","pageNumber","assistants","id","_post","url","data","post","JSON","stringify","sent","isRefreshing","failedQueue","refreshToken","retry","endpoints.refreshToken","processQueue","prom","reject","resolve","interceptors","response","use","__awaiter","originalRequest","config","status","_retry","Promise","push","err_1","window","dispatchEvent","CustomEvent","detail","location","href","err_2","request","get","options","postMultiPart","formData","put","delete","deleteWithOptions","patch","abortKey","message","endpoints.abortRequest","arg","endpoints.assistants","payload","files","endpoints.conversationById","endpoints.conversations","endpoints.messages","params","endpoints.revokeUserKey","endpoints.search","Error","endpoints.userKeyQuery","SSE","this","INITIALIZING","CONNECTING","OPEN","CLOSED","method","withCredentials","FIELD_SEPARATOR","listeners","xhr","readyState","progress","chunk","addEventListener","type","listener","indexOf","removeEventListener","filtered","element","e","source","onHandler","hasOwnProperty","call","defaultPrevented","every","callback","_setReadyState","state","event","_onStreamFailure","currentTarget","close","_onStreamAbort","_onStreamProgress","async","refreshResponse","Authorization","stream","err","responseText","substring","split","part","trim","_parseEventChunk","bind","_onStreamLoaded","line","index","trimRight","field","trimLeft","_checkStreamClosed","XMLHttpRequest","DONE","header","open","setRequestHeader","send","abort","submission","conversation","endpointOption","isContinued","parse","server","replace","schema","convo","models","secondaryModels"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "librechat-data-provider",
3
- "version": "0.3.2",
3
+ "version": "0.3.4",
4
4
  "description": "data services for librechat apps",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.es.js",
@@ -44,13 +44,10 @@
44
44
  "zod": "^3.22.4"
45
45
  },
46
46
  "devDependencies": {
47
- "@babel/plugin-proposal-nullish-coalescing-operator": "^7.18.6",
48
- "@babel/plugin-proposal-optional-chaining": "^7.21.0",
49
47
  "@babel/preset-env": "^7.21.5",
50
48
  "@babel/preset-react": "^7.18.6",
51
49
  "@babel/preset-typescript": "^7.21.0",
52
50
  "@rollup/plugin-alias": "^5.1.0",
53
- "@rollup/plugin-babel": "^6.0.4",
54
51
  "@rollup/plugin-commonjs": "^25.0.2",
55
52
  "@rollup/plugin-json": "^6.1.0",
56
53
  "@rollup/plugin-node-resolve": "^15.1.0",
@@ -3,7 +3,6 @@ import resolve from '@rollup/plugin-node-resolve';
3
3
  import commonjs from '@rollup/plugin-commonjs';
4
4
  import alias from '@rollup/plugin-alias';
5
5
  import json from '@rollup/plugin-json';
6
- import babel from '@rollup/plugin-babel';
7
6
 
8
7
  const rootPath = path.resolve(__dirname, '../../');
9
8
  const rootServerPath = path.resolve(__dirname, '../../api');
@@ -30,19 +29,6 @@ export default {
30
29
  }),
31
30
  commonjs(),
32
31
  json(),
33
- babel({
34
- exclude: 'node_modules/**',
35
- babelHelpers: 'bundled',
36
- presets: [
37
- ['@babel/preset-env', { targets: { node: 'current' } }],
38
- '@babel/preset-typescript',
39
- ],
40
- plugins: [
41
- '@babel/plugin-syntax-dynamic-import',
42
- '@babel/plugin-proposal-nullish-coalescing-operator',
43
- '@babel/plugin-proposal-optional-chaining',
44
- ],
45
- }),
46
32
  ],
47
33
  external: (id) => {
48
34
  // More selective external function
package/src/schemas.ts CHANGED
@@ -25,6 +25,7 @@ export const defaultEndpoints: EModelEndpoint[] = [
25
25
  export const defaultModels = {
26
26
  [EModelEndpoint.google]: [
27
27
  'gemini-pro',
28
+ 'gemini-pro-vision',
28
29
  'chat-bison',
29
30
  'chat-bison-32k',
30
31
  'codechat-bison',
@@ -135,7 +136,9 @@ export const modularEndpoints = new Set<EModelEndpoint | string>([
135
136
 
136
137
  export const supportsFiles = {
137
138
  [EModelEndpoint.openAI]: true,
139
+ [EModelEndpoint.google]: true,
138
140
  [EModelEndpoint.assistant]: true,
141
+ [EModelEndpoint.azureOpenAI]: true,
139
142
  };
140
143
 
141
144
  export const supportsBalanceCheck = {
@@ -144,7 +147,7 @@ export const supportsBalanceCheck = {
144
147
  [EModelEndpoint.gptPlugins]: true,
145
148
  };
146
149
 
147
- export const visionModels = ['gpt-4-vision', 'llava-13b'];
150
+ export const visionModels = ['gpt-4-vision', 'llava-13b', 'gemini-pro-vision'];
148
151
 
149
152
  export const eModelEndpointSchema = z.nativeEnum(EModelEndpoint);
150
153