"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[2262],{49130:function(e,t,r){r.d(t,{Z:function(){return a}}),r(67294);var n=r(93366),o=r(85893);function s(){for(var e=arguments.length,t=Array(e),r=0;r<e;r++)t[r]=arguments[r];return t.filter(Boolean).join(" ")}function a(e){var t=e.locked,r=e.label,a=e.description,i=e.enabled,l=e.setEnabled,c=e.small;return(0,o.jsx)("div",{className:"flex items-center justify-start",children:(0,o.jsxs)("label",{className:"inline-flex items-center justify-start flex-shrink-0 w-full",children:[(0,o.jsx)(n.rs,{disabled:t,checked:i,onChange:l,"data-element-id":"plugins-switch-".concat(i?"enabled":"disabled"),className:s(t?"opacity-50":"",i?"bg-blue-600":"custom-plugins-switch-disabled-state bg-gray-200  dark:bg-zinc-700",c?"h-4 w-7":"h-6 w-11","cursor-default relative inline-flex flex-shrink-0 rounded-full border-2 border-transparent transition-colors duration-200 ease-in-out focus:outline-none focus:ring-2 focus:ring-blue-600 focus:ring-offset-2"),children:(0,o.jsx)("span",{"aria-hidden":"true",className:s(i?c?"translate-x-3":"translate-x-5":"translate-x-0",c?"h-3 w-3":"h-5 w-5","pointer-events-none inline-block transform rounded-full bg-white shadow ring-0 transition duration-200 ease-in-out")})}),r?(0,o.jsxs)("div",{className:"w-full",children:[(0,o.jsx)("div",{className:"ml-2",children:r}),(0,o.jsx)("div",{className:"ml-2 text-gray-500 text-xs w-full",children:a})]}):null]})})}},56472:function(e,t,r){r.d(t,{Z:function(){return O}});var n=r(90116),o=r(59499),s=r(50029),a=r(64687),i=r.n(a),l=r(4361),c=r(89555),u=r(67294),d=r(28344),p=r(85893);function m(e){var t=e.models,r=e.selectedOrModels,o=e.setSelectedOrModels;return(0,p.jsx)("div",{className:"w-full my-2",children:(0,p.jsx)("div",{className:"w-full text-sm max-h-[400px] overflow-auto",children:(0,p.jsxs)("table",{className:"min-w-full bg-white dark:bg-gray-800",children:[(0,p.jsx)("thead",{className:"bg-gray-800 text-white sticky top-0",children:(0,p.jsxs)("tr",{children:[(0,p.jsx)("th",{className:"py-2 px-4 text-left",children:(0,p.jsx)("input",{type:"checkbox",onChange:function(e){e.target.checked?o(t):o([])}})}),(0,p.jsx)("th",{className:"py-2 px-4 text-left",children:(0,p.jsx)(l.cC,{id:"6YtxFj"})}),(0,p.jsx)("th",{className:"py-2 px-4 text-left",children:(0,p.jsx)(l.cC,{id:"wmnTZp"})})]})}),(0,p.jsx)("tbody",{className:"overflow-y-auto",children:t.map(function(e,t){return(0,p.jsxs)("tr",{className:"border-b border-gray-200 hover:bg-gray-100 dark:hover:bg-gray-700 dark:border-gray-600",children:[(0,p.jsx)("td",{className:"py-2 px-4",children:(0,p.jsx)("input",{type:"checkbox",onChange:function(t){t.target.checked?o([].concat((0,n.Z)(r),[e])):o(r.filter(function(t){return t!==e}))},checked:r.includes(e)})}),(0,p.jsxs)("td",{className:"py-2 px-4",children:[(0,p.jsx)("div",{children:e.name}),(0,p.jsx)("div",{className:"text-xs text-gray-500",children:e.id})]}),(0,p.jsx)("td",{className:"py-2 px-4 text-sm",children:(0,p.jsx)("div",{children:(e.context_length||0).toLocaleString()})})]},e.id)})})]})})})}r(68132);var f=r(51617);r(24855);var g=r(49130),h=r(80426),x=r(8529),b=r(57632),y=r(45793);function v(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function j(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?v(Object(r),!0).forEach(function(t){(0,o.Z)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):v(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}var k="Something went wrong. Please try again.",w=[{id:"input-manually",title:"Create Manually"},{id:"import-json",title:"Import JSON"},{id:"import-open-router",title:"Import Open Router"}];function O(e){var t,r,a,v,O,C,_,N,P,S=e.onClose,A=e.customModel,E=e.onAdd,I=e.onUpdate,T=e.error,D=e.loading,M=e.links,Z=e.showIconInput,L=e.showDescriptionInput,K=e.showBrowserRequestMessage,R=e.runTestFromServer,B=e.showClaudeBedrockAPIType,z=(0,u.useState)(!1),J=z[0],H=z[1],F=(0,u.useState)((null==A?void 0:A.id)||(0,b.Z)()),V=F[0],U=F[1],q=(0,u.useState)((null==A?void 0:A.title)||""),Y=q[0],G=q[1],W=(0,u.useState)((null==A?void 0:A.description)||""),X=W[0],Q=W[1],$=(0,u.useState)((null==A?void 0:A.iconUrl)||""),ee=$[0],et=$[1],er=(0,u.useState)((null==A?void 0:A.endpoint)||""),en=er[0],eo=er[1],es=(0,u.useState)((null==A?void 0:A.contextLength)||2048),ea=es[0],ei=es[1],el=(0,u.useState)((null==A?void 0:A.modelID)||""),ec=el[0],eu=el[1],ed=(0,u.useState)((null==A?void 0:A.apiType)||"openai"),ep=ed[0],em=ed[1],ef=(0,u.useState)(null!==(O=null==A?void 0:A.useProxy)&&void 0!==O&&O),eg=ef[0],eh=ef[1],ex=(0,u.useState)(""),eb=ex[0],ey=ex[1],ev=(0,u.useState)(!1),ej=ev[0],ek=ev[1],ew=(0,u.useState)((null==A?void 0:A.headerRows)||[]),eO=ew[0],eC=ew[1],e_=(0,u.useState)((null==A?void 0:A.bodyRows)||[]),eN=e_[0],eP=e_[1],eS=(0,u.useState)(null!==(C=null==A?void 0:A.pluginSupported)&&void 0!==C&&C),eA=eS[0],eE=eS[1],eI=(0,u.useState)(null!==(_=null==A?void 0:A.visionSupported)&&void 0!==_&&_),eT=eI[0],eD=eI[1],eM=(0,u.useState)(null===(N=null==A?void 0:A.systemMessageSupported)||void 0===N||N),eZ=eM[0],eL=eM[1],eK=(0,u.useState)(null===(P=null==A?void 0:A.streamOutputSupported)||void 0===P||P),eR=eK[0],eB=eK[1],ez=(0,u.useState)(!1);ez[0],ez[1];var eJ=(0,u.useState)(w[0].id),eH=eJ[0],eF=eJ[1],eV=(0,u.useState)(""),eU=eV[0],eq=eV[1],eY=(0,u.useState)({}),eG=eY[0],eW=eY[1],eX=(0,u.useState)(""),eQ=eX[0],e$=eX[1],e0=(0,u.useState)([]),e1=e0[0],e2=e0[1],e5=(0,u.useState)([]),e3=e5[0],e4=e5[1],e6=!!A,e9={title:Y,description:X,iconUrl:ee,endpoint:en,id:V,modelID:ec,apiType:ep,contextLength:ea,headerRows:eO,bodyRows:eN,skipAPIKey:!0,pluginSupported:eA,visionSupported:eT,systemMessageSupported:eZ,streamOutputSupported:eR};(0,u.useEffect)(function(){void 0!==T&&ey(T)},[T]),(0,u.useEffect)(function(){ek(!1)},[en,ec,eg,eH,eU]);var e7=function(e){eF(e),U(""),G(""),Q(""),et(""),eo(""),eu(""),em("openai"),ei(2048),eh(!1),eC([]),eP([]),ey(""),eq("")},e8=function(e){var t;return!!((null===(t=e.headerRows)||void 0===t?void 0:t.length)&&["awsAccessKey","awsSecretKey","awsRegion"].every(function(t){return e.headerRows.some(function(e){return e.key===t&&e.value})}))},te=function(e){if(!e||e.length<1)return ey("Please enter JSON content!"),!1;var t={};try{t=JSON.parse(e)}catch(e){return ey("Invalid JSON!"),!1}try{var r,n=["title",(null===(r=t)||void 0===r?void 0:r.apiType)==="bedrock-claude"?null:"endpoint","modelID","apiType","contextLength","pluginSupported","visionSupported"].filter(Boolean),o=["key","value"],s=["key","value","type"];if(!n.every(function(e){return Object.prototype.hasOwnProperty.call(t,e)})){var a=n.find(function(e){return!Object.prototype.hasOwnProperty.call(t,e)});return ey(c.ag._({id:"lRVSrT"})+" ".concat(a)),!1}if(t.headerRows&&t.headerRows.length>0&&!t.headerRows.every(function(e){return o.every(function(t){return t in e})}))return ey(c.ag._({id:"ZHX2Nv"})),!1;if(t.bodyRows&&t.bodyRows.length>0&&!t.bodyRows.every(function(e){return s.every(function(t){return t in e})}))return ey(c.ag._({id:"OvyFOO"})),!1;if("bedrock-claude"===t.apiType&&!e8(t))return ey(c.ag._({id:"EsZXjW"})),!1;return!0}catch(e){return console.error("Error while validating imported json file: ",e),ey(k),!1}},tt=(t=(0,s.Z)(i().mark(function e(){var t,r,n,o,s,a;return i().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(H(!0),ey(""),ek(!1),t={},"import-json"!==eH){e.next=22;break}if(e.prev=5,te(eU)){e.next=11;break}return H(!1),e.abrupt("return");case 11:(t=JSON.parse(eU)).id=(0,b.Z)(),t.skipAPIKey=!0,null!==(r=t)&&void 0!==r&&r.headerRows&&t.headerRows.forEach(function(e){e.id=(0,b.Z)()}),null!==(n=t)&&void 0!==n&&n.bodyRows&&t.bodyRows.forEach(function(e){e.id=(0,b.Z)()}),eW(t);case 17:e.next=22;break;case 19:e.prev=19,e.t0=e.catch(5),console.error("Error while processing json content from importing: ",e.t0);case 22:if(!("input-manually"===eH&&"bedrock-claude"===ep&&!e8(e9))){e.next=26;break}return ey(c.ag._({id:"KtsNzw"})),H(!1),e.abrupt("return");case 26:return e.prev=26,s="import-json"===eH?t:e9,e.next=30,(0,x.u)(j(j({},R?{proxyEndpoint:"/api/hosted/run_test_completions",options:{extras:j({forwardedEndpointForProxy:s.endpoint,customModelHeaderRows:s.headerRows},"bedrock-claude"===s.apiType?{apiType:"bedrock-claude"}:{})}}:{}),{},{model:"import-json"===eH?t.modelID:ec,modelInfo:s,messages:[{role:"user",content:"hello"}]}));case 30:(a=e.sent)&&null!==(o=a.response)&&void 0!==o&&o.content?ek(!0):ey((null==a?void 0:a.error)||c.ag._({id:"Yyo7E4"})),e.next=38;break;case 34:e.prev=34,e.t1=e.catch(26),console.error(e.t1),ey(c.ag._({id:"Rq8+VB"})+e.t1.message);case 38:H(!1);case 39:case"end":return e.stop()}},e,null,[[5,19],[26,34]])})),function(){return t.apply(this,arguments)}),tr=(r=(0,s.Z)(i().mark(function e(){var t;return i().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return H(!0),ey(""),e.prev=2,e.next=5,fetch("https://openrouter.ai/api/v1/chat/completions",{method:"POST",headers:{Authorization:"Bearer ".concat(eQ),"HTTP-Referer":"https://www.typingmind.com","X-Title":"TypingMind.com","Content-Type":"application/json"},body:JSON.stringify({messages:[{role:"system",content:"Test"}]})});case 5:if(!((t=e.sent).status>=401)){e.next=10;break}return ey("Invalid API key. Please check your API key and try again."),H(!1),e.abrupt("return");case 10:if(!(t.status>=400)){e.next=17;break}return e.next=13,t.json();case 13:case 27:return ey(e.sent.userMessage||k),H(!1),e.abrupt("return");case 17:if(t.ok){e.next=21;break}return ey(k),H(!1),e.abrupt("return");case 21:return e.next=23,fetch("https://openrouter.ai/api/v1/models",{method:"GET",headers:{"Content-Type":"application/json"}});case 23:if(!((t=e.sent).status>=400)){e.next=31;break}return e.next=27,t.json();case 31:if(t.ok){e.next=35;break}return ey(k),H(!1),e.abrupt("return");case 35:return e.next=37,t.json();case 37:e2(e.sent.data||[]),e.next=45;break;case 41:e.prev=41,e.t0=e.catch(2),ey(k),console.error("or test failed",e.t0);case 45:H(!1);case 46:case"end":return e.stop()}},e,null,[[2,41]])})),function(){return r.apply(this,arguments)}),tn=(a=(0,s.Z)(i().mark(function e(t){return i().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,E(t.map(function(e){var t;return t={title:e.name,description:X,iconUrl:ee},(0,o.Z)(t,"iconUrl","https://openrouter.ai/icon.png"),(0,o.Z)(t,"endpoint","https://openrouter.ai/api/v1/chat/completions"),(0,o.Z)(t,"id",(0,b.Z)()),(0,o.Z)(t,"modelID",e.id),(0,o.Z)(t,"apiType","openai"),(0,o.Z)(t,"contextLength",e.context_length),(0,o.Z)(t,"headerRows",[{key:"Authorization",value:"Bearer ".concat(eQ)},{key:"X-Title",value:"TypingMind.com"},{key:"HTTP-Referer",value:"https://www.typingmind.com"}].concat((0,n.Z)(eO))),(0,o.Z)(t,"bodyRows",eN),(0,o.Z)(t,"pluginSupported",eA),(0,o.Z)(t,"visionSupported",eT),(0,o.Z)(t,"skipAPIKey",!0),t}));case 2:null==S||S();case 3:case"end":return e.stop()}},e)})),function(e){return a.apply(this,arguments)}),to=(v=(0,s.Z)(i().mark(function e(){return i().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if("import-json"!==eH){e.next=6;break}return e.next=3,E([eG]);case 3:null==S||S(),e.next=29;break;case 6:if(!(("bedrock-claude"===e9.apiType?e8(e9):en)&&Y&&ec&&ep)){e.next=28;break}if(!e6){e.next=12;break}return e.next=10,I(e9);case 10:e.next=14;break;case 12:return e.next=14,E([e9]);case 14:U(""),G(""),Q(""),et(""),eo(""),eu(""),em("openai"),ei(2048),eh(!1),eC([]),eP([]),null==S||S(),e.next=29;break;case 28:ey(c.ag._({id:"wwrAsK"}));case 29:case"end":return e.stop()}},e)})),function(){return v.apply(this,arguments)}),ts=function(){return(0,p.jsxs)("div",{className:(0,y.AK)("space-y-4"),children:[(0,p.jsx)("div",{children:(0,p.jsx)(g.Z,{enabled:eA,setEnabled:eE,label:c.ag._({id:"r41Eim"}),description:c.ag._({id:"dq6am6"})})}),(0,p.jsx)("div",{children:(0,p.jsx)(g.Z,{enabled:eT,setEnabled:eD,label:c.ag._({id:"IHh1FJ"}),description:c.ag._({id:"oOoBur"})})}),(0,p.jsx)("div",{children:(0,p.jsx)(g.Z,{enabled:eZ,setEnabled:eL,label:c.ag._({id:"0PIl7J"}),description:c.ag._({id:"gLOEtC"})})}),(0,p.jsx)("div",{children:(0,p.jsx)(g.Z,{enabled:eR,setEnabled:eB,label:c.ag._({id:"BxntUw"}),description:c.ag._({id:"jdrKSV"})})}),eO.length?(0,p.jsxs)("div",{className:(0,y.AK)("text-base"),children:[(0,p.jsx)("div",{className:"flex items-center justify-between mb-1",children:(0,p.jsx)("label",{className:"block font-medium leading-6",children:(0,p.jsx)(l.cC,{id:"GnfGTT"})})}),(0,p.jsx)("div",{className:"space-y-2",children:eO.map(function(e,t){return(0,p.jsxs)("div",{className:"flex items-center justify-center gap-2",children:[(0,p.jsx)("input",{type:"text",style:{fontSize:"inherit"},placeholder:c.ag._({id:"F6Go3M"}),className:"w-full px-3 py-2 border border-gray-300 dark:border-gray-500 dark:focus:border-blue-500 rounded-md shadow-sm focus:outline-none focus:ring-blue-500 focus:border-blue-500 dark:bg-zinc-700",autoComplete:"off",disabled:J,value:e.key,onChange:function(e){var r=(0,n.Z)(eO);r[t].key=e.target.value,eC(r)}}),(0,p.jsx)("input",{type:"text",style:{fontSize:"inherit"},placeholder:c.ag._({id:"BCL8Ot"}),className:"w-full px-3 py-2 border border-gray-300 dark:border-gray-500 dark:focus:border-blue-500 rounded-md shadow-sm focus:outline-none focus:ring-blue-500 focus:border-blue-500 dark:bg-zinc-700",autoComplete:"off",disabled:J,value:e.value,onChange:function(e){var r=(0,n.Z)(eO);r[t].value=e.target.value,eC(r)}}),(0,p.jsx)(f.Z,{className:"text-red-500 font-semibold min-w-[55px]",onConfirmed:function(){var e=(0,n.Z)(eO);e.splice(t,1),eC(e)},children:(0,p.jsx)(l.cC,{id:"t/YqKh"})})]},e.id||t)})})]}):null,(0,p.jsx)("div",{className:"flex items-center justify-start gap-2",children:(0,p.jsxs)("button",{onClick:function(){eC(function(e){return[].concat((0,n.Z)(e),[{id:(0,b.Z)(),key:"x-header-key",value:c.ag._({id:"BCL8Ot"})}])})},className:"flex items-center justify-start gap-2 text-blue-500 font-semibold hover:underline",children:[(0,p.jsx)(d.wEH,{className:"w-4 h-4"})," ",(0,p.jsx)("span",{children:(0,p.jsx)(l.cC,{id:"iT8p0P"})})]})}),eN.length?(0,p.jsxs)("div",{className:(0,y.AK)("text-base"),children:[(0,p.jsx)("div",{className:"flex items-center justify-between mb-1",children:(0,p.jsx)("label",{className:"block font-medium leading-6",children:(0,p.jsx)(l.cC,{id:"pC7150"})})}),(0,p.jsx)("div",{className:"space-y-2",children:eN.map(function(e,t){return(0,p.jsxs)("div",{className:"flex items-center justify-center gap-2",children:[(0,p.jsxs)("div",{className:"grow grid grid-cols-2 xs:grid-cols-[auto_1fr_1fr] items-center gap-2",children:[(0,p.jsxs)("select",{style:{fontSize:"inherit"},className:"w-full min-w-[100px]  px-3 py-2 border border-gray-300 dark:border-gray-500 dark:focus:border-blue-500 rounded-md shadow-sm focus:outline-none focus:ring-blue-500 focus:border-blue-500 dark:bg-zinc-700",value:e.type,onChange:function(e){var r=(0,n.Z)(eN);r[t].type=e.target.value,eP(r)},children:[(0,p.jsx)("option",{value:"string",children:"string"}),(0,p.jsx)("option",{value:"number",children:"number"}),(0,p.jsx)("option",{value:"boolean",children:"boolean"}),(0,p.jsx)("option",{value:"object",children:"object"})]}),(0,p.jsx)("input",{type:"text",style:{fontSize:"inherit"},placeholder:c.ag._({id:"8B+pY5"}),className:"w-full px-3 py-2 border border-gray-300 dark:border-gray-500 dark:focus:border-blue-500 rounded-md shadow-sm focus:outline-none focus:ring-blue-500 focus:border-blue-500 sm:text-sm dark:bg-zinc-700",autoComplete:"off",disabled:J,value:e.key,onChange:function(e){var r=(0,n.Z)(eN);r[t].key=e.target.value,eP(r)}}),(0,p.jsx)("input",{type:"text",style:{fontSize:"inherit"},placeholder:c.ag._({id:"i+CFi4"}),className:"w-full col-span-2 xs:col-span-1 px-3 py-2 border border-gray-300 dark:border-gray-500 dark:focus:border-blue-500 rounded-md shadow-sm focus:outline-none focus:ring-blue-500 focus:border-blue-500 sm:text-sm dark:bg-zinc-700",autoComplete:"off",disabled:J,value:e.value,onChange:function(e){var r=(0,n.Z)(eN);r[t].value=e.target.value,eP(r)}})]}),(0,p.jsx)(f.Z,{className:"text-red-500 font-semibold min-w-[55px]",onConfirmed:function(){var e=(0,n.Z)(eN);e.splice(t,1),eP(e)},children:(0,p.jsx)(l.cC,{id:"t/YqKh"})})]},e.id)})})]}):null,(0,p.jsx)("div",{className:"flex items-center justify-start gap-2",children:(0,p.jsxs)("button",{onClick:function(){eP(function(e){return[].concat((0,n.Z)(e),[{id:(0,b.Z)(),key:"Key",value:"Value",type:"string"}])})},className:"flex items-center justify-start gap-2 text-blue-500 font-semibold hover:underline",children:[(0,p.jsx)(d.wEH,{className:"w-4 h-4"})," ",(0,p.jsx)("span",{children:(0,p.jsx)(l.cC,{id:"6clT5o"})})]})})]})};return(0,p.jsxs)("div",{className:(0,y.AK)("space-y-4 flex items-start justify-center gap-4 w-full flex-col sm:flex-row"),children:[(0,p.jsxs)("div",{className:"w-full",children:[!e6&&(0,p.jsx)(p.Fragment,{children:(0,p.jsxs)("fieldset",{children:[(0,p.jsx)("legend",{className:"sr-only",children:"Input Options"}),(0,p.jsx)("div",{className:"flex flex-col gap-2 sm:flex-row",children:w.map(function(e){return(0,p.jsxs)("div",{className:"flex items-center",children:[(0,p.jsx)("input",{id:e.id,name:"input-method",type:"radio",defaultChecked:e.id===eH,className:"h-4 w-4 border-gray-300 text-blue-600 focus:ring-blue-600 cursor-pointer disabled:cursor-not-allowed",onClick:function(){return e7(e.id)},disabled:J}),(0,p.jsx)("label",{htmlFor:e.id,className:(0,y.AK)(J?"text-gray-400":"text-gray-900 dark:text-gray-50","ml-1 block font-medium leading-6  cursor-pointer text-sm"),children:e.title})]},e.id)})})]})}),"import-open-router"===eH&&(0,p.jsx)("div",{className:(0,y.AK)("flex flex-col w-full mx-auto my-4"),children:(0,p.jsxs)("div",{children:[(0,p.jsxs)("div",{className:" flex items-center justify-center gap-2",children:[(0,p.jsx)("input",{type:"password",disabled:J,value:eQ,onChange:function(e){return e$(e.target.value)},placeholder:c.ag._({id:"hITuUq"}),className:"w-full appearance-none block px-3 py-2 border border-gray-300 dark:border-gray-500 dark:focus:border-blue-500 dark:bg-zinc-700 rounded-md shadow-sm placeholder-gray-400 focus:outline-none focus:ring-blue-600 focus:border-blue-600 sm:text-sm disabled:text-gray-500 text-black",onKeyDown:function(e){"Enter"===e.key&&(e.preventDefault(),tr())}}),(0,p.jsxs)("button",{onClick:tr,type:"submit",className:"inline-flex items-center px-4 py-2 border border-transparent text-sm font-medium rounded-md shadow-sm text-white bg-blue-600 hover:bg-blue-700 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-blue-500 disabled:bg-gray-400 gap-2 flex-shrink-0",disabled:J,children:[J?(0,p.jsx)(h.Z,{}):"→",(0,p.jsx)("span",{children:(0,p.jsx)(l.cC,{id:"q9j23+"})})]})]}),e1.length?(0,p.jsxs)("div",{children:[(0,p.jsx)(m,{models:e1,onModelsSelected:tn,selectedOrModels:e3,setSelectedOrModels:e4}),ts(),(0,p.jsx)("div",{className:"w-full text-center my-4",children:(0,p.jsxs)("button",{onClick:function(){return tn(e3)},disabled:0===e3.length||D,type:"submit",className:"inline-flex items-center px-4 py-2 border border-transparent text-sm font-medium rounded-md shadow-sm text-white bg-blue-600 hover:bg-blue-700 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-blue-500 disabled:bg-gray-400 gap-2 flex-shrink-0",children:[D?(0,p.jsx)(h.Z,{}):null,(0,p.jsx)(l.cC,{id:"D8LFE+",values:{0:e3.length}})]})})]}):null]})}),"import-json"===eH&&(0,p.jsx)("div",{className:(0,y.AK)("flex flex-col w-full mx-auto my-4 "),children:(0,p.jsxs)("div",{children:[(0,p.jsx)("label",{htmlFor:"json-file",className:"block text-xs leading-6 text-gray-500 sr-only",children:(0,p.jsx)(l.cC,{id:"leS9hw"})}),(0,p.jsx)("div",{className:"",children:(0,p.jsx)("textarea",{onChange:function(e){return eq(e.target.value)},type:"text",name:"json-file",id:"json-file",style:{fontSize:"inherit"},className:"bg-gray-50 dark:bg-gray-800 hover:border-blue-400 cursor-default block w-full rounded-md border-0 py-1.5 text-gray-900 shadow-sm ring-1 ring-inset ring-gray-300 dark:ring-gray-500 dark:focus:ring-blue-500 placeholder:text-gray-400 focus:ring-2 focus:ring-inset focus:ring-blue-500 sm:leading-6 dark:text-white",placeholder:"Enter your JSON content here",rows:10})})]})}),"input-manually"===eH&&(0,p.jsxs)("div",{className:(0,y.AK)("bg-gray-50 border border-gray-300 dark:border-gray-500 p-3 dark:bg-gray-800 rounded-lg space-y-3 my-4 text-base p-3 md:p-4"),children:[(0,p.jsxs)("div",{children:[(0,p.jsx)("div",{className:"flex items-center justify-between mb-1",children:(0,p.jsx)("label",{className:"block font-medium leading-6",children:(0,p.jsx)(l.cC,{id:"6YtxFj"})})}),(0,p.jsx)("input",{type:"text",placeholder:"e.g., GPT4All",style:{fontSize:"inherit"},className:"text-sm w-full px-3 py-2 border border-gray-300 dark:border-gray-500 dark:focus:border-blue-500 rounded-md shadow-sm focus:outline-none focus:ring-blue-500 focus:border-blue-500 dark:bg-zinc-700",value:Y,onChange:function(e){return G(e.target.value)},disabled:J})]}),(0,p.jsxs)("div",{children:[(0,p.jsx)("div",{className:"flex items-center justify-between mb-1",children:(0,p.jsx)("label",{className:"block font-medium leading-6",children:(0,p.jsx)(l.cC,{id:"KHn76P"})})}),(0,p.jsxs)("select",{style:{fontSize:"inherit"},className:"text-sm w-full px-3 py-2 border border-gray-300 dark:border-gray-500 dark:focus:border-blue-500 rounded-md shadow-sm focus:outline-none focus:ring-blue-500 focus:border-blue-500 dark:bg-zinc-700",value:ep,onChange:function(e){var t=e.target.value;"bedrock-claude"===t&&eC([{id:(0,b.Z)(),key:"awsAccessKey",value:""},{id:(0,b.Z)(),key:"awsSecretKey",value:""},{id:(0,b.Z)(),key:"awsRegion",value:""}]),em(t)},disabled:J,children:[(0,p.jsx)("option",{value:"openai",children:"OpenAI Compatible API"}),void 0!==B&&B&&(0,p.jsx)("option",{value:"bedrock-claude",children:"Claude via Bedrock"})]})]}),Z&&(0,p.jsxs)("div",{children:[(0,p.jsx)("div",{className:"flex items-center justify-between mb-1",children:(0,p.jsxs)("label",{className:"block font-medium leading-6",children:[(0,p.jsx)(l.cC,{id:"bd1Kuw"})," (Optional)"]})}),(0,p.jsx)("input",{type:"text",style:{fontSize:"inherit"},placeholder:"https://...",className:"w-full px-3 py-2 border border-gray-300 dark:border-gray-500 dark:focus:border-blue-500 rounded-md shadow-sm focus:outline-none focus:ring-blue-500 focus:border-blue-500 dark:bg-zinc-700",value:ee,onChange:function(e){return et(e.target.value)},disabled:J})]}),L&&(0,p.jsxs)("div",{children:[(0,p.jsx)("div",{className:"flex items-center justify-between mb-1",children:(0,p.jsx)("label",{className:"block font-medium leading-6",children:(0,p.jsx)(l.cC,{id:"Nu4oKW"})})}),(0,p.jsx)("input",{type:"text",style:{fontSize:"inherit"},placeholder:"e.g., Suitable for simple creative writing tasks",className:"w-full px-3 py-2 border border-gray-300 dark:border-gray-500 dark:focus:border-blue-500 rounded-md shadow-sm focus:outline-none focus:ring-blue-500 focus:border-blue-500 sm:text-sm dark:bg-zinc-700",value:X,onChange:function(e){return Q(e.target.value)},disabled:J})]}),"bedrock-claude"===ep?null:(0,p.jsxs)("div",{children:[(0,p.jsxs)("div",{className:"flex items-center justify-between mb-1",children:[(0,p.jsx)("label",{className:"block font-medium leading-6",children:(0,p.jsx)(l.cC,{id:"FCKppt"})}),(0,p.jsx)("div",{className:"text-xs text-right",children:(0,p.jsx)(l.cC,{id:"b1cX7J"})})]}),(0,p.jsx)("input",{type:"text",style:{fontSize:"inherit"},placeholder:"http://localhost:8080/v1/completions",className:"w-full px-3 py-2 border border-gray-300 dark:border-gray-500 dark:focus:border-blue-500 rounded-md shadow-sm focus:outline-none focus:ring-blue-500 focus:border-blue-500 dark:bg-zinc-700",value:en,autoComplete:"off",onChange:function(e){return eo(e.target.value)},disabled:J})]}),(0,p.jsxs)("div",{className:"flex items-center justify-center gap-2",children:[(0,p.jsxs)("div",{className:"w-full",children:[(0,p.jsx)("div",{className:"flex items-center justify-between mb-1",children:(0,p.jsx)("label",{className:"block font-medium leading-6",children:(0,p.jsx)(l.cC,{id:"IzB3v0"})})}),(0,p.jsx)("input",{type:"text",style:{fontSize:"inherit"},placeholder:"e.g., ggml-gpt4all-j-v1.3-groovy.bin",className:"w-full px-3 py-2 border border-gray-300 dark:border-gray-500 dark:focus:border-blue-500 rounded-md shadow-sm focus:outline-none focus:ring-blue-500 focus:border-blue-500 dark:bg-zinc-700",autoComplete:"off",value:ec,onChange:function(e){return eu(e.target.value)},disabled:J})]}),(0,p.jsxs)("div",{children:[(0,p.jsx)("div",{className:"flex items-center justify-between mb-1",children:(0,p.jsx)("label",{className:"block font-medium leading-6",children:(0,p.jsx)(l.cC,{id:"wmnTZp"})})}),(0,p.jsx)("input",{type:"text",placeholder:"e.g., 2048",style:{fontSize:"inherit"},className:"w-full px-3 py-2 border border-gray-300 dark:border-gray-500 dark:focus:border-blue-500 rounded-md shadow-sm focus:outline-none focus:ring-blue-500 focus:border-blue-500 dark:bg-zinc-700",autoComplete:"off",value:ea,onChange:function(e){return ei(Number(e.target.value)||0)},disabled:J})]})]}),ts()]}),K?(0,p.jsx)("div",{className:(0,y.AK)("text-gray-500 mt-4","text-sm"),children:(0,p.jsx)(l.cC,{id:"lY4/S/"})}):null,eb?(0,p.jsx)("div",{className:"text-red-500 text-sm",children:eb}):ej?(0,p.jsx)("div",{className:"text-green-500 font-semibold text-sm text-center",children:(0,p.jsx)(l.cC,{id:"UcAV3Q"})}):null,"import-open-router"===eH?null:(0,p.jsxs)("div",{className:"text-center flex items-center justify-center gap-2 mt-4",children:[(0,p.jsxs)("button",{onClick:tt,type:"submit",className:"inline-flex items-center px-4 py-2 border border-transparent text-base font-medium rounded-md shadow-sm text-white bg-blue-600 hover:bg-blue-700 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-blue-500 disabled:bg-gray-400 gap-2",disabled:J,children:[J?(0,p.jsx)(h.Z,{}):"⚡",(0,p.jsx)("span",{children:(0,p.jsx)(l.cC,{id:"NnH3pK"})})]}),(0,p.jsxs)("button",{onClick:to,type:"submit",className:"inline-flex items-center px-4 py-2 border border-transparent text-base font-medium rounded-md shadow-sm text-white bg-green-600 hover:bg-green-700 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-green-500 disabled:bg-gray-400 gap-2",disabled:!ej||D,children:[D?(0,p.jsx)(h.Z,{}):A?null:(0,p.jsx)(d.wEH,{className:"w-4 h-4"}),(0,p.jsx)("span",{children:A?"Update Model":"Add Model"})]})]}),(0,p.jsx)("div",{className:"text-center",children:(0,p.jsx)("button",{onClick:S,type:"submit",className:"inline-flex items-center px-4 py-2 border border-transparent text-sm font-medium rounded-md text-gray-500 focus:outline-none focus:ring-2 focus:ring-offset-2 disabled:bg-gray-400 gap-2",children:(0,p.jsx)("span",{children:(0,p.jsx)(l.cC,{id:"dEgA5A"})})})})]}),(0,p.jsxs)("div",{children:[(0,p.jsxs)("div",{className:"text-lg flex items-center justify-start gap-2",children:[(0,p.jsx)(d.Zlu,{className:"w-4 h-4"}),(0,p.jsx)("span",{children:(0,p.jsx)(l.cC,{id:"Xc27gb"})})]}),(0,p.jsxs)("div",{className:(0,y.AK)(" mt-4 flex flex-col flex-wrap gap-2","text-sm"),children:[(0,p.jsxs)("a",{className:"text-blue-900 hover:bg-blue-300 px-2 py-1 rounded-md bg-blue-200 inline-block transition-colors",target:"_blank",rel:"noreferrer",href:(null==M?void 0:M.docsCustomModels)||"https://docs.typingmind.com/chat-models-settings/use-with-mistral-ai",children:["→ ",(0,p.jsx)(l.cC,{id:"lXJuyl"})]}),(0,p.jsxs)("a",{className:"text-blue-900 hover:bg-blue-300 px-2 py-1 rounded-md bg-blue-200 inline-block transition-colors",target:"_blank",rel:"noreferrer",href:(null==M?void 0:M.docsOpenRouter)||"https://docs.typingmind.com/other-resources/how-tos/how-to-use-open-router-models-on-typing-mind",children:["→ ",(0,p.jsx)(l.cC,{id:"seLMUl"})]}),(0,p.jsxs)("a",{className:"text-blue-900 hover:bg-blue-300 px-2 py-1 rounded-md bg-blue-200 inline-block transition-colors",target:"_blank",rel:"noreferrer",href:(null==M?void 0:M.docsPerplexity)||"https://docs.typingmind.com/chat-models-settings/use-with-perplexity-ai",children:["→ ",(0,p.jsx)(l.cC,{id:"hgrGkS"})]}),(0,p.jsxs)("a",{className:"text-blue-900 hover:bg-blue-300 px-2 py-1 rounded-md bg-blue-200 inline-block transition-colors",target:"_blank",rel:"noreferrer",href:(null==M?void 0:M.docsAzureOpenAI)||"https://docs.typingmind.com/other-resources/how-tos/use-azure-openai-on-typingmind.com",children:["→ ",(0,p.jsx)(l.cC,{id:"hksWkB"})]}),(0,p.jsxs)("a",{className:"text-blue-900 hover:bg-blue-300 px-2 py-1 rounded-md bg-blue-200 inline-block transition-colors",target:"_blank",rel:"noreferrer",href:(null==M?void 0:M.docsCustomModels)||"https://docs.typingmind.com/other-resources/use-custom-models-or-local-models-in-typing-mind-(vicuna-alpaca-llama-gpt4all-dolly-etc.)",children:["→"," ",(0,p.jsx)(l.cC,{id:"j8TVcH"})]}),(0,p.jsxs)("a",{className:"text-blue-900 hover:bg-blue-300 px-2 py-1 rounded-md bg-blue-200 inline-block transition-colors",target:"_blank",rel:"noreferrer",href:(null==M?void 0:M.docsCustomModels)||"https://docs.typingmind.com/chat-models-settings/use-with-ollama-(local-models:-llava-llama2-mistral-orca-etc.)",children:["→"," ",(0,p.jsx)(l.cC,{id:"NIhxhS"})]})]})]})]})}},9517:function(e,t,r){r(67294);var n=r(60887),o=r(85893);t.Z=function(e){var t=e.onDragEnd,r=e.children,s=e.onDragStart,a=e.onDragOver,i=(0,n.Dy)((0,n.VT)(n.MA,{activationConstraint:{distance:15}}),(0,n.VT)(n.LO,{activationConstraint:{delay:200,tolerance:5}}));return(0,o.jsx)(n.LB,{sensors:i,onDragEnd:t,onDragStart:s,onDragOver:a,children:r})}},55935:function(e,t,r){r.d(t,{Z:function(){return c}});var n=r(89555),o=r(79804),s=r(52649),a=r(22552),i=r(45793),l=r(85893);function c(e){var t=e.modelInfo;return(0,l.jsxs)("div",{className:"flex items-center justify-start gap-3",children:[t.pluginSupported?(0,l.jsx)(s.bTI,{"data-tooltip-id":"global","data-tooltip-content":n.ag._({id:"heVD0V"}),className:"text-blue-500 w-4 h-4"}):null,t.visionSupported?(0,l.jsx)(o.w8I,{"data-tooltip-id":"global","data-tooltip-content":n.ag._({id:"hs6G7P"}),className:"text-orange-500 w-4 h-4"}):null,(0,l.jsxs)("div",{"data-tooltip-id":"global","data-tooltip-content":n.ag._({id:"DsE/2T",values:{0:(0,i.bS)(t.contextLength)}}),className:"flex items-center justify-start gap-1 w-12",children:[(0,l.jsx)(a.DC3,{className:"text-green-500 w-4 h-4 flex-shrink-0"}),(0,l.jsx)("span",{className:"text-xs text-gray-500",children:(0,i.bS)(t.contextLength)})]})]})}},84660:function(e,t,r){r.d(t,{Z:function(){return f}});var n=r(59499),o=r(45793),s=r(4361),a=r(49130),i=r(67294),l=r(85893);function c(e){var t=e.defaultValue,r=e.onChange,n=e.jsonObjectOnly,a=void 0!==n&&n,c=(0,i.useState)(t),u=c[0],d=c[1],p=u!==t,m=!a||function(){try{var e=JSON.parse(u);if("object"!=typeof e||Array.isArray(e))return!1;return!0}catch(e){return!1}}();return(0,l.jsxs)("div",{children:[p?(0,l.jsx)("div",{className:"text-xs text-orange-500 mb-1",children:(0,l.jsx)(s.cC,{id:"ICsA6P"})}):null,a&&!m?(0,l.jsx)("div",{className:"text-xs text-red-500 mb-1",children:(0,l.jsx)(s.cC,{id:"TlBnce"})}):null,(0,l.jsx)("textarea",{type:"text",placeholder:'{ "max_tokens": 1000 }',className:(0,o.AK)("w-full px-3 py-1.5 border rounded-md shadow-sm focus:outline-none sm:text-sm dark:bg-zinc-700  disabled:text-gray-500",p?"border-orange-500 dark:border-orange-900/20 focus:ring-orange-500 focus:border-orange-500 ":"border-gray-300 dark:border-white/20 focus:ring-blue-500 focus:border-blue-500 "),value:u,autoComplete:"off",onChange:function(e){return d(e.target.value)}}),p?(0,l.jsxs)("div",{className:"flex items-center justify-start gap-2 my-2",children:[(0,l.jsx)("button",{onClick:function(){r(u)},type:"submit",className:"inline-flex items-center px-3 py-1.5 border border-transparent text-sm font-medium rounded-md shadow-sm text-white bg-green-600 hover:bg-green-700 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-green-500 disabled:bg-gray-400 gap-2",children:(0,l.jsx)("span",{children:(0,l.jsx)(s.cC,{id:"tfDRzk"})})}),(0,l.jsx)("button",{onClick:function(){d(t)},type:"submit",className:"inline-flex items-center px-3 py-1.5 border border-transparent text-sm font-medium rounded-md shadow-sm text-white bg-red-600 hover:bg-red-700 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-red-500 disabled:bg-gray-400 gap-2",children:(0,l.jsx)("span",{children:(0,l.jsx)(s.cC,{id:"bzSI52"})})})]}):null]})}function u(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function d(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?u(Object(r),!0).forEach(function(t){(0,n.Z)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):u(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}var p=[{label:"none",value:"BLOCK_NONE"},{label:"few",value:"BLOCK_ONLY_HIGH"},{label:"some",value:"BLOCK_MEDIUM_AND_ABOVE"},{label:"most",value:"BLOCK_LOW_AND_ABOVE"}];p.forEach(function(e,t){p[e.value]=t});var m=[{label:{id:"EyQMHI"},name:"HARM_CATEGORY_HARASSMENT",defaultValue:"BLOCK_MEDIUM_AND_ABOVE"},{label:{id:"LoVB/U"},name:"HARM_CATEGORY_HATE_SPEECH",defaultValue:"BLOCK_MEDIUM_AND_ABOVE"},{label:{id:"xwwTVi"},name:"HARM_CATEGORY_SEXUALLY_EXPLICIT",defaultValue:"BLOCK_MEDIUM_AND_ABOVE"},{label:{id:"+xHY/f"},name:"HARM_CATEGORY_DANGEROUS_CONTENT",defaultValue:"BLOCK_MEDIUM_AND_ABOVE"}];function f(e){var t=e.temperature,r=e.presencePenalty,i=e.frequencyPenalty,u=e.topP,f=e.topK,g=e.maxTokens,h=e.safetySettings,x=e.promptCachingEnabled,b=e.contextLimit,y=e.setTemperature,v=e.setPresencePenalty,j=e.setFrequencyPenalty,k=e.setTopP,w=e.setTopK,O=e.setMaxTokens,C=e.setSafetySettings,_=e.setPromptCachingEnabled,N=e.setContextLimit,P=e.extraModelParamsEnabled,S=e.setExtraModelParamsEnabled,A=e.extraModelParamsJSON,E=e.setExtraModelParamsJSON,I=e.supportedParameters,T=void 0===I?[]:I,D=e.allowCustomParams,M=(0,s.mV)().i18n;return(0,l.jsxs)("div",{className:"space-y-4",children:[T.includes("contextLimit")&&(0,l.jsxs)("div",{children:[(0,l.jsxs)("div",{className:"font-semibold space-x-2",children:[(0,l.jsxs)("span",{children:[(0,l.jsx)(s.cC,{id:"w7l4QY"})," ",0===Number(b)?M._({id:"kS/gaE"}):b]}),(0,l.jsxs)("button",{onClick:function(){return N(0)},className:"text-blue-500 hover:underline text-xs",children:["(",(0,l.jsx)(s.cC,{id:"L+rMC9"}),")"]})]}),(0,l.jsx)("div",{className:"text-xs text-gray-500 mt-1 mb-2",children:(0,l.jsx)(s.cC,{id:"k2UV77"})}),(0,l.jsx)("select",{"data-element-id":"context-limit-select",className:"block w-full rounded-md border-0 py-1.5 pl-3 pr-10 text-gray-900 dark:text-white dark:bg-zinc-800 ring-1 ring-inset ring-gray-300 dark:ring-gray-500 dark:focus:ring-blue-500 focus:ring-2 focus:ring-blue-600 sm:text-sm sm:leading-6",value:b,onChange:function(e){return N(Number(e.target.value))},children:Array.from(Array(101).keys()).map(function(e){return(0,l.jsx)("option",{value:e,children:0===e?(0,l.jsx)(s.cC,{id:"98vSRA"}):(0,l.jsx)(s.cC,{id:"rt+E3q",values:{i:e}})},e)})})]}),T.includes("temperature")&&(0,l.jsxs)("div",{children:[(0,l.jsxs)("div",{className:"font-semibold space-x-2",children:[(0,l.jsx)("span",{children:(0,l.jsx)(s.cC,{id:"r6Q6b1",values:{0:null===t?M._({id:"23umQ0"}):t}})}),null===t?(0,l.jsxs)("button",{onClick:function(){return y(1)},className:"text-blue-500 hover:underline text-xs",children:["(",(0,l.jsx)(s.cC,{id:"o+XJ9D"}),")"]}):(0,l.jsxs)("button",{onClick:function(){return y(null)},className:"text-blue-500 hover:underline text-xs",children:["(",(0,l.jsx)(s.cC,{id:"L+rMC9"}),")"]})]}),(0,l.jsx)("div",{className:"text-xs text-gray-500 my-1",children:(0,l.jsx)(s.cC,{id:"ScdGLq"})}),null!==t&&(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)("input",{type:"range",className:"transparent h-1.5 w-full cursor-pointer appearance-none rounded-lg border-transparent bg-neutral-200",value:t,min:0,max:2,step:.01,onChange:function(e){return y(parseFloat(e.target.value,10))}}),(0,l.jsxs)("div",{className:"flex items-center justify-between font-semibold text-gray-500",children:[(0,l.jsx)("div",{children:(0,l.jsx)(s.cC,{id:"6LWacs"})}),(0,l.jsx)("div",{children:(0,l.jsx)(s.cC,{id:"proQUv"})}),(0,l.jsx)("div",{children:(0,l.jsx)(s.cC,{id:"0xD/Jm"})})]})]})]}),T.includes("presencePenalty")&&(0,l.jsxs)("div",{children:[(0,l.jsxs)("div",{className:"font-semibold space-x-2",children:[(0,l.jsx)("span",{children:(0,l.jsx)(s.cC,{id:"J7wKTg",values:{0:null===r?M._({id:"23umQ0"}):r}})}),null===r?(0,l.jsxs)("button",{onClick:function(){return v(0)},className:"text-blue-500 hover:underline text-xs",children:["(",(0,l.jsx)(s.cC,{id:"o+XJ9D"}),")"]}):(0,l.jsxs)("button",{onClick:function(){return v(null)},className:"text-blue-500 hover:underline text-xs",children:["(",(0,l.jsx)(s.cC,{id:"L+rMC9"}),")"]})]}),(0,l.jsx)("div",{className:"text-xs text-gray-500 my-1",children:(0,l.jsx)(s.cC,{id:"ED63fq"})}),null!==r&&(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)("input",{type:"range",className:"transparent h-1.5 w-full cursor-pointer appearance-none rounded-lg border-transparent bg-neutral-200",value:r,min:0,max:2,step:.01,onChange:function(e){return v(parseFloat(e.target.value,10))}}),(0,l.jsxs)("div",{className:"flex items-center justify-between font-semibold text-gray-500",children:[(0,l.jsx)("div",{children:(0,l.jsx)(s.cC,{id:"kJygHz"})}),(0,l.jsx)("div",{children:(0,l.jsx)(s.cC,{id:"9ElpTL"})})]})]})]}),T.includes("frequencyPenalty")&&(0,l.jsxs)("div",{children:[(0,l.jsxs)("div",{className:"font-semibold space-x-2",children:[(0,l.jsx)("span",{children:(0,l.jsx)(s.cC,{id:"p1i5jO",values:{0:null===i?M._({id:"23umQ0"}):i}})}),null===i?(0,l.jsxs)("button",{onClick:function(){return j(0)},className:"text-blue-500 hover:underline text-xs",children:["(",(0,l.jsx)(s.cC,{id:"o+XJ9D"}),")"]}):(0,l.jsxs)("button",{onClick:function(){return j(null)},className:"text-blue-500 hover:underline text-xs",children:["(",(0,l.jsx)(s.cC,{id:"L+rMC9"}),")"]})]}),(0,l.jsx)("div",{className:"text-xs text-gray-500 my-1",children:(0,l.jsx)(s.cC,{id:"lIWqIu"})}),null!==i&&(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)("input",{type:"range",className:"transparent h-1.5 w-full cursor-pointer appearance-none rounded-lg border-transparent bg-neutral-200",value:i,min:0,max:2,step:.01,onChange:function(e){return j(parseFloat(e.target.value,10))}}),(0,l.jsxs)("div",{className:"flex items-center justify-between font-semibold text-gray-500",children:[(0,l.jsx)("div",{children:(0,l.jsx)(s.cC,{id:"kJygHz"})}),(0,l.jsx)("div",{children:(0,l.jsx)(s.cC,{id:"ypjVz9"})})]})]})]}),T.includes("topP")&&(0,l.jsxs)("div",{children:[(0,l.jsxs)("div",{className:"font-semibold space-x-2",children:[(0,l.jsx)("span",{children:(0,l.jsx)(s.cC,{id:"fvdi5P",values:{0:null===u?M._({id:"23umQ0"}):u}})}),null===u?(0,l.jsxs)("button",{onClick:function(){return k(1)},className:"text-blue-500 hover:underline text-xs",children:["(",(0,l.jsx)(s.cC,{id:"o+XJ9D"}),")"]}):(0,l.jsxs)("button",{onClick:function(){return k(null)},className:"text-blue-500 hover:underline text-xs",children:["(",(0,l.jsx)(s.cC,{id:"L+rMC9"}),")"]})]}),(0,l.jsx)("div",{className:"text-xs text-gray-500 my-1",children:(0,l.jsx)(s.cC,{id:"p1aRIt"})}),null!==u&&(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)("input",{type:"range",className:"transparent h-1.5 w-full cursor-pointer appearance-none rounded-lg border-transparent bg-neutral-200",value:u,min:0,max:1,step:.01,onChange:function(e){return k(parseFloat(e.target.value,10))}}),(0,l.jsxs)("div",{className:"flex items-center justify-between font-semibold text-gray-500",children:[(0,l.jsx)("div",{children:(0,l.jsx)(s.cC,{id:"6LWacs"})}),(0,l.jsx)("div",{children:(0,l.jsx)(s.cC,{id:"0xD/Jm"})})]})]})]}),T.includes("topK")&&(0,l.jsxs)("div",{children:[(0,l.jsxs)("div",{className:"font-semibold space-x-2",children:[(0,l.jsx)("span",{children:(0,l.jsx)(s.cC,{id:"VhAZmC",values:{0:null===f?M._({id:"23umQ0"}):f}})}),null===f?(0,l.jsxs)("button",{onClick:function(){return w("5")},className:"text-blue-500 hover:underline text-xs",children:["(",(0,l.jsx)(s.cC,{id:"o+XJ9D"}),")"]}):(0,l.jsxs)("button",{onClick:function(){return w(null)},className:"text-blue-500 hover:underline text-xs",children:["(",(0,l.jsx)(s.cC,{id:"L+rMC9"}),")"]})]}),(0,l.jsx)("div",{className:"text-xs text-gray-500 my-1",children:(0,l.jsx)(s.cC,{id:"FjIVLO"})}),null!==f&&(0,l.jsx)("input",{type:"number",className:"mt-2 block w-full rounded-md border-0 py-1.5 px-3 text-gray-900 ring-1 ring-inset ring-gray-300 focus:ring-2 focus:ring-blue-600 sm:text-sm sm:leading-6 dark:bg-zinc-700 dark:text-white disabled:text-gray-500",value:f,min:0,step:1,onChange:function(e){return w(e.target.value)},placeholder:"5"})]}),T.includes("maxTokens")&&(0,l.jsxs)("div",{children:[(0,l.jsxs)("div",{className:"font-semibold space-x-2",children:[(0,l.jsx)("span",{children:(0,l.jsx)(s.cC,{id:"7FWkv7",values:{0:null===g?M._({id:"23umQ0"}):g}})}),null===g?(0,l.jsxs)("button",{onClick:function(){return O("1000")},className:"text-blue-500 hover:underline text-xs",children:["(",(0,l.jsx)(s.cC,{id:"o+XJ9D"}),")"]}):(0,l.jsxs)("button",{onClick:function(){return O(null)},className:"text-blue-500 hover:underline text-xs",children:["(",(0,l.jsx)(s.cC,{id:"L+rMC9"}),")"]})]}),(0,l.jsx)("div",{className:"text-xs text-gray-500 my-1",children:(0,l.jsx)(s.cC,{id:"LSy+DK"})}),null!==g&&(0,l.jsx)("input",{type:"number",className:"mt-2 block w-full rounded-md border-0 py-1.5 px-3 text-gray-900 ring-1 ring-inset ring-gray-300 focus:ring-2 focus:ring-blue-600 sm:text-sm sm:leading-6 dark:bg-zinc-700 dark:text-white disabled:text-gray-500",value:g,min:0,onChange:function(e){return O(e.target.value)},placeholder:"1000"})]}),T.includes("safetySettings")&&(0,l.jsxs)("div",{children:[(0,l.jsxs)("div",{className:"font-semibold space-x-2",children:[(0,l.jsxs)("span",{className:" align-middle",children:[(0,l.jsx)(s.cC,{id:"Wt3M+q"})," ",null===h?M._({id:"23umQ0"}):M._({id:"8Tg/JR"})]}),null===h?(0,l.jsxs)("button",{onClick:function(){return C(m.reduce(function(e,t){return d(d({},e),{},(0,n.Z)({},t.name,t.defaultValue))},{}))},className:"text-blue-500 hover:underline text-xs align-middle",children:["(",(0,l.jsx)(s.cC,{id:"o+XJ9D"}),")"]}):(0,l.jsxs)("button",{onClick:function(){return C(null)},className:"text-blue-500 hover:underline text-xs align-middle",children:["(",(0,l.jsx)(s.cC,{id:"L+rMC9"}),")"]})]}),(0,l.jsx)("div",{className:"text-xs text-gray-500 my-1",children:(0,l.jsx)(s.cC,{id:"ArkuA2"})}),null!==h&&(0,l.jsx)("div",{className:"mt-2 space-y-4",children:m.map(function(e){return(0,l.jsxs)("label",{className:"block",children:[(0,l.jsxs)("div",{className:"flex items-center",children:[(0,l.jsx)("p",{className:"min-w-[120px]",children:M._(e.label)}),(0,l.jsx)("input",{type:"range",className:"transparent h-1.5 w-full cursor-pointer appearance-none rounded-lg border-transparent bg-neutral-200",min:0,max:3,step:1,value:p[null==h?void 0:h[e.name]],onChange:function(t){C(d(d({},h),{},(0,n.Z)({},e.name,p[t.target.value].value)))}})]}),(0,l.jsxs)("div",{className:"flex items-center",children:[(0,l.jsx)("p",{className:"min-w-[120px]"}),(0,l.jsx)("div",{className:"w-full grid grid-cols-6 font-semibold text-gray-500 text-xs",children:p.map(function(e,t){return(0,l.jsxs)("div",{className:(0,o.AK)("text-center min-w-0 col-span-2",0===t&&"!text-left !col-span-1",t===p.length-1&&"!text-right !col-span-1"),children:[0===t&&"Block"," ",e.label]})})})]})]},e.name)})})]}),T.includes("promptCachingEnabled")&&(0,l.jsxs)("div",{children:[(0,l.jsxs)("div",{className:"font-semibold space-x-2 flex items-center",children:[(0,l.jsx)("span",{children:(0,l.jsx)(s.cC,{id:"Ax3Odx"})}),(0,l.jsx)(a.Z,{small:!0,enabled:x,setEnabled:_})]}),(0,l.jsx)("div",{className:"text-xs text-gray-500 my-1",children:(0,l.jsx)(s.cC,{id:"I4xXUB"})})]}),void 0!==D&&D?(0,l.jsxs)("div",{children:[(0,l.jsxs)("div",{className:"font-semibold space-x-2 flex items-center",children:[(0,l.jsx)("span",{children:(0,l.jsx)(s.cC,{id:"nIAU/3"})}),(0,l.jsx)(a.Z,{small:!0,enabled:P,setEnabled:S})]}),(0,l.jsx)("div",{className:"text-xs text-gray-500 my-1",children:(0,l.jsx)(s.cC,{id:"C/OtZE"})}),P?(0,l.jsxs)("div",{children:[(0,l.jsx)("div",{className:"text-xs text-gray-500 my-1",children:(0,l.jsx)(s.cC,{id:"lNYNhx"})}),(0,l.jsx)(c,{jsonObjectOnly:!0,defaultValue:A||"{}",onChange:E})]}):null]}):null]})}},76354:function(e,t,r){r.d(t,{T:function(){return c}});var n=r(59499);r(67294);var o=r(45587),s=r(24285),a=r(85893);function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function l(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?i(Object(r),!0).forEach(function(t){(0,n.Z)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):i(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}function c(e){var t=e.id,r=e.data,n=e.customHandlePosition,i=e.children,c=e.className,u=(0,o.nB)({id:t,data:r}),d=u.attributes,p=u.listeners,m=u.setNodeRef,f=u.transform,g=u.transition,h=u.isDragging,x={transform:s.ux.Transform.toString(f),transition:g,zIndex:h?10:void 0,position:h?"relative":void 0,opacity:h?.3:void 0},b="function"==typeof i;return(0,a.jsx)("div",l(l(l({className:c,ref:m,style:x},n?void 0:p),n?void 0:d),{},{children:b&&n?i({listeners:p,isDragging:h,attributes:d}):i}))}},21021:function(e,t,r){r.d(t,{A:function(){return g}});var n=r(59499),o=r(90116),s=r(17674),a=r(67294),i=r(45793),l=r(24855),c=r(68132);function u(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function d(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?u(Object(r),!0).forEach(function(t){(0,n.Z)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):u(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}var p=(0,l.eK)("useCustomModels"),m=(0,l.eK)("useModelIDsOrder"),f=(0,l.eK)("useHiddenModelIDs"),g=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.includingHidden,r=void 0===t||t,n=(0,c.s)(),l=n.serverHostConfig,u=l.enableClaude,g=l.enableGPT,h=l.systemModels,x=l.modelSettings,b=p([]),y=(0,s.Z)(b,2),v=y[0];y[1];var j=m(n.serverHostConfig.modelIDsOrder||[]),k=(0,s.Z)(j,2),w=k[0],O=k[1],C=Array.isArray(w)?w:[],_=f(i.L.filter(function(e){return e.old}).map(function(e){return e.id})),N=(0,s.Z)(_,2),P=N[0],S=N[1],A=(0,a.useMemo)(function(){var e;return Object.fromEntries(((null===(e=n.serverHostConfig.externalAuthConfig)||void 0===e?void 0:e.type)!=="setapp"&&n.serverHostConfig.modelIDsOrder||C||[]).map(function(e,t){return[e,t+1]}))},[C]),E=(0,a.useMemo)(function(){var e=[].concat((0,o.Z)((h||[]).map(function(e){return d(d({},e),{},{system:!0})})),(0,o.Z)(i.L));return u||(e=e.filter(function(e){return!e.id.startsWith("claude")})),g||(e=e.filter(function(e){return!e.id.startsWith("gpt")})),e.filter(function(e){return!!e.system||!x||x[e.id]}).sort(function(e,t){return e.system!==t.system?e.system?-1:1:e.new&&!t.new?-1:0})},[x,u,g,h]),I=(0,a.useMemo)(function(){return[].concat((0,o.Z)(E),(0,o.Z)(v)).filter(function(e){return!(!r&&P.includes(e.id))})},[E,P,r,v]),T=(0,a.useMemo)(function(){return(0,o.Z)(I).sort(function(e,t){return P.includes(e.id)&&!P.includes(t.id)?1:P.includes(t.id)&&!P.includes(e.id)?-1:A[e.id]&&A[t.id]?A[e.id]-A[t.id]:A[e.id]||A[t.id]?A[e.id]?A[t.id]?void 0:1:-1:0})},[I,A,P]);return(0,a.useEffect)(function(){C.length||O(T.map(function(e){return e.id}))},[C,T]),{allModels:T,targetModels:E,hiddenModelIDs:P,setHiddenModelIDs:S,modelIDsOrder:C,setModelIDsOrder:O}}},8529:function(e,t,r){r.d(t,{u:function(){return ea}});var n,o,s,a=r(59499),i=r(50029),l=r(64687),c=r.n(l),u=r(45793),d=r(90116),p=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.messages,r=e.contextLimit,n=void 0===r?0:r,o=e.allowedContextLength,s=e.dependencies,a=s.getEstimatedTokens,i=s.getTextContent;if(!t||!t.length)return{skipped:0,contextMessages:[]};var l=[],c=t[t.length-1];l.unshift(c);for(var u=a(i(c.content)),p=t.length-2;p>=0;p--){var m=t[p];if((u+=a(i(m.content)))>o){for(var f,g=p;g>=0;g--)("system"===t[g].role||"training-message"===t[g].type)&&l.unshift(t[g]);if("assistant"===l[0].role)for(;l.length&&(null===(f=l[0])||void 0===f?void 0:f.role)!=="user";)l.shift();break}l.unshift(m)}if(n>0){var h=l.filter(function(e){return"system"===e.role}).length,x=l.slice(-Math.min(t.length-h,n)),b=[];if((null===(y=x[0])||void 0===y?void 0:y.role)==="tool")for(var y,v,j=t.length-n,k=j-1;k>=0&&(b.unshift(t[k]),null===(v=t[k])||void 0===v||!v.tool_calls);k--);l=[].concat((0,d.Z)(l.slice(0,h)),b,(0,d.Z)(x))}return{skipped:t.length-l.length,contextMessages:l}},m=function(e){return e-Math.min(.2*e,2e3)},f=r(45648),g=[": OPENROUTER PROCESSING"],h=function(e,t,r,n){if(t.trim())try{if(g.includes(t.trim()))return;if((o=JSON.parse(t)).error){var o,s,a,i,l="";l="server_error"===o.error.type?"OpenAI is currently experiencing a server error. This could be a temporary issue caused by high demand. Please try again. Original error message: "+o.error.message:"OpenAI is currently experiencing a problem. This could be a temporary issue caused by high demand. Please try again. Original error message: "+o.error.message,n(Error(l));return}var c=null==o?void 0:o.usage;if(c)for(var u in c)e.usage=e.usage||{},e.usage[u]=o.usage[u];if(!o.choices||!o.choices.length)return;var d=null===(s=o)||void 0===s||null===(s=s.choices)||void 0===s||null===(s=s[0])||void 0===s?void 0:s.delta;for(var p in d)!function e(t,r,n){if("role"!==r||!t.role){if("string"==typeof n||"content"===r&&null===n)t[r]=(t[r]||"")+(n||"");else if(Array.isArray(n))for(var o in t[r]=t[r]||[],n){var s=n[o];"index"in s||console.warn('Property "index" is missing in array item',s),e(t[r],s.index,s)}else if("object"==typeof n&&null!==n)for(var a in t[r]=t[r]||{},n)e(t[r],a,n[a]);else t[r]=n}}(e,p,d[p]);return r&&((null==e||null===(i=e.tool_calls)||void 0===i?void 0:i.length)===0&&e.content&&delete e.tool_calls,r(e)),null===(a=o.choices[0])||void 0===a?void 0:a.finish}catch(e){console.error("stream error",e)}},x=r(96486),b=r.n(x),y=r(85893);function v(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function j(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function k(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?j(Object(r),!0).forEach(function(t){(0,a.Z)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):j(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}var w="Something went wrong. This could be a temporary network connection issue. Please try again or contact support. Opening the console might help clarifying the issue.";function O(){return C.apply(this,arguments)}function C(){return(C=(0,i.Z)(c().mark(function e(){var t,r,n,o,s,a,i,l,d,g,x,j,O,C,_,N,P,S,A,E,I,T,D,M,Z,L,K,R,B,z,J,H,F,V,U,q,Y,G,W,X,Q,$,ee,et,er,en,eo,es,ea,ei,el,ec,eu,ed,ep,em,ef,eg,eh,ex,eb,ey,ev,ej,ek,ew,eO,eC,e_,eN,eP,eS,eA,eE,eI,eT,eD,eM,eZ,eL,eK,eR,eB,ez=arguments;return c().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(o=(n=ez.length>0&&void 0!==ez[0]?ez[0]:{}).endpoint,s=n.model,a=n.temperature,i=n.presencePenalty,l=n.frequencyPenalty,d=n.extraModelParamsEnabled,g=n.extraModelParamsJSON,x=n.topP,j=n.maxTokens,C=void 0===(O=n.contextLimit)?0:O,_=n.contextLengthOverride,N=n.signal,P=n.apiKey,S=n.orgID,A=n.stream,E=n.messages,I=n.functions,D=void 0===(T=n.extras)?{}:T,Z=void 0===(M=n.headers)?{}:M,K=void 0===(L=n.onStreamStarted)?function(){}:L,B=void 0===(R=n.onStreamTextChunk)?function(e){}:R,J=void 0===(z=n.onModelUnavailable)?function(){}:z,F=void 0===(H=n.onContextSkipped)?function(){}:H,U=void 0===(V=n.onFreeMessagesCountChanged)?function(){}:V,Y=void 0===(q=n.onModelUsageChanged)?function(){}:q,W=void 0===(G=n.onAborted)?function(){}:G,Q=void 0===(X=n.onStreamError)?function(){}:X,ee=(0,u.xx)(s),er=(et=p({messages:E.filter(function(e){return["system","user","assistant","function","tool"].includes(e.role)}).map(function(e){return e.tool_calls?k(k({},e),{},{tool_calls:e.tool_calls.map(function(e){return b().omit(e,["index"])})}):e}).map(function(e){return"system"===e.role&&!1===ee.systemMessageSupported?k(k({},e),{},{role:"user"}):e}),contextLimit:C,allowedContextLength:m(_||(null==ee?void 0:ee.contextLength)),dependencies:{getEstimatedTokens:u.fI,getTextContent:u.FB}})).contextMessages,en=et.skipped,null==F||F(en),!((null==ee?void 0:ee.streamOutputSupported)===!1&&A)){e.next=6;break}return e.abrupt("return",{error:"The model you are using (".concat(ee.title,") doesn't support streaming output. Please disable output streaming and try again.")});case 6:return eo=d&&(0,u.dC)(g)||{},e.prev=7,e.next=10,fetch(o,{method:"POST",signal:N,headers:k(k(k({"Content-Type":"application/json"},P?{Authorization:"Bearer ".concat(P)}:{}),S?{"OpenAI-Organization":S}:{}),Z),body:JSON.stringify(k(k(k(k(k(k(k(k(k({model:s},"number"==typeof a?{temperature:a}:{}),"number"==typeof i?{presence_penalty:i}:{}),"number"==typeof l?{frequency_penalty:l}:{}),"number"==typeof x?{top_p:x}:{}),parseInt(j)?{max_completion_tokens:parseInt(j)}:{}),{},{stream:A},ee.hasStreamUsageReport&&A&&"https://api.openai.com/v1/chat/completions"===o?{stream_options:{include_usage:!0}}:{}),{},{messages:null==er?void 0:er.map(function(e){return b().pick(e,["role","content","function_call","tool_calls","tool_call_id","name"])})},I&&I.length?{tools:I.map(function(e){return{type:"function",function:e}}),tool_choice:"auto"}:{}),eo),D))});case 10:$=e.sent,e.next=19;break;case 13:if(e.prev=13,e.t0=e.catch(7),"AbortError"!==e.t0.name){e.next=18;break}return W(),e.abrupt("return");case 18:throw e.t0;case 19:if(500!==$.status){e.next=21;break}return e.abrupt("return",{error:"Could not connect to OpenAI API. Please try again later. This could be because OpenAI's server is experiencing high demand and rejected your request. Go to https://status.openai.com/ to check their status."});case 21:if(!($.status>=400)){e.next=72;break}return e.prev=22,e.next=25,$.clone().json();case 25:ei=e.sent,e.next=35;break;case 28:return e.prev=28,e.t1=e.catch(22),console.error("Could not parse JSON response from OpenAI API",e.t1),e.next=33,$.clone().text();case 33:return el=e.sent,e.abrupt("return",{error:(0,y.jsxs)("div",{children:["Sorry, this model is currently experiencing a problem from the server side. Please try again later or select another model."," ",(0,y.jsxs)("details",{children:[(0,y.jsx)("summary",{children:(0,y.jsx)("span",{className:"cursor-pointer hover:underline",children:"View Full Error"})}),(0,y.jsx)("div",{className:"text-left whitespace-pre-line max-h-[200px] overflow-auto bg-gray-100 dark:bg-gray-800 p-2 text-black dark:text-white font-mono text-xs",children:el})]})]})});case 35:if("access_denied"!==ei.error){e.next=37;break}return e.abrupt("return",{error:"Access denied. Please try to reopen the app. If the issue persists, please contact support."});case 37:if((null===(es=ei.error)||void 0===es?void 0:es.code)!=="setapp_refresh_token_failed"){e.next=40;break}return null===(ec=window.webkit)||void 0===ec||null===(ec=ec.messageHandlers)||void 0===ec||null===(ec=ec.TypingMindMacApp)||void 0===ec||ec.postMessage("SETAPP_REFRESH_TOKEN_FAILED"),e.abrupt("return",{error:"Your login session has expired. Please close the app and reopen again."});case 40:if((null===(ea=ei.error)||void 0===ea?void 0:ea.type)!=="insufficient_quota"){e.next=42;break}return e.abrupt("return",{error:(0,y.jsxs)("div",{children:["Your OpenAI API key has run out of quota. Please go to your OpenAI Dashboard to fix this:"," ",(0,y.jsx)("a",{href:"https://platform.openai.com/account/billing/overview",target:"_blank",rel:"noopener noreferrer",className:"text-blue-500 hover:underline",children:(0,y.jsx)("b",{children:"https://platform.openai.com/account/billing/overview"})})]})});case 42:if(429!==$.status){e.next=46;break}if(!ei.userMessage){e.next=45;break}return e.abrupt("return",{error:ei.userMessage});case 45:return e.abrupt("return",{error:"OpenAI has rejected your request with error code 429. Here are the possible reasons: 1. You are sending requests too quickly; 2. You have hit your maximum monthly spend (hard limit); 3. The model is currently overloaded. Here is the error message from OpenAI: "+((null===(eu=ei.error)||void 0===eu?void 0:eu.message)||"")});case 46:if(!(ei.error&&"invalid_api_key"===ei.error.code)){e.next=52;break}if(!P.startsWith("encrypted-")){e.next=51;break}return e.abrupt("return",{error:"API Key is locked, please unlock it first."});case 51:return e.abrupt("return",{error:"Invalid API key or the API key has been revoked."});case 52:if(!(ei.error&&"context_length_exceeded"===ei.error.code)){e.next=54;break}return e.abrupt("return",{error:(0,y.jsx)(f.Z,{message:null===(ed=ei.error)||void 0===ed?void 0:ed.message})});case 54:if(!(ei.error&&ei.error.message)){e.next=63;break}return(ep=ei.error.message).match(/The model: `(.*)` does not exist/)&&(ep+=". You are using ".concat(s," model. Please change the model in the setting and try again. Note that even if you have ChatGPT Plus, you still need to request access to the GPT-4 API in order to use it with your API Key. This is OpenAI's restriction and we can't do anything about it. You can join the waitlist here https://openai.com/waitlist/gpt-4-api.")),J(),em=(null==ee?void 0:ee.source)||s,e.abrupt("return",{error:"Sorry, ".concat(em," has rejected your request. Here is the error message from ").concat(em,": ")+ep});case 63:if(!ei.userMessage){e.next=67;break}return e.abrupt("return",{error:ei.userMessage});case 67:if("tm_not_authorized"!==ei.code){e.next=71;break}return e.abrupt("return",{error:"Your session has expired. Please reload the app and try again."});case 71:return e.abrupt("return",{error:w+" Technical details: "+JSON.stringify(ei),serverError:ei});case 72:if($.ok){e.next=74;break}return e.abrupt("return",{error:w+" Technical details: Not OK."});case 74:if((ef=$.headers.get("x-remaining-free-messages"))&&U(Number(ef)),eg=$.headers.get("x-applied-model"),eh=$.headers.get("x-hour-message-usage"),ex=$.headers.get("x-day-message-usage"),eb=$.headers.get("x-month-message-usage"),ey=$.headers.get("x-hour-character-usage"),ev=$.headers.get("x-day-character-usage"),ej=$.headers.get("x-month-character-usage"),Y&&[eh,ex,eb,ey,ev,ej].filter(Boolean).length>0&&Y({model:eg||s,messages:{hour:eh,day:ex,month:eb},charactersByPeriod:{hour:ey,day:ev,month:ej}}),ek=null,ew=null,eO=null,!A){e.next=139;break}if(window.TextDecoderStream){e.next=90;break}return e.abrupt("return",{error:"Your browser doesn't support streaming response. Please upgrade your browser to the latest version or turn off streaming."});case 90:eC=$.body.pipeThrough(new window.TextDecoderStream).getReader(),e_={content:""},K(),e.prev=93,eN="",eP=["x","x","x","x","x","x"],eS=!1;case 97:return e.next=100,eC.read();case 100:if(eE=(eA=e.sent).value,!(eA.done||eS)){e.next=105;break}return e.abrupt("break",130);case 105:eI=function(e,t){var r="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=function(e,t){if(e){if("string"==typeof e)return v(e,void 0);var r=Object.prototype.toString.call(e).slice(8,-1);if("Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return v(e,void 0)}}(e))){r&&(e=r);var n=0,o=function(){};return{s:o,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(e){throw e},f:o}}throw TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var s,a=!0,i=!1;return{s:function(){r=r.call(e)},n:function(){var e=r.next();return a=e.done,e},e:function(e){i=!0,s=e},f:function(){try{a||null==r.return||r.return()}finally{if(i)throw s}}}}(eE),e.prev=106,eI.s();case 108:if((eT=eI.n()).done){e.next=120;break}if(eD=eT.value,eN+=eD,eP.shift(),eP.push(eD),"[DONE]"!==eP.join("")){e.next=116;break}return eS=!0,e.abrupt("break",120);case 116:":"===eD&&"data:"===eN&&(eN=""),"\n"===eD&&(ek=h(e_,eN,B,Q),eN="");case 118:e.next=108;break;case 120:e.next=125;break;case 122:e.prev=122,e.t2=e.catch(106),eI.e(e.t2);case 125:return e.prev=125,eI.f(),e.finish(125);case 128:e.next=97;break;case 130:e.next=135;break;case 132:e.prev=132,e.t3=e.catch(93),"AbortError"===e.t3.name?eC.releaseLock():Q(e.t3);case 135:ew=k({},e_),eO=e_.usage?e_.usage:{completion_tokens:eM=(0,u.fI)(e_.content),prompt_tokens:eZ=(0,u.fI)(er.map(function(e){return(0,u.FB)(e.content)}).join("\n")),total_tokens:eM+eZ},e.next=145;break;case 139:return e.next=141,$.json();case 141:ew=null===(eL=(eR=e.sent).choices)||void 0===eL||null===(eL=eL[0])||void 0===eL?void 0:eL.message,eO=eR.usage,ek=null===(eK=eR.choices)||void 0===eK||null===(eK=eK[0])||void 0===eK?void 0:eK.finish_reason;case 145:return null!==(t=ew)&&void 0!==t&&t.tool_calls&&0===ew.tool_calls.length&&ew.content&&delete ew.tool_calls,(eB=null===(r=eO)||void 0===r||null===(r=r.prompt_tokens_details)||void 0===r?void 0:r.cached_tokens)&&(eO.cache_read_input_tokens=eB,eO.prompt_tokens=eO.prompt_tokens-eB),e.abrupt("return",{response:k(k({},ew),{},{usage:eO,finish:ek})});case 149:case"end":return e.stop()}},e,null,[[7,13],[22,28],[93,132],[106,122,125,128]])}))).apply(this,arguments)}var _=r(83618);function N(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function P(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?N(Object(r),!0).forEach(function(t){(0,a.Z)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):N(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}var S=function(e){for(var t=(0,d.Z)(e),r=0;r<t.length-1;r++)("user"===t[r].role&&"user"===t[r+1].role||"assistant"===t[r].role&&"assistant"===t[r+1].role)&&(t[r]=P(P({},t[r]),{},{content:A(t[r].content,t[r+1].content)}),t.splice(r+1,1),r--);return t},A=function(e,t){if("string"==typeof e&&"string"==typeof t)return e+"\n\n"+t;if(Array.isArray(e)&&Array.isArray(t)&&(null===(r=e[0])||void 0===r?void 0:r.type)==="tool_result"&&(null===(n=t[0])||void 0===n?void 0:n.type)==="tool_result")return[].concat((0,d.Z)(e),(0,d.Z)(t));var r,n,o,s,a=Array.isArray(e)?null===(o=e.find(function(e){return"text"===e.type}))||void 0===o?void 0:o.text:e,i=Array.isArray(t)?null===(s=t.find(function(e){return"text"===e.type}))||void 0===s?void 0:s.text:t;return a&&i?[{type:"text",text:a+"\n\n"+i}]:a||i},E=[": OPENROUTER PROCESSING"],I=function(e,t,r,n,o){if(r.trim())try{if(E.includes(r.trim()))return;if((l=JSON.parse(r)).error){var s="";s="server_error"===l.error.type?"Claude is currently experiencing a server error. This could be a temporary issue caused by high demand. Please try again. Original error message: "+l.error.message:"Claude is currently experiencing a problem. This could be a temporary issue caused by high demand. Please try again. Original error message: "+l.error.message,o(Error(s));return}if("message_start"===e){var a=l.message;for(var i in a)t[i]=a[i]}else if("message_delta"===e){var l,c=null==l?void 0:l.delta;for(var u in c)t[u]=c[u];for(var d in l.usage)t.usage=t.usage||{},t.usage[d]=l.usage[d]}else if("content_block_delta"===e){var p=null==l?void 0:l.delta;if((null==p?void 0:p.type)==="text_delta"){if("string"==typeof t.content)t.content+=p.text;else{var m=t.content[t.content.length-1];m.text+=p.text}}else if((null==p?void 0:p.type)==="input_json_delta"){var f=t.content[t.content.length-1];f.input_json_string=f.input_json_string||"",f.input_json_string+=p.partial_json}}else if("content_block_start"===e){var g=l.content_block;t.content=t.content||[],t.content.push(g)}else if("content_block_stop"===e){var h=t.content[t.content.length-1];if(h.input_json_string)try{h.input=JSON.parse(h.input_json_string),delete h.input_json_string}catch(e){console.error("error parsing input_json_string",e)}}return n(t),null==t?void 0:t.stop_reason}catch(e){console.error("stream error",e)}},T=function(e){var t=e.find(function(e){return"system"!==e.role});if(!t)return e;var r=e.filter(function(e){return"system"===e.role});return"assistant"===t.role?[].concat((0,d.Z)(r),[{role:"user",content:"Hello"}],(0,d.Z)(e.filter(function(e){return"system"!==e.role}))):e};function D(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function M(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function Z(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?M(Object(r),!0).forEach(function(t){(0,a.Z)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):M(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}var L="Something went wrong. This could be a temporary network connection issue. Please try again or contact support. Opening the console might help clarifying the issue.";function K(){return R.apply(this,arguments)}function R(){return(R=(0,i.Z)(c().mark(function e(){var t,r,n,o,s,a,i,l,g,h,x,v,j,k,w,O,C,N,P,A,E,M,K,R,B,z,J,H,F,V,U,q,Y,G,W,X,Q,$,ee,et,er,en,eo,es,ea,ei,el,ec,eu,ed,ep,em,ef,eg,eh,ex,eb,ey,ev,ej,ek,ew,eO,eC,e_,eN,eP,eS,eA,eE,eI,eT,eD,eM,eZ,eL,eK,eR,eB,ez,eJ,eH,eF,eV,eU,eq,eY,eG,eW,eX,eQ,e$,e0,e1,e2,e5,e3,e4=arguments;return c().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(n=(r=e4.length>0&&void 0!==e4[0]?e4[0]:{}).endpoint,o=r.model,s=r.temperature,r.presencePenalty,r.frequencyPenalty,a=r.extraModelParamsEnabled,i=r.extraModelParamsJSON,l=r.topP,g=r.topK,h=r.maxTokens,v=void 0===(x=r.contextLimit)?0:x,j=r.contextLengthOverride,r.stop,k=r.signal,w=r.apiKey,r.orgID,O=r.stream,C=r.messages,N=r.functions,A=void 0===(P=r.extras)?{}:P,M=void 0===(E=r.headers)?{}:E,R=void 0===(K=r.onStreamStarted)?function(){}:K,z=void 0===(B=r.onStreamTextChunk)?function(e){}:B,r.onStreamFinished,r.onAPIStatusChanged,r.onModelUnavailable,H=void 0===(J=r.onContextSkipped)?function(){}:J,V=void 0===(F=r.onFreeMessagesCountChanged)?function(){}:F,q=void 0===(U=r.onModelUsageChanged)?function(){}:U,G=void 0===(Y=r.onAborted)?function(){}:Y,X=void 0===(W=r.onStreamError)?function(){}:W,Q=r.promptCachingEnabled,ee=(0,u.xx)(o),er=(et=p({messages:C.filter(function(e){return["system","user","assistant","function","tool"].includes(e.role)}).map(function(e){var t;if("tool"===e.role)return{role:"user",content:[Z({type:"tool_result",tool_use_id:e.tool_call_id,content:e.content},"error"===e.format?{is_error:!0}:{})]};if(null!==(t=e.tool_calls)&&void 0!==t&&t.length){var r=e.tool_calls.map(function(e){return{type:"tool_use",id:e.id,name:e.function.name,input:(0,u.dC)(e.function.arguments)}});return{role:e.role,content:[].concat((0,d.Z)(Array.isArray(e.content)?e.content:[{type:"text",text:e.content}]),(0,d.Z)(r)).filter(function(e){return(e.text||"").trim()||"tool_use"===e.type})}}return e}),contextLimit:v,allowedContextLength:m(j||(null==ee?void 0:ee.contextLength)),dependencies:{getEstimatedTokens:u.fI,getTextContent:u.FB}})).contextMessages,en=et.skipped,null==H||H(en),!er.some(function(e){return Array.isArray(e.content)&&e.content.some(function(e){var t;return"image_url"===e.type&&!(null!==(t=e.image_url)&&void 0!==t&&null!==(t=t.url)&&void 0!==t&&t.startsWith("data:image"))})})){e.next=7;break}return e.abrupt("return",{error:"The model you are using (".concat(ee.title,") only supports images with base64 format. This error usually occurs when you switch between models. Please start a new chat with the current model and upload new images!")});case 7:return eo=(er||[]).find(function(e){return"system"===e.role}),es=S(T((er||[]).filter(function(e){return"system"!==e.role}))).map(function(e){return b().pick(e,["role","content","function_call","tool_calls","tool_call_id","name"])}).map(function(e){try{if(Array.isArray(e.content)){var t=e.content.map(function(e){if("image_url"===e.type){var t,r,n=null===(t=e.image_url)||void 0===t||null===(t=t.url)||void 0===t||null===(t=t.split(";")[0])||void 0===t?void 0:t.split(":")[1];return{type:"image",source:{type:"base64",media_type:n,data:null===(r=e.image_url)||void 0===r||null===(r=r.url)||void 0===r?void 0:r.split(",")[1]}}}return e});return t.some(function(e){return"image"===e.type})&&!t.some(function(e){return"text"===e.type&&(e.text||"").trim()})&&(t=t.map(function(e){return"text"===e.type?Z(Z({},e),{},{text:"(Image)"}):e})),Z(Z({},e),{},{content:t})}}catch(e){console.error("error parsing image content",e)}return e}),ea=O,ei=N&&N.length,el=a&&(0,u.dC)(i)||{},e.prev=12,ec=o.startsWith("claude-3-5-sonnet")||o.startsWith("claude-3-haiku"),eu=o.startsWith("claude-3-5-sonnet"),ec&&Q&&(ed=(0,u.VR)({messages:[eo].concat(es),model:o}),eo=(ep=(0,_.Z)(ed))[0],es=ep.slice(1)),em=[eu&&"max-tokens-3-5-sonnet-2024-07-15",ec&&Q&&"prompt-caching-2024-07-31"].filter(Boolean).join(","),e.next=19,fetch(n,{method:"POST",signal:k,headers:Z(Z(Z(Z({"Content-Type":"application/json"},w?{"x-api-key":w}:{}),em?{"anthropic-beta":em}:{}),"https://api.anthropic.com/v1/messages"===n?{"anthropic-dangerous-direct-browser-access":!0,"anthropic-version":"2023-06-01"}:{}),M),body:JSON.stringify(Z(Z(Z(Z(Z(Z(Z(Z({model:o,max_tokens:2e3},eo?{system:eo.content}:{}),"number"==typeof s?{temperature:s}:{}),"number"==typeof l?{top_p:l}:{}),parseInt(g)?{top_k:parseInt(g)}:{}),parseInt(h)?{max_tokens:parseInt(h)}:{}),el),{},{stream:ea,messages:ei?es:es.filter(function(e){return!(Array.isArray(e.content)&&e.content.some(function(e){return"tool_use"===e.type||"tool_result"===e.type}))})},ei?{tools:N.map(function(e){return{name:e.name,description:e.description,input_schema:e.parameters}})}:{}),A))});case 19:$=e.sent,e.next=28;break;case 22:if(e.prev=22,e.t0=e.catch(12),"AbortError"!==e.t0.name){e.next=27;break}return G(),e.abrupt("return");case 27:throw e.t0;case 28:if(500!==$.status){e.next=30;break}return e.abrupt("return",{error:"Could not connect to Claude API. Please try again later. This could be because Claude's server is experiencing high demand and rejected your request."});case 30:if(!($.status>=400)){e.next=74;break}return e.prev=31,e.next=34,$.clone().json();case 34:eg=e.sent,e.next=45;break;case 37:return e.prev=37,e.t1=e.catch(31),console.error("Could not parse JSON response from Claude API",e.t1),e.next=42,$.clone().text();case 42:return encodeURIComponent(eh=e.sent),e.abrupt("return",{error:(0,y.jsxs)("div",{children:["Sorry, this model is currently experiencing a problem from the server side. Please try again later or select another model."," ",(0,y.jsxs)("details",{children:[(0,y.jsx)("summary",{children:(0,y.jsx)("span",{className:"cursor-pointer hover:underline",children:"View Full Error"})}),(0,y.jsx)("div",{className:"text-left whitespace-pre-line max-h-[200px] overflow-auto bg-gray-100 dark:bg-gray-800 p-2 text-black dark:text-white font-mono text-xs",children:eh})]})]})});case 45:if(!eg.userMessage){e.next=47;break}return e.abrupt("return",{error:eg.userMessage});case 47:if("tm_not_authorized"!==eg.code){e.next=49;break}return e.abrupt("return",{error:"Your session has expired. Please reload the app and try again."});case 49:if("access_denied"!==eg.error){e.next=51;break}return e.abrupt("return",{error:"Access denied. Please try to reopen the app. If the issue persists, please contact support."});case 51:if((null===(ef=eg.error)||void 0===ef?void 0:ef.code)!=="setapp_refresh_token_failed"){e.next=54;break}return null===(ex=window.webkit)||void 0===ex||null===(ex=ex.messageHandlers)||void 0===ex||null===(ex=ex.TypingMindMacApp)||void 0===ex||ex.postMessage("SETAPP_REFRESH_TOKEN_FAILED"),e.abrupt("return",{error:"Your login session has expired. Please close the app and reopen again."});case 54:if(429!==$.status){e.next=58;break}if(!eg.userMessage){e.next=57;break}return e.abrupt("return",{error:eg.userMessage});case 57:return e.abrupt("return",{error:"Claude has rejected your request with error code 429. Here are the possible reasons: 1. You are sending requests too quickly; 2. You have hit your maximum monthly spend (hard limit); 3. The model is currently overloaded. Here is the error message from Claude: "+((null===(eb=eg.error)||void 0===eb?void 0:eb.message)||"")});case 58:if(!(eg.error&&"invalid_api_key"===eg.error.code)){e.next=64;break}if(!w.startsWith("encrypted-")){e.next=63;break}return e.abrupt("return",{error:"API Key is locked, please unlock it first."});case 63:return e.abrupt("return",{error:"Invalid API key or the API key has been revoked."});case 64:if(!(eg.error&&"context_length_exceeded"===eg.error.code)){e.next=66;break}return e.abrupt("return",{error:(0,y.jsx)(f.Z,{message:null===(ey=eg.error)||void 0===ey?void 0:ey.message})});case 66:if(!(eg.error&&"invalid_request_error"===eg.error.type&&eg.error.message)){e.next=68;break}return e.abrupt("return",{error:"Request failed. Error details: "+eg.error.message});case 68:if(!(eg.error&&eg.userMessage)){e.next=72;break}return e.abrupt("return",{error:eg.userMessage});case 72:return e.abrupt("return",{error:L+" Technical details: "+JSON.stringify(eg),serverError:eg});case 73:return e.abrupt("return");case 74:if($.ok){e.next=76;break}return e.abrupt("return",{error:L+" Technical details: Not OK."});case 76:if((ev=$.headers.get("x-remaining-free-messages"))&&V(Number(ev)),ej=$.headers.get("x-applied-model"),ek=$.headers.get("x-hour-message-usage"),ew=$.headers.get("x-day-message-usage"),eO=$.headers.get("x-month-message-usage"),eC=$.headers.get("x-hour-character-usage"),e_=$.headers.get("x-day-character-usage"),eN=$.headers.get("x-month-character-usage"),q&&[ek,ew,eO,eC,e_,eN].filter(Boolean).length>0&&q({model:ej||o,messages:{hour:ek,day:ew,month:eO},charactersByPeriod:{hour:eC,day:e_,month:eN}}),eP=null,eS=null,!ea){e.next=148;break}if(window.TextDecoderStream){e.next=92;break}return e.abrupt("return",{error:"Your browser doesn't support streaming response. Please upgrade your browser to the latest version or turn off streaming."});case 92:eD=$.body.pipeThrough(new window.TextDecoderStream).getReader(),eM={content:""},R(),e.prev=96,eZ="",eL="",eK=!1;case 100:return e.next=103,eD.read();case 103:if(eB=(eR=e.sent).value,!(eR.done||eK)){e.next=108;break}return e.abrupt("break",135);case 108:ez=function(e,t){var r="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=function(e,t){if(e){if("string"==typeof e)return D(e,void 0);var r=Object.prototype.toString.call(e).slice(8,-1);if("Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return D(e,void 0)}}(e))){r&&(e=r);var n=0,o=function(){};return{s:o,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(e){throw e},f:o}}throw TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var s,a=!0,i=!1;return{s:function(){r=r.call(e)},n:function(){var e=r.next();return a=e.done,e},e:function(e){i=!0,s=e},f:function(){try{a||null==r.return||r.return()}finally{if(i)throw s}}}}(eB),e.prev=109,ez.s();case 111:if((eJ=ez.n()).done){e.next=125;break}if(eH=eJ.value,eL+=eH,":"===eH&&"data:"===eL&&(eL=""),!("\n"===eH&&eL)){e.next=123;break}if(!eL.startsWith("event:")){e.next=120;break}return eZ=eL.replace("event:","").trim(),eL="",e.abrupt("continue",123);case 120:I(eZ,eM,eL,z,X),eZ="",eL="";case 123:e.next=111;break;case 125:e.next=130;break;case 127:e.prev=127,e.t2=e.catch(109),ez.e(e.t2);case 130:return e.prev=130,ez.f(),e.finish(130);case 133:e.next=100;break;case 135:e.next=140;break;case 137:e.prev=137,e.t3=e.catch(96),"AbortError"===e.t3.name?eD.releaseLock():X(e.t3);case 140:eF=(null===(eA=eM.usage)||void 0===eA?void 0:eA.output_tokens)||(0,u.fI)(eM.content),eV=(null===(eE=eM.usage)||void 0===eE?void 0:eE.input_tokens)||(0,u.fI)(er.map(function(e){return(0,u.FB)(e.content)}).join("\n")),eU=(null===(eI=eM.usage)||void 0===eI?void 0:eI.cache_creation_input_tokens)||0,eq=(null===(eT=eM.usage)||void 0===eT?void 0:eT.cache_read_input_tokens)||0,eP=Z({},eM),eS={completion_tokens:eF,prompt_tokens:eV,cache_creation_input_tokens:eU,cache_read_input_tokens:eq,total_tokens:eF+eV+eU+eq},e.next=155;break;case 148:return e.next=150,$.json();case 150:eP=e0=e.sent,e1=(null===(eY=e0.usage)||void 0===eY?void 0:eY.cache_creation_input_tokens)||0,e2=(null===(eG=e0.usage)||void 0===eG?void 0:eG.cache_read_input_tokens)||0,eS={completion_tokens:null===(eW=e0.usage)||void 0===eW?void 0:eW.output_tokens,prompt_tokens:null===(eX=e0.usage)||void 0===eX?void 0:eX.input_tokens,cache_creation_input_tokens:e1,cache_read_input_tokens:e2,total_tokens:(null===(eQ=e0.usage)||void 0===eQ?void 0:eQ.output_tokens)+(null===(e$=e0.usage)||void 0===e$?void 0:e$.input_tokens)+e1+e2};case 155:return null!=(e5=Array.isArray(eP.content)&&eP.content.filter(function(e){return"tool_use"===e.type}))&&e5.length&&(e3=eP.content.filter(function(e){return"tool_use"!==e.type}),eP.content=e3.length?e3:"",eP.tool_calls=e5.map(function(e,t){return{index:t,id:e.id,type:"function",function:{name:e.name,arguments:JSON.stringify(e.input)}}})),e.abrupt("return",{response:Z(Z({},eP),{},{usage:eS,finish:null===(t=eP)||void 0===t?void 0:t.stop_reason})});case 158:case"end":return e.stop()}},e,null,[[12,22],[31,37],[96,137],[109,127,130,133]])}))).apply(this,arguments)}var B=r(17674),z=r(40705),J=r.n(z);function H(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function F(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?H(Object(r),!0).forEach(function(t){(0,a.Z)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):H(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}var V=(n=(0,i.Z)(c().mark(function e(t){var r,n,o,s,a,i,l,u,d,p,m,f,g,h,x,b,y;return c().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(r=t.isGoogleEndpoint,n=t.modelInfo,o=t.usage,s=t.contents,a=t.tools,i=t.systemInstructionValue,l=t.apiKey,u=s.every(function(e){return"user"===e.role||"model"===e.role}),!(r&&u&&n.promptCachingSupported&&(0===(o.cache_read_input_tokens||0)?(o.prompt_tokens||0)>33e3:(o.prompt_tokens||0)>5e3))){e.next=26;break}return m=J()({model:n.modelID,systemInstruction:i,contents:s,tools:a}),f="https://generativelanguage.googleapis.com/v1beta/cachedContents?key=".concat(l),e.prev=5,e.next=8,fetch(f,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({model:"models/"+n.modelID,systemInstruction:i,contents:s,tools:a})});case 8:g=e.sent,e.next=14;break;case 11:e.prev=11,e.t0=e.catch(5),console.error("gemini cache error",e.t0);case 14:if(null!==(d=g)&&void 0!==d&&d.ok){e.next=20;break}return e.next=17,null===(h=g)||void 0===h?void 0:h.text();case 17:return console.error("Failed to cache prompt",e.sent),e.abrupt("return",{});case 20:return e.next=22,g.json();case 22:return b=null===(p=(x=e.sent).usageMetadata)||void 0===p?void 0:p.totalTokenCount,y={contentsLength:s.length,hash:m,payload:x},e.abrupt("return",{newCacheCheckpoint:y,cacheCreationTokens:b});case 26:return e.abrupt("return",{});case 27:case"end":return e.stop()}},e,null,[[5,11]])})),function(e){return n.apply(this,arguments)}),U=function(e){var t=e.contextMessages,r=e.modelInfo,n=e.systemInstructionValue,o=e.contents,s=e.tools,a=t.slice().reverse().find(function(e){return e.cacheCheckpoint&&e.cacheCheckpoint.payload&&e.cacheCheckpoint.payload.expireTime&&new Date(e.cacheCheckpoint.payload.expireTime).getTime()>Date.now()}),i=null==a?void 0:a.cacheCheckpoint;if(!i)return null;var l=J()({model:r.modelID,systemInstruction:n,contents:o.slice(0,null==i?void 0:i.contentsLength),tools:s});return(null==i?void 0:i.hash)!==l?(console.debug("cacheCheckpoint hash mismatch"),null):i},q=function(e){var t=e.body,r=e.cacheCheckpoint;return F(F({},t),{},{system_instruction:void 0,systemInstruction:void 0,tools:void 0,contents:t.contents.slice(r.contentsLength),cachedContent:r.payload.name})};function Y(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function G(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?Y(Object(r),!0).forEach(function(t){(0,a.Z)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Y(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}var W=(o=(0,i.Z)(c().mark(function e(t){var r,n,o,s;return c().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return r=t.messages,n=t.functions,o=r.filter(function(e){return"system"!==e.role}).map(function(e,t,r){var n,o;if("assistant"===e.role&&!(null!==(n=e.tool_calls)&&void 0!==n&&n.length))return[0===t&&{role:"user",parts:[{text:"Conversation begins:"}]},{role:"model",parts:Array.isArray(e.content)?e.content.map(function(e){return e.text?{text:e.text}:null}).filter(Boolean):[{text:e.content}]}].filter(Boolean);if("assistant"===e.role&&null!==(o=e.tool_calls)&&void 0!==o&&o.length){var s,a={role:"model",parts:e.tool_calls.map(function(e){return{functionCall:{name:e.function.name,args:JSON.parse(e.function.arguments)}}})};return e.content&&(Array.isArray(e.content)?(s=a.parts).push.apply(s,(0,d.Z)(e.content.filter(function(e){return e.text}).map(function(e){return{text:e.text}}))):a.parts.push({text:e.content})),a}return"tool"===e.role?{role:"function",parts:[{functionResponse:{name:e.name,response:{name:e.name,content:{text:e.content}}}}]}:"user"===e.role&&Array.isArray(e.content)?{role:"user",parts:e.content.map(function(e){var t;if("image_url"===e.type&&null!==(t=e.image_url)&&void 0!==t&&t.url){var r,n=function(e){var t=e.match(/data:image\/([^;]+);base64,(.*)/);if(t&&3===t.length)return{mimeType:"image/"+t[1],data:t[2]};throw Error("Invalid Base64")}(null===(r=e.image_url)||void 0===r?void 0:r.url);return{inlineData:{mimeType:n.mimeType,data:n.data}}}return{text:e.text}})}:{role:"user",parts:[{text:e.content}]}}),s=r.filter(function(e){return"system"===e.role}).flatMap(function(e){return Array.isArray(e.content)?e.content.filter(function(e){return e.text}).map(function(e){return{text:e.text}}):{text:e.content}}),e.abrupt("return",G(G({contents:o.flat().map(function(e,t,r){var n,o;return"function"===e.role&&(null===(n=r[t+1])||void 0===n?void 0:n.role)==="function"?((o=r[t+1].parts).push.apply(o,(0,d.Z)(e.parts)),null):e}).filter(Boolean)},n&&n.length?{tools:[{function_declarations:n.map(function(e){return G(G({},e),{},{parameters:Q(e.parameters)})})}]}:{}),{},{systemInstruction:s.length?{parts:s}:void 0}));case 4:case"end":return e.stop()}},e)})),function(e){return o.apply(this,arguments)}),X=function(e){var t,r,n,o,s,a,i,l=(null===(t=e.candidates)||void 0===t||null===(t=t[0])||void 0===t||null===(t=t.content)||void 0===t||null===(t=t.parts)||void 0===t?void 0:t[0].text)||"",c=((null===(r=e.candidates)||void 0===r||null===(r=r[0])||void 0===r||null===(r=r.content)||void 0===r?void 0:r.parts)||[]).map(function(e){return e.functionCall}).filter(Boolean).map(function(e,t){return{id:(0,d.Z)(Array(6)).map(function(){return Math.random().toString(36).substring(2,5)}).join("")+t,type:"function",function:{name:e.name,arguments:JSON.stringify(e.args)}}});return G(G({content:l},c.length>0?{tool_calls:c}:{}),{},{usage:e.usageMetadata?{completion_tokens:null===(n=e.usageMetadata)||void 0===n?void 0:n.candidatesTokenCount,prompt_tokens:((null===(o=e.usageMetadata)||void 0===o?void 0:o.promptTokenCount)||0)-((null===(s=e.usageMetadata)||void 0===s?void 0:s.cachedContentTokenCount)||0),total_tokens:null===(a=e.usageMetadata)||void 0===a?void 0:a.totalTokenCount,cache_read_input_tokens:(null===(i=e.usageMetadata)||void 0===i?void 0:i.cachedContentTokenCount)||0}:void 0})},Q=function e(t){var r={};return t.type&&("object"!==t.type||t.properties)?(r.type=t.type,t.description&&(r.description=t.description),t.required&&(r.required=t.required),t.enum&&(r.format="enum",r.enum=t.enum),t.items&&(r.items=e(t.items)),t.properties&&(r.properties=Object.fromEntries(Object.keys(t.properties).map(function(r){var n=e(t.properties[r]);return[r,n]}).filter(function(e){return!!e[1]}))),r):null};function $(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function ee(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?$(Object(r),!0).forEach(function(t){(0,a.Z)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):$(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}var et=/^data\: (.*)(?:\n\n|\r\r|\r\n\r\n)/;function er(){return en.apply(this,arguments)}function en(){return(en=(0,i.Z)(c().mark(function e(){var t,r,n,o,s,a,i,l,d,f,g,h,x,b,y,v,j,k,w,O,C,_,N,P,S,A,E,I,T,D,M,Z,L,K,R,z,J,H,F,Y,G,Q,$,er,en,eo,es,ea,ei,el,ec,eu,ed,ep,em,ef,eg,eh,ex,eb,ey,ev,ej,ek,ew,eO,eC,e_,eN,eP,eS,eA,eE,eI,eT,eD,eM,eZ,eL,eK,eR,eB,ez,eJ=arguments;return c().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(n=void 0===(r=(t=eJ.length>0&&void 0!==eJ[0]?eJ[0]:{}).endpoint)?"https://generativelanguage.googleapis.com":r,o=t.model,s=t.temperature,a=t.topP,i=t.topK,l=t.maxTokens,d=t.extraModelParamsEnabled,f=t.extraModelParamsJSON,g=t.safetySettings,x=void 0===(h=t.contextLimit)?0:h,b=t.contextLengthOverride,y=t.signal,v=t.apiKey,j=t.stream,k=t.messages,w=t.functions,C=void 0===(O=t.extras)?{}:O,N=void 0===(_=t.headers)?{}:_,S=void 0===(P=t.onStreamStarted)?function(){}:P,E=void 0===(A=t.onStreamTextChunk)?function(e){}:A,t.onStreamFinished,t.onAPIStatusChanged,t.onModelUnavailable,T=void 0===(I=t.onContextSkipped)?function(){}:I,t.onFreeMessagesCountChanged,M=void 0===(D=t.onModelUsageChanged)?function(){}:D,L=void 0===(Z=t.onAborted)?function(){}:Z,R=void 0===(K=t.onStreamError)?function(){}:K,z=t.promptCachingEnabled,J=(0,u.xx)(o),F=(H=p({model:o,messages:k,contextLimit:x,allowedContextLength:m(b||(null==J?void 0:J.contextLength)),dependencies:{getEstimatedTokens:u.fI,getTextContent:u.FB}})).contextMessages,Y=H.skipped,!F.some(function(e){return Array.isArray(e.content)&&e.content.some(function(e){var t;return"image_url"===e.type&&!(null!==(t=e.image_url)&&void 0!==t&&null!==(t=t.url)&&void 0!==t&&t.startsWith("data:image"))})})){e.next=6;break}return e.abrupt("return",{error:"The model you are using (".concat(J.title,") only supports images with base64 format. This error usually occurs when you switch between models. Please start a new chat with the current model and upload new images!")});case 6:return null==T||T(Y),Q=(G="https://generativelanguage.googleapis.com"===n)?"https://generativelanguage.googleapis.com/v1beta/models/".concat(J.modelID,":").concat(j?"streamGenerateContent":"generateContent","?key=").concat(v).concat(j?"&alt=sse":""):n,e.next=11,W({messages:F,functions:w});case 11:return en=(er=e.sent).contents,eo=er.tools,es=er.systemInstruction,(ea="gemini-pro"!==J.modelID)||!es||en.unshift({role:"user",parts:es.parts},{role:"model",parts:[{text:"Understood"}]}),ei=ea?es:void 0,el=d&&(0,u.dC)(f)||{},ec=ee(ee({system_instruction:ei,contents:en,tools:eo,stream:G?void 0:j,model:G?void 0:J.modelID,generationConfig:ee({temperature:"number"==typeof s?s:void 0,topP:"number"==typeof a?a:void 0,topK:parseInt(i)?parseInt(i):void 0},parseInt(l)?{maxOutputTokens:parseInt(l)}:{}),safetySettings:g?Object.entries(g).map(function(e){var t=(0,B.Z)(e,2);return{category:t[0],threshold:t[1]}}):void 0},el),C),(eu=z&&U({contextMessages:F,modelInfo:J,systemInstructionValue:ei,contents:en,tools:eo}))&&(ec=q({body:ec,cacheCheckpoint:eu})),e.prev=22,e.next=25,fetch(Q,{method:"POST",signal:y,body:JSON.stringify(ec),headers:ee({"Content-Type":"application/json"},N)});case 25:$=e.sent,e.next=34;break;case 28:if(e.prev=28,e.t0=e.catch(22),"AbortError"!==e.t0.name){e.next=33;break}return L(),e.abrupt("return");case 33:throw e.t0;case 34:if($.ok||(console.log("original messages",F),console.log("transformed messages",en)),500!==$.status){e.next=37;break}return e.abrupt("return",{error:"Could not connect to API server. Usually this is a temporary problem. Please try again. If the problem persist, please contact support."});case 37:if(!($.status>=400)){e.next=51;break}return e.next=40,$.json();case 40:if(!(em=e.sent).userMessage){e.next=45;break}return e.abrupt("return",{error:em.userMessage});case 45:if("tm_not_authorized"!==em.code){e.next=47;break}return e.abrupt("return",{error:"Your session has expired. Please reload the app and try again."});case 47:if(!((ef=(null===(ed=em.error)||void 0===ed?void 0:ed.message)||(null===(ep=em[0])||void 0===ep||null===(ep=ep.error)||void 0===ep?void 0:ep.message)).indexOf("not supported for StreamGenerateContent")>-1)){e.next=50;break}return e.abrupt("return",{error:"Sorry, your API Key does not have access to the model ".concat(J.title," (").concat(J.id,"). Please select another model.")});case 50:return e.abrupt("return",{error:"Sorry, the provider of this model has rejected your request (Message: ".concat(ef||"(Unknown)","). Please try again or contact support.")});case 51:if($.ok){e.next=53;break}return e.abrupt("return",{error:"Something went wrong. This could be a temporary network connection issue. Please try again or contact support. Opening the console might help clarifying the issue."});case 53:if(eg=null,eh=null,!j){e.next=97;break}ex=$.body.pipeThrough(new window.TextDecoderStream("utf8",{fatal:!0})).getReader(),S(),e.prev=58,eb="";case 60:return e.next=63,ex.read();case 63:if(ev=(ey=e.sent).value,!ey.done){e.next=68;break}return e.abrupt("break",90);case 68:eb+=ev,ej=eb.match(et);case 70:if(!ej){e.next=88;break}ew=void 0,e.prev=72,ew=JSON.parse(ej[1]),e.next=81;break;case 76:throw e.prev=76,e.t1=e.catch(72),console.log(e.t1.message),console.log(ev),e.t1;case 81:eC=(eO=X(ew)).content,e_=eO.tool_calls,eN=eO.usage,eh=ee(ee({},eh),{},{usage:eN,role:"assistant",content:((null===(ek=eh)||void 0===ek?void 0:ek.content)||"")+(eC||"")},e_?{tool_calls:e_}:{}),E({content:eh.content}),ej=(eb=eb.substring(ej[0].length)).match(et),e.next=70;break;case 88:e.next=60;break;case 90:e.next=95;break;case 92:e.prev=92,e.t2=e.catch(58),"AbortError"===e.t2.name?ex.releaseLock():R(e.t2);case 95:e.next=101;break;case 97:return e.next=99,$.json();case 99:eh=ee({role:"assistant"},X(e.sent));case 101:if(eP=$.headers.get("x-applied-model"),eS=$.headers.get("x-hour-message-usage"),eA=$.headers.get("x-day-message-usage"),eE=$.headers.get("x-month-message-usage"),eI=$.headers.get("x-hour-character-usage"),eT=$.headers.get("x-day-character-usage"),eD=$.headers.get("x-month-character-usage"),M&&[eS,eA,eE,eI,eT,eD].filter(Boolean).length>0&&M({model:eP||o,messages:{hour:eS,day:eA,month:eE},charactersByPeriod:{hour:eI,day:eT,month:eD}}),(eM=eh.usage)||(eM={completion_tokens:eL=(0,u.fI)(null===(eZ=eh)||void 0===eZ?void 0:eZ.content),prompt_tokens:eK=(0,u.fI)(k.map(function(e){return e.content}).join("\n")),total_tokens:eL+eK}),!z){e.next=118;break}return e.next=114,V({isGoogleEndpoint:G,modelInfo:J,usage:eM,contents:en,tools:eo,systemInstructionValue:ei,apiKey:v});case 114:eB=(eR=e.sent).newCacheCheckpoint,ez=eR.cacheCreationTokens,eB&&(eh.cacheCheckpoint=eB,eM.cache_creation_input_tokens=ez);case 118:return e.abrupt("return",{response:ee(ee({},eh),{},{model:o,usage:eM,finish:eg})});case 119:case"end":return e.stop()}},e,null,[[22,28],[58,92],[72,76]])}))).apply(this,arguments)}function eo(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function es(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?eo(Object(r),!0).forEach(function(t){(0,a.Z)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):eo(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}var ea=(s=(0,i.Z)(c().mark(function e(t){var r,n,o,s,a,i,l,u,d,p,m,f,g,h,x,b,y,v,j,k,w,C,_,N,P;return c().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(o=t.model,s=t.modelInfo,a=t.messages,l=void 0===(i=t.endpointsAndAPIKeys)?{}:i,u=t.proxyEndpoint,p=void 0===(d=t.options)?{}:d,f=void 0===(m=l.apiKeys)?{}:m,h=void 0===(g=l.userOverrides)?{currentCompletetionEndpoint:"https://api.openai.com/v1/chat/completions",currentAnthropicEndpoint:"https://api.anthropic.com/v1/messages",currentGeminiEndpoint:"https://generativelanguage.googleapis.com"}:g,x=f.anthropicAPIKey,b=f.apiKey,y=f.openAIOrgID,v=f.geminiAPIKey,j=h.currentAnthropicEndpoint,k=h.currentCompletetionEndpoint,w=h.currentGeminiEndpoint,C="claude"===s.apiType||"bedrock-claude"===s.apiType?K:"gemini"===s.apiType?er:"openai"===s.apiType||"setapp"===s.apiType?O:null){e.next=7;break}throw Error("Unsupported API Type");case 7:if(_=window.localStorage.getItem("__OVERRIDE_HOSTED_COMPLETION_ENDPOINT__")||u||(s.endpoint?s.endpoint:"claude"===s.apiType?j:"openai"===s.apiType?k:"gemini"===s.apiType?w:null)){e.next=11;break}throw Error("No target API endpoint found");case 11:if(N=s.skipAPIKey?null:"claude"===s.apiType?x:"gemini"===s.apiType?v:"openai"===s.apiType?b:null,P=(null==s||null===(r=s.headerRows)||void 0===r?void 0:r.reduce(function(e,t){return e[t.key]=t.value,e},{}))||{},!(a.some(function(e){return Array.isArray(e.content)&&e.content.some(function(e){return"image_url"===e.type})})&&!s.visionSupported)){e.next=16;break}return e.abrupt("return",{error:"The model you are using (".concat(s.title,") doesn't support image input. Please select a different model (i.e., GPT-4 Vision) and try again.")});case 16:return e.next=18,C(es(es({model:o,messages:a,endpoint:_,apiKey:N,headers:P,orgID:y},p),{},{extras:es(es(es({},p.extras),s.bodyParams||{}),Object.fromEntries((null==s||null===(n=s.bodyRows)||void 0===n?void 0:n.map(function(e){var t=e.value;if("number"===e.type&&(t=Number(t)),"boolean"===e.type&&(t="true"===t.trim()),"object"===e.type)try{t=JSON.parse(t)}catch(e){throw Error("Custom model body parsing error: ",e.message)}return[e.key,t]}))||[]))}));case 18:return e.abrupt("return",e.sent);case 19:case"end":return e.stop()}},e)})),function(e){return s.apply(this,arguments)})}}]);