UI: new build

This commit is contained in:
Ishaan Jaffer 2026-01-23 17:40:54 -08:00
parent 26a6b86ea9
commit 46ef001150
177 changed files with 141 additions and 219 deletions

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View file

@ -1 +0,0 @@
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[1979],{15143:function(e,n,r){Promise.resolve().then(r.bind(r,37492))},25512:function(e,n,r){"use strict";r.d(n,{P:function(){return l.Z},Q:function(){return t.Z}});var l=r(27281),t=r(43227)},37492:function(e,n,r){"use strict";r.r(n);var l=r(57437),t=r(66600),u=r(80443);n.default=()=>{let{token:e,accessToken:n,userRole:r,userId:i,premiumUser:o}=(0,u.Z)();return(0,l.jsx)(t.Z,{accessToken:n,token:e,userRole:r,userID:i,premiumUser:o})}},90246:function(e,n,r){"use strict";function l(e){let n=[e];return{all:n,lists:()=>[...n,"list"],list:e=>[...n,"list",{params:e}],details:()=>[...n,"detail"],detail:e=>[...n,"detail",e]}}r.d(n,{n:function(){return l}})},76191:function(e,n,r){"use strict";r.d(n,{p:function(){return i}});var l=r(19250),t=r(11713);let u=(0,r(90246).n)("uiConfig"),i=()=>(0,t.a)({queryKey:u.list({}),queryFn:async()=>await (0,l.getUiConfig)(),staleTime:864e5,gcTime:864e5})},80443:function(e,n,r){"use strict";var l=r(19250),t=r(3914),u=r(14474),i=r(99376),o=r(2265),a=r(76191);n.Z=()=>{var e,n,r,s,d,c;let m=(0,i.useRouter)(),{data:_,isLoading:p}=(0,a.p)(),f="undefined"!=typeof document?(0,t.e)("token"):null;(0,o.useEffect)(()=>{!p&&(!f||(null==_?void 0:_.admin_ui_disabled))&&m.replace("".concat((0,l.getProxyBaseUrl)(),"/ui/login"))},[f,m,p,_]);let v=(0,o.useMemo)(()=>{if(!f)return null;try{return(0,u.o)(f)}catch(e){return(0,t.b)(),m.replace("".concat((0,l.getProxyBaseUrl)(),"/ui/login")),null}},[f,m]);return{token:f,accessToken:null!==(e=null==v?void 0:v.key)&&void 0!==e?e:null,userId:null!==(n=null==v?void 0:v.user_id)&&void 0!==n?n:null,userEmail:null!==(r=null==v?void 0:v.user_email)&&void 0!==r?r:null,userRole:function(e){if(!e)return"Undefined Role";switch(e.toLowerCase()){case"app_owner":case"demo_app_owner":return"App Owner";case"app_admin":case"proxy_admin":return"Admin";case"proxy_admin_viewer":return"Admin Viewer";case"org_admin":return"Org Admin";case"internal_user":return"Internal User";case"internal_user_viewer":case"internal_viewer":return"Internal Viewer";case"app_user":return"App User";default:return"Unknown Role"}}(null!==(s=null==v?void 0:v.user_role)&&void 0!==s?s:null),premiumUser:null!==(d=null==v?void 0:v.premium_user)&&void 0!==d?d:null,disabledPersonalKeyCreation:null!==(c=null==v?void 0:v.disabled_non_admin_personal_key_creation)&&void 0!==c?c:null,showSSOBanner:(null==v?void 0:v.login_method)==="username_password"}}},10703:function(e,n,r){"use strict";r.d(n,{p:function(){return t}});var l=r(19250);let t=async e=>{try{let n=await (0,l.modelHubCall)(e);if(console.log("model_info:",n),(null==n?void 0:n.data.length)>0){let e=n.data.map(e=>({model_group:e.model_group,mode:null==e?void 0:e.mode}));return e.sort((e,n)=>e.model_group.localeCompare(n.model_group)),e}return[]}catch(e){throw console.error("Error fetching model info:",e),e}}},24199:function(e,n,r){"use strict";r.d(n,{Z:function(){return u}});var l=r(57437);r(2265);var t=r(30150),u=e=>{let{step:n=.01,style:r={width:"100%"},placeholder:u="Enter a numerical value",min:i,max:o,onChange:a,...s}=e;return(0,l.jsx)(t.Z,{onWheel:e=>e.currentTarget.blur(),step:n,style:r,placeholder:u,min:i,max:o,onChange:a,...s})}}},function(e){e.O(0,[1047,9028,9409,1713,4865,1442,2926,5333,1108,5733,4817,8049,6600,2971,2117,1744],function(){return e(e.s=15143)}),_N_E=e.O()}]);

View file

@ -1 +0,0 @@
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[8021],{39793:function(e,n,r){Promise.resolve().then(r.bind(r,14809))},16312:function(e,n,r){"use strict";r.d(n,{z:function(){return t.Z}});var t=r(78489)},58643:function(e,n,r){"use strict";r.d(n,{OK:function(){return t.Z},nP:function(){return u.Z},td:function(){return i.Z},v0:function(){return l.Z},x4:function(){return o.Z}});var t=r(12485),l=r(18135),i=r(35242),o=r(29706),u=r(77991)},90246:function(e,n,r){"use strict";function t(e){let n=[e];return{all:n,lists:()=>[...n,"list"],list:e=>[...n,"list",{params:e}],details:()=>[...n,"detail"],detail:e=>[...n,"detail",e]}}r.d(n,{n:function(){return t}})},76191:function(e,n,r){"use strict";r.d(n,{p:function(){return o}});var t=r(19250),l=r(11713);let i=(0,r(90246).n)("uiConfig"),o=()=>(0,l.a)({queryKey:i.list({}),queryFn:async()=>await (0,t.getUiConfig)(),staleTime:864e5,gcTime:864e5})},80443:function(e,n,r){"use strict";var t=r(19250),l=r(3914),i=r(14474),o=r(99376),u=r(2265),s=r(76191);n.Z=()=>{var e,n,r,a,d,c;let m=(0,o.useRouter)(),{data:f,isLoading:p}=(0,s.p)(),_="undefined"!=typeof document?(0,l.e)("token"):null;(0,u.useEffect)(()=>{!p&&(!_||(null==f?void 0:f.admin_ui_disabled))&&m.replace("".concat((0,t.getProxyBaseUrl)(),"/ui/login"))},[_,m,p,f]);let v=(0,u.useMemo)(()=>{if(!_)return null;try{return(0,i.o)(_)}catch(e){return(0,l.b)(),m.replace("".concat((0,t.getProxyBaseUrl)(),"/ui/login")),null}},[_,m]);return{token:_,accessToken:null!==(e=null==v?void 0:v.key)&&void 0!==e?e:null,userId:null!==(n=null==v?void 0:v.user_id)&&void 0!==n?n:null,userEmail:null!==(r=null==v?void 0:v.user_email)&&void 0!==r?r:null,userRole:function(e){if(!e)return"Undefined Role";switch(e.toLowerCase()){case"app_owner":case"demo_app_owner":return"App Owner";case"app_admin":case"proxy_admin":return"Admin";case"proxy_admin_viewer":return"Admin Viewer";case"org_admin":return"Org Admin";case"internal_user":return"Internal User";case"internal_user_viewer":case"internal_viewer":return"Internal Viewer";case"app_user":return"App User";default:return"Unknown Role"}}(null!==(a=null==v?void 0:v.user_role)&&void 0!==a?a:null),premiumUser:null!==(d=null==v?void 0:v.premium_user)&&void 0!==d?d:null,disabledPersonalKeyCreation:null!==(c=null==v?void 0:v.disabled_non_admin_personal_key_creation)&&void 0!==c?c:null,showSSOBanner:(null==v?void 0:v.login_method)==="username_password"}}},14809:function(e,n,r){"use strict";r.r(n);var t=r(57437),l=r(65695),i=r(80443);n.default=()=>{let{accessToken:e,userRole:n,userId:r}=(0,i.Z)();return(0,t.jsx)(l.Z,{accessToken:e,userRole:n,userID:r,modelData:{}})}},21609:function(e,n,r){"use strict";r.d(n,{Z:function(){return d}});var t=r(57437),l=r(57840),i=r(22116),o=r(51653),u=r(76188),s=r(4260),a=r(2265);function d(e){let{isOpen:n,title:r,alertMessage:d,message:c,resourceInformationTitle:m,resourceInformation:f,onCancel:p,onOk:_,confirmLoading:v,requiredConfirmation:g}=e,{Title:x,Text:h}=l.default,[b,y]=(0,a.useState)("");return(0,a.useEffect)(()=>{n&&y("")},[n]),(0,t.jsx)(i.Z,{title:r,open:n,onOk:_,onCancel:p,confirmLoading:v,okText:v?"Deleting...":"Delete",cancelText:"Cancel",okButtonProps:{danger:!0,disabled:!!g&&b!==g||v},cancelButtonProps:{disabled:v},children:(0,t.jsxs)("div",{className:"space-y-4",children:[d&&(0,t.jsx)(o.Z,{message:d,type:"warning"}),(0,t.jsxs)("div",{className:"mt-4 p-4 bg-red-50 rounded-lg border border-red-200",children:[(0,t.jsx)(x,{level:5,className:"mb-3 text-gray-900",children:m}),(0,t.jsx)(u.Z,{column:1,size:"small",children:f&&f.map(e=>{let{label:n,value:r,...l}=e;return(0,t.jsx)(u.Z.Item,{label:(0,t.jsx)("span",{className:"font-semibold text-gray-700",children:n}),children:(0,t.jsx)(h,{...l,children:null!=r?r:"-"})},n)})})]}),(0,t.jsx)("div",{children:(0,t.jsx)(h,{children:c})}),g&&(0,t.jsxs)("div",{className:"mb-6 mt-4 pt-4 border-t border-gray-200",children:[(0,t.jsxs)(h,{className:"block text-base font-medium text-gray-700 mb-2",children:[(0,t.jsx)(h,{children:"Type "}),(0,t.jsx)(h,{strong:!0,type:"danger",children:g}),(0,t.jsx)(h,{children:" to confirm deletion:"})]}),(0,t.jsx)(s.default,{value:b,onChange:e=>y(e.target.value),placeholder:g,className:"rounded-md text-base border-gray-200",autoFocus:!0})]})]})})}},10703:function(e,n,r){"use strict";r.d(n,{p:function(){return l}});var t=r(19250);let l=async e=>{try{let n=await (0,t.modelHubCall)(e);if(console.log("model_info:",n),(null==n?void 0:n.data.length)>0){let e=n.data.map(e=>({model_group:e.model_group,mode:null==e?void 0:e.mode}));return e.sort((e,n)=>e.model_group.localeCompare(n.model_group)),e}return[]}catch(e){throw console.error("Error fetching model info:",e),e}}}},function(e){e.O(0,[9028,9409,1713,4865,337,8135,1442,2926,2409,7851,7271,2500,8049,5695,2971,2117,1744],function(){return e(e.s=39793)}),_N_E=e.O()}]);

View file

@ -1 +0,0 @@
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[3185],{68655:function(n,e,t){Promise.resolve().then(t.t.bind(t,39974,23)),Promise.resolve().then(t.t.bind(t,2778,23))},2778:function(){},39974:function(n){n.exports={style:{fontFamily:"'__Inter_1c856b', '__Inter_Fallback_1c856b'",fontStyle:"normal"},className:"__className_1c856b"}}},function(n){n.O(0,[1919,2461,2971,2117,1744],function(){return n(n.s=68655)}),_N_E=n.O()}]);

File diff suppressed because one or more lines are too long

View file

@ -1 +0,0 @@
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[480],{64995:function(e,t,s){Promise.resolve().then(s.bind(s,33422))},99376:function(e,t,s){"use strict";var a=s(35475);s.o(a,"usePathname")&&s.d(t,{usePathname:function(){return a.usePathname}}),s.o(a,"useRouter")&&s.d(t,{useRouter:function(){return a.useRouter}}),s.o(a,"useSearchParams")&&s.d(t,{useSearchParams:function(){return a.useSearchParams}})},33422:function(e,t,s){"use strict";s.r(t);var a=s(57437),n=s(2265),l=s(99376);let r=()=>{let e=window.location.pathname||"",t=e.indexOf("/ui");if(t>=0){let s=e.slice(0,t+3);return s.endsWith("/")?s:"".concat(s)}return"/"};t.default=()=>{let e=(0,l.useSearchParams)(),t=(0,n.useMemo)(()=>e?{type:"litellm-mcp-oauth",code:e.get("code"),state:e.get("state")}:null,[e]);return(0,n.useEffect)(()=>{if(!t)return;try{window.sessionStorage.setItem("litellm-mcp-oauth-result",JSON.stringify(t))}catch(e){console.error("Failed to persist OAuth callback payload",e)}let e=window.sessionStorage.getItem("litellm-mcp-oauth-return-url");console.info("[MCP OAuth callback] returnUrl",e);let s=e||r();window.location.replace(s)},[t]),(0,a.jsx)("div",{className:"min-h-screen flex items-center justify-center bg-slate-50 p-6",children:(0,a.jsxs)("div",{className:"max-w-lg w-full rounded-lg bg-white shadow-md p-8 text-center space-y-4",children:[(0,a.jsx)("h1",{className:"text-xl font-semibold text-slate-900",children:"LiteLLM MCP OAuth"}),(0,a.jsx)("p",{className:"text-sm text-slate-700",children:"Authorization complete. You may close this window and return to the LiteLLM dashboard."}),(0,a.jsx)("p",{className:"text-xs text-slate-500",children:"If the window does not close automatically, everything is still saved—you can close it manually."})]})})}}},function(e){e.O(0,[2971,2117,1744],function(){return e(e.s=64995)}),_N_E=e.O()}]);

View file

@ -1 +0,0 @@
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[1418],{88396:function(t,e,n){Promise.resolve().then(n.bind(n,52829))},90246:function(t,e,n){"use strict";function u(t){let e=[t];return{all:e,lists:()=>[...e,"list"],list:t=>[...e,"list",{params:t}],details:()=>[...e,"detail"],detail:t=>[...e,"detail",t]}}n.d(e,{n:function(){return u}})},52829:function(t,e,n){"use strict";n.r(e),n.d(e,{default:function(){return c}});var u=n(57437),s=n(2265),i=n(99376),r=n(87526);function c(){let t=(0,i.useSearchParams)().get("key"),[e,n]=(0,s.useState)(null);return(0,s.useEffect)(()=>{t&&n(t)},[t]),(0,u.jsx)(r.Z,{accessToken:e})}}},function(t){t.O(0,[9028,9409,1713,4865,337,8135,3367,3709,7138,2068,5869,8211,7926,8049,7526,2971,2117,1744],function(){return t(t.s=88396)}),_N_E=t.O()}]);

View file

@ -1 +0,0 @@
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[8461],{30253:function(e,s,t){Promise.resolve().then(t.bind(t,12011))},12011:function(e,s,t){"use strict";t.r(s),t.d(s,{default:function(){return _}});var r=t(57437),n=t(2265),a=t(99376),l=t(78489),o=t(94789),i=t(12514),c=t(49804),u=t(67101),d=t(84264),m=t(49566),h=t(96761),x=t(84566),g=t(19250),p=t(14474),w=t(10032),f=t(5545),j=t(3914);function _(){let[e]=w.Z.useForm(),s=(0,a.useSearchParams)();(0,j.e)("token");let t=s.get("invitation_id"),_=s.get("action"),[Z,b]=(0,n.useState)(null),[y,k]=(0,n.useState)(""),[S,N]=(0,n.useState)(""),[E,v]=(0,n.useState)(null),[P,U]=(0,n.useState)(""),[C,O]=(0,n.useState)(""),[F,I]=(0,n.useState)(!0);return(0,n.useEffect)(()=>{(0,g.getUiConfig)().then(e=>{console.log("ui config in onboarding.tsx:",e),I(!1)})},[]),(0,n.useEffect)(()=>{t&&!F&&(0,g.getOnboardingCredentials)(t).then(e=>{let s=e.login_url;console.log("login_url:",s),U(s);let t=e.token,r=(0,p.o)(t);O(t),console.log("decoded:",r),b(r.key),console.log("decoded user email:",r.user_email),N(r.user_email),v(r.user_id)})},[t,F]),(0,r.jsx)("div",{className:"mx-auto w-full max-w-md mt-10",children:(0,r.jsxs)(i.Z,{children:[(0,r.jsx)(h.Z,{className:"text-sm mb-5 text-center",children:"\uD83D\uDE85 LiteLLM"}),(0,r.jsx)(h.Z,{className:"text-xl",children:"reset_password"===_?"Reset Password":"Sign up"}),(0,r.jsx)(d.Z,{children:"reset_password"===_?"Reset your password to access Admin UI.":"Claim your user account to login to Admin UI."}),"reset_password"!==_&&(0,r.jsx)(o.Z,{className:"mt-4",title:"SSO",icon:x.GH$,color:"sky",children:(0,r.jsxs)(u.Z,{numItems:2,className:"flex justify-between items-center",children:[(0,r.jsx)(c.Z,{children:"SSO is under the Enterprise Tier."}),(0,r.jsx)(c.Z,{children:(0,r.jsx)(l.Z,{variant:"primary",className:"mb-2",children:(0,r.jsx)("a",{href:"https://forms.gle/W3U4PZpJGFHWtHyA9",target:"_blank",children:"Get Free Trial"})})})]})}),(0,r.jsxs)(w.Z,{className:"mt-10 mb-5 mx-auto",layout:"vertical",onFinish:e=>{console.log("in handle submit. accessToken:",Z,"token:",C,"formValues:",e),Z&&C&&(e.user_email=S,E&&t&&(0,g.claimOnboardingToken)(Z,t,E,e.password).then(e=>{document.cookie="token="+C;let s=(0,g.getProxyBaseUrl)();console.log("proxyBaseUrl:",s);let t=s?"".concat(s,"/ui/?login=success"):"/ui/?login=success";console.log("redirecting to:",t),window.location.href=t}))},children:[(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(w.Z.Item,{label:"Email Address",name:"user_email",children:(0,r.jsx)(m.Z,{type:"email",disabled:!0,value:S,defaultValue:S,className:"max-w-md"})}),(0,r.jsx)(w.Z.Item,{label:"Password",name:"password",rules:[{required:!0,message:"password required to sign up"}],help:"reset_password"===_?"Enter your new password":"Create a password for your account",children:(0,r.jsx)(m.Z,{placeholder:"",type:"password",className:"max-w-md"})})]}),(0,r.jsx)("div",{className:"mt-10",children:(0,r.jsx)(f.ZP,{htmlType:"submit",children:"reset_password"===_?"Reset Password":"Sign Up"})})]})]})})}}},function(e){e.O(0,[3665,9028,9409,4865,2901,8049,2971,2117,1744],function(){return e(e.s=30253)}),_N_E=e.O()}]);

File diff suppressed because one or more lines are too long

View file

@ -1 +0,0 @@
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[1744],{96024:function(e,n,t){Promise.resolve().then(t.t.bind(t,12846,23)),Promise.resolve().then(t.t.bind(t,19107,23)),Promise.resolve().then(t.t.bind(t,61060,23)),Promise.resolve().then(t.t.bind(t,4707,23)),Promise.resolve().then(t.t.bind(t,80,23)),Promise.resolve().then(t.t.bind(t,36423,23))}},function(e){var n=function(n){return e(e.s=n)};e.O(0,[2971,2117],function(){return n(54278),n(96024)}),_N_E=e.O()}]);

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

Some files were not shown because too many files have changed in this diff Show more