feat: improve dashboard UI (#677)

release-notes-05
Meng Zhang 2023-10-30 14:47:38 -07:00 committed by GitHub
parent b4772fbcd0
commit 73758e207d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
47 changed files with 292 additions and 283 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

View File

@ -0,0 +1 @@
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[642],{95420:function(e,t,n){Promise.resolve().then(n.bind(n,30831))},30831:function(e,t,n){"use strict";n.r(t),n.d(t,{default:function(){return c}});var s=n(57437),r=n(39311),i=n(7404),a=n(61396),l=n.n(a),o=n(24033);function c(e){let{children:t,className:n}=e;return(0,s.jsxs)("div",{className:(0,r.cn)("grid overflow-hidden lg:grid-cols-[280px_1fr]",n),children:[(0,s.jsx)("div",{className:"hidden border-r bg-zinc-100/40 dark:bg-zinc-800/40 lg:block",children:(0,s.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,s.jsx)("div",{className:"h-[12px]"}),(0,s.jsx)("div",{className:"flex-1",children:(0,s.jsxs)("nav",{className:"grid items-start gap-4 px-4 text-sm font-medium",children:[(0,s.jsxs)(h,{href:"/",children:[(0,s.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",className:" h-4 w-4",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,s.jsx)("path",{d:"m3 9 9-7 9 7v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z"}),(0,s.jsx)("polyline",{points:"9 22 9 12 15 12 15 22"})]}),"Home"]}),(0,s.jsxs)(h,{href:"/swagger",children:[(0,s.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",className:" h-4 w-4",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,s.jsx)("path",{d:"M2 3h6a4 4 0 0 1 4 4v14a3 3 0 0 0-3-3H2z"}),(0,s.jsx)("path",{d:"M22 3h-6a4 4 0 0 0-4 4v14a3 3 0 0 1 3-3h7z"}),(0,s.jsx)("path",{d:"M6 8h2"}),(0,s.jsx)("path",{d:"M6 12h2"}),(0,s.jsx)("path",{d:"M16 8h2"}),(0,s.jsx)("path",{d:"M16 12h2"})]}),"Swagger"]})]})})]})}),(0,s.jsx)("div",{className:"flex flex-1 flex-col overflow-auto",children:t})]})}let d=(0,i.j)("flex items-center gap-3 rounded-lg px-3 py-2 text-zinc-900 transition-all hover:text-zinc-900 dark:text-zinc-50 dark:hover:text-zinc-50",{variants:{state:{selected:"bg-zinc-200 dark:bg-zinc-800","not-selected":""}},defaultVariants:{state:"not-selected"}});function h(e){let{href:t,children:n}=e,r=(0,o.usePathname)();return(0,s.jsx)(l(),{className:d({state:r==t?"selected":"not-selected"}),href:t,children:n})}},39311:function(e,t,n){"use strict";n.d(t,{cn:function(){return a}});var s=n(50348),r=n(28481),i=n(23986);function a(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];return(0,i.m)((0,s.W)(t))}(0,r.kP)("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",7)},67650:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"RouterContext",{enumerable:!0,get:function(){return i}});let s=n(21024),r=s._(n(2265)),i=r.default.createContext(null)},24033:function(e,t,n){e.exports=n(20290)}},function(e){e.O(0,[882,396,971,864,744],function(){return e(e.s=95420)}),_N_E=e.O()}]);

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1 @@
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[507],{63521:function(){}},function(n){n.O(0,[971,864,744],function(){return n(n.s=63521)}),_N_E=n.O()}]);

View File

@ -1 +0,0 @@
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[110],{63521:function(){}},function(n){n.O(0,[971,864,744],function(){return n(n.s=63521)}),_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([[663],{7404:function(e,n,t){"use strict";t.d(n,{j:function(){return s}});let r=e=>"boolean"==typeof e?"".concat(e):0===e?"0":e,l=function(){for(var e=arguments.length,n=Array(e),t=0;t<e;t++)n[t]=arguments[t];return n.flat(1/0).filter(Boolean).join(" ")},s=(e,n)=>t=>{var s;if((null==n?void 0:n.variants)==null)return l(e,null==t?void 0:t.class,null==t?void 0:t.className);let{variants:i,defaultVariants:a}=n,o=Object.keys(i).map(e=>{let n=null==t?void 0:t[e],l=null==a?void 0:a[e];if(null===n)return null;let s=r(n)||r(l);return i[e][s]}),c=t&&Object.entries(t).reduce((e,n)=>{let[t,r]=n;return void 0===r||(e[t]=r),e},{}),d=null==n?void 0:null===(s=n.compoundVariants)||void 0===s?void 0:s.reduce((e,n)=>{let{class:t,className:r,...l}=n;return Object.entries(l).every(e=>{let[n,t]=e;return Array.isArray(t)?t.includes({...a,...c}[n]):({...a,...c})[n]===t})?[...e,t,r]:e},[]);return l(e,o,d,null==t?void 0:t.class,null==t?void 0:t.className)}},96360:function(e,n,t){Promise.resolve().then(t.bind(t,79744))},79744:function(e,n,t){"use strict";t.r(n),t.d(n,{default:function(){return c}});var r=t(57437),l=t(39311),s=t(7404),i=t(61396),a=t.n(i),o=t(24033);function c(e){let{children:n,className:t}=e;return(0,r.jsxs)("div",{className:(0,l.cn)("grid overflow-hidden lg:grid-cols-[280px_1fr]",t),children:[(0,r.jsx)("div",{className:"hidden border-r bg-zinc-100/40 dark:bg-zinc-800/40 lg:block",children:(0,r.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,r.jsx)("div",{className:"h-[12px]"}),(0,r.jsx)("div",{className:"flex-1",children:(0,r.jsxs)("nav",{className:"grid items-start gap-4 px-4 text-sm font-medium",children:[(0,r.jsxs)(u,{href:"/dashboard/home",children:[(0,r.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",className:" h-4 w-4",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,r.jsx)("path",{d:"m3 9 9-7 9 7v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z"}),(0,r.jsx)("polyline",{points:"9 22 9 12 15 12 15 22"})]}),"Home"]}),(0,r.jsxs)(u,{href:"/dashboard/runners",children:[(0,r.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",className:" h-4 w-4",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,r.jsx)("path",{d:"m12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83Z"}),(0,r.jsx)("path",{d:"m6.08 9.5-3.5 1.6a1 1 0 0 0 0 1.81l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9a1 1 0 0 0 0-1.83l-3.5-1.59"}),(0,r.jsx)("path",{d:"m6.08 14.5-3.5 1.6a1 1 0 0 0 0 1.81l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9a1 1 0 0 0 0-1.83l-3.5-1.59"})]}),"Runners"]})]})})]})}),(0,r.jsx)("div",{className:"flex flex-1 flex-col overflow-auto p-4 lg:p-16",children:n})]})}let d=(0,s.j)("flex items-center gap-3 rounded-lg px-3 py-2 text-zinc-900 transition-all hover:text-zinc-900 dark:text-zinc-50 dark:hover:text-zinc-50",{variants:{state:{selected:"bg-zinc-200 dark:bg-zinc-800","not-selected":""}},defaultVariants:{state:"not-selected"}});function u(e){let{href:n,children:t}=e,l=(0,o.usePathname)();return(0,r.jsx)(a(),{className:d({state:l==n?"selected":"not-selected"}),href:n,children:t})}},39311:function(e,n,t){"use strict";t.d(n,{cn:function(){return i}});var r=t(50348),l=t(28481),s=t(23986);function i(){for(var e=arguments.length,n=Array(e),t=0;t<e;t++)n[t]=arguments[t];return(0,s.m)((0,r.W)(n))}(0,l.kP)("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",7)},67650:function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),Object.defineProperty(n,"RouterContext",{enumerable:!0,get:function(){return s}});let r=t(21024),l=r._(t(2265)),s=l.default.createContext(null)},24033:function(e,n,t){e.exports=t(20290)}},function(e){e.O(0,[195,396,971,864,744],function(){return e(e.s=96360)}),_N_E=e.O()}]);

View File

@ -1 +0,0 @@
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[454],{93924:function(e,t,s){Promise.resolve().then(s.bind(s,93203))},93203:function(e,t,s){"use strict";s.r(t),s.d(t,{default:function(){return f}});var r=s(57437),a=s(94190),n=s(2265),l=s(39311);let d=n.forwardRef((e,t)=>{let{className:s,...a}=e;return(0,r.jsx)("div",{ref:t,className:(0,l.cn)("rounded-lg border bg-card text-card-foreground shadow-sm",s),...a})});d.displayName="Card";let i=n.forwardRef((e,t)=>{let{className:s,...a}=e;return(0,r.jsx)("div",{ref:t,className:(0,l.cn)("flex flex-col space-y-1.5 p-6",s),...a})});i.displayName="CardHeader";let o=n.forwardRef((e,t)=>{let{className:s,...a}=e;return(0,r.jsx)("h3",{ref:t,className:(0,l.cn)("text-2xl font-semibold leading-none tracking-tight",s),...a})});o.displayName="CardTitle";let h=n.forwardRef((e,t)=>{let{className:s,...a}=e;return(0,r.jsx)("p",{ref:t,className:(0,l.cn)("text-sm text-muted-foreground",s),...a})});h.displayName="CardDescription";let c=n.forwardRef((e,t)=>{let{className:s,...a}=e;return(0,r.jsx)("div",{ref:t,className:(0,l.cn)("p-6 pt-0",s),...a})});c.displayName="CardContent";let x=n.forwardRef((e,t)=>{let{className:s,...a}=e;return(0,r.jsx)("div",{ref:t,className:(0,l.cn)("flex items-center p-6 pt-0",s),...a})});function p(e){let{title:t,health:s}=e;return(0,r.jsxs)(d,{className:"rounded-xl shadow-md",children:[(0,r.jsx)(i,{className:"p-0 px-4 pb-2 pt-4",children:(0,r.jsx)(o,{className:"text-md font-semibold",children:t})}),(0,r.jsxs)(c,{className:"flex flex-col gap-2 p-0 px-4 pb-4 pt-2",children:[(0,r.jsxs)(u,{children:[(0,r.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",className:" h-5 w-5 text-gray-400",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,r.jsx)("path",{d:"M14.5 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7.5L14.5 2z"}),(0,r.jsx)("polyline",{points:"14 2 14 8 20 8"}),(0,r.jsx)("path",{d:"m10 13-2 2 2 2"}),(0,r.jsx)("path",{d:"m14 17 2-2-2-2"})]}),(0,r.jsx)("p",{className:"ml-2",children:s.model})]}),s.chat_model&&(0,r.jsxs)(u,{children:[(0,r.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",className:" h-5 w-5 text-gray-400",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,r.jsx)("path",{d:"M14 9a2 2 0 0 1-2 2H6l-4 4V4c0-1.1.9-2 2-2h8a2 2 0 0 1 2 2v5Z"}),(0,r.jsx)("path",{d:"M18 9h2a2 2 0 0 1 2 2v11l-4-4h-6a2 2 0 0 1-2-2v-1"})]}),(0,r.jsx)("p",{className:"ml-2",children:s.chat_model})]}),(0,r.jsxs)(u,{children:[(0,r.jsxs)("svg",{className:" h-5 w-5 text-gray-400",fill:"none",height:"24",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"2",viewBox:"0 0 24 24",width:"24",xmlns:"http://www.w3.org/2000/svg",children:[(0,r.jsx)("rect",{height:"16",rx:"2",width:"16",x:"4",y:"4"}),(0,r.jsx)("rect",{height:"6",width:"6",x:"9",y:"9"}),(0,r.jsx)("path",{d:"M15 2v2"}),(0,r.jsx)("path",{d:"M15 20v2"}),(0,r.jsx)("path",{d:"M2 15h2"}),(0,r.jsx)("path",{d:"M2 9h2"}),(0,r.jsx)("path",{d:"M20 15h2"}),(0,r.jsx)("path",{d:"M20 9h2"}),(0,r.jsx)("path",{d:"M9 2v2"}),(0,r.jsx)("path",{d:"M9 20v2"})]}),(0,r.jsxs)("p",{className:"ml-2",children:[s.cpu_info," (",s.cpu_count," cores)"]})]}),s.cuda_devices.map((e,t)=>(0,r.jsxs)(u,{children:[(0,r.jsxs)("svg",{className:" h-5 w-5 text-gray-400",fill:"none",height:"24",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"2",viewBox:"0 0 24 24",width:"24",xmlns:"http://www.w3.org/2000/svg",children:[(0,r.jsx)("path",{d:"M6 19v-3"}),(0,r.jsx)("path",{d:"M10 19v-3"}),(0,r.jsx)("path",{d:"M14 19v-3"}),(0,r.jsx)("path",{d:"M18 19v-3"}),(0,r.jsx)("path",{d:"M8 11V9"}),(0,r.jsx)("path",{d:"M16 11V9"}),(0,r.jsx)("path",{d:"M12 11V9"}),(0,r.jsx)("path",{d:"M2 15h20"}),(0,r.jsx)("path",{d:"M2 7a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v1.1a2 2 0 0 0 0 3.837V17a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2v-5.1a2 2 0 0 0 0-3.837Z"})]}),(0,r.jsx)("p",{className:"ml-2",children:e})]},t))]})]})}function u(e){let{children:t}=e;return(0,r.jsx)("div",{className:"mt-2 flex items-center text-sm text-gray-500",children:t})}function f(){let{data:e}=(0,a.Q)();if(e)return(0,r.jsx)("div",{className:"flex h-full w-full items-start justify-start",children:(0,r.jsx)(p,{title:"Local Runner",health:e})})}x.displayName="CardFooter"},94190:function(e,t,s){"use strict";s.d(t,{Q:function(){return n}});var r=s(45362);function a(e){return fetch(e).then(e=>e.json())}function n(){return(0,r.Z)("/v1/health",a)}},39311:function(e,t,s){"use strict";s.d(t,{cn:function(){return l}});var r=s(50348),a=s(28481),n=s(23986);function l(){for(var e=arguments.length,t=Array(e),s=0;s<e;s++)t[s]=arguments[s];return(0,n.m)((0,r.W)(t))}(0,a.kP)("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",7)}},function(e){e.O(0,[195,362,971,864,744],function(){return e(e.s=93924)}),_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

View File

@ -1 +0,0 @@
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[931],{69563:function(e,n,t){Promise.resolve().then(t.t.bind(t,63388,23))},63388:function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),function(e,n){for(var t in n)Object.defineProperty(e,t,{enumerable:!0,get:n[t]})}(n,{suspense:function(){return u},NoSSR:function(){return o}}),t(21024),t(2265);let r=t(54922);function u(){let e=Error(r.NEXT_DYNAMIC_NO_SSR_CODE);throw e.digest=r.NEXT_DYNAMIC_NO_SSR_CODE,e}function o(e){let{children:n}=e;return n}}},function(e){e.O(0,[971,864,744],function(){return e(e.s=69563)}),_N_E=e.O()}]);

View File

@ -1 +0,0 @@
!function(){"use strict";var e,t,n,r,o,u,i,c,f,a={},l={};function s(e){var t=l[e];if(void 0!==t)return t.exports;var n=l[e]={exports:{}},r=!0;try{a[e](n,n.exports,s),r=!1}finally{r&&delete l[e]}return n.exports}s.m=a,e=[],s.O=function(t,n,r,o){if(n){o=o||0;for(var u=e.length;u>0&&e[u-1][2]>o;u--)e[u]=e[u-1];e[u]=[n,r,o];return}for(var i=1/0,u=0;u<e.length;u++){for(var n=e[u][0],r=e[u][1],o=e[u][2],c=!0,f=0;f<n.length;f++)i>=o&&Object.keys(s.O).every(function(e){return s.O[e](n[f])})?n.splice(f--,1):(c=!1,o<i&&(i=o));if(c){e.splice(u--,1);var a=r()}}return a},s.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return s.d(t,{a:t}),t},n=Object.getPrototypeOf?function(e){return Object.getPrototypeOf(e)}:function(e){return e.__proto__},s.t=function(e,r){if(1&r&&(e=this(e)),8&r||"object"==typeof e&&e&&(4&r&&e.__esModule||16&r&&"function"==typeof e.then))return e;var o=Object.create(null);s.r(o);var u={};t=t||[null,n({}),n([]),n(n)];for(var i=2&r&&e;"object"==typeof i&&!~t.indexOf(i);i=n(i))Object.getOwnPropertyNames(i).forEach(function(t){u[t]=function(){return e[t]}});return u.default=function(){return e},s.d(o,u),o},s.d=function(e,t){for(var n in t)s.o(t,n)&&!s.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},s.f={},s.e=function(e){return Promise.all(Object.keys(s.f).reduce(function(t,n){return s.f[n](e,t),t},[]))},s.u=function(e){return"static/chunks/"+e+".2b6536d53b303d15.js"},s.miniCssF=function(e){return"static/css/ec1d302aa85c53c3.css"},s.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||Function("return this")()}catch(e){if("object"==typeof window)return window}}(),s.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r={},o="_N_E:",s.l=function(e,t,n,u){if(r[e]){r[e].push(t);return}if(void 0!==n)for(var i,c,f=document.getElementsByTagName("script"),a=0;a<f.length;a++){var l=f[a];if(l.getAttribute("src")==e||l.getAttribute("data-webpack")==o+n){i=l;break}}i||(c=!0,(i=document.createElement("script")).charset="utf-8",i.timeout=120,s.nc&&i.setAttribute("nonce",s.nc),i.setAttribute("data-webpack",o+n),i.src=s.tu(e)),r[e]=[t];var d=function(t,n){i.onerror=i.onload=null,clearTimeout(p);var o=r[e];if(delete r[e],i.parentNode&&i.parentNode.removeChild(i),o&&o.forEach(function(e){return e(n)}),t)return t(n)},p=setTimeout(d.bind(null,void 0,{type:"timeout",target:i}),12e4);i.onerror=d.bind(null,i.onerror),i.onload=d.bind(null,i.onload),c&&document.head.appendChild(i)},s.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},s.tt=function(){return void 0===u&&(u={createScriptURL:function(e){return e}},"undefined"!=typeof trustedTypes&&trustedTypes.createPolicy&&(u=trustedTypes.createPolicy("nextjs#bundler",u))),u},s.tu=function(e){return s.tt().createScriptURL(e)},s.p="/_next/",i={272:0},s.f.j=function(e,t){var n=s.o(i,e)?i[e]:void 0;if(0!==n){if(n)t.push(n[2]);else if(272!=e){var r=new Promise(function(t,r){n=i[e]=[t,r]});t.push(n[2]=r);var o=s.p+s.u(e),u=Error();s.l(o,function(t){if(s.o(i,e)&&(0!==(n=i[e])&&(i[e]=void 0),n)){var r=t&&("load"===t.type?"missing":t.type),o=t&&t.target&&t.target.src;u.message="Loading chunk "+e+" failed.\n("+r+": "+o+")",u.name="ChunkLoadError",u.type=r,u.request=o,n[1](u)}},"chunk-"+e,e)}else i[e]=0}},s.O.j=function(e){return 0===i[e]},c=function(e,t){var n,r,o=t[0],u=t[1],c=t[2],f=0;if(o.some(function(e){return 0!==i[e]})){for(n in u)s.o(u,n)&&(s.m[n]=u[n]);if(c)var a=c(s)}for(e&&e(t);f<o.length;f++)r=o[f],s.o(i,r)&&i[r]&&i[r][0](),i[r]=0;return s.O(a)},(f=self.webpackChunk_N_E=self.webpackChunk_N_E||[]).forEach(c.bind(null,0)),f.push=c.bind(null,f.push.bind(f)),s.nc=void 0}();

View File

@ -0,0 +1 @@
!function(){"use strict";var t,e,n,r,o,u,i,c,f,a={},l={};function s(t){var e=l[t];if(void 0!==e)return e.exports;var n=l[t]={exports:{}},r=!0;try{a[t](n,n.exports,s),r=!1}finally{r&&delete l[t]}return n.exports}s.m=a,t=[],s.O=function(e,n,r,o){if(n){o=o||0;for(var u=t.length;u>0&&t[u-1][2]>o;u--)t[u]=t[u-1];t[u]=[n,r,o];return}for(var i=1/0,u=0;u<t.length;u++){for(var n=t[u][0],r=t[u][1],o=t[u][2],c=!0,f=0;f<n.length;f++)i>=o&&Object.keys(s.O).every(function(t){return s.O[t](n[f])})?n.splice(f--,1):(c=!1,o<i&&(i=o));if(c){t.splice(u--,1);var a=r()}}return a},s.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return s.d(e,{a:e}),e},n=Object.getPrototypeOf?function(t){return Object.getPrototypeOf(t)}:function(t){return t.__proto__},s.t=function(t,r){if(1&r&&(t=this(t)),8&r||"object"==typeof t&&t&&(4&r&&t.__esModule||16&r&&"function"==typeof t.then))return t;var o=Object.create(null);s.r(o);var u={};e=e||[null,n({}),n([]),n(n)];for(var i=2&r&&t;"object"==typeof i&&!~e.indexOf(i);i=n(i))Object.getOwnPropertyNames(i).forEach(function(e){u[e]=function(){return t[e]}});return u.default=function(){return t},s.d(o,u),o},s.d=function(t,e){for(var n in e)s.o(e,n)&&!s.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:e[n]})},s.f={},s.e=function(t){return Promise.all(Object.keys(s.f).reduce(function(e,n){return s.f[n](t,e),e},[]))},s.u=function(t){return"static/chunks/"+t+".2b6536d53b303d15.js"},s.miniCssF=function(t){return"static/css/06f39ab10c82ab84.css"},s.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||Function("return this")()}catch(t){if("object"==typeof window)return window}}(),s.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r={},o="_N_E:",s.l=function(t,e,n,u){if(r[t]){r[t].push(e);return}if(void 0!==n)for(var i,c,f=document.getElementsByTagName("script"),a=0;a<f.length;a++){var l=f[a];if(l.getAttribute("src")==t||l.getAttribute("data-webpack")==o+n){i=l;break}}i||(c=!0,(i=document.createElement("script")).charset="utf-8",i.timeout=120,s.nc&&i.setAttribute("nonce",s.nc),i.setAttribute("data-webpack",o+n),i.src=s.tu(t)),r[t]=[e];var d=function(e,n){i.onerror=i.onload=null,clearTimeout(p);var o=r[t];if(delete r[t],i.parentNode&&i.parentNode.removeChild(i),o&&o.forEach(function(t){return t(n)}),e)return e(n)},p=setTimeout(d.bind(null,void 0,{type:"timeout",target:i}),12e4);i.onerror=d.bind(null,i.onerror),i.onload=d.bind(null,i.onload),c&&document.head.appendChild(i)},s.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},s.tt=function(){return void 0===u&&(u={createScriptURL:function(t){return t}},"undefined"!=typeof trustedTypes&&trustedTypes.createPolicy&&(u=trustedTypes.createPolicy("nextjs#bundler",u))),u},s.tu=function(t){return s.tt().createScriptURL(t)},s.p="/_next/",i={272:0},s.f.j=function(t,e){var n=s.o(i,t)?i[t]:void 0;if(0!==n){if(n)e.push(n[2]);else if(272!=t){var r=new Promise(function(e,r){n=i[t]=[e,r]});e.push(n[2]=r);var o=s.p+s.u(t),u=Error();s.l(o,function(e){if(s.o(i,t)&&(0!==(n=i[t])&&(i[t]=void 0),n)){var r=e&&("load"===e.type?"missing":e.type),o=e&&e.target&&e.target.src;u.message="Loading chunk "+t+" failed.\n("+r+": "+o+")",u.name="ChunkLoadError",u.type=r,u.request=o,n[1](u)}},"chunk-"+t,t)}else i[t]=0}},s.O.j=function(t){return 0===i[t]},c=function(t,e){var n,r,o=e[0],u=e[1],c=e[2],f=0;if(o.some(function(t){return 0!==i[t]})){for(n in u)s.o(u,n)&&(s.m[n]=u[n]);if(c)var a=c(s)}for(t&&t(e);f<o.length;f++)r=o[f],s.o(i,r)&&i[r]&&i[r][0](),i[r]=0;return s.O(a)},(f=self.webpackChunk_N_E=self.webpackChunk_N_E||[]).forEach(c.bind(null,0)),f.push=c.bind(null,f.push.bind(f)),s.nc=void 0}();

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,12 +0,0 @@
1:HL["/_next/static/media/86fdec36ddd9097e-s.p.woff2","font",{"crossOrigin":"","type":"font/woff2"}]
2:HL["/_next/static/media/c9a5bc6a7c948fb0-s.p.woff2","font",{"crossOrigin":"","type":"font/woff2"}]
3:HL["/_next/static/css/ec1d302aa85c53c3.css","style"]
0:["ie_20wEIgQnZFxy1-N2Oh",[[["",{"children":["api",{"children":["__PAGE__",{}]}]},"$undefined","$undefined",true],"$L4",[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/ec1d302aa85c53c3.css","precedence":"next"}]],"$L5"]]]]
6:I{"id":5925,"chunks":["195:static/chunks/195-42fffaf30b0aaee4.js","362:static/chunks/362-87396568076e34f1.js","536:static/chunks/536-ac1918586623b8f8.js","406:static/chunks/406-35481e1b86c5b377.js","396:static/chunks/396-28aae48ee9582229.js","894:static/chunks/894-f0d1adefd8c6331e.js","185:static/chunks/app/layout-6289fba2f8cf7457.js"],"name":"Toaster","async":false}
7:I{"id":78495,"chunks":["195:static/chunks/195-42fffaf30b0aaee4.js","362:static/chunks/362-87396568076e34f1.js","536:static/chunks/536-ac1918586623b8f8.js","406:static/chunks/406-35481e1b86c5b377.js","396:static/chunks/396-28aae48ee9582229.js","894:static/chunks/894-f0d1adefd8c6331e.js","185:static/chunks/app/layout-6289fba2f8cf7457.js"],"name":"Providers","async":false}
8:I{"id":11486,"chunks":["195:static/chunks/195-42fffaf30b0aaee4.js","362:static/chunks/362-87396568076e34f1.js","536:static/chunks/536-ac1918586623b8f8.js","406:static/chunks/406-35481e1b86c5b377.js","396:static/chunks/396-28aae48ee9582229.js","894:static/chunks/894-f0d1adefd8c6331e.js","185:static/chunks/app/layout-6289fba2f8cf7457.js"],"name":"Header","async":false}
9:I{"id":81443,"chunks":["272:static/chunks/webpack-ea3be9ec3294ba31.js","971:static/chunks/fd9d1056-5dfc77aa37d8c76f.js","864:static/chunks/864-bf315a5307aba1d7.js"],"name":"","async":false}
a:I{"id":18639,"chunks":["272:static/chunks/webpack-ea3be9ec3294ba31.js","971:static/chunks/fd9d1056-5dfc77aa37d8c76f.js","864:static/chunks/864-bf315a5307aba1d7.js"],"name":"","async":false}
5:[["$","meta","0",{"charSet":"utf-8"}],["$","title","1",{"children":"Tabby - API"}],["$","meta","2",{"name":"description","content":"Tabby, an opensource, self-hosted AI coding assistant."}],["$","meta","3",{"name":"theme-color","media":"(prefers-color-scheme: light)","content":"white"}],["$","meta","4",{"name":"theme-color","media":"(prefers-color-scheme: dark)","content":"black"}],["$","meta","5",{"name":"viewport","content":"width=device-width, initial-scale=1"}],["$","meta","6",{"name":"next-size-adjust"}]]
4:[null,["$","html",null,{"lang":"en","suppressHydrationWarning":true,"children":[["$","head",null,{}],["$","body",null,{"className":"font-sans antialiased __variable_e66fe9 __variable_bd9c35","children":[["$","$L6",null,{}],["$","$L7",null,{"attribute":"class","defaultTheme":"system","enableSystem":true,"children":[["$","div",null,{"className":"flex min-h-screen flex-col","children":[["$","$L8",null,{}],["$","main",null,{"className":"flex flex-1 flex-col bg-muted/50","children":["$","$L9",null,{"parallelRouterKey":"children","segmentPath":["children"],"loading":"$undefined","loadingStyles":"$undefined","hasLoading":false,"error":"$undefined","errorStyles":"$undefined","template":["$","$La",null,{}],"templateStyles":"$undefined","notFound":[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":"404"}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],"notFoundStyles":[],"childProp":{"current":["$","$L9",null,{"parallelRouterKey":"children","segmentPath":["children","api","children"],"loading":"$undefined","loadingStyles":"$undefined","hasLoading":false,"error":"$undefined","errorStyles":"$undefined","template":["$","$La",null,{}],"templateStyles":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined","childProp":{"current":["$Lb",["$","iframe",null,{"className":"grow","src":"/swagger-ui"}],null],"segment":"__PAGE__"},"styles":[]}],"segment":"api"},"styles":[]}]}]]}],null]}]]}]]}],null]
b:null

File diff suppressed because one or more lines are too long

View File

@ -1,15 +0,0 @@
1:HL["/_next/static/media/86fdec36ddd9097e-s.p.woff2","font",{"crossOrigin":"","type":"font/woff2"}]
2:HL["/_next/static/media/c9a5bc6a7c948fb0-s.p.woff2","font",{"crossOrigin":"","type":"font/woff2"}]
3:HL["/_next/static/css/ec1d302aa85c53c3.css","style"]
0:["ie_20wEIgQnZFxy1-N2Oh",[[["",{"children":["dashboard",{"children":["home",{"children":["__PAGE__",{}]}]}]},"$undefined","$undefined",true],"$L4",[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/ec1d302aa85c53c3.css","precedence":"next"}]],"$L5"]]]]
6:I{"id":5925,"chunks":["195:static/chunks/195-42fffaf30b0aaee4.js","362:static/chunks/362-87396568076e34f1.js","536:static/chunks/536-ac1918586623b8f8.js","406:static/chunks/406-35481e1b86c5b377.js","396:static/chunks/396-28aae48ee9582229.js","894:static/chunks/894-f0d1adefd8c6331e.js","185:static/chunks/app/layout-6289fba2f8cf7457.js"],"name":"Toaster","async":false}
7:I{"id":78495,"chunks":["195:static/chunks/195-42fffaf30b0aaee4.js","362:static/chunks/362-87396568076e34f1.js","536:static/chunks/536-ac1918586623b8f8.js","406:static/chunks/406-35481e1b86c5b377.js","396:static/chunks/396-28aae48ee9582229.js","894:static/chunks/894-f0d1adefd8c6331e.js","185:static/chunks/app/layout-6289fba2f8cf7457.js"],"name":"Providers","async":false}
8:I{"id":11486,"chunks":["195:static/chunks/195-42fffaf30b0aaee4.js","362:static/chunks/362-87396568076e34f1.js","536:static/chunks/536-ac1918586623b8f8.js","406:static/chunks/406-35481e1b86c5b377.js","396:static/chunks/396-28aae48ee9582229.js","894:static/chunks/894-f0d1adefd8c6331e.js","185:static/chunks/app/layout-6289fba2f8cf7457.js"],"name":"Header","async":false}
9:I{"id":81443,"chunks":["272:static/chunks/webpack-ea3be9ec3294ba31.js","971:static/chunks/fd9d1056-5dfc77aa37d8c76f.js","864:static/chunks/864-bf315a5307aba1d7.js"],"name":"","async":false}
a:I{"id":18639,"chunks":["272:static/chunks/webpack-ea3be9ec3294ba31.js","971:static/chunks/fd9d1056-5dfc77aa37d8c76f.js","864:static/chunks/864-bf315a5307aba1d7.js"],"name":"","async":false}
b:I{"id":79744,"chunks":["195:static/chunks/195-42fffaf30b0aaee4.js","396:static/chunks/396-28aae48ee9582229.js","663:static/chunks/app/dashboard/layout-9b2ef3995d47740e.js"],"name":"","async":false}
d:I{"id":65146,"chunks":["272:static/chunks/webpack-ea3be9ec3294ba31.js","971:static/chunks/fd9d1056-5dfc77aa37d8c76f.js","864:static/chunks/864-bf315a5307aba1d7.js"],"name":"","async":false}
e:I{"id":70406,"chunks":["195:static/chunks/195-42fffaf30b0aaee4.js","362:static/chunks/362-87396568076e34f1.js","536:static/chunks/536-ac1918586623b8f8.js","703:static/chunks/703-35aa8c1eaf8df6ef.js","894:static/chunks/894-f0d1adefd8c6331e.js","883:static/chunks/app/dashboard/home/page-4eb22256bfa93a96.js"],"name":"","async":false}
5:[["$","meta","0",{"charSet":"utf-8"}],["$","title","1",{"children":"Tabby - Dashboard"}],["$","meta","2",{"name":"description","content":"Tabby, an opensource, self-hosted AI coding assistant."}],["$","meta","3",{"name":"theme-color","media":"(prefers-color-scheme: light)","content":"white"}],["$","meta","4",{"name":"theme-color","media":"(prefers-color-scheme: dark)","content":"black"}],["$","meta","5",{"name":"viewport","content":"width=device-width, initial-scale=1"}],["$","meta","6",{"name":"next-size-adjust"}]]
4:[null,["$","html",null,{"lang":"en","suppressHydrationWarning":true,"children":[["$","head",null,{}],["$","body",null,{"className":"font-sans antialiased __variable_e66fe9 __variable_bd9c35","children":[["$","$L6",null,{}],["$","$L7",null,{"attribute":"class","defaultTheme":"system","enableSystem":true,"children":[["$","div",null,{"className":"flex min-h-screen flex-col","children":[["$","$L8",null,{}],["$","main",null,{"className":"flex flex-1 flex-col bg-muted/50","children":["$","$L9",null,{"parallelRouterKey":"children","segmentPath":["children"],"loading":"$undefined","loadingStyles":"$undefined","hasLoading":false,"error":"$undefined","errorStyles":"$undefined","template":["$","$La",null,{}],"templateStyles":"$undefined","notFound":[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":"404"}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],"notFoundStyles":[],"childProp":{"current":[null,["$","$Lb",null,{"className":"flex-1","children":["$","$L9",null,{"parallelRouterKey":"children","segmentPath":["children","dashboard","children"],"loading":"$undefined","loadingStyles":"$undefined","hasLoading":false,"error":"$undefined","errorStyles":"$undefined","template":["$","$La",null,{}],"templateStyles":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined","childProp":{"current":["$","$L9",null,{"parallelRouterKey":"children","segmentPath":["children","dashboard","children","home","children"],"loading":"$undefined","loadingStyles":"$undefined","hasLoading":false,"error":"$undefined","errorStyles":"$undefined","template":["$","$La",null,{}],"templateStyles":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined","childProp":{"current":["$Lc",["$","$Ld",null,{"propsForComponent":{"params":{}},"Component":"$e"}],null],"segment":"__PAGE__"},"styles":[]}],"segment":"home"},"styles":[]}]}],null],"segment":"dashboard"},"styles":[]}]}]]}],null]}]]}]]}],null]
c:null

File diff suppressed because one or more lines are too long

View File

@ -1,15 +0,0 @@
1:HL["/_next/static/media/86fdec36ddd9097e-s.p.woff2","font",{"crossOrigin":"","type":"font/woff2"}]
2:HL["/_next/static/media/c9a5bc6a7c948fb0-s.p.woff2","font",{"crossOrigin":"","type":"font/woff2"}]
3:HL["/_next/static/css/ec1d302aa85c53c3.css","style"]
0:["ie_20wEIgQnZFxy1-N2Oh",[[["",{"children":["dashboard",{"children":["runners",{"children":["__PAGE__",{}]}]}]},"$undefined","$undefined",true],"$L4",[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/ec1d302aa85c53c3.css","precedence":"next"}]],"$L5"]]]]
6:I{"id":5925,"chunks":["195:static/chunks/195-42fffaf30b0aaee4.js","362:static/chunks/362-87396568076e34f1.js","536:static/chunks/536-ac1918586623b8f8.js","406:static/chunks/406-35481e1b86c5b377.js","396:static/chunks/396-28aae48ee9582229.js","894:static/chunks/894-f0d1adefd8c6331e.js","185:static/chunks/app/layout-6289fba2f8cf7457.js"],"name":"Toaster","async":false}
7:I{"id":78495,"chunks":["195:static/chunks/195-42fffaf30b0aaee4.js","362:static/chunks/362-87396568076e34f1.js","536:static/chunks/536-ac1918586623b8f8.js","406:static/chunks/406-35481e1b86c5b377.js","396:static/chunks/396-28aae48ee9582229.js","894:static/chunks/894-f0d1adefd8c6331e.js","185:static/chunks/app/layout-6289fba2f8cf7457.js"],"name":"Providers","async":false}
8:I{"id":11486,"chunks":["195:static/chunks/195-42fffaf30b0aaee4.js","362:static/chunks/362-87396568076e34f1.js","536:static/chunks/536-ac1918586623b8f8.js","406:static/chunks/406-35481e1b86c5b377.js","396:static/chunks/396-28aae48ee9582229.js","894:static/chunks/894-f0d1adefd8c6331e.js","185:static/chunks/app/layout-6289fba2f8cf7457.js"],"name":"Header","async":false}
9:I{"id":81443,"chunks":["272:static/chunks/webpack-ea3be9ec3294ba31.js","971:static/chunks/fd9d1056-5dfc77aa37d8c76f.js","864:static/chunks/864-bf315a5307aba1d7.js"],"name":"","async":false}
a:I{"id":18639,"chunks":["272:static/chunks/webpack-ea3be9ec3294ba31.js","971:static/chunks/fd9d1056-5dfc77aa37d8c76f.js","864:static/chunks/864-bf315a5307aba1d7.js"],"name":"","async":false}
b:I{"id":79744,"chunks":["195:static/chunks/195-42fffaf30b0aaee4.js","396:static/chunks/396-28aae48ee9582229.js","663:static/chunks/app/dashboard/layout-9b2ef3995d47740e.js"],"name":"","async":false}
d:I{"id":65146,"chunks":["272:static/chunks/webpack-ea3be9ec3294ba31.js","971:static/chunks/fd9d1056-5dfc77aa37d8c76f.js","864:static/chunks/864-bf315a5307aba1d7.js"],"name":"","async":false}
e:I{"id":93203,"chunks":["195:static/chunks/195-42fffaf30b0aaee4.js","362:static/chunks/362-87396568076e34f1.js","454:static/chunks/app/dashboard/runners/page-5a19d3435b2e9dae.js"],"name":"","async":false}
5:[["$","meta","0",{"charSet":"utf-8"}],["$","title","1",{"children":"Tabby - Dashboard"}],["$","meta","2",{"name":"description","content":"Tabby, an opensource, self-hosted AI coding assistant."}],["$","meta","3",{"name":"theme-color","media":"(prefers-color-scheme: light)","content":"white"}],["$","meta","4",{"name":"theme-color","media":"(prefers-color-scheme: dark)","content":"black"}],["$","meta","5",{"name":"viewport","content":"width=device-width, initial-scale=1"}],["$","meta","6",{"name":"next-size-adjust"}]]
4:[null,["$","html",null,{"lang":"en","suppressHydrationWarning":true,"children":[["$","head",null,{}],["$","body",null,{"className":"font-sans antialiased __variable_e66fe9 __variable_bd9c35","children":[["$","$L6",null,{}],["$","$L7",null,{"attribute":"class","defaultTheme":"system","enableSystem":true,"children":[["$","div",null,{"className":"flex min-h-screen flex-col","children":[["$","$L8",null,{}],["$","main",null,{"className":"flex flex-1 flex-col bg-muted/50","children":["$","$L9",null,{"parallelRouterKey":"children","segmentPath":["children"],"loading":"$undefined","loadingStyles":"$undefined","hasLoading":false,"error":"$undefined","errorStyles":"$undefined","template":["$","$La",null,{}],"templateStyles":"$undefined","notFound":[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":"404"}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],"notFoundStyles":[],"childProp":{"current":[null,["$","$Lb",null,{"className":"flex-1","children":["$","$L9",null,{"parallelRouterKey":"children","segmentPath":["children","dashboard","children"],"loading":"$undefined","loadingStyles":"$undefined","hasLoading":false,"error":"$undefined","errorStyles":"$undefined","template":["$","$La",null,{}],"templateStyles":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined","childProp":{"current":["$","$L9",null,{"parallelRouterKey":"children","segmentPath":["children","dashboard","children","runners","children"],"loading":"$undefined","loadingStyles":"$undefined","hasLoading":false,"error":"$undefined","errorStyles":"$undefined","template":["$","$La",null,{}],"templateStyles":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined","childProp":{"current":["$Lc",["$","$Ld",null,{"propsForComponent":{"params":{}},"Component":"$e"}],null],"segment":"__PAGE__"},"styles":[]}],"segment":"runners"},"styles":[]}]}],null],"segment":"dashboard"},"styles":[]}]}]]}],null]}]]}]]}],null]
c:null

File diff suppressed because one or more lines are too long

View File

@ -1,13 +1,15 @@
1:HL["/_next/static/media/86fdec36ddd9097e-s.p.woff2","font",{"crossOrigin":"","type":"font/woff2"}] 1:HL["/_next/static/media/86fdec36ddd9097e-s.p.woff2","font",{"crossOrigin":"","type":"font/woff2"}]
2:HL["/_next/static/media/c9a5bc6a7c948fb0-s.p.woff2","font",{"crossOrigin":"","type":"font/woff2"}] 2:HL["/_next/static/media/c9a5bc6a7c948fb0-s.p.woff2","font",{"crossOrigin":"","type":"font/woff2"}]
3:HL["/_next/static/css/ec1d302aa85c53c3.css","style"] 3:HL["/_next/static/css/06f39ab10c82ab84.css","style"]
0:["ie_20wEIgQnZFxy1-N2Oh",[[["",{"children":["__PAGE__",{}]},"$undefined","$undefined",true],"$L4",[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/ec1d302aa85c53c3.css","precedence":"next"}]],"$L5"]]]] 0:["ddKzV5COfF5eLcDDx-VDo",[[["",{"children":["(dashboard)",{"children":["__PAGE__",{}]}]},"$undefined","$undefined",true],"$L4",[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/06f39ab10c82ab84.css","precedence":"next"}]],"$L5"]]]]
6:I{"id":5925,"chunks":["195:static/chunks/195-42fffaf30b0aaee4.js","362:static/chunks/362-87396568076e34f1.js","536:static/chunks/536-ac1918586623b8f8.js","406:static/chunks/406-35481e1b86c5b377.js","396:static/chunks/396-28aae48ee9582229.js","894:static/chunks/894-f0d1adefd8c6331e.js","185:static/chunks/app/layout-6289fba2f8cf7457.js"],"name":"Toaster","async":false} 6:I{"id":5925,"chunks":["882:static/chunks/882-b5d5b850fea3dad7.js","904:static/chunks/904-3f67d110829fa6e6.js","406:static/chunks/406-35481e1b86c5b377.js","396:static/chunks/396-28aae48ee9582229.js","362:static/chunks/362-ae0994d279f3f3bb.js","894:static/chunks/894-f0d1adefd8c6331e.js","185:static/chunks/app/layout-ce1de44f55fce028.js"],"name":"Toaster","async":false}
7:I{"id":78495,"chunks":["195:static/chunks/195-42fffaf30b0aaee4.js","362:static/chunks/362-87396568076e34f1.js","536:static/chunks/536-ac1918586623b8f8.js","406:static/chunks/406-35481e1b86c5b377.js","396:static/chunks/396-28aae48ee9582229.js","894:static/chunks/894-f0d1adefd8c6331e.js","185:static/chunks/app/layout-6289fba2f8cf7457.js"],"name":"Providers","async":false} 7:I{"id":78495,"chunks":["882:static/chunks/882-b5d5b850fea3dad7.js","904:static/chunks/904-3f67d110829fa6e6.js","406:static/chunks/406-35481e1b86c5b377.js","396:static/chunks/396-28aae48ee9582229.js","362:static/chunks/362-ae0994d279f3f3bb.js","894:static/chunks/894-f0d1adefd8c6331e.js","185:static/chunks/app/layout-ce1de44f55fce028.js"],"name":"Providers","async":false}
8:I{"id":11486,"chunks":["195:static/chunks/195-42fffaf30b0aaee4.js","362:static/chunks/362-87396568076e34f1.js","536:static/chunks/536-ac1918586623b8f8.js","406:static/chunks/406-35481e1b86c5b377.js","396:static/chunks/396-28aae48ee9582229.js","894:static/chunks/894-f0d1adefd8c6331e.js","185:static/chunks/app/layout-6289fba2f8cf7457.js"],"name":"Header","async":false} 8:I{"id":11486,"chunks":["882:static/chunks/882-b5d5b850fea3dad7.js","904:static/chunks/904-3f67d110829fa6e6.js","406:static/chunks/406-35481e1b86c5b377.js","396:static/chunks/396-28aae48ee9582229.js","362:static/chunks/362-ae0994d279f3f3bb.js","894:static/chunks/894-f0d1adefd8c6331e.js","185:static/chunks/app/layout-ce1de44f55fce028.js"],"name":"Header","async":false}
9:I{"id":81443,"chunks":["272:static/chunks/webpack-ea3be9ec3294ba31.js","971:static/chunks/fd9d1056-5dfc77aa37d8c76f.js","864:static/chunks/864-bf315a5307aba1d7.js"],"name":"","async":false} 9:I{"id":81443,"chunks":["272:static/chunks/webpack-f61d862b7204322f.js","971:static/chunks/fd9d1056-5dfc77aa37d8c76f.js","864:static/chunks/864-bf315a5307aba1d7.js"],"name":"","async":false}
a:I{"id":18639,"chunks":["272:static/chunks/webpack-ea3be9ec3294ba31.js","971:static/chunks/fd9d1056-5dfc77aa37d8c76f.js","864:static/chunks/864-bf315a5307aba1d7.js"],"name":"","async":false} a:I{"id":18639,"chunks":["272:static/chunks/webpack-f61d862b7204322f.js","971:static/chunks/fd9d1056-5dfc77aa37d8c76f.js","864:static/chunks/864-bf315a5307aba1d7.js"],"name":"","async":false}
5:[["$","meta","0",{"charSet":"utf-8"}],["$","title","1",{"children":"Tabby"}],["$","meta","2",{"name":"description","content":"Tabby, an opensource, self-hosted AI coding assistant."}],["$","meta","3",{"name":"theme-color","media":"(prefers-color-scheme: light)","content":"white"}],["$","meta","4",{"name":"theme-color","media":"(prefers-color-scheme: dark)","content":"black"}],["$","meta","5",{"name":"viewport","content":"width=device-width, initial-scale=1"}],["$","meta","6",{"name":"next-size-adjust"}]] b:I{"id":30831,"chunks":["882:static/chunks/882-b5d5b850fea3dad7.js","396:static/chunks/396-28aae48ee9582229.js","642:static/chunks/app/(dashboard)/layout-7c70a0db982ecc98.js"],"name":"","async":false}
4:[null,["$","html",null,{"lang":"en","suppressHydrationWarning":true,"children":[["$","head",null,{}],["$","body",null,{"className":"font-sans antialiased __variable_e66fe9 __variable_bd9c35","children":[["$","$L6",null,{}],["$","$L7",null,{"attribute":"class","defaultTheme":"system","enableSystem":true,"children":[["$","div",null,{"className":"flex min-h-screen flex-col","children":[["$","$L8",null,{}],["$","main",null,{"className":"flex flex-1 flex-col bg-muted/50","children":["$","$L9",null,{"parallelRouterKey":"children","segmentPath":["children"],"loading":"$undefined","loadingStyles":"$undefined","hasLoading":false,"error":"$undefined","errorStyles":"$undefined","template":["$","$La",null,{}],"templateStyles":"$undefined","notFound":[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":"404"}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],"notFoundStyles":[],"childProp":{"current":["$Lb","$Lc",null],"segment":"__PAGE__"},"styles":[]}]}]]}],null]}]]}]]}],null] d:I{"id":65146,"chunks":["272:static/chunks/webpack-f61d862b7204322f.js","971:static/chunks/fd9d1056-5dfc77aa37d8c76f.js","864:static/chunks/864-bf315a5307aba1d7.js"],"name":"","async":false}
c:E{"digest":"NEXT_REDIRECT;replace;/dashboard/home;false"} e:I{"id":2217,"chunks":["882:static/chunks/882-b5d5b850fea3dad7.js","904:static/chunks/904-3f67d110829fa6e6.js","362:static/chunks/362-ae0994d279f3f3bb.js","703:static/chunks/703-35aa8c1eaf8df6ef.js","894:static/chunks/894-f0d1adefd8c6331e.js","130:static/chunks/app/(dashboard)/page-b7b6510f22aeee9e.js"],"name":"","async":false}
b:null 5:[["$","meta","0",{"charSet":"utf-8"}],["$","title","1",{"children":"Tabby - Dashboard"}],["$","meta","2",{"name":"description","content":"Tabby, an opensource, self-hosted AI coding assistant."}],["$","meta","3",{"name":"theme-color","media":"(prefers-color-scheme: light)","content":"white"}],["$","meta","4",{"name":"theme-color","media":"(prefers-color-scheme: dark)","content":"black"}],["$","meta","5",{"name":"viewport","content":"width=device-width, initial-scale=1"}],["$","meta","6",{"name":"next-size-adjust"}]]
4:[null,["$","html",null,{"lang":"en","suppressHydrationWarning":true,"children":[["$","head",null,{}],["$","body",null,{"className":"font-sans antialiased __variable_e66fe9 __variable_bd9c35","children":[["$","$L6",null,{}],["$","$L7",null,{"attribute":"class","defaultTheme":"system","enableSystem":true,"children":[["$","div",null,{"className":"flex min-h-screen flex-col","children":[["$","$L8",null,{}],["$","main",null,{"className":"flex flex-1 flex-col bg-muted/50","children":["$","$L9",null,{"parallelRouterKey":"children","segmentPath":["children"],"loading":"$undefined","loadingStyles":"$undefined","hasLoading":false,"error":"$undefined","errorStyles":"$undefined","template":["$","$La",null,{}],"templateStyles":"$undefined","notFound":[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":"404"}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],"notFoundStyles":[],"childProp":{"current":[null,["$","$Lb",null,{"className":"flex-1","children":["$","$L9",null,{"parallelRouterKey":"children","segmentPath":["children","(dashboard)","children"],"loading":"$undefined","loadingStyles":"$undefined","hasLoading":false,"error":"$undefined","errorStyles":"$undefined","template":["$","$La",null,{}],"templateStyles":"$undefined","notFound":[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":"404"}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],"notFoundStyles":[],"childProp":{"current":["$Lc",["$","$Ld",null,{"propsForComponent":{"params":{}},"Component":"$e"}],null],"segment":"__PAGE__"},"styles":[]}]}],null],"segment":"(dashboard)"},"styles":[]}]}]]}],null]}]]}]]}],null]
c:null

File diff suppressed because one or more lines are too long

View File

@ -1,13 +1,13 @@
1:HL["/_next/static/media/86fdec36ddd9097e-s.p.woff2","font",{"crossOrigin":"","type":"font/woff2"}] 1:HL["/_next/static/media/86fdec36ddd9097e-s.p.woff2","font",{"crossOrigin":"","type":"font/woff2"}]
2:HL["/_next/static/media/c9a5bc6a7c948fb0-s.p.woff2","font",{"crossOrigin":"","type":"font/woff2"}] 2:HL["/_next/static/media/c9a5bc6a7c948fb0-s.p.woff2","font",{"crossOrigin":"","type":"font/woff2"}]
3:HL["/_next/static/css/ec1d302aa85c53c3.css","style"] 3:HL["/_next/static/css/06f39ab10c82ab84.css","style"]
0:["ie_20wEIgQnZFxy1-N2Oh",[[["",{"children":["playground",{"children":["__PAGE__",{}]}]},"$undefined","$undefined",true],"$L4",[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/ec1d302aa85c53c3.css","precedence":"next"}]],"$L5"]]]] 0:["ddKzV5COfF5eLcDDx-VDo",[[["",{"children":["playground",{"children":["__PAGE__",{}]}]},"$undefined","$undefined",true],"$L4",[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/06f39ab10c82ab84.css","precedence":"next"}]],"$L5"]]]]
6:I{"id":5925,"chunks":["195:static/chunks/195-42fffaf30b0aaee4.js","362:static/chunks/362-87396568076e34f1.js","536:static/chunks/536-ac1918586623b8f8.js","406:static/chunks/406-35481e1b86c5b377.js","396:static/chunks/396-28aae48ee9582229.js","894:static/chunks/894-f0d1adefd8c6331e.js","185:static/chunks/app/layout-6289fba2f8cf7457.js"],"name":"Toaster","async":false} 6:I{"id":5925,"chunks":["882:static/chunks/882-b5d5b850fea3dad7.js","904:static/chunks/904-3f67d110829fa6e6.js","406:static/chunks/406-35481e1b86c5b377.js","396:static/chunks/396-28aae48ee9582229.js","362:static/chunks/362-ae0994d279f3f3bb.js","894:static/chunks/894-f0d1adefd8c6331e.js","185:static/chunks/app/layout-ce1de44f55fce028.js"],"name":"Toaster","async":false}
7:I{"id":78495,"chunks":["195:static/chunks/195-42fffaf30b0aaee4.js","362:static/chunks/362-87396568076e34f1.js","536:static/chunks/536-ac1918586623b8f8.js","406:static/chunks/406-35481e1b86c5b377.js","396:static/chunks/396-28aae48ee9582229.js","894:static/chunks/894-f0d1adefd8c6331e.js","185:static/chunks/app/layout-6289fba2f8cf7457.js"],"name":"Providers","async":false} 7:I{"id":78495,"chunks":["882:static/chunks/882-b5d5b850fea3dad7.js","904:static/chunks/904-3f67d110829fa6e6.js","406:static/chunks/406-35481e1b86c5b377.js","396:static/chunks/396-28aae48ee9582229.js","362:static/chunks/362-ae0994d279f3f3bb.js","894:static/chunks/894-f0d1adefd8c6331e.js","185:static/chunks/app/layout-ce1de44f55fce028.js"],"name":"Providers","async":false}
8:I{"id":11486,"chunks":["195:static/chunks/195-42fffaf30b0aaee4.js","362:static/chunks/362-87396568076e34f1.js","536:static/chunks/536-ac1918586623b8f8.js","406:static/chunks/406-35481e1b86c5b377.js","396:static/chunks/396-28aae48ee9582229.js","894:static/chunks/894-f0d1adefd8c6331e.js","185:static/chunks/app/layout-6289fba2f8cf7457.js"],"name":"Header","async":false} 8:I{"id":11486,"chunks":["882:static/chunks/882-b5d5b850fea3dad7.js","904:static/chunks/904-3f67d110829fa6e6.js","406:static/chunks/406-35481e1b86c5b377.js","396:static/chunks/396-28aae48ee9582229.js","362:static/chunks/362-ae0994d279f3f3bb.js","894:static/chunks/894-f0d1adefd8c6331e.js","185:static/chunks/app/layout-ce1de44f55fce028.js"],"name":"Header","async":false}
9:I{"id":81443,"chunks":["272:static/chunks/webpack-ea3be9ec3294ba31.js","971:static/chunks/fd9d1056-5dfc77aa37d8c76f.js","864:static/chunks/864-bf315a5307aba1d7.js"],"name":"","async":false} 9:I{"id":81443,"chunks":["272:static/chunks/webpack-f61d862b7204322f.js","971:static/chunks/fd9d1056-5dfc77aa37d8c76f.js","864:static/chunks/864-bf315a5307aba1d7.js"],"name":"","async":false}
a:I{"id":18639,"chunks":["272:static/chunks/webpack-ea3be9ec3294ba31.js","971:static/chunks/fd9d1056-5dfc77aa37d8c76f.js","864:static/chunks/864-bf315a5307aba1d7.js"],"name":"","async":false} a:I{"id":18639,"chunks":["272:static/chunks/webpack-f61d862b7204322f.js","971:static/chunks/fd9d1056-5dfc77aa37d8c76f.js","864:static/chunks/864-bf315a5307aba1d7.js"],"name":"","async":false}
c:I{"id":12202,"chunks":["195:static/chunks/195-42fffaf30b0aaee4.js","536:static/chunks/536-ac1918586623b8f8.js","406:static/chunks/406-35481e1b86c5b377.js","28:static/chunks/28-f3f58cacc7da57b1.js","894:static/chunks/894-f0d1adefd8c6331e.js","383:static/chunks/app/playground/page-6f64c606c3737aeb.js"],"name":"Chat","async":false} c:I{"id":12202,"chunks":["882:static/chunks/882-b5d5b850fea3dad7.js","904:static/chunks/904-3f67d110829fa6e6.js","406:static/chunks/406-35481e1b86c5b377.js","28:static/chunks/28-9b9332343f7cf5d8.js","894:static/chunks/894-f0d1adefd8c6331e.js","383:static/chunks/app/playground/page-41e4a21f57251fbd.js"],"name":"Chat","async":false}
5:[["$","meta","0",{"charSet":"utf-8"}],["$","title","1",{"children":"Tabby - Playground"}],["$","meta","2",{"name":"description","content":"Tabby, an opensource, self-hosted AI coding assistant."}],["$","meta","3",{"name":"theme-color","media":"(prefers-color-scheme: light)","content":"white"}],["$","meta","4",{"name":"theme-color","media":"(prefers-color-scheme: dark)","content":"black"}],["$","meta","5",{"name":"viewport","content":"width=device-width, initial-scale=1"}],["$","meta","6",{"name":"next-size-adjust"}]] 5:[["$","meta","0",{"charSet":"utf-8"}],["$","title","1",{"children":"Tabby - Playground"}],["$","meta","2",{"name":"description","content":"Tabby, an opensource, self-hosted AI coding assistant."}],["$","meta","3",{"name":"theme-color","media":"(prefers-color-scheme: light)","content":"white"}],["$","meta","4",{"name":"theme-color","media":"(prefers-color-scheme: dark)","content":"black"}],["$","meta","5",{"name":"viewport","content":"width=device-width, initial-scale=1"}],["$","meta","6",{"name":"next-size-adjust"}]]
4:[null,["$","html",null,{"lang":"en","suppressHydrationWarning":true,"children":[["$","head",null,{}],["$","body",null,{"className":"font-sans antialiased __variable_e66fe9 __variable_bd9c35","children":[["$","$L6",null,{}],["$","$L7",null,{"attribute":"class","defaultTheme":"system","enableSystem":true,"children":[["$","div",null,{"className":"flex min-h-screen flex-col","children":[["$","$L8",null,{}],["$","main",null,{"className":"flex flex-1 flex-col bg-muted/50","children":["$","$L9",null,{"parallelRouterKey":"children","segmentPath":["children"],"loading":"$undefined","loadingStyles":"$undefined","hasLoading":false,"error":"$undefined","errorStyles":"$undefined","template":["$","$La",null,{}],"templateStyles":"$undefined","notFound":[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":"404"}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],"notFoundStyles":[],"childProp":{"current":["$","$L9",null,{"parallelRouterKey":"children","segmentPath":["children","playground","children"],"loading":"$undefined","loadingStyles":"$undefined","hasLoading":false,"error":"$undefined","errorStyles":"$undefined","template":["$","$La",null,{}],"templateStyles":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined","childProp":{"current":["$Lb",["$","$Lc",null,{"id":"5kvurMY"}],null],"segment":"__PAGE__"},"styles":[]}],"segment":"playground"},"styles":[]}]}]]}],null]}]]}]]}],null] 4:[null,["$","html",null,{"lang":"en","suppressHydrationWarning":true,"children":[["$","head",null,{}],["$","body",null,{"className":"font-sans antialiased __variable_e66fe9 __variable_bd9c35","children":[["$","$L6",null,{}],["$","$L7",null,{"attribute":"class","defaultTheme":"system","enableSystem":true,"children":[["$","div",null,{"className":"flex min-h-screen flex-col","children":[["$","$L8",null,{}],["$","main",null,{"className":"flex flex-1 flex-col bg-muted/50","children":["$","$L9",null,{"parallelRouterKey":"children","segmentPath":["children"],"loading":"$undefined","loadingStyles":"$undefined","hasLoading":false,"error":"$undefined","errorStyles":"$undefined","template":["$","$La",null,{}],"templateStyles":"$undefined","notFound":[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":"404"}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],"notFoundStyles":[],"childProp":{"current":["$","$L9",null,{"parallelRouterKey":"children","segmentPath":["children","playground","children"],"loading":"$undefined","loadingStyles":"$undefined","hasLoading":false,"error":"$undefined","errorStyles":"$undefined","template":["$","$La",null,{}],"templateStyles":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined","childProp":{"current":["$Lb",["$","$Lc",null,{"id":"ppgd2pm"}],null],"segment":"__PAGE__"},"styles":[]}],"segment":"playground"},"styles":[]}]}]]}],null]}]]}]]}],null]
b:null b:null

1
crates/tabby/ui/swagger.html vendored Normal file

File diff suppressed because one or more lines are too long

13
crates/tabby/ui/swagger.txt vendored Normal file
View File

@ -0,0 +1,13 @@
1:HL["/_next/static/media/86fdec36ddd9097e-s.p.woff2","font",{"crossOrigin":"","type":"font/woff2"}]
2:HL["/_next/static/media/c9a5bc6a7c948fb0-s.p.woff2","font",{"crossOrigin":"","type":"font/woff2"}]
3:HL["/_next/static/css/06f39ab10c82ab84.css","style"]
0:["ddKzV5COfF5eLcDDx-VDo",[[["",{"children":["(dashboard)",{"children":["swagger",{"children":["__PAGE__",{}]}]}]},"$undefined","$undefined",true],"$L4",[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/06f39ab10c82ab84.css","precedence":"next"}]],"$L5"]]]]
6:I{"id":5925,"chunks":["882:static/chunks/882-b5d5b850fea3dad7.js","904:static/chunks/904-3f67d110829fa6e6.js","406:static/chunks/406-35481e1b86c5b377.js","396:static/chunks/396-28aae48ee9582229.js","362:static/chunks/362-ae0994d279f3f3bb.js","894:static/chunks/894-f0d1adefd8c6331e.js","185:static/chunks/app/layout-ce1de44f55fce028.js"],"name":"Toaster","async":false}
7:I{"id":78495,"chunks":["882:static/chunks/882-b5d5b850fea3dad7.js","904:static/chunks/904-3f67d110829fa6e6.js","406:static/chunks/406-35481e1b86c5b377.js","396:static/chunks/396-28aae48ee9582229.js","362:static/chunks/362-ae0994d279f3f3bb.js","894:static/chunks/894-f0d1adefd8c6331e.js","185:static/chunks/app/layout-ce1de44f55fce028.js"],"name":"Providers","async":false}
8:I{"id":11486,"chunks":["882:static/chunks/882-b5d5b850fea3dad7.js","904:static/chunks/904-3f67d110829fa6e6.js","406:static/chunks/406-35481e1b86c5b377.js","396:static/chunks/396-28aae48ee9582229.js","362:static/chunks/362-ae0994d279f3f3bb.js","894:static/chunks/894-f0d1adefd8c6331e.js","185:static/chunks/app/layout-ce1de44f55fce028.js"],"name":"Header","async":false}
9:I{"id":81443,"chunks":["272:static/chunks/webpack-f61d862b7204322f.js","971:static/chunks/fd9d1056-5dfc77aa37d8c76f.js","864:static/chunks/864-bf315a5307aba1d7.js"],"name":"","async":false}
a:I{"id":18639,"chunks":["272:static/chunks/webpack-f61d862b7204322f.js","971:static/chunks/fd9d1056-5dfc77aa37d8c76f.js","864:static/chunks/864-bf315a5307aba1d7.js"],"name":"","async":false}
b:I{"id":30831,"chunks":["882:static/chunks/882-b5d5b850fea3dad7.js","396:static/chunks/396-28aae48ee9582229.js","642:static/chunks/app/(dashboard)/layout-7c70a0db982ecc98.js"],"name":"","async":false}
5:[["$","meta","0",{"charSet":"utf-8"}],["$","title","1",{"children":"API"}],["$","meta","2",{"name":"description","content":"Tabby, an opensource, self-hosted AI coding assistant."}],["$","meta","3",{"name":"theme-color","media":"(prefers-color-scheme: light)","content":"white"}],["$","meta","4",{"name":"theme-color","media":"(prefers-color-scheme: dark)","content":"black"}],["$","meta","5",{"name":"viewport","content":"width=device-width, initial-scale=1"}],["$","meta","6",{"name":"next-size-adjust"}]]
4:[null,["$","html",null,{"lang":"en","suppressHydrationWarning":true,"children":[["$","head",null,{}],["$","body",null,{"className":"font-sans antialiased __variable_e66fe9 __variable_bd9c35","children":[["$","$L6",null,{}],["$","$L7",null,{"attribute":"class","defaultTheme":"system","enableSystem":true,"children":[["$","div",null,{"className":"flex min-h-screen flex-col","children":[["$","$L8",null,{}],["$","main",null,{"className":"flex flex-1 flex-col bg-muted/50","children":["$","$L9",null,{"parallelRouterKey":"children","segmentPath":["children"],"loading":"$undefined","loadingStyles":"$undefined","hasLoading":false,"error":"$undefined","errorStyles":"$undefined","template":["$","$La",null,{}],"templateStyles":"$undefined","notFound":[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":"404"}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],"notFoundStyles":[],"childProp":{"current":[null,["$","$Lb",null,{"className":"flex-1","children":["$","$L9",null,{"parallelRouterKey":"children","segmentPath":["children","(dashboard)","children"],"loading":"$undefined","loadingStyles":"$undefined","hasLoading":false,"error":"$undefined","errorStyles":"$undefined","template":["$","$La",null,{}],"templateStyles":"$undefined","notFound":[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":"404"}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],"notFoundStyles":[],"childProp":{"current":["$","$L9",null,{"parallelRouterKey":"children","segmentPath":["children","(dashboard)","children","swagger","children"],"loading":"$undefined","loadingStyles":"$undefined","hasLoading":false,"error":"$undefined","errorStyles":"$undefined","template":["$","$La",null,{}],"templateStyles":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined","childProp":{"current":["$Lc",["$","iframe",null,{"className":"grow","src":"/swagger-ui"}],null],"segment":"__PAGE__"},"styles":[]}],"segment":"swagger"},"styles":[]}]}],null],"segment":"(dashboard)"},"styles":[]}]}]]}],null]}]]}]]}],null]
c:null

View File

@ -0,0 +1,190 @@
import {
CardTitle,
CardHeader,
CardContent,
Card,
CardDescription
} from '@/components/ui/card'
import { HealthInfo } from '@/lib/hooks/use-health'
type RunnerType = 'completion' | 'chat' | 'index'
interface RunnerCardProps {
source: string
name: string
type: RunnerType
health: HealthInfo
}
export default function RunnerCard({
source,
name,
type,
health
}: RunnerCardProps) {
const { device, cuda_devices } = health
return (
<Card className="rounded-xl p-2 shadow-md">
<CardHeader className="p-0 px-4 pb-2 pt-4">
<CardTitle className="text-md flex items-center font-normal">
<ModelIcon type={type} />
<p className="ml-2">{name}</p>
</CardTitle>
</CardHeader>
<CardContent className="flex flex-col gap-2 p-0 px-4 pb-4 pt-2">
<Info>
<svg
xmlns="http://www.w3.org/2000/svg"
className=" h-5 w-5 text-gray-400"
width="24"
height="24"
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
strokeWidth="2"
strokeLinecap="round"
strokeLinejoin="round"
>
<rect x="16" y="16" width="6" height="6" rx="1" />
<rect x="2" y="16" width="6" height="6" rx="1" />
<rect x="9" y="2" width="6" height="6" rx="1" />
<path d="M5 16v-3a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1v3" />
<path d="M12 12V8" />
</svg>
<p className="ml-2">{source}</p>
</Info>
<Info>
<svg
className=" h-5 w-5 text-gray-400"
fill="none"
height="24"
stroke="currentColor"
strokeLinecap="round"
strokeLinejoin="round"
strokeWidth="2"
viewBox="0 0 24 24"
width="24"
xmlns="http://www.w3.org/2000/svg"
>
<rect height="16" rx="2" width="16" x="4" y="4" />
<rect height="6" width="6" x="9" y="9" />
<path d="M15 2v2" />
<path d="M15 20v2" />
<path d="M2 15h2" />
<path d="M2 9h2" />
<path d="M20 15h2" />
<path d="M20 9h2" />
<path d="M9 2v2" />
<path d="M9 20v2" />
</svg>
<p className="ml-2">
{health.cpu_info} ({health.cpu_count} cores)
</p>
</Info>
{device == 'cuda' &&
cuda_devices.map((x, i) => (
<Info key={i}>
<svg
className=" h-5 w-5 text-gray-400"
fill="none"
height="24"
stroke="currentColor"
strokeLinecap="round"
strokeLinejoin="round"
strokeWidth="2"
viewBox="0 0 24 24"
width="24"
xmlns="http://www.w3.org/2000/svg"
>
<path d="M6 19v-3" />
<path d="M10 19v-3" />
<path d="M14 19v-3" />
<path d="M18 19v-3" />
<path d="M8 11V9" />
<path d="M16 11V9" />
<path d="M12 11V9" />
<path d="M2 15h20" />
<path d="M2 7a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v1.1a2 2 0 0 0 0 3.837V17a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2v-5.1a2 2 0 0 0 0-3.837Z" />
</svg>
<p className="ml-2">{x}</p>
</Info>
))}
</CardContent>
</Card>
)
}
interface InfoProps {
children: React.ReactNode
}
function Info({ children }: InfoProps) {
return (
<div className="mt-2 flex items-center text-sm text-gray-500">
{children}
</div>
)
}
function ModelIcon({ type }: { type: RunnerType }) {
const className = 'h-5 w-5'
if (type == 'completion') {
return (
<svg
xmlns="http://www.w3.org/2000/svg"
className={className}
width="24"
height="24"
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
strokeWidth="2"
strokeLinecap="round"
strokeLinejoin="round"
>
<path d="M14.5 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7.5L14.5 2z" />
<polyline points="14 2 14 8 20 8" />
<path d="m10 13-2 2 2 2" />
<path d="m14 17 2-2-2-2" />
</svg>
)
} else if (type == 'chat') {
return (
<svg
xmlns="http://www.w3.org/2000/svg"
className={className}
width="24"
height="24"
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
strokeWidth="2"
strokeLinecap="round"
strokeLinejoin="round"
>
<path d="M14 9a2 2 0 0 1-2 2H6l-4 4V4c0-1.1.9-2 2-2h8a2 2 0 0 1 2 2v5Z" />
<path d="M18 9h2a2 2 0 0 1 2 2v11l-4-4h-6a2 2 0 0 1-2-2v-1" />
</svg>
)
} else if (type == 'index') {
return (
<svg
xmlns="http://www.w3.org/2000/svg"
className={className}
width="24"
height="24"
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
strokeWidth="2"
strokeLinecap="round"
strokeLinejoin="round"
>
<path d="m9 9-2 2 2 2" />
<path d="m13 13 2-2-2-2" />
<circle cx="11" cy="11" r="8" />
<path d="m21 21-4.3-4.3" />
</svg>
)
}
}

View File

@ -1,7 +1,7 @@
'use client' 'use client'
import { cn } from '@/lib/utils' import { cn } from '@/lib/utils'
import { VariantProps, cva } from 'class-variance-authority' import { cva } from 'class-variance-authority'
import Link from 'next/link' import Link from 'next/link'
import { usePathname } from 'next/navigation' import { usePathname } from 'next/navigation'
@ -20,7 +20,7 @@ export default function Sidebar({ children, className }: SidebarProps) {
<div className="h-[12px]"></div> <div className="h-[12px]"></div>
<div className="flex-1"> <div className="flex-1">
<nav className="grid items-start gap-4 px-4 text-sm font-medium"> <nav className="grid items-start gap-4 px-4 text-sm font-medium">
<SidebarButton href="/dashboard/home"> <SidebarButton href="/">
<svg <svg
xmlns="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg"
className=" h-4 w-4" className=" h-4 w-4"
@ -38,7 +38,7 @@ export default function Sidebar({ children, className }: SidebarProps) {
</svg> </svg>
Home Home
</SidebarButton> </SidebarButton>
<SidebarButton href="/dashboard/runners"> <SidebarButton href="/swagger">
<svg <svg
xmlns="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg"
className=" h-4 w-4" className=" h-4 w-4"
@ -51,19 +51,20 @@ export default function Sidebar({ children, className }: SidebarProps) {
strokeLinecap="round" strokeLinecap="round"
strokeLinejoin="round" strokeLinejoin="round"
> >
<path d="m12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83Z" /> <path d="M2 3h6a4 4 0 0 1 4 4v14a3 3 0 0 0-3-3H2z" />
<path d="m6.08 9.5-3.5 1.6a1 1 0 0 0 0 1.81l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9a1 1 0 0 0 0-1.83l-3.5-1.59" /> <path d="M22 3h-6a4 4 0 0 0-4 4v14a3 3 0 0 1 3-3h7z" />
<path d="m6.08 14.5-3.5 1.6a1 1 0 0 0 0 1.81l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9a1 1 0 0 0 0-1.83l-3.5-1.59" /> <path d="M6 8h2" />
<path d="M6 12h2" />
<path d="M16 8h2" />
<path d="M16 12h2" />
</svg> </svg>
Runners Swagger
</SidebarButton> </SidebarButton>
</nav> </nav>
</div> </div>
</div> </div>
</div> </div>
<div className="flex flex-1 flex-col overflow-auto p-4 lg:p-16"> <div className="flex flex-1 flex-col overflow-auto">{children}</div>
{children}
</div>
</div> </div>
) )
} }

View File

@ -13,6 +13,7 @@ import { IconSlack } from '@/components/ui/icons'
import { Separator } from '@/components/ui/separator' import { Separator } from '@/components/ui/separator'
import { useHealth } from '@/lib/hooks/use-health' import { useHealth } from '@/lib/hooks/use-health'
import { PropsWithChildren, useEffect, useState } from 'react' import { PropsWithChildren, useEffect, useState } from 'react'
import RunnerCard from './components/runner-card'
const COMMUNITY_DIALOG_SHOWN_KEY = 'community-dialog-shown' const COMMUNITY_DIALOG_SHOWN_KEY = 'community-dialog-shown'
@ -26,7 +27,7 @@ export default function Home() {
}, []) }, [])
return ( return (
<div> <div className="p-4 lg:p-16">
<MainPanel /> <MainPanel />
<Dialog open={open} onOpenChange={setOpen}> <Dialog open={open} onOpenChange={setOpen}>
<DialogContent> <DialogContent>
@ -78,7 +79,7 @@ function MainPanel() {
<div className="flex w-full flex-col gap-3"> <div className="flex w-full flex-col gap-3">
<h1> <h1>
<span className="font-bold">Congratulations</span>, your tabby instance <span className="font-bold">Congratulations</span>, your tabby instance
is running! is up!
</h1> </h1>
<span className="flex flex-wrap gap-1"> <span className="flex flex-wrap gap-1">
<a <a
@ -92,27 +93,33 @@ function MainPanel() {
/> />
</a> </a>
</span> </span>
<Separator /> <Separator />
<span> <div className="mt-4 rounded-lg bg-zinc-100 p-4 dark:bg-zinc-800">
You can find our documentation{' '} <span className="font-bold">Runners</span>
<Link href="https://tabby.tabbyml.com/docs/getting-started">here</Link>. <div className="mt-4 flex flex-col gap-4 lg:flex-row lg:flex-wrap">
<ul className="mt-2"> <RunnerCard
<li> source="localhost"
💻{' '} name={healthInfo.model}
<Link href="https://tabby.tabbyml.com/docs/extensions/"> type="completion"
IDE/Editor Extensions health={healthInfo}
</Link> />
</li> {healthInfo.chat_model && (
<li> <RunnerCard
{' '} source="localhost"
<Link href="https://tabby.tabbyml.com/docs/configuration"> name={healthInfo.chat_model}
Configuration type="chat"
</Link> health={healthInfo}
</li> />
</ul> )}
</span> <RunnerCard
source="localhost"
name="Code Search Index"
type="index"
health={healthInfo}
/>
</div>
</div>
</div> </div>
) )
} }

View File

@ -1,126 +0,0 @@
import { CardTitle, CardHeader, CardContent, Card } from '@/components/ui/card'
import { HealthInfo } from '@/lib/hooks/use-health'
interface RunnerCardProps {
title: string
health: HealthInfo
}
export default function RunnerCard({ title, health }: RunnerCardProps) {
return (
<Card className="rounded-xl shadow-md">
<CardHeader className="p-0 px-4 pb-2 pt-4">
<CardTitle className="text-md font-semibold">{title}</CardTitle>
</CardHeader>
<CardContent className="flex flex-col gap-2 p-0 px-4 pb-4 pt-2">
<Info>
<svg
xmlns="http://www.w3.org/2000/svg"
className=" h-5 w-5 text-gray-400"
width="24"
height="24"
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
strokeWidth="2"
strokeLinecap="round"
strokeLinejoin="round"
>
<path d="M14.5 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7.5L14.5 2z" />
<polyline points="14 2 14 8 20 8" />
<path d="m10 13-2 2 2 2" />
<path d="m14 17 2-2-2-2" />
</svg>
<p className="ml-2">{health.model}</p>
</Info>
{health.chat_model && (
<Info>
<svg
xmlns="http://www.w3.org/2000/svg"
className=" h-5 w-5 text-gray-400"
width="24"
height="24"
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
strokeWidth="2"
strokeLinecap="round"
strokeLinejoin="round"
>
<path d="M14 9a2 2 0 0 1-2 2H6l-4 4V4c0-1.1.9-2 2-2h8a2 2 0 0 1 2 2v5Z" />
<path d="M18 9h2a2 2 0 0 1 2 2v11l-4-4h-6a2 2 0 0 1-2-2v-1" />
</svg>
<p className="ml-2">{health.chat_model}</p>
</Info>
)}
<Info>
<svg
className=" h-5 w-5 text-gray-400"
fill="none"
height="24"
stroke="currentColor"
strokeLinecap="round"
strokeLinejoin="round"
strokeWidth="2"
viewBox="0 0 24 24"
width="24"
xmlns="http://www.w3.org/2000/svg"
>
<rect height="16" rx="2" width="16" x="4" y="4" />
<rect height="6" width="6" x="9" y="9" />
<path d="M15 2v2" />
<path d="M15 20v2" />
<path d="M2 15h2" />
<path d="M2 9h2" />
<path d="M20 15h2" />
<path d="M20 9h2" />
<path d="M9 2v2" />
<path d="M9 20v2" />
</svg>
<p className="ml-2">
{health.cpu_info} ({health.cpu_count} cores)
</p>
</Info>
{health.cuda_devices.map((x, i) => (
<Info key={i}>
<svg
className=" h-5 w-5 text-gray-400"
fill="none"
height="24"
stroke="currentColor"
strokeLinecap="round"
strokeLinejoin="round"
strokeWidth="2"
viewBox="0 0 24 24"
width="24"
xmlns="http://www.w3.org/2000/svg"
>
<path d="M6 19v-3" />
<path d="M10 19v-3" />
<path d="M14 19v-3" />
<path d="M18 19v-3" />
<path d="M8 11V9" />
<path d="M16 11V9" />
<path d="M12 11V9" />
<path d="M2 15h20" />
<path d="M2 7a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v1.1a2 2 0 0 0 0 3.837V17a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2v-5.1a2 2 0 0 0 0-3.837Z" />
</svg>
<p className="ml-2">{x}</p>
</Info>
))}
</CardContent>
</Card>
)
}
interface InfoProps {
children: React.ReactNode
}
function Info({ children }: InfoProps) {
return (
<div className="mt-2 flex items-center text-sm text-gray-500">
{children}
</div>
)
}

View File

@ -1,16 +0,0 @@
'use client'
import { useHealth } from '@/lib/hooks/use-health'
import RunnerCard from './components/runner-card'
export default function Runners() {
const { data: health } = useHealth()
if (!health) return
return (
<div className="flex h-full w-full items-start justify-start">
<RunnerCard title="Local Runner" health={health} />
</div>
)
}

View File

@ -1,5 +0,0 @@
import { redirect } from 'next/navigation'
export default function () {
redirect('/dashboard/home')
}

View File

@ -30,9 +30,6 @@ export function Header() {
<Link href="/" className={cn(buttonVariants({ variant: 'link' }))}> <Link href="/" className={cn(buttonVariants({ variant: 'link' }))}>
Dashboard Dashboard
</Link> </Link>
<Link href="/api" className={cn(buttonVariants({ variant: 'link' }))}>
API
</Link>
{isChatEnabled && ( {isChatEnabled && (
<Link <Link
href="/playground" href="/playground"

View File

@ -5,7 +5,7 @@ import { SWRResponse } from 'swr'
import fetcher from '@/lib/tabby-fetcher' import fetcher from '@/lib/tabby-fetcher'
export interface HealthInfo { export interface HealthInfo {
device: string device: 'metal' | 'cpu' | 'cuda'
model: string model: string
chat_model?: string chat_model?: string
cpu_info: string cpu_info: string