sparkrun-ui 1.2.1 → 1.2.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (70) hide show
  1. package/dist/.next/BUILD_ID +1 -1
  2. package/dist/.next/build-manifest.json +3 -3
  3. package/dist/.next/prerender-manifest.json +3 -3
  4. package/dist/.next/server/app/_global-error.html +1 -1
  5. package/dist/.next/server/app/_global-error.rsc +1 -1
  6. package/dist/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  7. package/dist/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  8. package/dist/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  9. package/dist/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  10. package/dist/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  11. package/dist/.next/server/app/_not-found/page.js.nft.json +1 -1
  12. package/dist/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  13. package/dist/.next/server/app/_not-found.html +1 -1
  14. package/dist/.next/server/app/_not-found.rsc +16 -16
  15. package/dist/.next/server/app/_not-found.segments/_full.segment.rsc +16 -16
  16. package/dist/.next/server/app/_not-found.segments/_head.segment.rsc +4 -4
  17. package/dist/.next/server/app/_not-found.segments/_index.segment.rsc +10 -10
  18. package/dist/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +2 -2
  19. package/dist/.next/server/app/_not-found.segments/_not-found.segment.rsc +3 -3
  20. package/dist/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  21. package/dist/.next/server/app/benchmarks/[id]/page.js.nft.json +1 -1
  22. package/dist/.next/server/app/benchmarks/[id]/page_client-reference-manifest.js +1 -1
  23. package/dist/.next/server/app/benchmarks/new/page.js.nft.json +1 -1
  24. package/dist/.next/server/app/benchmarks/new/page_client-reference-manifest.js +1 -1
  25. package/dist/.next/server/app/benchmarks/page.js.nft.json +1 -1
  26. package/dist/.next/server/app/benchmarks/page_client-reference-manifest.js +1 -1
  27. package/dist/.next/server/app/chat/page.js.nft.json +1 -1
  28. package/dist/.next/server/app/chat/page_client-reference-manifest.js +1 -1
  29. package/dist/.next/server/app/dashboard/page.js.nft.json +1 -1
  30. package/dist/.next/server/app/dashboard/page_client-reference-manifest.js +1 -1
  31. package/dist/.next/server/app/index.html +1 -1
  32. package/dist/.next/server/app/index.rsc +16 -16
  33. package/dist/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
  34. package/dist/.next/server/app/index.segments/_full.segment.rsc +16 -16
  35. package/dist/.next/server/app/index.segments/_head.segment.rsc +4 -4
  36. package/dist/.next/server/app/index.segments/_index.segment.rsc +10 -10
  37. package/dist/.next/server/app/index.segments/_tree.segment.rsc +2 -2
  38. package/dist/.next/server/app/launch/page.js.nft.json +1 -1
  39. package/dist/.next/server/app/launch/page_client-reference-manifest.js +1 -1
  40. package/dist/.next/server/app/logs/[clusterId]/page.js.nft.json +1 -1
  41. package/dist/.next/server/app/logs/[clusterId]/page_client-reference-manifest.js +1 -1
  42. package/dist/.next/server/app/monitor/page.js.nft.json +1 -1
  43. package/dist/.next/server/app/monitor/page_client-reference-manifest.js +1 -1
  44. package/dist/.next/server/app/page.js.nft.json +1 -1
  45. package/dist/.next/server/app/page_client-reference-manifest.js +1 -1
  46. package/dist/.next/server/app/recipes/page.js.nft.json +1 -1
  47. package/dist/.next/server/app/recipes/page_client-reference-manifest.js +1 -1
  48. package/dist/.next/server/chunks/node_modules__pnpm_0jzojku._.js +9 -5
  49. package/dist/.next/server/chunks/ssr/{[root-of-the-server]__0y7ehiy._.js → [root-of-the-server]__13kp732._.js} +2 -2
  50. package/dist/.next/server/chunks/ssr/_0-wjfxk._.js +6 -2
  51. package/dist/.next/server/chunks/ssr/_0efad.3._.js +1 -1
  52. package/dist/.next/server/chunks/ssr/{_0m5y5l7._.js → _0mx8o88._.js} +2 -2
  53. package/dist/.next/server/chunks/ssr/app_components_dashboard_DashboardLive_tsx_10_yvzp._.js +1 -1
  54. package/dist/.next/server/middleware-build-manifest.js +3 -3
  55. package/dist/.next/server/pages/404.html +1 -1
  56. package/dist/.next/server/pages/500.html +1 -1
  57. package/dist/.next/server/server-reference-manifest.js +1 -1
  58. package/dist/.next/server/server-reference-manifest.json +1 -1
  59. package/dist/.next/static/chunks/{0-s876x.4qfai.js → 07x551vl4mw9a.js} +1 -1
  60. package/dist/.next/static/chunks/0l02frokvgs9t.css +3 -0
  61. package/dist/.next/static/chunks/0phvjve3rvmp7.js +1 -0
  62. package/dist/.next/static/chunks/10t1d-iawzz1x.js +1 -0
  63. package/dist/package.json +1 -1
  64. package/package.json +1 -1
  65. package/dist/.next/static/chunks/02t9_msq_ccil.js +0 -1
  66. package/dist/.next/static/chunks/0j95jkol3vrh-.js +0 -1
  67. package/dist/.next/static/chunks/0uu736m.dsm7w.css +0 -3
  68. /package/dist/.next/static/{mZWSK_2ftjJ1WxNyQ7l0q → yM0RLSy5vvlm3M5Wd7gll}/_buildManifest.js +0 -0
  69. /package/dist/.next/static/{mZWSK_2ftjJ1WxNyQ7l0q → yM0RLSy5vvlm3M5Wd7gll}/_clientMiddlewareManifest.js +0 -0
  70. /package/dist/.next/static/{mZWSK_2ftjJ1WxNyQ7l0q → yM0RLSy5vvlm3M5Wd7gll}/_ssgManifest.js +0 -0
@@ -1,3 +1,3 @@
1
- module.exports=[37942,a=>{"use strict";var b=a.i(57096),c=a.i(69767);a.s(["Card",0,function({className:a,...d}){return(0,b.jsx)("div",{className:(0,c.cn)("rounded-lg border border-zinc-200 bg-white shadow-sm dark:border-zinc-800 dark:bg-zinc-900",a),...d})},"CardBody",0,function({className:a,...d}){return(0,b.jsx)("div",{className:(0,c.cn)("px-5 py-4",a),...d})},"CardDescription",0,function({className:a,...d}){return(0,b.jsx)("p",{className:(0,c.cn)("text-sm text-zinc-500 dark:text-zinc-400",a),...d})},"CardFooter",0,function({className:a,...d}){return(0,b.jsx)("div",{className:(0,c.cn)("flex items-center justify-end gap-2 border-t border-zinc-200 px-5 py-3 dark:border-zinc-800",a),...d})},"CardHeader",0,function({className:a,...d}){return(0,b.jsx)("div",{className:(0,c.cn)("flex flex-col gap-1 border-b border-zinc-200 px-5 py-4 dark:border-zinc-800",a),...d})},"CardTitle",0,function({className:a,...d}){return(0,b.jsx)("h3",{className:(0,c.cn)("text-base font-semibold text-zinc-900 dark:text-zinc-100",a),...d})}])},49043,a=>{"use strict";var b=a.i(57096),c=a.i(69767);let d={neutral:"bg-zinc-100 text-zinc-700 dark:bg-zinc-800 dark:text-zinc-300",sky:"bg-sky-100 text-sky-700 dark:bg-sky-950 dark:text-sky-300",green:"bg-emerald-100 text-emerald-700 dark:bg-emerald-950 dark:text-emerald-300",amber:"bg-amber-100 text-amber-700 dark:bg-amber-950 dark:text-amber-300",red:"bg-red-100 text-red-700 dark:bg-red-950 dark:text-red-300",purple:"bg-purple-100 text-purple-700 dark:bg-purple-950 dark:text-purple-300"};a.s(["Badge",0,function({tone:a="neutral",className:e,...f}){return(0,b.jsx)("span",{className:(0,c.cn)("inline-flex items-center gap-1 rounded px-1.5 py-0.5 text-xs font-medium",d[a],e),...f})}])},38756,61430,a=>{"use strict";var b=a.i(64588);let c=(0,b.default)("cpu",[["path",{d:"M12 20v2",key:"1lh1kg"}],["path",{d:"M12 2v2",key:"tus03m"}],["path",{d:"M17 20v2",key:"1rnc9c"}],["path",{d:"M17 2v2",key:"11trls"}],["path",{d:"M2 12h2",key:"1t8f8n"}],["path",{d:"M2 17h2",key:"7oei6x"}],["path",{d:"M2 7h2",key:"asdhe0"}],["path",{d:"M20 12h2",key:"1q8mjw"}],["path",{d:"M20 17h2",key:"1fpfkl"}],["path",{d:"M20 7h2",key:"1o8tra"}],["path",{d:"M7 20v2",key:"4gnj0m"}],["path",{d:"M7 2v2",key:"1i4yhu"}],["rect",{x:"4",y:"4",width:"16",height:"16",rx:"2",key:"1vbyd7"}],["rect",{x:"8",y:"8",width:"8",height:"8",rx:"1",key:"z9xiuo"}]]);a.s(["Cpu",0,c],38756);let d=(0,b.default)("server",[["rect",{width:"20",height:"8",x:"2",y:"2",rx:"2",ry:"2",key:"ngkwjq"}],["rect",{width:"20",height:"8",x:"2",y:"14",rx:"2",ry:"2",key:"iecqi9"}],["line",{x1:"6",x2:"6.01",y1:"6",y2:"6",key:"16zg32"}],["line",{x1:"6",x2:"6.01",y1:"18",y2:"18",key:"nzw8ys"}]]);a.s(["Server",0,d],61430)},47844,a=>{"use strict";var b=a.i(57096),c=a.i(84668),d=a.i(37942),e=a.i(49043),f=a.i(25273),g=a.i(38756),h=a.i(61430),i=a.i(4733),j=a.i(56352);function k(a){if(null==a||""===a)return null;let b=parseFloat(a);return Number.isFinite(b)?b:null}function l({host:a,metrics:c,history:f}){let m=k(c.cpu_usage_pct)??0,o=k(c.gpu_util_pct)??0,p=k(c.mem_used_mb)??0,q=k(c.mem_total_mb)??1,r=k(c.gpu_mem_used_mb),s=k(c.gpu_mem_total_mb),t=null!=r&&s?r/s*100:null,u=k(c.cpu_temp_c),v=k(c.gpu_temp_c),w=k(c.gpu_power_w);return(0,b.jsxs)(d.Card,{children:[(0,b.jsxs)(d.CardHeader,{children:[(0,b.jsxs)(d.CardTitle,{className:"flex items-center gap-2",children:[(0,b.jsx)(h.Server,{size:16,className:"text-zinc-500"}),a]}),(0,b.jsxs)(d.CardDescription,{children:[c.hostname," · ",c.gpu_name??"—"]})]}),(0,b.jsxs)(d.CardBody,{className:"flex flex-col gap-3",children:[(0,b.jsx)(n,{label:"CPU",pct:m,history:f.cpu,icon:(0,b.jsx)(g.Cpu,{size:14}),tone:"sky",right:null!=u&&`${u.toFixed(1)}\xb0C`}),(0,b.jsx)(n,{label:"GPU",pct:o,history:f.gpu,icon:(0,b.jsx)(j.Zap,{size:14}),tone:"purple",right:null!=v&&`${v.toFixed(0)}\xb0C`}),(0,b.jsx)(n,{label:"Memory",pct:p/q*100,history:f.mem,icon:(0,b.jsx)(i.Thermometer,{size:14}),tone:"green",right:`${(p/1024).toFixed(1)}/${(q/1024).toFixed(0)} GB`}),null!=t&&(0,b.jsx)(n,{label:"GPU memory",pct:t,history:[],icon:(0,b.jsx)(j.Zap,{size:14}),tone:"amber",right:null!=r&&s?`${(r/1024).toFixed(1)}/${(s/1024).toFixed(0)} GB`:null}),(0,b.jsxs)("div",{className:"flex flex-wrap items-center gap-2 pt-1 text-xs text-zinc-500 dark:text-zinc-400",children:[null!=w&&(0,b.jsxs)(e.Badge,{tone:"neutral",children:[w.toFixed(1)," W"]}),c.sparkrun_jobs&&"0"!==c.sparkrun_jobs&&(0,b.jsxs)(e.Badge,{tone:"sky",children:[c.sparkrun_jobs," job","1"===c.sparkrun_jobs?"":"s"]})]})]})]})}let m={sky:"fill-sky-500 dark:fill-sky-400",purple:"fill-purple-500 dark:fill-purple-400",green:"fill-emerald-500 dark:fill-emerald-400",amber:"fill-amber-500 dark:fill-amber-400"};function n({label:a,pct:c,history:d,icon:e,tone:f,right:g}){let h=Math.max(0,Math.min(100,c));return(0,b.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between text-xs",children:[(0,b.jsxs)("span",{className:"flex items-center gap-1.5 text-zinc-700 dark:text-zinc-300",children:[e,a]}),(0,b.jsxs)("span",{className:"flex items-center gap-2 text-zinc-500 dark:text-zinc-400",children:[g,(0,b.jsxs)("span",{className:"font-mono text-zinc-700 dark:text-zinc-200",children:[h.toFixed(0),"%"]})]})]}),(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)("div",{className:"h-2 flex-1 overflow-hidden rounded bg-zinc-200 dark:bg-zinc-800",children:(0,b.jsx)("div",{className:"h-full transition-all duration-300 "+("sky"===f?"bg-sky-500 dark:bg-sky-400":"purple"===f?"bg-purple-500 dark:bg-purple-400":"green"===f?"bg-emerald-500 dark:bg-emerald-400":"bg-amber-500 dark:bg-amber-400"),style:{width:`${h}%`}})}),d.length>2&&(0,b.jsx)(o,{values:d,className:m[f]})]})]})}function o({values:a,className:c}){if(a.length<2)return null;let d=Math.max(100,...a),e=80/Math.max(1,a.length-1),f=a.map((a,b)=>`${0===b?"M":"L"} ${b*e} ${16-a/d*16}`).join(" ");return(0,b.jsx)("svg",{width:80,height:16,viewBox:"0 0 80 16",className:"flex-shrink-0",children:(0,b.jsx)("path",{d:f,className:c,fill:"none",stroke:"currentColor",strokeWidth:1})})}function p(a){if(null==a||""===a)return 0;let b=parseFloat(a);return Number.isFinite(b)?b:0}function q(a,b){let c=a.concat(b);return c.length>30?c.slice(-30):c}a.s(["MonitorLive",0,function(){let[a,g]=(0,c.useState)(null),[h,i]=(0,c.useState)({}),[j,k]=(0,c.useState)(!1);(0,c.useEffect)(()=>{let a=new AbortController,b=!1;return(async()=>{try{let c=await f.rpc.monitor.stream({intervalSec:2},{signal:a.signal});for await(let a of(k(!0),c)){if(b)break;g(a),i(b=>{let c={...b};for(let[b,d]of Object.entries(a.hosts)){let a=c[b]??{cpu:[],gpu:[],mem:[],power:[]};c[b]={cpu:q(a.cpu,p(d.cpu_usage_pct)),gpu:q(a.gpu,p(d.gpu_util_pct)),mem:q(a.mem,p(d.mem_used_pct)),power:q(a.power,p(d.gpu_power_w))}}return c})}}catch(a){b||a instanceof DOMException&&"AbortError"===a.name||console.error("[monitor.stream]",a)}finally{b||k(!1)}})(),()=>{b=!0,a.abort()}},[]);let m=a?Object.entries(a.hosts):[];return(0,b.jsxs)("div",{className:"flex flex-col gap-6",children:[(0,b.jsxs)("div",{className:"flex items-baseline justify-between",children:[(0,b.jsx)("h1",{className:"text-2xl font-semibold tracking-tight",children:"Cluster monitor"}),(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(e.Badge,{tone:j?"green":"amber",children:j?"live":"reconnecting…"}),a&&(0,b.jsxs)(e.Badge,{tone:"neutral",children:[m.length," host",1===m.length?"":"s"]})]})]}),a?(0,b.jsx)("div",{className:"grid grid-cols-1 gap-4 lg:grid-cols-2 xl:grid-cols-3",children:m.map(([a,c])=>(0,b.jsx)(l,{host:a,metrics:c,history:h[a]??{cpu:[],gpu:[],mem:[],power:[]}},a))}):(0,b.jsx)(d.Card,{children:(0,b.jsx)(d.CardBody,{className:"text-sm text-zinc-500 dark:text-zinc-400",children:"Waiting for first monitor sample…"})})]})}],47844)}];
1
+ module.exports=[37942,a=>{"use strict";var b=a.i(57096),c=a.i(69767);a.s(["Card",0,function({className:a,...d}){return(0,b.jsx)("div",{className:(0,c.cn)("rounded-lg border border-zinc-200 bg-white shadow-sm dark:border-zinc-800 dark:bg-zinc-900",a),...d})},"CardBody",0,function({className:a,...d}){return(0,b.jsx)("div",{className:(0,c.cn)("px-5 py-4",a),...d})},"CardDescription",0,function({className:a,...d}){return(0,b.jsx)("p",{className:(0,c.cn)("text-sm text-zinc-500 dark:text-zinc-400",a),...d})},"CardFooter",0,function({className:a,...d}){return(0,b.jsx)("div",{className:(0,c.cn)("flex items-center justify-end gap-2 border-t border-zinc-200 px-5 py-3 dark:border-zinc-800",a),...d})},"CardHeader",0,function({className:a,...d}){return(0,b.jsx)("div",{className:(0,c.cn)("flex flex-col gap-1 border-b border-zinc-200 px-5 py-4 dark:border-zinc-800",a),...d})},"CardTitle",0,function({className:a,...d}){return(0,b.jsx)("h3",{className:(0,c.cn)("text-base font-semibold text-zinc-900 dark:text-zinc-100",a),...d})}])},49043,a=>{"use strict";var b=a.i(57096),c=a.i(69767);let d={neutral:"bg-zinc-100 text-zinc-700 dark:bg-zinc-800 dark:text-zinc-300",sky:"bg-sky-100 text-sky-700 dark:bg-sky-950 dark:text-sky-300",green:"bg-emerald-100 text-emerald-700 dark:bg-emerald-950 dark:text-emerald-300",amber:"bg-amber-100 text-amber-700 dark:bg-amber-950 dark:text-amber-300",red:"bg-red-100 text-red-700 dark:bg-red-950 dark:text-red-300",purple:"bg-purple-100 text-purple-700 dark:bg-purple-950 dark:text-purple-300"};a.s(["Badge",0,function({tone:a="neutral",className:e,...f}){return(0,b.jsx)("span",{className:(0,c.cn)("inline-flex items-center gap-1 rounded px-1.5 py-0.5 text-xs font-medium",d[a],e),...f})}])},38756,50273,61430,a=>{"use strict";var b=a.i(64588);let c=(0,b.default)("cpu",[["path",{d:"M12 20v2",key:"1lh1kg"}],["path",{d:"M12 2v2",key:"tus03m"}],["path",{d:"M17 20v2",key:"1rnc9c"}],["path",{d:"M17 2v2",key:"11trls"}],["path",{d:"M2 12h2",key:"1t8f8n"}],["path",{d:"M2 17h2",key:"7oei6x"}],["path",{d:"M2 7h2",key:"asdhe0"}],["path",{d:"M20 12h2",key:"1q8mjw"}],["path",{d:"M20 17h2",key:"1fpfkl"}],["path",{d:"M20 7h2",key:"1o8tra"}],["path",{d:"M7 20v2",key:"4gnj0m"}],["path",{d:"M7 2v2",key:"1i4yhu"}],["rect",{x:"4",y:"4",width:"16",height:"16",rx:"2",key:"1vbyd7"}],["rect",{x:"8",y:"8",width:"8",height:"8",rx:"1",key:"z9xiuo"}]]);a.s(["Cpu",0,c],38756);let d=(0,b.default)("memory-stick",[["path",{d:"M12 12v-2",key:"fwoke6"}],["path",{d:"M12 18v-2",key:"qj6yno"}],["path",{d:"M16 12v-2",key:"heuere"}],["path",{d:"M16 18v-2",key:"s1ct0w"}],["path",{d:"M2 11h1.5",key:"15p63e"}],["path",{d:"M20 18v-2",key:"12ehxp"}],["path",{d:"M20.5 11H22",key:"khsy7a"}],["path",{d:"M4 18v-2",key:"1c3oqr"}],["path",{d:"M8 12v-2",key:"1mwtfd"}],["path",{d:"M8 18v-2",key:"qcmpov"}],["rect",{x:"2",y:"6",width:"20",height:"10",rx:"2",key:"1qcswk"}]]);a.s(["MemoryStick",0,d],50273);let e=(0,b.default)("server",[["rect",{width:"20",height:"8",x:"2",y:"2",rx:"2",ry:"2",key:"ngkwjq"}],["rect",{width:"20",height:"8",x:"2",y:"14",rx:"2",ry:"2",key:"iecqi9"}],["line",{x1:"6",x2:"6.01",y1:"6",y2:"6",key:"16zg32"}],["line",{x1:"6",x2:"6.01",y1:"18",y2:"18",key:"nzw8ys"}]]);a.s(["Server",0,e],61430)},47844,a=>{"use strict";var b=a.i(57096),c=a.i(84668),d=a.i(37942),e=a.i(49043),f=a.i(25273),g=a.i(38756),h=a.i(50273),i=a.i(61430),j=a.i(56352);function k(a){if(null==a||""===a)return null;let b=parseFloat(a);return Number.isFinite(b)?b:null}function l({host:a,metrics:c,history:f}){let m=k(c.cpu_usage_pct)??0,o=k(c.gpu_util_pct)??0,p=k(c.mem_used_mb)??0,q=k(c.mem_total_mb)??1,r=k(c.gpu_mem_used_mb),s=k(c.gpu_mem_total_mb),t=null!=r&&s?r/s*100:null,u=k(c.cpu_temp_c),v=k(c.gpu_temp_c),w=k(c.gpu_power_w);return(0,b.jsxs)(d.Card,{children:[(0,b.jsxs)(d.CardHeader,{children:[(0,b.jsxs)(d.CardTitle,{className:"flex items-center gap-2",children:[(0,b.jsx)(i.Server,{size:16,className:"text-zinc-500"}),a]}),(0,b.jsxs)(d.CardDescription,{children:[c.hostname," · ",c.gpu_name??"—"]})]}),(0,b.jsxs)(d.CardBody,{className:"flex flex-col gap-3",children:[(0,b.jsx)(n,{label:"CPU",pct:m,history:f.cpu,icon:(0,b.jsx)(g.Cpu,{size:14}),tone:"sky",right:null!=u&&`${u.toFixed(1)}\xb0C`}),(0,b.jsx)(n,{label:"GPU",pct:o,history:f.gpu,icon:(0,b.jsx)(j.Zap,{size:14}),tone:"purple",right:null!=v&&`${v.toFixed(0)}\xb0C`}),(0,b.jsx)(n,{label:"Memory",pct:p/q*100,history:f.mem,icon:(0,b.jsx)(h.MemoryStick,{size:14}),tone:"green",right:`${(p/1024).toFixed(1)}/${(q/1024).toFixed(0)} GB`}),null!=t&&(0,b.jsx)(n,{label:"GPU memory",pct:t,history:[],icon:(0,b.jsx)(j.Zap,{size:14}),tone:"amber",right:null!=r&&s?`${(r/1024).toFixed(1)}/${(s/1024).toFixed(0)} GB`:null}),(0,b.jsxs)("div",{className:"flex flex-wrap items-center gap-2 pt-1 text-xs text-zinc-500 dark:text-zinc-400",children:[null!=w&&(0,b.jsxs)(e.Badge,{tone:"neutral",children:[w.toFixed(1)," W"]}),c.sparkrun_jobs&&"0"!==c.sparkrun_jobs&&(0,b.jsxs)(e.Badge,{tone:"sky",children:[c.sparkrun_jobs," job","1"===c.sparkrun_jobs?"":"s"]})]})]})]})}let m={sky:"text-sky-500 dark:text-sky-400",purple:"text-purple-500 dark:text-purple-400",green:"text-emerald-500 dark:text-emerald-400",amber:"text-amber-500 dark:text-amber-400"};function n({label:a,pct:c,history:d,icon:e,tone:f,right:g}){let h=Math.max(0,Math.min(100,c));return(0,b.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between text-xs",children:[(0,b.jsxs)("span",{className:"flex items-center gap-1.5 text-zinc-700 dark:text-zinc-300",children:[e,a]}),(0,b.jsxs)("span",{className:"flex items-center gap-2 text-zinc-500 dark:text-zinc-400",children:[g,(0,b.jsxs)("span",{className:"font-mono text-zinc-700 dark:text-zinc-200",children:[h.toFixed(0),"%"]})]})]}),(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)("div",{className:"h-2 flex-1 overflow-hidden rounded bg-zinc-200 dark:bg-zinc-800",children:(0,b.jsx)("div",{className:"h-full transition-all duration-300 "+("sky"===f?"bg-sky-500 dark:bg-sky-400":"purple"===f?"bg-purple-500 dark:bg-purple-400":"green"===f?"bg-emerald-500 dark:bg-emerald-400":"bg-amber-500 dark:bg-amber-400"),style:{width:`${h}%`}})}),d.length>2&&(0,b.jsx)(o,{values:d,className:m[f]})]})]})}function o({values:a,className:c}){if(a.length<2)return null;let d=Math.max(100,...a),e=80/Math.max(1,a.length-1),f=a.map((a,b)=>`${b*e},${16-a/d*16}`),g=(a.length-1)*e,h=`M 0,16 L ${f.join(" L ")} L ${g},16 Z`,i=`M ${f.join(" L ")}`;return(0,b.jsxs)("svg",{width:80,height:16,viewBox:"0 0 80 16",className:`flex-shrink-0 ${c}`,children:[(0,b.jsx)("path",{d:h,fill:"currentColor",stroke:"none",opacity:.35}),(0,b.jsx)("path",{d:i,fill:"none",stroke:"currentColor",strokeWidth:1})]})}function p(a){if(null==a||""===a)return 0;let b=parseFloat(a);return Number.isFinite(b)?b:0}function q(a,b){let c=a.concat(b);return c.length>30?c.slice(-30):c}a.s(["MonitorLive",0,function(){let[a,g]=(0,c.useState)(null),[h,i]=(0,c.useState)({}),[j,k]=(0,c.useState)(!1);(0,c.useEffect)(()=>{let a=new AbortController,b=!1;return(async()=>{try{let c=await f.rpc.monitor.stream({intervalSec:2},{signal:a.signal});for await(let a of(k(!0),c)){if(b)break;g(a),i(b=>{let c={...b};for(let[b,d]of Object.entries(a.hosts)){let a=c[b]??{cpu:[],gpu:[],mem:[],power:[]};c[b]={cpu:q(a.cpu,p(d.cpu_usage_pct)),gpu:q(a.gpu,p(d.gpu_util_pct)),mem:q(a.mem,p(d.mem_used_pct)),power:q(a.power,p(d.gpu_power_w))}}return c})}}catch(a){b||a instanceof DOMException&&"AbortError"===a.name||console.error("[monitor.stream]",a)}finally{b||k(!1)}})(),()=>{b=!0,a.abort()}},[]);let m=a?Object.entries(a.hosts):[];return(0,b.jsxs)("div",{className:"flex flex-col gap-6",children:[(0,b.jsxs)("div",{className:"flex items-baseline justify-between",children:[(0,b.jsx)("h1",{className:"text-2xl font-semibold tracking-tight",children:"Cluster monitor"}),(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(e.Badge,{tone:j?"green":"amber",children:j?"live":"reconnecting…"}),a&&(0,b.jsxs)(e.Badge,{tone:"neutral",children:[m.length," host",1===m.length?"":"s"]})]})]}),a?(0,b.jsx)("div",{className:"grid grid-cols-1 gap-4 lg:grid-cols-2 xl:grid-cols-3",children:m.map(([a,c])=>(0,b.jsx)(l,{host:a,metrics:c,history:h[a]??{cpu:[],gpu:[],mem:[],power:[]}},a))}):(0,b.jsx)(d.Card,{children:(0,b.jsx)(d.CardBody,{className:"text-sm text-zinc-500 dark:text-zinc-400",children:"Waiting for first monitor sample…"})})]})}],47844)}];
2
2
 
3
3
  //# sourceMappingURL=_0efad.3._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[37942,a=>{"use strict";var b=a.i(57096),c=a.i(69767);a.s(["Card",0,function({className:a,...d}){return(0,b.jsx)("div",{className:(0,c.cn)("rounded-lg border border-zinc-200 bg-white shadow-sm dark:border-zinc-800 dark:bg-zinc-900",a),...d})},"CardBody",0,function({className:a,...d}){return(0,b.jsx)("div",{className:(0,c.cn)("px-5 py-4",a),...d})},"CardDescription",0,function({className:a,...d}){return(0,b.jsx)("p",{className:(0,c.cn)("text-sm text-zinc-500 dark:text-zinc-400",a),...d})},"CardFooter",0,function({className:a,...d}){return(0,b.jsx)("div",{className:(0,c.cn)("flex items-center justify-end gap-2 border-t border-zinc-200 px-5 py-3 dark:border-zinc-800",a),...d})},"CardHeader",0,function({className:a,...d}){return(0,b.jsx)("div",{className:(0,c.cn)("flex flex-col gap-1 border-b border-zinc-200 px-5 py-4 dark:border-zinc-800",a),...d})},"CardTitle",0,function({className:a,...d}){return(0,b.jsx)("h3",{className:(0,c.cn)("text-base font-semibold text-zinc-900 dark:text-zinc-100",a),...d})}])},49043,a=>{"use strict";var b=a.i(57096),c=a.i(69767);let d={neutral:"bg-zinc-100 text-zinc-700 dark:bg-zinc-800 dark:text-zinc-300",sky:"bg-sky-100 text-sky-700 dark:bg-sky-950 dark:text-sky-300",green:"bg-emerald-100 text-emerald-700 dark:bg-emerald-950 dark:text-emerald-300",amber:"bg-amber-100 text-amber-700 dark:bg-amber-950 dark:text-amber-300",red:"bg-red-100 text-red-700 dark:bg-red-950 dark:text-red-300",purple:"bg-purple-100 text-purple-700 dark:bg-purple-950 dark:text-purple-300"};a.s(["Badge",0,function({tone:a="neutral",className:e,...f}){return(0,b.jsx)("span",{className:(0,c.cn)("inline-flex items-center gap-1 rounded px-1.5 py-0.5 text-xs font-medium",d[a],e),...f})}])},22496,a=>{"use strict";let b=(0,a.i(64588).default)("scroll-text",[["path",{d:"M15 12h-5",key:"r7krc0"}],["path",{d:"M15 8h-5",key:"1khuty"}],["path",{d:"M19 17V5a2 2 0 0 0-2-2H4",key:"zz82l3"}],["path",{d:"M8 21h12a2 2 0 0 0 2-2v-1a1 1 0 0 0-1-1H11a1 1 0 0 0-1 1v1a2 2 0 1 1-4 0V5a2 2 0 1 0-4 0v2a1 1 0 0 0 1 1h3",key:"1ph1d7"}]]);a.s(["ScrollText",0,b],22496)},35179,a=>{"use strict";let b=(0,a.i(64588).default)("loader-circle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]]);a.s(["Loader2",0,b],35179)},66917,a=>{"use strict";var b=a.i(57096),c=a.i(84668),d=a.i(69767);let e={primary:"bg-sky-600 text-white hover:bg-sky-500 active:bg-sky-700 dark:bg-sky-500 dark:hover:bg-sky-400",secondary:"bg-zinc-100 text-zinc-900 hover:bg-zinc-200 active:bg-zinc-300 dark:bg-zinc-800 dark:text-zinc-100 dark:hover:bg-zinc-700 dark:active:bg-zinc-600 border border-zinc-200 dark:border-zinc-700",ghost:"text-zinc-700 hover:bg-zinc-100 active:bg-zinc-200 dark:text-zinc-300 dark:hover:bg-zinc-800 dark:active:bg-zinc-700",danger:"bg-red-600 text-white hover:bg-red-500 active:bg-red-700 dark:bg-red-500 dark:hover:bg-red-400",success:"bg-emerald-600 text-white hover:bg-emerald-500 active:bg-emerald-700 dark:bg-emerald-500 dark:hover:bg-emerald-400"},f={sm:"h-8 px-3 text-sm",md:"h-9 px-4 text-sm",lg:"h-10 px-5 text-base"},g=c.forwardRef(function({variant:a="secondary",size:c="md",className:g,...h},i){return(0,b.jsx)("button",{ref:i,className:(0,d.cn)("inline-flex items-center justify-center gap-2 rounded-md font-medium transition-colors cursor-pointer focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:ring-offset-zinc-50 dark:focus-visible:ring-offset-zinc-950 focus-visible:ring-sky-500 disabled:opacity-50 disabled:cursor-not-allowed",e[a],f[c],g),...h})});a.s(["Button",0,g])},28183,a=>{"use strict";let b=(0,a.i(64588).default)("triangle-alert",[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",key:"wmoenq"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]]);a.s(["AlertTriangle",0,b],28183)},38756,61430,a=>{"use strict";var b=a.i(64588);let c=(0,b.default)("cpu",[["path",{d:"M12 20v2",key:"1lh1kg"}],["path",{d:"M12 2v2",key:"tus03m"}],["path",{d:"M17 20v2",key:"1rnc9c"}],["path",{d:"M17 2v2",key:"11trls"}],["path",{d:"M2 12h2",key:"1t8f8n"}],["path",{d:"M2 17h2",key:"7oei6x"}],["path",{d:"M2 7h2",key:"asdhe0"}],["path",{d:"M20 12h2",key:"1q8mjw"}],["path",{d:"M20 17h2",key:"1fpfkl"}],["path",{d:"M20 7h2",key:"1o8tra"}],["path",{d:"M7 20v2",key:"4gnj0m"}],["path",{d:"M7 2v2",key:"1i4yhu"}],["rect",{x:"4",y:"4",width:"16",height:"16",rx:"2",key:"1vbyd7"}],["rect",{x:"8",y:"8",width:"8",height:"8",rx:"1",key:"z9xiuo"}]]);a.s(["Cpu",0,c],38756);let d=(0,b.default)("server",[["rect",{width:"20",height:"8",x:"2",y:"2",rx:"2",ry:"2",key:"ngkwjq"}],["rect",{width:"20",height:"8",x:"2",y:"14",rx:"2",ry:"2",key:"iecqi9"}],["line",{x1:"6",x2:"6.01",y1:"6",y2:"6",key:"16zg32"}],["line",{x1:"6",x2:"6.01",y1:"18",y2:"18",key:"nzw8ys"}]]);a.s(["Server",0,d],61430)},72558,48398,a=>{"use strict";let b=(0,a.i(64588).default)("square",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}]]);a.s(["Square",0,b],72558);var c=a.i(84668),d=a.i(25273);a.s(["useWorkloadHealth",0,function(a){let[b,e]=(0,c.useState)(null),[f,g]=(0,c.useState)(a);return a!==f&&(g(a),e(null)),(0,c.useEffect)(()=>{if(!a)return;let b=!1,c=new AbortController,f=async()=>{try{let f=await d.rpc.workloads.health({clusterId:a},{signal:c.signal});b||e(f)}catch{}};f();let g=setInterval(f,5e3);return()=>{b=!0,c.abort(),clearInterval(g)}},[a]),b??{ready:!1,state:"loading"}}],48398)},76760,a=>{"use strict";var b=a.i(57096),c=a.i(84668),d=a.i(71148),e=a.i(35179),f=a.i(36134),g=a.i(77487),h=a.i(66917),i=a.i(49043),j=a.i(56200),k=a.i(25273);let l=new Map;a.s(["RecipeShowDialog",0,function({name:a,title:m,open:n,onOpenChange:o,running:p=!1,showLaunch:q=!0}){let[r,s]=(0,c.useState)(()=>l.get(a)??null),[t,u]=(0,c.useState)(null),[v,w]=(0,c.useState)(!1);return(0,c.useEffect)(()=>{if(!n)return;let b=l.get(a);if(b)return void s(b);let c=!1;return w(!0),u(null),k.rpc.recipes.show({name:a}).then(b=>{c||(l.set(a,b.text),s(b.text))}).catch(a=>{c||u(a instanceof Error?a.message:String(a))}).finally(()=>{c||w(!1)}),()=>{c=!0}},[n,a]),(0,b.jsx)(g.Dialog,{open:n,onOpenChange:o,children:(0,b.jsxs)(g.Dialog.Content,{title:m??a,size:"xl",description:"sparkrun recipe show",children:[(0,b.jsx)(g.Dialog.Body,{children:v&&!r?(0,b.jsxs)("div",{className:"flex items-center gap-2 text-sm text-zinc-500",children:[(0,b.jsx)(e.Loader2,{size:14,className:"animate-spin"})," loading…"]}):t?(0,b.jsx)("p",{className:"text-sm text-red-600 dark:text-red-400",children:t}):r?(0,b.jsx)(j.YamlEditor,{value:r,readOnly:!0,className:"max-h-[60vh]"}):null}),(0,b.jsxs)(g.Dialog.Footer,{children:[(0,b.jsx)(g.Dialog.Close,{render:(0,b.jsx)(h.Button,{variant:"ghost",type:"button",children:"Close"})}),p?(0,b.jsx)(i.Badge,{tone:"green",children:"already running"}):q?(0,b.jsx)(d.default,{href:`/launch?recipe=${encodeURIComponent(a)}`,children:(0,b.jsxs)(h.Button,{variant:"primary",children:[(0,b.jsx)(f.Rocket,{size:14}),"Launch"]})}):null]})]})})}])}];
1
+ module.exports=[37942,a=>{"use strict";var b=a.i(57096),c=a.i(69767);a.s(["Card",0,function({className:a,...d}){return(0,b.jsx)("div",{className:(0,c.cn)("rounded-lg border border-zinc-200 bg-white shadow-sm dark:border-zinc-800 dark:bg-zinc-900",a),...d})},"CardBody",0,function({className:a,...d}){return(0,b.jsx)("div",{className:(0,c.cn)("px-5 py-4",a),...d})},"CardDescription",0,function({className:a,...d}){return(0,b.jsx)("p",{className:(0,c.cn)("text-sm text-zinc-500 dark:text-zinc-400",a),...d})},"CardFooter",0,function({className:a,...d}){return(0,b.jsx)("div",{className:(0,c.cn)("flex items-center justify-end gap-2 border-t border-zinc-200 px-5 py-3 dark:border-zinc-800",a),...d})},"CardHeader",0,function({className:a,...d}){return(0,b.jsx)("div",{className:(0,c.cn)("flex flex-col gap-1 border-b border-zinc-200 px-5 py-4 dark:border-zinc-800",a),...d})},"CardTitle",0,function({className:a,...d}){return(0,b.jsx)("h3",{className:(0,c.cn)("text-base font-semibold text-zinc-900 dark:text-zinc-100",a),...d})}])},49043,a=>{"use strict";var b=a.i(57096),c=a.i(69767);let d={neutral:"bg-zinc-100 text-zinc-700 dark:bg-zinc-800 dark:text-zinc-300",sky:"bg-sky-100 text-sky-700 dark:bg-sky-950 dark:text-sky-300",green:"bg-emerald-100 text-emerald-700 dark:bg-emerald-950 dark:text-emerald-300",amber:"bg-amber-100 text-amber-700 dark:bg-amber-950 dark:text-amber-300",red:"bg-red-100 text-red-700 dark:bg-red-950 dark:text-red-300",purple:"bg-purple-100 text-purple-700 dark:bg-purple-950 dark:text-purple-300"};a.s(["Badge",0,function({tone:a="neutral",className:e,...f}){return(0,b.jsx)("span",{className:(0,c.cn)("inline-flex items-center gap-1 rounded px-1.5 py-0.5 text-xs font-medium",d[a],e),...f})}])},22496,a=>{"use strict";let b=(0,a.i(64588).default)("scroll-text",[["path",{d:"M15 12h-5",key:"r7krc0"}],["path",{d:"M15 8h-5",key:"1khuty"}],["path",{d:"M19 17V5a2 2 0 0 0-2-2H4",key:"zz82l3"}],["path",{d:"M8 21h12a2 2 0 0 0 2-2v-1a1 1 0 0 0-1-1H11a1 1 0 0 0-1 1v1a2 2 0 1 1-4 0V5a2 2 0 1 0-4 0v2a1 1 0 0 0 1 1h3",key:"1ph1d7"}]]);a.s(["ScrollText",0,b],22496)},35179,a=>{"use strict";let b=(0,a.i(64588).default)("loader-circle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]]);a.s(["Loader2",0,b],35179)},66917,a=>{"use strict";var b=a.i(57096),c=a.i(84668),d=a.i(69767);let e={primary:"bg-sky-600 text-white hover:bg-sky-500 active:bg-sky-700 dark:bg-sky-500 dark:hover:bg-sky-400",secondary:"bg-zinc-100 text-zinc-900 hover:bg-zinc-200 active:bg-zinc-300 dark:bg-zinc-800 dark:text-zinc-100 dark:hover:bg-zinc-700 dark:active:bg-zinc-600 border border-zinc-200 dark:border-zinc-700",ghost:"text-zinc-700 hover:bg-zinc-100 active:bg-zinc-200 dark:text-zinc-300 dark:hover:bg-zinc-800 dark:active:bg-zinc-700",danger:"bg-red-600 text-white hover:bg-red-500 active:bg-red-700 dark:bg-red-500 dark:hover:bg-red-400",success:"bg-emerald-600 text-white hover:bg-emerald-500 active:bg-emerald-700 dark:bg-emerald-500 dark:hover:bg-emerald-400"},f={sm:"h-8 px-3 text-sm",md:"h-9 px-4 text-sm",lg:"h-10 px-5 text-base"},g=c.forwardRef(function({variant:a="secondary",size:c="md",className:g,...h},i){return(0,b.jsx)("button",{ref:i,className:(0,d.cn)("inline-flex items-center justify-center gap-2 rounded-md font-medium transition-colors cursor-pointer focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:ring-offset-zinc-50 dark:focus-visible:ring-offset-zinc-950 focus-visible:ring-sky-500 disabled:opacity-50 disabled:cursor-not-allowed",e[a],f[c],g),...h})});a.s(["Button",0,g])},28183,a=>{"use strict";let b=(0,a.i(64588).default)("triangle-alert",[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",key:"wmoenq"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]]);a.s(["AlertTriangle",0,b],28183)},72558,48398,a=>{"use strict";let b=(0,a.i(64588).default)("square",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}]]);a.s(["Square",0,b],72558);var c=a.i(84668),d=a.i(25273);a.s(["useWorkloadHealth",0,function(a){let[b,e]=(0,c.useState)(null),[f,g]=(0,c.useState)(a);return a!==f&&(g(a),e(null)),(0,c.useEffect)(()=>{if(!a)return;let b=!1,c=new AbortController,f=async()=>{try{let f=await d.rpc.workloads.health({clusterId:a},{signal:c.signal});b||e(f)}catch{}};f();let g=setInterval(f,5e3);return()=>{b=!0,c.abort(),clearInterval(g)}},[a]),b??{ready:!1,state:"loading"}}],48398)},38756,50273,61430,a=>{"use strict";var b=a.i(64588);let c=(0,b.default)("cpu",[["path",{d:"M12 20v2",key:"1lh1kg"}],["path",{d:"M12 2v2",key:"tus03m"}],["path",{d:"M17 20v2",key:"1rnc9c"}],["path",{d:"M17 2v2",key:"11trls"}],["path",{d:"M2 12h2",key:"1t8f8n"}],["path",{d:"M2 17h2",key:"7oei6x"}],["path",{d:"M2 7h2",key:"asdhe0"}],["path",{d:"M20 12h2",key:"1q8mjw"}],["path",{d:"M20 17h2",key:"1fpfkl"}],["path",{d:"M20 7h2",key:"1o8tra"}],["path",{d:"M7 20v2",key:"4gnj0m"}],["path",{d:"M7 2v2",key:"1i4yhu"}],["rect",{x:"4",y:"4",width:"16",height:"16",rx:"2",key:"1vbyd7"}],["rect",{x:"8",y:"8",width:"8",height:"8",rx:"1",key:"z9xiuo"}]]);a.s(["Cpu",0,c],38756);let d=(0,b.default)("memory-stick",[["path",{d:"M12 12v-2",key:"fwoke6"}],["path",{d:"M12 18v-2",key:"qj6yno"}],["path",{d:"M16 12v-2",key:"heuere"}],["path",{d:"M16 18v-2",key:"s1ct0w"}],["path",{d:"M2 11h1.5",key:"15p63e"}],["path",{d:"M20 18v-2",key:"12ehxp"}],["path",{d:"M20.5 11H22",key:"khsy7a"}],["path",{d:"M4 18v-2",key:"1c3oqr"}],["path",{d:"M8 12v-2",key:"1mwtfd"}],["path",{d:"M8 18v-2",key:"qcmpov"}],["rect",{x:"2",y:"6",width:"20",height:"10",rx:"2",key:"1qcswk"}]]);a.s(["MemoryStick",0,d],50273);let e=(0,b.default)("server",[["rect",{width:"20",height:"8",x:"2",y:"2",rx:"2",ry:"2",key:"ngkwjq"}],["rect",{width:"20",height:"8",x:"2",y:"14",rx:"2",ry:"2",key:"iecqi9"}],["line",{x1:"6",x2:"6.01",y1:"6",y2:"6",key:"16zg32"}],["line",{x1:"6",x2:"6.01",y1:"18",y2:"18",key:"nzw8ys"}]]);a.s(["Server",0,e],61430)},76760,a=>{"use strict";var b=a.i(57096),c=a.i(84668),d=a.i(71148),e=a.i(35179),f=a.i(36134),g=a.i(77487),h=a.i(66917),i=a.i(49043),j=a.i(56200),k=a.i(25273);let l=new Map;a.s(["RecipeShowDialog",0,function({name:a,title:m,open:n,onOpenChange:o,running:p=!1,showLaunch:q=!0}){let[r,s]=(0,c.useState)(()=>l.get(a)??null),[t,u]=(0,c.useState)(null),[v,w]=(0,c.useState)(!1);return(0,c.useEffect)(()=>{if(!n)return;let b=l.get(a);if(b)return void s(b);let c=!1;return w(!0),u(null),k.rpc.recipes.show({name:a}).then(b=>{c||(l.set(a,b.text),s(b.text))}).catch(a=>{c||u(a instanceof Error?a.message:String(a))}).finally(()=>{c||w(!1)}),()=>{c=!0}},[n,a]),(0,b.jsx)(g.Dialog,{open:n,onOpenChange:o,children:(0,b.jsxs)(g.Dialog.Content,{title:m??a,size:"xl",description:"sparkrun recipe show",children:[(0,b.jsx)(g.Dialog.Body,{children:v&&!r?(0,b.jsxs)("div",{className:"flex items-center gap-2 text-sm text-zinc-500",children:[(0,b.jsx)(e.Loader2,{size:14,className:"animate-spin"})," loading…"]}):t?(0,b.jsx)("p",{className:"text-sm text-red-600 dark:text-red-400",children:t}):r?(0,b.jsx)(j.YamlEditor,{value:r,readOnly:!0,className:"max-h-[60vh]"}):null}),(0,b.jsxs)(g.Dialog.Footer,{children:[(0,b.jsx)(g.Dialog.Close,{render:(0,b.jsx)(h.Button,{variant:"ghost",type:"button",children:"Close"})}),p?(0,b.jsx)(i.Badge,{tone:"green",children:"already running"}):q?(0,b.jsx)(d.default,{href:`/launch?recipe=${encodeURIComponent(a)}`,children:(0,b.jsxs)(h.Button,{variant:"primary",children:[(0,b.jsx)(f.Rocket,{size:14}),"Launch"]})}):null]})]})})}])}];
2
2
 
3
- //# sourceMappingURL=_0m5y5l7._.js.map
3
+ //# sourceMappingURL=_0mx8o88._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[10558,a=>{"use strict";var b=a.i(57096),c=a.i(84668),d=a.i(71148),e=a.i(28183),f=a.i(36134),g=a.i(25273),h=a.i(37942),i=a.i(49043),j=a.i(66917),k=a.i(38246),l=a.i(28536),m=a.i(72558),n=a.i(22496),o=a.i(35179),p=a.i(77487),q=a.i(65062),r=a.i(76760),s=a.i(48398);function t({workload:a,recipe:e}){var f,i,o;let v,w,[x,y]=(0,c.useState)(!1),[z,A]=(0,c.useState)(!1),[B,C]=(0,c.useTransition)(),D=(0,s.useWorkloadHealth)(a.cluster_id),E=a.meta.model||a.meta.recipe||a.cluster_id,F=function(a){if(!a)return null;let b=a.match(/^Up\s+(.+?)(?:\s*\([^)]*\))?\s*$/);return b?.[1]??null}(a.status),G=e?.registeredName??a.meta.recipe;return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)(h.Card,{children:[(0,b.jsx)(h.CardHeader,{children:(0,b.jsx)(h.CardTitle,{className:"text-sm font-semibold",children:E})}),(0,b.jsxs)(h.CardBody,{className:"flex flex-col gap-3 text-sm",children:[(0,b.jsxs)("dl",{className:"grid grid-cols-[auto_1fr] gap-x-3 gap-y-1 text-xs",children:[e&&(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("dt",{className:"text-zinc-500 dark:text-zinc-400",children:"Recipe"}),(0,b.jsx)("dd",{children:G?(0,b.jsx)("button",{type:"button",onClick:()=>A(!0),className:"cursor-pointer font-medium text-sky-600 hover:underline dark:text-sky-400",children:e.label}):(0,b.jsx)("span",{className:"font-medium text-zinc-700 dark:text-zinc-300",children:e.label})})]}),a.meta.port&&(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("dt",{className:"text-zinc-500 dark:text-zinc-400",children:"Port"}),(0,b.jsx)("dd",{className:"font-mono text-zinc-700 dark:text-zinc-300",children:a.meta.port})]}),a.host&&(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("dt",{className:"text-zinc-500 dark:text-zinc-400",children:"Host"}),(0,b.jsx)("dd",{className:"font-mono text-zinc-700 dark:text-zinc-300",children:a.host})]}),F&&(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("dt",{className:"text-zinc-500 dark:text-zinc-400",children:"Uptime"}),(0,b.jsx)("dd",{className:"text-zinc-700 dark:text-zinc-300",children:F})]}),(0,b.jsx)("dt",{className:"text-zinc-500 dark:text-zinc-400",children:"Status"}),(0,b.jsx)("dd",{children:(0,b.jsx)(u,{health:D,containerStatus:a.status})})]}),(0,b.jsxs)("div",{className:"flex justify-end gap-2 pt-2",children:[a.host&&a.meta.port&&(0,b.jsx)(d.default,{href:`/chat?clusterId=${encodeURIComponent(a.cluster_id)}`,children:(0,b.jsxs)(j.Button,{variant:"ghost",size:"sm",children:[(0,b.jsx)(l.MessageSquare,{size:14}),"Chat"]})}),(0,b.jsx)(d.default,{href:`/logs/${a.cluster_id}`,children:(0,b.jsxs)(j.Button,{variant:"ghost",size:"sm",children:[(0,b.jsx)(n.ScrollText,{size:14}),"Logs"]})}),(0,b.jsx)(d.default,{href:(f=e,i=a.meta.model,o=function(a){let b=a?.overrides,c=b?.served_model_name;if("string"==typeof c&&c)return c;let d=a?.recipe_state,e=d?._applied_overrides,f=e?.served_model_name;if("string"==typeof f&&f)return f;let g=d?._raw,h=g?.defaults,i=h?.served_model_name;if("string"==typeof i&&i)return i}(a.meta),v=f?.registeredName??f?.label,w=new URLSearchParams,v&&w.set("recipe",v),i&&w.set("model",i),o&&w.set("servedModelName",o),w.set("skipRun","1"),`/benchmarks/new?${w.toString()}`),children:(0,b.jsxs)(j.Button,{variant:"ghost",size:"sm",children:[(0,b.jsx)(k.Gauge,{size:14}),"Benchmark"]})}),(0,b.jsxs)(j.Button,{variant:"danger",size:"sm",onClick:()=>y(!0),disabled:B,children:[(0,b.jsx)(m.Square,{size:14}),B?"Stopping…":"Stop"]})]})]})]}),(0,b.jsx)(p.AlertDialog,{open:x,onOpenChange:y,title:"Stop this workload?",description:(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("span",{className:"block font-mono",children:E}),(0,b.jsxs)("span",{className:"mt-2 block",children:["The container will be terminated on ",a.host??"the target host","."]})]}),confirmLabel:"Stop",destructive:!0,onConfirm:()=>{C(async()=>{try{await g.rpc.workloads.stop({clusterId:a.cluster_id}),q.toast.success("Stop requested",`${E} is shutting down`)}catch(b){let a=b instanceof Error?b.message:"Unknown error";q.toast.error("Stop failed",a)}})}}),e&&G&&(0,b.jsx)(r.RecipeShowDialog,{name:G,title:e.label,open:z,onOpenChange:a=>!a&&A(!1),showLaunch:!1})]})}function u({health:a,containerStatus:c}){return a.ready?(0,b.jsxs)("span",{className:"inline-flex items-center gap-1.5",children:[(0,b.jsx)("span",{className:"h-1.5 w-1.5 rounded-full bg-emerald-500"}),(0,b.jsx)("span",{className:"text-zinc-700 dark:text-zinc-300",children:"Ready"})]}):"loading"===a.state?(0,b.jsxs)("span",{className:"inline-flex items-center gap-1.5",children:[(0,b.jsx)(o.Loader2,{size:10,className:"animate-spin text-zinc-400"}),(0,b.jsx)("span",{className:"text-zinc-500 capitalize dark:text-zinc-400",children:c??"Checking…"})]}):"starting"===a.state?(0,b.jsxs)("span",{className:"inline-flex items-center gap-1.5",children:[(0,b.jsx)(o.Loader2,{size:10,className:"animate-spin text-amber-500"}),(0,b.jsx)("span",{className:"text-amber-700 dark:text-amber-300",children:"Starting…"})]}):(0,b.jsxs)("span",{className:"inline-flex items-center gap-1.5",children:[(0,b.jsx)("span",{className:"h-1.5 w-1.5 rounded-full bg-red-500"}),(0,b.jsx)("span",{className:"text-red-700 dark:text-red-300",title:a.reason??void 0,children:"Unreachable"})]})}var v=a.i(38756);let w=(0,a.i(64588).default)("memory-stick",[["path",{d:"M12 12v-2",key:"fwoke6"}],["path",{d:"M12 18v-2",key:"qj6yno"}],["path",{d:"M16 12v-2",key:"heuere"}],["path",{d:"M16 18v-2",key:"s1ct0w"}],["path",{d:"M2 11h1.5",key:"15p63e"}],["path",{d:"M20 18v-2",key:"12ehxp"}],["path",{d:"M20.5 11H22",key:"khsy7a"}],["path",{d:"M4 18v-2",key:"1c3oqr"}],["path",{d:"M8 12v-2",key:"1mwtfd"}],["path",{d:"M8 18v-2",key:"qcmpov"}],["rect",{x:"2",y:"6",width:"20",height:"10",rx:"2",key:"1qcswk"}]]);var x=a.i(61430),y=a.i(4733),z=a.i(56352);function A(a){if(!a)return 0;let b=parseFloat(a);return Number.isFinite(b)?b:0}function B(a){if(!a)return{hostCount:0,cpuAvg:0,gpuAvg:0,memUsedGb:0,memTotalGb:0,gpuMemUsedGb:0,gpuMemTotalGb:0,powerW:0,cpuTempC:0,gpuTempC:0,jobsTotal:0};let b=Object.values(a.hosts),c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;for(let a of b)c+=A(a.cpu_usage_pct),d+=A(a.gpu_util_pct),e+=A(a.mem_used_mb),f+=A(a.mem_total_mb),g+=A(a.gpu_mem_used_mb),h+=A(a.gpu_mem_total_mb),i+=A(a.gpu_power_w),j+=A(a.cpu_temp_c),k+=A(a.gpu_temp_c),l+=A(a.sparkrun_jobs);let m=b.length||1;return{hostCount:b.length,cpuAvg:c/m,gpuAvg:d/m,memUsedGb:e/1024,memTotalGb:f/1024,gpuMemUsedGb:g/1024,gpuMemTotalGb:h/1024,powerW:i,cpuTempC:j/m,gpuTempC:k/m,jobsTotal:l}}function C(){let[a,d]=(0,c.useState)(null),[e,f]=(0,c.useState)({cpu:[],gpu:[]}),[i,j]=(0,c.useState)(!1);(0,c.useEffect)(()=>{let a=new AbortController,b=!1;return(async()=>{try{let c=await g.rpc.monitor.stream({intervalSec:2},{signal:a.signal});for await(let a of(j(!0),c)){if(b)break;d(a);let c=B(a);f(a=>({cpu:D(a.cpu,c.cpuAvg),gpu:D(a.gpu,c.gpuAvg)}))}}catch(a){b||a instanceof DOMException&&"AbortError"===a.name||console.error("[monitor.stream]",a)}finally{b||j(!1)}})(),()=>{b=!0,a.abort()}},[]);let k=B(a),l=k.memTotalGb?k.memUsedGb/k.memTotalGb*100:0,m=k.gpuMemTotalGb?k.gpuMemUsedGb/k.gpuMemTotalGb*100:0;return(0,b.jsx)(h.Card,{children:(0,b.jsxs)(h.CardBody,{className:"p-5",children:[(0,b.jsxs)("div",{className:"mb-4 flex items-baseline justify-between",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(x.Server,{size:14,className:"text-zinc-500"}),(0,b.jsx)("span",{className:"text-sm font-medium text-zinc-700 dark:text-zinc-300",children:"Cluster overview"}),(0,b.jsxs)("span",{className:"text-xs text-zinc-500",children:["· ",k.hostCount||"—"," host",1===k.hostCount?"":"s"," · ",k.jobsTotal," job",1===k.jobsTotal?"":"s"]})]}),(0,b.jsx)("span",{className:"inline-flex h-2 w-2 rounded-full "+(i?"animate-pulse bg-emerald-500":"bg-zinc-300"),title:i?"live":"reconnecting"})]}),(0,b.jsxs)("div",{className:"grid grid-cols-2 gap-4 sm:grid-cols-3 lg:grid-cols-5",children:[(0,b.jsx)(H,{icon:(0,b.jsx)(v.Cpu,{size:14}),tone:"sky",label:"CPU",value:`${k.cpuAvg.toFixed(1)}%`,sub:`avg across ${k.hostCount||0}`,pct:k.cpuAvg,spark:e.cpu}),(0,b.jsx)(H,{icon:(0,b.jsx)(z.Zap,{size:14}),tone:"purple",label:"GPU",value:`${k.gpuAvg.toFixed(0)}%`,sub:`avg across ${k.hostCount||0}`,pct:k.gpuAvg,spark:e.gpu}),(0,b.jsx)(H,{icon:(0,b.jsx)(w,{size:14}),tone:"green",label:"Memory",value:`${k.memUsedGb.toFixed(0)} / ${k.memTotalGb.toFixed(0)} GB`,sub:`${l.toFixed(0)}% used`,pct:l}),(0,b.jsx)(H,{icon:(0,b.jsx)(z.Zap,{size:14}),tone:"amber",label:"Power",value:`${k.powerW.toFixed(1)} W`,sub:k.gpuMemTotalGb?`GPU mem ${k.gpuMemUsedGb.toFixed(0)}/${k.gpuMemTotalGb.toFixed(0)} GB`:"total GPU draw",pct:m}),(0,b.jsx)(H,{icon:(0,b.jsx)(y.Thermometer,{size:14}),tone:"red",label:"Temps",value:k.cpuTempC||k.gpuTempC?`${k.gpuTempC.toFixed(0)}\xb0C / ${k.cpuTempC.toFixed(0)}\xb0C`:"—",sub:"GPU / CPU avg",pct:k.gpuTempC>0?Math.min(100,k.gpuTempC/100*100):0})]})]})})}function D(a,b){let c=a.concat(b);return c.length>40?c.slice(-40):c}let E={sky:"bg-sky-500 dark:bg-sky-400",purple:"bg-purple-500 dark:bg-purple-400",green:"bg-emerald-500 dark:bg-emerald-400",amber:"bg-amber-500 dark:bg-amber-400",red:"bg-red-500 dark:bg-red-400"},F={sky:"stroke-sky-500 dark:stroke-sky-400",purple:"stroke-purple-500 dark:stroke-purple-400",green:"stroke-emerald-500 dark:stroke-emerald-400",amber:"stroke-amber-500 dark:stroke-amber-400"},G={sky:"text-sky-600 dark:text-sky-400",purple:"text-purple-600 dark:text-purple-400",green:"text-emerald-600 dark:text-emerald-400",amber:"text-amber-600 dark:text-amber-400",red:"text-red-600 dark:text-red-400"};function H({icon:a,label:c,value:d,sub:e,pct:f,tone:g,spark:h}){let i=Math.max(0,Math.min(100,f));return(0,b.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between",children:[(0,b.jsxs)("div",{className:`flex items-center gap-1.5 text-xs font-medium ${G[g]}`,children:[a,c]}),h&&h.length>2&&(0,b.jsx)(I,{values:h,className:F[g]})]}),(0,b.jsx)("div",{className:"font-mono text-xl font-semibold text-zinc-900 dark:text-zinc-100",children:d}),(0,b.jsx)("div",{className:"h-1.5 overflow-hidden rounded bg-zinc-100 dark:bg-zinc-800",children:(0,b.jsx)("div",{className:`${E[g]} h-full transition-all duration-300`,style:{width:`${i}%`}})}),(0,b.jsx)("div",{className:"text-[11px] text-zinc-500 dark:text-zinc-400",children:e})]})}function I({values:a,className:c}){let d=Math.max(100,...a),e=56/Math.max(1,a.length-1),f=a.map((a,b)=>`${0===b?"M":"L"} ${b*e} ${16-a/d*16}`).join(" ");return(0,b.jsx)("svg",{width:56,height:16,viewBox:"0 0 56 16",className:"flex-shrink-0",children:(0,b.jsx)("path",{d:f,fill:"none",strokeWidth:1.25,className:c})})}a.s(["DashboardLive",0,function({initial:a,recipeByCluster:k}){let[l,m]=(0,c.useState)(a),[n,o]=(0,c.useState)(!0);return(0,c.useEffect)(()=>{let a=new AbortController,b=!1;return(async()=>{try{for await(let c of(await g.rpc.status.stream({intervalMs:3e3},{signal:a.signal}))){if(b)break;m(c),o(!0)}}catch(a){b||o(!1),a instanceof DOMException&&"AbortError"===a.name||console.error("[status.stream]",a)}})(),()=>{b=!0,a.abort()}},[]),(0,b.jsxs)("div",{className:"flex flex-col gap-6",children:[(0,b.jsxs)("div",{className:"flex items-baseline justify-between",children:[(0,b.jsx)("h1",{className:"text-2xl font-semibold tracking-tight",children:"Dashboard"}),(0,b.jsxs)("div",{className:"flex items-center gap-2 text-sm",children:[(0,b.jsxs)(i.Badge,{tone:"sky",children:[l.host_count," host",1===l.host_count?"":"s"]}),(0,b.jsxs)(i.Badge,{tone:"green",children:[l.total_containers," running"]}),(0,b.jsx)(i.Badge,{tone:n?"neutral":"amber",children:n?"live":"reconnecting…"})]})]}),(0,b.jsx)(C,{}),Object.keys(l.errors).length>0&&(0,b.jsx)(h.Card,{className:"border-amber-300 bg-amber-50 dark:border-amber-900 dark:bg-amber-950/40",children:(0,b.jsxs)(h.CardBody,{className:"flex gap-3",children:[(0,b.jsx)(e.AlertTriangle,{className:"mt-0.5 shrink-0 text-amber-600 dark:text-amber-400",size:18}),(0,b.jsxs)("div",{className:"flex flex-col gap-1 text-sm",children:[(0,b.jsx)("h3",{className:"font-medium text-amber-900 dark:text-amber-200",children:"Cluster status reported errors"}),(0,b.jsx)("ul",{className:"flex flex-col gap-1 text-amber-800 dark:text-amber-300",children:Object.entries(l.errors).map(([a,c])=>(0,b.jsxs)("li",{className:"font-mono text-xs",children:[(0,b.jsxs)("span",{className:"font-semibold",children:[a,":"]})," ","string"==typeof c?c:c&&"object"==typeof c&&"message"in c?String(c.message):JSON.stringify(c)]},a))})]})]})}),(0,b.jsxs)("div",{className:"flex flex-col gap-3",children:[(0,b.jsx)("h2",{className:"text-sm font-medium text-zinc-700 dark:text-zinc-300",children:"Workloads"}),0===l.solo_entries.length?(0,b.jsx)(h.Card,{children:(0,b.jsxs)(h.CardBody,{className:"flex flex-col items-center gap-4 py-12 text-center",children:[(0,b.jsx)("div",{className:"flex h-12 w-12 items-center justify-center rounded-full bg-sky-50 text-sky-600 dark:bg-sky-950 dark:text-sky-400",children:(0,b.jsx)(f.Rocket,{size:22})}),(0,b.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,b.jsx)("h3",{className:"text-base font-semibold text-zinc-900 dark:text-zinc-100",children:"No workloads running"}),(0,b.jsx)("p",{className:"text-sm text-zinc-500 dark:text-zinc-400",children:"Launch a recipe to start an inference workload on your cluster."})]}),(0,b.jsx)(d.default,{href:"/launch",children:(0,b.jsxs)(j.Button,{variant:"primary",children:[(0,b.jsx)(f.Rocket,{size:14}),"Launch a recipe"]})})]})}):(0,b.jsx)("div",{className:"grid grid-cols-1 gap-4 lg:grid-cols-2",children:l.solo_entries.map(a=>(0,b.jsx)(t,{workload:a,recipe:k.get(a.cluster_id)},a.cluster_id))})]})]})}],10558)}];
1
+ module.exports=[10558,a=>{"use strict";var b=a.i(57096),c=a.i(84668),d=a.i(71148),e=a.i(28183),f=a.i(36134),g=a.i(25273),h=a.i(37942),i=a.i(49043),j=a.i(66917),k=a.i(38246),l=a.i(28536),m=a.i(72558),n=a.i(22496),o=a.i(35179),p=a.i(77487),q=a.i(65062),r=a.i(76760),s=a.i(48398);function t({workload:a,recipe:e}){var f,i,o;let v,w,[x,y]=(0,c.useState)(!1),[z,A]=(0,c.useState)(!1),[B,C]=(0,c.useTransition)(),D=(0,s.useWorkloadHealth)(a.cluster_id),E=a.meta.model||a.meta.recipe||a.cluster_id,F=function(a){if(!a)return null;let b=a.match(/^Up\s+(.+?)(?:\s*\([^)]*\))?\s*$/);return b?.[1]??null}(a.status),G=e?.registeredName??a.meta.recipe;return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)(h.Card,{children:[(0,b.jsx)(h.CardHeader,{children:(0,b.jsx)(h.CardTitle,{className:"text-sm font-semibold",children:E})}),(0,b.jsxs)(h.CardBody,{className:"flex flex-col gap-3 text-sm",children:[(0,b.jsxs)("dl",{className:"grid grid-cols-[auto_1fr] gap-x-3 gap-y-1 text-xs",children:[e&&(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("dt",{className:"text-zinc-500 dark:text-zinc-400",children:"Recipe"}),(0,b.jsx)("dd",{children:G?(0,b.jsx)("button",{type:"button",onClick:()=>A(!0),className:"cursor-pointer font-medium text-sky-600 hover:underline dark:text-sky-400",children:e.label}):(0,b.jsx)("span",{className:"font-medium text-zinc-700 dark:text-zinc-300",children:e.label})})]}),a.meta.port&&(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("dt",{className:"text-zinc-500 dark:text-zinc-400",children:"Port"}),(0,b.jsx)("dd",{className:"font-mono text-zinc-700 dark:text-zinc-300",children:a.meta.port})]}),a.host&&(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("dt",{className:"text-zinc-500 dark:text-zinc-400",children:"Host"}),(0,b.jsx)("dd",{className:"font-mono text-zinc-700 dark:text-zinc-300",children:a.host})]}),F&&(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("dt",{className:"text-zinc-500 dark:text-zinc-400",children:"Uptime"}),(0,b.jsx)("dd",{className:"text-zinc-700 dark:text-zinc-300",children:F})]}),(0,b.jsx)("dt",{className:"text-zinc-500 dark:text-zinc-400",children:"Status"}),(0,b.jsx)("dd",{children:(0,b.jsx)(u,{health:D,containerStatus:a.status})})]}),(0,b.jsxs)("div",{className:"flex justify-end gap-2 pt-2",children:[a.host&&a.meta.port&&(0,b.jsx)(d.default,{href:`/chat?clusterId=${encodeURIComponent(a.cluster_id)}`,children:(0,b.jsxs)(j.Button,{variant:"ghost",size:"sm",children:[(0,b.jsx)(l.MessageSquare,{size:14}),"Chat"]})}),(0,b.jsx)(d.default,{href:`/logs/${a.cluster_id}`,children:(0,b.jsxs)(j.Button,{variant:"ghost",size:"sm",children:[(0,b.jsx)(n.ScrollText,{size:14}),"Logs"]})}),(0,b.jsx)(d.default,{href:(f=e,i=a.meta.model,o=function(a){let b=a?.overrides,c=b?.served_model_name;if("string"==typeof c&&c)return c;let d=a?.recipe_state,e=d?._applied_overrides,f=e?.served_model_name;if("string"==typeof f&&f)return f;let g=d?._raw,h=g?.defaults,i=h?.served_model_name;if("string"==typeof i&&i)return i}(a.meta),v=f?.registeredName??f?.label,w=new URLSearchParams,v&&w.set("recipe",v),i&&w.set("model",i),o&&w.set("servedModelName",o),w.set("skipRun","1"),`/benchmarks/new?${w.toString()}`),children:(0,b.jsxs)(j.Button,{variant:"ghost",size:"sm",children:[(0,b.jsx)(k.Gauge,{size:14}),"Benchmark"]})}),(0,b.jsxs)(j.Button,{variant:"danger",size:"sm",onClick:()=>y(!0),disabled:B,children:[(0,b.jsx)(m.Square,{size:14}),B?"Stopping…":"Stop"]})]})]})]}),(0,b.jsx)(p.AlertDialog,{open:x,onOpenChange:y,title:"Stop this workload?",description:(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("span",{className:"block font-mono",children:E}),(0,b.jsxs)("span",{className:"mt-2 block",children:["The container will be terminated on ",a.host??"the target host","."]})]}),confirmLabel:"Stop",destructive:!0,onConfirm:()=>{C(async()=>{try{await g.rpc.workloads.stop({clusterId:a.cluster_id}),q.toast.success("Stop requested",`${E} is shutting down`)}catch(b){let a=b instanceof Error?b.message:"Unknown error";q.toast.error("Stop failed",a)}})}}),e&&G&&(0,b.jsx)(r.RecipeShowDialog,{name:G,title:e.label,open:z,onOpenChange:a=>!a&&A(!1),showLaunch:!1})]})}function u({health:a,containerStatus:c}){return a.ready?(0,b.jsxs)("span",{className:"inline-flex items-center gap-1.5",children:[(0,b.jsx)("span",{className:"h-1.5 w-1.5 rounded-full bg-emerald-500"}),(0,b.jsx)("span",{className:"text-zinc-700 dark:text-zinc-300",children:"Ready"})]}):"loading"===a.state?(0,b.jsxs)("span",{className:"inline-flex items-center gap-1.5",children:[(0,b.jsx)(o.Loader2,{size:10,className:"animate-spin text-zinc-400"}),(0,b.jsx)("span",{className:"text-zinc-500 capitalize dark:text-zinc-400",children:c??"Checking…"})]}):"starting"===a.state?(0,b.jsxs)("span",{className:"inline-flex items-center gap-1.5",children:[(0,b.jsx)(o.Loader2,{size:10,className:"animate-spin text-amber-500"}),(0,b.jsx)("span",{className:"text-amber-700 dark:text-amber-300",children:"Starting…"})]}):(0,b.jsxs)("span",{className:"inline-flex items-center gap-1.5",children:[(0,b.jsx)("span",{className:"h-1.5 w-1.5 rounded-full bg-red-500"}),(0,b.jsx)("span",{className:"text-red-700 dark:text-red-300",title:a.reason??void 0,children:"Unreachable"})]})}var v=a.i(38756),w=a.i(50273),x=a.i(61430),y=a.i(4733),z=a.i(56352);function A(a){if(!a)return 0;let b=parseFloat(a);return Number.isFinite(b)?b:0}function B(a){if(!a)return{hostCount:0,cpuAvg:0,gpuAvg:0,memUsedGb:0,memTotalGb:0,gpuMemUsedGb:0,gpuMemTotalGb:0,powerW:0,cpuTempC:0,gpuTempC:0,jobsTotal:0};let b=Object.values(a.hosts),c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;for(let a of b)c+=A(a.cpu_usage_pct),d+=A(a.gpu_util_pct),e+=A(a.mem_used_mb),f+=A(a.mem_total_mb),g+=A(a.gpu_mem_used_mb),h+=A(a.gpu_mem_total_mb),i+=A(a.gpu_power_w),j+=A(a.cpu_temp_c),k+=A(a.gpu_temp_c),l+=A(a.sparkrun_jobs);let m=b.length||1;return{hostCount:b.length,cpuAvg:c/m,gpuAvg:d/m,memUsedGb:e/1024,memTotalGb:f/1024,gpuMemUsedGb:g/1024,gpuMemTotalGb:h/1024,powerW:i,cpuTempC:j/m,gpuTempC:k/m,jobsTotal:l}}function C(){let[a,d]=(0,c.useState)(null),[e,f]=(0,c.useState)({cpu:[],gpu:[]}),[i,j]=(0,c.useState)(!1);(0,c.useEffect)(()=>{let a=new AbortController,b=!1;return(async()=>{try{let c=await g.rpc.monitor.stream({intervalSec:2},{signal:a.signal});for await(let a of(j(!0),c)){if(b)break;d(a);let c=B(a);f(a=>({cpu:D(a.cpu,c.cpuAvg),gpu:D(a.gpu,c.gpuAvg)}))}}catch(a){b||a instanceof DOMException&&"AbortError"===a.name||console.error("[monitor.stream]",a)}finally{b||j(!1)}})(),()=>{b=!0,a.abort()}},[]);let k=B(a),l=k.memTotalGb?k.memUsedGb/k.memTotalGb*100:0,m=k.gpuMemTotalGb?k.gpuMemUsedGb/k.gpuMemTotalGb*100:0;return(0,b.jsx)(h.Card,{children:(0,b.jsxs)(h.CardBody,{className:"p-5",children:[(0,b.jsxs)("div",{className:"mb-4 flex items-baseline justify-between",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(x.Server,{size:14,className:"text-zinc-500"}),(0,b.jsx)("span",{className:"text-sm font-medium text-zinc-700 dark:text-zinc-300",children:"Cluster overview"}),(0,b.jsxs)("span",{className:"text-xs text-zinc-500",children:["· ",k.hostCount||"—"," host",1===k.hostCount?"":"s"," · ",k.jobsTotal," job",1===k.jobsTotal?"":"s"]})]}),(0,b.jsx)("span",{className:"inline-flex h-2 w-2 rounded-full "+(i?"animate-pulse bg-emerald-500":"bg-zinc-300"),title:i?"live":"reconnecting"})]}),(0,b.jsxs)("div",{className:"grid grid-cols-2 gap-4 sm:grid-cols-3 lg:grid-cols-5",children:[(0,b.jsx)(H,{icon:(0,b.jsx)(v.Cpu,{size:14}),tone:"sky",label:"CPU",value:`${k.cpuAvg.toFixed(1)}%`,sub:`avg across ${k.hostCount||0}`,pct:k.cpuAvg,spark:e.cpu}),(0,b.jsx)(H,{icon:(0,b.jsx)(z.Zap,{size:14}),tone:"purple",label:"GPU",value:`${k.gpuAvg.toFixed(0)}%`,sub:`avg across ${k.hostCount||0}`,pct:k.gpuAvg,spark:e.gpu}),(0,b.jsx)(H,{icon:(0,b.jsx)(w.MemoryStick,{size:14}),tone:"green",label:"Memory",value:`${k.memUsedGb.toFixed(0)} / ${k.memTotalGb.toFixed(0)} GB`,sub:`${l.toFixed(0)}% used`,pct:l}),(0,b.jsx)(H,{icon:(0,b.jsx)(z.Zap,{size:14}),tone:"amber",label:"Power",value:`${k.powerW.toFixed(1)} W`,sub:k.gpuMemTotalGb?`GPU mem ${k.gpuMemUsedGb.toFixed(0)}/${k.gpuMemTotalGb.toFixed(0)} GB`:"total GPU draw",pct:m}),(0,b.jsx)(H,{icon:(0,b.jsx)(y.Thermometer,{size:14}),tone:"red",label:"Temps",value:k.cpuTempC||k.gpuTempC?`${k.gpuTempC.toFixed(0)}\xb0C / ${k.cpuTempC.toFixed(0)}\xb0C`:"—",sub:"GPU / CPU avg",pct:k.gpuTempC>0?Math.min(100,k.gpuTempC/100*100):0})]})]})})}function D(a,b){let c=a.concat(b);return c.length>40?c.slice(-40):c}let E={sky:"bg-sky-500 dark:bg-sky-400",purple:"bg-purple-500 dark:bg-purple-400",green:"bg-emerald-500 dark:bg-emerald-400",amber:"bg-amber-500 dark:bg-amber-400",red:"bg-red-500 dark:bg-red-400"},F={sky:"stroke-sky-500 dark:stroke-sky-400",purple:"stroke-purple-500 dark:stroke-purple-400",green:"stroke-emerald-500 dark:stroke-emerald-400",amber:"stroke-amber-500 dark:stroke-amber-400"},G={sky:"text-sky-600 dark:text-sky-400",purple:"text-purple-600 dark:text-purple-400",green:"text-emerald-600 dark:text-emerald-400",amber:"text-amber-600 dark:text-amber-400",red:"text-red-600 dark:text-red-400"};function H({icon:a,label:c,value:d,sub:e,pct:f,tone:g,spark:h}){let i=Math.max(0,Math.min(100,f));return(0,b.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between",children:[(0,b.jsxs)("div",{className:`flex items-center gap-1.5 text-xs font-medium ${G[g]}`,children:[a,c]}),h&&h.length>2&&(0,b.jsx)(I,{values:h,className:F[g]})]}),(0,b.jsx)("div",{className:"font-mono text-xl font-semibold text-zinc-900 dark:text-zinc-100",children:d}),(0,b.jsx)("div",{className:"h-1.5 overflow-hidden rounded bg-zinc-100 dark:bg-zinc-800",children:(0,b.jsx)("div",{className:`${E[g]} h-full transition-all duration-300`,style:{width:`${i}%`}})}),(0,b.jsx)("div",{className:"text-[11px] text-zinc-500 dark:text-zinc-400",children:e})]})}function I({values:a,className:c}){let d=Math.max(100,...a),e=56/Math.max(1,a.length-1),f=a.map((a,b)=>`${0===b?"M":"L"} ${b*e} ${16-a/d*16}`).join(" ");return(0,b.jsx)("svg",{width:56,height:16,viewBox:"0 0 56 16",className:"flex-shrink-0",children:(0,b.jsx)("path",{d:f,fill:"none",strokeWidth:1.25,className:c})})}a.s(["DashboardLive",0,function({initial:a,recipeByCluster:k}){let[l,m]=(0,c.useState)(a),[n,o]=(0,c.useState)(!0);return(0,c.useEffect)(()=>{let a=new AbortController,b=!1;return(async()=>{try{for await(let c of(await g.rpc.status.stream({intervalMs:3e3},{signal:a.signal}))){if(b)break;m(c),o(!0)}}catch(a){b||o(!1),a instanceof DOMException&&"AbortError"===a.name||console.error("[status.stream]",a)}})(),()=>{b=!0,a.abort()}},[]),(0,b.jsxs)("div",{className:"flex flex-col gap-6",children:[(0,b.jsxs)("div",{className:"flex items-baseline justify-between",children:[(0,b.jsx)("h1",{className:"text-2xl font-semibold tracking-tight",children:"Dashboard"}),(0,b.jsxs)("div",{className:"flex items-center gap-2 text-sm",children:[(0,b.jsxs)(i.Badge,{tone:"sky",children:[l.host_count," host",1===l.host_count?"":"s"]}),(0,b.jsxs)(i.Badge,{tone:"green",children:[l.total_containers," running"]}),(0,b.jsx)(i.Badge,{tone:n?"neutral":"amber",children:n?"live":"reconnecting…"})]})]}),(0,b.jsx)(C,{}),Object.keys(l.errors).length>0&&(0,b.jsx)(h.Card,{className:"border-amber-300 bg-amber-50 dark:border-amber-900 dark:bg-amber-950/40",children:(0,b.jsxs)(h.CardBody,{className:"flex gap-3",children:[(0,b.jsx)(e.AlertTriangle,{className:"mt-0.5 shrink-0 text-amber-600 dark:text-amber-400",size:18}),(0,b.jsxs)("div",{className:"flex flex-col gap-1 text-sm",children:[(0,b.jsx)("h3",{className:"font-medium text-amber-900 dark:text-amber-200",children:"Cluster status reported errors"}),(0,b.jsx)("ul",{className:"flex flex-col gap-1 text-amber-800 dark:text-amber-300",children:Object.entries(l.errors).map(([a,c])=>(0,b.jsxs)("li",{className:"font-mono text-xs",children:[(0,b.jsxs)("span",{className:"font-semibold",children:[a,":"]})," ","string"==typeof c?c:c&&"object"==typeof c&&"message"in c?String(c.message):JSON.stringify(c)]},a))})]})]})}),(0,b.jsxs)("div",{className:"flex flex-col gap-3",children:[(0,b.jsx)("h2",{className:"text-sm font-medium text-zinc-700 dark:text-zinc-300",children:"Workloads"}),0===l.solo_entries.length?(0,b.jsx)(h.Card,{children:(0,b.jsxs)(h.CardBody,{className:"flex flex-col items-center gap-4 py-12 text-center",children:[(0,b.jsx)("div",{className:"flex h-12 w-12 items-center justify-center rounded-full bg-sky-50 text-sky-600 dark:bg-sky-950 dark:text-sky-400",children:(0,b.jsx)(f.Rocket,{size:22})}),(0,b.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,b.jsx)("h3",{className:"text-base font-semibold text-zinc-900 dark:text-zinc-100",children:"No workloads running"}),(0,b.jsx)("p",{className:"text-sm text-zinc-500 dark:text-zinc-400",children:"Launch a recipe to start an inference workload on your cluster."})]}),(0,b.jsx)(d.default,{href:"/launch",children:(0,b.jsxs)(j.Button,{variant:"primary",children:[(0,b.jsx)(f.Rocket,{size:14}),"Launch a recipe"]})})]})}):(0,b.jsx)("div",{className:"grid grid-cols-1 gap-4 lg:grid-cols-2",children:l.solo_entries.map(a=>(0,b.jsx)(t,{workload:a,recipe:k.get(a.cluster_id)},a.cluster_id))})]})]})}],10558)}];
2
2
 
3
3
  //# sourceMappingURL=app_components_dashboard_DashboardLive_tsx_10_yvzp._.js.map
@@ -7,9 +7,9 @@ globalThis.__BUILD_MANIFEST = {
7
7
  "static/chunks/03~yq9q893hmn.js"
8
8
  ],
9
9
  "lowPriorityFiles": [
10
- "static/mZWSK_2ftjJ1WxNyQ7l0q/_buildManifest.js",
11
- "static/mZWSK_2ftjJ1WxNyQ7l0q/_ssgManifest.js",
12
- "static/mZWSK_2ftjJ1WxNyQ7l0q/_clientMiddlewareManifest.js"
10
+ "static/yM0RLSy5vvlm3M5Wd7gll/_buildManifest.js",
11
+ "static/yM0RLSy5vvlm3M5Wd7gll/_ssgManifest.js",
12
+ "static/yM0RLSy5vvlm3M5Wd7gll/_clientMiddlewareManifest.js"
13
13
  ],
14
14
  "rootMainFiles": [
15
15
  "static/chunks/03q757hpt3301.js",
@@ -1 +1 @@
1
- <!DOCTYPE html><html lang="en" class="geist_a71539c9-module__T19VSG__variable geist_mono_8d43a2aa-module__8Li5zG__variable h-full antialiased"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" as="image" href="/logo.svg"/><link rel="stylesheet" href="/_next/static/chunks/0uu736m.dsm7w.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/03q757hpt3301.js"/><script src="/_next/static/chunks/0rymelq75evwt.js" async=""></script><script src="/_next/static/chunks/032k-n9i486nr.js" async=""></script><script src="/_next/static/chunks/12mz0_._155bq.js" async=""></script><script src="/_next/static/chunks/173qvra~fczs6.js" async=""></script><script src="/_next/static/chunks/turbopack-15ltfbt8m1wgq.js" async=""></script><script src="/_next/static/chunks/0exacxt~2tdmo.js" async=""></script><script src="/_next/static/chunks/05j~t092g6cly.js" async=""></script><script src="/_next/static/chunks/0-s876x.4qfai.js" async=""></script><script src="/_next/static/chunks/14.vvaoxj9dec.js" async=""></script><script src="/_next/static/chunks/0gbgygn4a-gur.js" async=""></script><script src="/_next/static/chunks/0n95o8ynx0q8b.js" async=""></script><script src="/_next/static/chunks/0jx66pgwou.f6.js" async=""></script><title>404: This page could not be found.</title><meta name="robots" content="noindex"/><meta name="next-size-adjust" content=""/><meta name="theme-color" content="#0ea5e9" media="(prefers-color-scheme: light)"/><meta name="theme-color" content="#0b1220" media="(prefers-color-scheme: dark)"/><title>sparkrun</title><meta name="description" content="Web UI for sparkrun — launch and monitor inference workloads on DGX Spark"/><meta name="application-name" content="sparkrun"/><meta property="og:title" content="sparkrun"/><meta property="og:description" content="Web UI for sparkrun — launch and monitor inference workloads on DGX Spark"/><meta property="og:image" content="http://localhost:5678/logo.svg"/><meta name="twitter:card" content="summary_large_image"/><meta name="twitter:title" content="sparkrun"/><meta name="twitter:description" content="Web UI for sparkrun — launch and monitor inference workloads on DGX Spark"/><meta name="twitter:image" content="http://localhost:5678/logo.svg"/><link rel="icon" href="/icon.svg?icon.113mx9lzchuti.svg" sizes="any" type="image/svg+xml"/><script src="/_next/static/chunks/03~yq9q893hmn.js" noModule=""></script></head><body class="min-h-full"><div hidden=""><!--$--><!--/$--></div><div id="root-isolation" class="flex min-h-screen flex-col"><canvas class="pointer-events-none fixed inset-0 -z-10" aria-hidden="true"></canvas><header class="sticky top-0 z-10 border-b border-zinc-200 bg-white/80 backdrop-blur dark:border-zinc-800 dark:bg-zinc-950/80"><div class="mx-auto flex h-14 max-w-7xl items-center justify-between px-6"><div class="flex items-center gap-4"><a class="flex items-center gap-2 text-sm font-semibold text-zinc-900 dark:text-zinc-100" href="/"><img alt="" width="20" height="20" decoding="async" data-nimg="1" style="color:transparent" src="/logo.svg"/>sparkrun</a></div><nav class="hidden items-center gap-1 md:flex"><a class="inline-flex items-center gap-2 rounded-md px-3 py-1.5 text-sm font-medium transition-colors text-zinc-600 hover:bg-zinc-100 hover:text-zinc-900 dark:text-zinc-400 dark:hover:bg-zinc-800 dark:hover:text-zinc-100" href="/dashboard"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-activity" aria-hidden="true"><path d="M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2"></path></svg>Dashboard</a><a class="inline-flex items-center gap-2 rounded-md px-3 py-1.5 text-sm font-medium transition-colors text-zinc-600 hover:bg-zinc-100 hover:text-zinc-900 dark:text-zinc-400 dark:hover:bg-zinc-800 dark:hover:text-zinc-100" href="/recipes"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-book-text" aria-hidden="true"><path d="M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H19a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20"></path><path d="M8 11h8"></path><path d="M8 7h6"></path></svg>Recipes</a><a class="inline-flex items-center gap-2 rounded-md px-3 py-1.5 text-sm font-medium transition-colors text-zinc-600 hover:bg-zinc-100 hover:text-zinc-900 dark:text-zinc-400 dark:hover:bg-zinc-800 dark:hover:text-zinc-100" href="/launch"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-rocket" aria-hidden="true"><path d="M12 15v5s3.03-.55 4-2c1.08-1.62 0-5 0-5"></path><path d="M4.5 16.5c-1.5 1.26-2 5-2 5s3.74-.5 5-2c.71-.84.7-2.13-.09-2.91a2.18 2.18 0 0 0-2.91-.09"></path><path d="M9 12a22 22 0 0 1 2-3.95A12.88 12.88 0 0 1 22 2c0 2.72-.78 7.5-6 11a22.4 22.4 0 0 1-4 2z"></path><path d="M9 12H4s.55-3.03 2-4c1.62-1.08 5 .05 5 .05"></path></svg>Launch</a><a class="inline-flex items-center gap-2 rounded-md px-3 py-1.5 text-sm font-medium transition-colors text-zinc-600 hover:bg-zinc-100 hover:text-zinc-900 dark:text-zinc-400 dark:hover:bg-zinc-800 dark:hover:text-zinc-100" href="/benchmarks"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-gauge" aria-hidden="true"><path d="m12 14 4-4"></path><path d="M3.34 19a10 10 0 1 1 17.32 0"></path></svg>Benchmarks</a><a class="inline-flex items-center gap-2 rounded-md px-3 py-1.5 text-sm font-medium transition-colors text-zinc-600 hover:bg-zinc-100 hover:text-zinc-900 dark:text-zinc-400 dark:hover:bg-zinc-800 dark:hover:text-zinc-100" href="/monitor"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chart-line" aria-hidden="true"><path d="M3 3v16a2 2 0 0 0 2 2h16"></path><path d="m19 9-5 5-4-4-3 3"></path></svg>Monitor</a><a class="inline-flex items-center gap-2 rounded-md px-3 py-1.5 text-sm font-medium transition-colors text-zinc-600 hover:bg-zinc-100 hover:text-zinc-900 dark:text-zinc-400 dark:hover:bg-zinc-800 dark:hover:text-zinc-100" href="/chat"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-message-square" aria-hidden="true"><path d="M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z"></path></svg>Chat</a></nav><button class="rounded-md p-2 text-zinc-600 hover:bg-zinc-100 hover:text-zinc-900 md:hidden dark:text-zinc-400 dark:hover:bg-zinc-800 dark:hover:text-zinc-100" aria-label="Open menu"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-menu" aria-hidden="true"><path d="M4 5h16"></path><path d="M4 12h16"></path><path d="M4 19h16"></path></svg></button></div></header><main class="mx-auto w-full max-w-7xl flex-1 px-6 py-8"><div style="font-family:system-ui,&quot;Segoe UI&quot;,Roboto,Helvetica,Arial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;;height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div><style>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)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding:0 23px 0 0;font-size:24px;font-weight:500;vertical-align:top;line-height:49px">404</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:49px;margin:0">This page could not be found.</h2></div></div></div><!--$--><!--/$--></main><footer class="mt-12 border-t border-zinc-200 bg-white/80 backdrop-blur dark:border-zinc-800 dark:bg-zinc-950/80"><div class="mx-auto flex max-w-7xl flex-col items-center justify-between gap-3 px-6 py-6 text-sm sm:flex-row"><div class="flex items-center gap-2 text-zinc-500 dark:text-zinc-400"><img alt="" loading="lazy" width="16" height="16" decoding="async" data-nimg="1" style="color:transparent" src="/logo.svg"/><span><span class="font-medium text-zinc-700 dark:text-zinc-300">sparkrun-ui</span> · web UI for<!-- --> <a target="_blank" rel="noreferrer" class="underline decoration-zinc-400 decoration-dotted underline-offset-2 hover:text-sky-600 dark:hover:text-sky-400" href="https://github.com/mcampa/sparkrun">sparkrun</a></span></div><a target="_blank" rel="noreferrer" class="inline-flex items-center gap-2 rounded-md px-2 py-1 text-zinc-600 transition-colors hover:bg-zinc-100 hover:text-zinc-900 dark:text-zinc-400 dark:hover:bg-zinc-800 dark:hover:text-zinc-100" aria-label="View source on GitHub" href="https://github.com/mcampa/sparkrun-ui"><svg width="16" height="16" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" focusable="false"><path d="M12 .5C5.65.5.5 5.65.5 12c0 5.08 3.29 9.39 7.86 10.91.58.11.79-.25.79-.56v-1.96c-3.2.7-3.87-1.54-3.87-1.54-.52-1.32-1.28-1.67-1.28-1.67-1.04-.71.08-.7.08-.7 1.15.08 1.76 1.18 1.76 1.18 1.03 1.76 2.69 1.25 3.34.96.1-.74.4-1.25.73-1.54-2.55-.29-5.24-1.27-5.24-5.66 0-1.25.45-2.27 1.18-3.07-.12-.29-.51-1.46.11-3.04 0 0 .96-.31 3.15 1.18A11 11 0 0 1 12 6.8c.97 0 1.95.13 2.86.38 2.18-1.49 3.14-1.18 3.14-1.18.63 1.58.23 2.75.11 3.04.74.8 1.18 1.82 1.18 3.07 0 4.4-2.7 5.37-5.26 5.65.41.35.77 1.05.77 2.11v3.13c0 .31.21.68.8.56C20.21 21.39 23.5 17.08 23.5 12 23.5 5.65 18.35.5 12 .5z"></path></svg><span>GitHub</span></a></div></footer></div><script src="/_next/static/chunks/03q757hpt3301.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[84538,[\"/_next/static/chunks/0exacxt~2tdmo.js\",\"/_next/static/chunks/05j~t092g6cly.js\",\"/_next/static/chunks/0-s876x.4qfai.js\",\"/_next/static/chunks/14.vvaoxj9dec.js\",\"/_next/static/chunks/0gbgygn4a-gur.js\",\"/_next/static/chunks/0n95o8ynx0q8b.js\",\"/_next/static/chunks/0jx66pgwou.f6.js\"],\"ToastProvider\"]\n3:I[1842,[\"/_next/static/chunks/0exacxt~2tdmo.js\",\"/_next/static/chunks/05j~t092g6cly.js\",\"/_next/static/chunks/0-s876x.4qfai.js\",\"/_next/static/chunks/14.vvaoxj9dec.js\",\"/_next/static/chunks/0gbgygn4a-gur.js\",\"/_next/static/chunks/0n95o8ynx0q8b.js\",\"/_next/static/chunks/0jx66pgwou.f6.js\"],\"AnimatedBackground\"]\n4:I[55367,[\"/_next/static/chunks/0exacxt~2tdmo.js\",\"/_next/static/chunks/05j~t092g6cly.js\",\"/_next/static/chunks/0-s876x.4qfai.js\",\"/_next/static/chunks/14.vvaoxj9dec.js\",\"/_next/static/chunks/0gbgygn4a-gur.js\",\"/_next/static/chunks/0n95o8ynx0q8b.js\",\"/_next/static/chunks/0jx66pgwou.f6.js\"],\"\"]\n5:I[83540,[\"/_next/static/chunks/0exacxt~2tdmo.js\",\"/_next/static/chunks/05j~t092g6cly.js\",\"/_next/static/chunks/0-s876x.4qfai.js\",\"/_next/static/chunks/14.vvaoxj9dec.js\",\"/_next/static/chunks/0gbgygn4a-gur.js\",\"/_next/static/chunks/0n95o8ynx0q8b.js\",\"/_next/static/chunks/0jx66pgwou.f6.js\"],\"Image\"]\n6:I[92250,[\"/_next/static/chunks/0exacxt~2tdmo.js\",\"/_next/static/chunks/05j~t092g6cly.js\",\"/_next/static/chunks/0-s876x.4qfai.js\",\"/_next/static/chunks/14.vvaoxj9dec.js\",\"/_next/static/chunks/0gbgygn4a-gur.js\",\"/_next/static/chunks/0n95o8ynx0q8b.js\",\"/_next/static/chunks/0jx66pgwou.f6.js\"],\"HeaderStats\"]\n7:I[54858,[\"/_next/static/chunks/0exacxt~2tdmo.js\",\"/_next/static/chunks/05j~t092g6cly.js\",\"/_next/static/chunks/0-s876x.4qfai.js\",\"/_next/static/chunks/14.vvaoxj9dec.js\",\"/_next/static/chunks/0gbgygn4a-gur.js\",\"/_next/static/chunks/0n95o8ynx0q8b.js\",\"/_next/static/chunks/0jx66pgwou.f6.js\"],\"Nav\"]\n8:I[12224,[\"/_next/static/chunks/0exacxt~2tdmo.js\",\"/_next/static/chunks/05j~t092g6cly.js\",\"/_next/static/chunks/0-s876x.4qfai.js\",\"/_next/static/chunks/14.vvaoxj9dec.js\",\"/_next/static/chunks/0gbgygn4a-gur.js\",\"/_next/static/chunks/0n95o8ynx0q8b.js\",\"/_next/static/chunks/0jx66pgwou.f6.js\"],\"default\"]\n9:I[67689,[\"/_next/static/chunks/0exacxt~2tdmo.js\",\"/_next/static/chunks/05j~t092g6cly.js\",\"/_next/static/chunks/0-s876x.4qfai.js\",\"/_next/static/chunks/14.vvaoxj9dec.js\",\"/_next/static/chunks/0gbgygn4a-gur.js\",\"/_next/static/chunks/0n95o8ynx0q8b.js\",\"/_next/static/chunks/0jx66pgwou.f6.js\"],\"default\"]\n10:I[77663,[\"/_next/static/chunks/0exacxt~2tdmo.js\",\"/_next/static/chunks/05j~t092g6cly.js\",\"/_next/static/chunks/0-s876x.4qfai.js\",\"/_next/static/chunks/14.vvaoxj9dec.js\",\"/_next/static/chunks/0gbgygn4a-gur.js\",\"/_next/static/chunks/0n95o8ynx0q8b.js\",\"/_next/static/chunks/0jx66pgwou.f6.js\"],\"default\",1]\n:HL[\"/_next/static/chunks/0uu736m.dsm7w.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"c\":[\"\",\"_not-found\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"/_not-found\",{\"children\":[\"__PAGE__\",{}]}]},\"$undefined\",\"$undefined\",16],[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/chunks/0uu736m.dsm7w.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-0\",{\"src\":\"/_next/static/chunks/0exacxt~2tdmo.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-1\",{\"src\":\"/_next/static/chunks/05j~t092g6cly.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-2\",{\"src\":\"/_next/static/chunks/0-s876x.4qfai.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-3\",{\"src\":\"/_next/static/chunks/14.vvaoxj9dec.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-4\",{\"src\":\"/_next/static/chunks/0gbgygn4a-gur.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-5\",{\"src\":\"/_next/static/chunks/0n95o8ynx0q8b.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-6\",{\"src\":\"/_next/static/chunks/0jx66pgwou.f6.js\",\"async\":true,\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"className\":\"geist_a71539c9-module__T19VSG__variable geist_mono_8d43a2aa-module__8Li5zG__variable h-full antialiased\",\"suppressHydrationWarning\":true,\"children\":[\"$\",\"body\",null,{\"className\":\"min-h-full\",\"children\":[\"$\",\"$L2\",null,{\"children\":[\"$\",\"div\",null,{\"id\":\"root-isolation\",\"className\":\"flex min-h-screen flex-col\",\"children\":[[\"$\",\"$L3\",null,{}],[\"$\",\"header\",null,{\"className\":\"sticky top-0 z-10 border-b border-zinc-200 bg-white/80 backdrop-blur dark:border-zinc-800 dark:bg-zinc-950/80\",\"children\":[\"$\",\"div\",null,{\"className\":\"mx-auto flex h-14 max-w-7xl items-center justify-between px-6\",\"children\":[[\"$\",\"div\",null,{\"className\":\"flex items-center gap-4\",\"children\":[[\"$\",\"$L4\",null,{\"href\":\"/\",\"className\":\"flex items-center gap-2 text-sm font-semibold text-zinc-900 dark:text-zinc-100\",\"children\":[[\"$\",\"$L5\",null,{\"src\":\"/logo.svg\",\"alt\":\"\",\"width\":20,\"height\":20,\"priority\":true}],\"sparkrun\"]}],[\"$\",\"$L6\",null,{}]]}],[\"$\",\"$L7\",null,{}]]}]}],[\"$\",\"main\",null,{\"className\":\"mx-auto w-full max-w-7xl flex-1 px-6 py-8\",\"children\":[\"$\",\"$L8\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L9\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$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.\"}]}]]}]}]],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}],[\"$\",\"footer\",null,{\"className\":\"mt-12 border-t border-zinc-200 bg-white/80 backdrop-blur dark:border-zinc-800 dark:bg-zinc-950/80\",\"children\":[\"$\",\"div\",null,{\"className\":\"mx-auto flex max-w-7xl flex-col items-center justify-between gap-3 px-6 py-6 text-sm sm:flex-row\",\"children\":[[\"$\",\"div\",null,{\"className\":\"flex items-center gap-2 text-zinc-500 dark:text-zinc-400\",\"children\":[[\"$\",\"$L5\",null,{\"src\":\"/logo.svg\",\"alt\":\"\",\"width\":16,\"height\":16}],[\"$\",\"span\",null,{\"children\":[[\"$\",\"span\",null,{\"className\":\"font-medium text-zinc-700 dark:text-zinc-300\",\"children\":\"sparkrun-ui\"}],\" · web UI for\",\" \",[\"$\",\"$L4\",null,{\"href\":\"https://github.com/mcampa/sparkrun\",\"target\":\"_blank\",\"rel\":\"noreferrer\",\"className\":\"underline decoration-zinc-400 decoration-dotted underline-offset-2 hover:text-sky-600 dark:hover:text-sky-400\",\"children\":\"sparkrun\"}]]}]]}],[\"$\",\"$L4\",null,{\"href\":\"https://github.com/mcampa/sparkrun-ui\",\"target\":\"_blank\",\"rel\":\"noreferrer\",\"className\":\"inline-flex items-center gap-2 rounded-md px-2 py-1 text-zinc-600 transition-colors hover:bg-zinc-100 hover:text-zinc-900 dark:text-zinc-400 dark:hover:bg-zinc-800 dark:hover:text-zinc-100\",\"aria-label\":\"View source on GitHub\",\"children\":[\"$La\",\"$Lb\"]}]]}]}]]}]}]}]}]]}],{\"children\":[\"$Lc\",{\"children\":[\"$Ld\",{},null,false,null]},null,false,\"$@e\"]},null,false,null],\"$Lf\",false]],\"m\":\"$undefined\",\"G\":[\"$10\",[\"$L11\"]],\"S\":true,\"h\":null,\"s\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\",\"b\":\"mZWSK_2ftjJ1WxNyQ7l0q\"}\n"])</script><script>self.__next_f.push([1,"12:I[76779,[\"/_next/static/chunks/0exacxt~2tdmo.js\",\"/_next/static/chunks/05j~t092g6cly.js\",\"/_next/static/chunks/0-s876x.4qfai.js\",\"/_next/static/chunks/14.vvaoxj9dec.js\",\"/_next/static/chunks/0gbgygn4a-gur.js\",\"/_next/static/chunks/0n95o8ynx0q8b.js\",\"/_next/static/chunks/0jx66pgwou.f6.js\"],\"OutletBoundary\"]\n13:\"$Sreact.suspense\"\n16:I[76779,[\"/_next/static/chunks/0exacxt~2tdmo.js\",\"/_next/static/chunks/05j~t092g6cly.js\",\"/_next/static/chunks/0-s876x.4qfai.js\",\"/_next/static/chunks/14.vvaoxj9dec.js\",\"/_next/static/chunks/0gbgygn4a-gur.js\",\"/_next/static/chunks/0n95o8ynx0q8b.js\",\"/_next/static/chunks/0jx66pgwou.f6.js\"],\"ViewportBoundary\"]\n18:I[76779,[\"/_next/static/chunks/0exacxt~2tdmo.js\",\"/_next/static/chunks/05j~t092g6cly.js\",\"/_next/static/chunks/0-s876x.4qfai.js\",\"/_next/static/chunks/14.vvaoxj9dec.js\",\"/_next/static/chunks/0gbgygn4a-gur.js\",\"/_next/static/chunks/0n95o8ynx0q8b.js\",\"/_next/static/chunks/0jx66pgwou.f6.js\"],\"MetadataBoundary\"]\na:[\"$\",\"svg\",null,{\"width\":\"16\",\"height\":\"16\",\"viewBox\":\"0 0 24 24\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\",\"focusable\":\"false\",\"children\":[\"$\",\"path\",null,{\"d\":\"M12 .5C5.65.5.5 5.65.5 12c0 5.08 3.29 9.39 7.86 10.91.58.11.79-.25.79-.56v-1.96c-3.2.7-3.87-1.54-3.87-1.54-.52-1.32-1.28-1.67-1.28-1.67-1.04-.71.08-.7.08-.7 1.15.08 1.76 1.18 1.76 1.18 1.03 1.76 2.69 1.25 3.34.96.1-.74.4-1.25.73-1.54-2.55-.29-5.24-1.27-5.24-5.66 0-1.25.45-2.27 1.18-3.07-.12-.29-.51-1.46.11-3.04 0 0 .96-.31 3.15 1.18A11 11 0 0 1 12 6.8c.97 0 1.95.13 2.86.38 2.18-1.49 3.14-1.18 3.14-1.18.63 1.58.23 2.75.11 3.04.74.8 1.18 1.82 1.18 3.07 0 4.4-2.7 5.37-5.26 5.65.41.35.77 1.05.77 2.11v3.13c0 .31.21.68.8.56C20.21 21.39 23.5 17.08 23.5 12 23.5 5.65 18.35.5 12 .5z\"}]}]\nb:[\"$\",\"span\",null,{\"children\":\"GitHub\"}]\nc:[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L8\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L9\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}]\n"])</script><script>self.__next_f.push([1,"d:[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":\"$0:f:0:1:0:props:children:1:props:children:props:children:props:children:props:children:2:props:children:props:notFound:0:1:props:style\",\"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\":\"$0:f:0:1:0:props:children:1:props:children:props:children:props:children:props:children:2:props:children:props:notFound:0:1:props:children:props:children:1:props:style\",\"children\":404}],[\"$\",\"div\",null,{\"style\":\"$0:f:0:1:0:props:children:1:props:children:props:children:props:children:props:children:2:props:children:props:notFound:0:1:props:children:props:children:2:props:style\",\"children\":[\"$\",\"h2\",null,{\"style\":\"$0:f:0:1:0:props:children:1:props:children:props:children:props:children:props:children:2:props:children:props:notFound:0:1:props:children:props:children:2:props:children:props:style\",\"children\":\"This page could not be found.\"}]}]]}]}]],null,[\"$\",\"$L12\",null,{\"children\":[\"$\",\"$13\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@14\"}]}]]}]\n"])</script><script>self.__next_f.push([1,"15:[]\ne:\"$W15\"\nf:[\"$\",\"$1\",\"h\",{\"children\":[[\"$\",\"meta\",null,{\"name\":\"robots\",\"content\":\"noindex\"}],[\"$\",\"$L16\",null,{\"children\":\"$L17\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$L18\",null,{\"children\":[\"$\",\"$13\",null,{\"name\":\"Next.Metadata\",\"children\":\"$L19\"}]}]}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]]}]\n11:[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/chunks/0uu736m.dsm7w.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]\n"])</script><script>self.__next_f.push([1,"17:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}],[\"$\",\"meta\",\"2\",{\"name\":\"theme-color\",\"content\":\"#0ea5e9\",\"media\":\"(prefers-color-scheme: light)\"}],[\"$\",\"meta\",\"3\",{\"name\":\"theme-color\",\"content\":\"#0b1220\",\"media\":\"(prefers-color-scheme: dark)\"}]]\n"])</script><script>self.__next_f.push([1,"1a:I[6726,[\"/_next/static/chunks/0exacxt~2tdmo.js\",\"/_next/static/chunks/05j~t092g6cly.js\",\"/_next/static/chunks/0-s876x.4qfai.js\",\"/_next/static/chunks/14.vvaoxj9dec.js\",\"/_next/static/chunks/0gbgygn4a-gur.js\",\"/_next/static/chunks/0n95o8ynx0q8b.js\",\"/_next/static/chunks/0jx66pgwou.f6.js\"],\"IconMark\"]\n14:null\n19:[[\"$\",\"title\",\"0\",{\"children\":\"sparkrun\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"Web UI for sparkrun — launch and monitor inference workloads on DGX Spark\"}],[\"$\",\"meta\",\"2\",{\"name\":\"application-name\",\"content\":\"sparkrun\"}],[\"$\",\"meta\",\"3\",{\"property\":\"og:title\",\"content\":\"sparkrun\"}],[\"$\",\"meta\",\"4\",{\"property\":\"og:description\",\"content\":\"Web UI for sparkrun — launch and monitor inference workloads on DGX Spark\"}],[\"$\",\"meta\",\"5\",{\"property\":\"og:image\",\"content\":\"http://localhost:5678/logo.svg\"}],[\"$\",\"meta\",\"6\",{\"name\":\"twitter:card\",\"content\":\"summary_large_image\"}],[\"$\",\"meta\",\"7\",{\"name\":\"twitter:title\",\"content\":\"sparkrun\"}],[\"$\",\"meta\",\"8\",{\"name\":\"twitter:description\",\"content\":\"Web UI for sparkrun — launch and monitor inference workloads on DGX Spark\"}],[\"$\",\"meta\",\"9\",{\"name\":\"twitter:image\",\"content\":\"http://localhost:5678/logo.svg\"}],[\"$\",\"link\",\"10\",{\"rel\":\"icon\",\"href\":\"/icon.svg?icon.113mx9lzchuti.svg\",\"sizes\":\"any\",\"type\":\"image/svg+xml\"}],[\"$\",\"$L1a\",\"11\",{}]]\n"])</script></body></html>
1
+ <!DOCTYPE html><html lang="en" class="geist_a71539c9-module__T19VSG__variable geist_mono_8d43a2aa-module__8Li5zG__variable h-full antialiased"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" as="image" href="/logo.svg"/><link rel="stylesheet" href="/_next/static/chunks/0l02frokvgs9t.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/03q757hpt3301.js"/><script src="/_next/static/chunks/0rymelq75evwt.js" async=""></script><script src="/_next/static/chunks/032k-n9i486nr.js" async=""></script><script src="/_next/static/chunks/12mz0_._155bq.js" async=""></script><script src="/_next/static/chunks/173qvra~fczs6.js" async=""></script><script src="/_next/static/chunks/turbopack-15ltfbt8m1wgq.js" async=""></script><script src="/_next/static/chunks/0exacxt~2tdmo.js" async=""></script><script src="/_next/static/chunks/05j~t092g6cly.js" async=""></script><script src="/_next/static/chunks/07x551vl4mw9a.js" async=""></script><script src="/_next/static/chunks/14.vvaoxj9dec.js" async=""></script><script src="/_next/static/chunks/0gbgygn4a-gur.js" async=""></script><script src="/_next/static/chunks/0n95o8ynx0q8b.js" async=""></script><script src="/_next/static/chunks/0jx66pgwou.f6.js" async=""></script><title>404: This page could not be found.</title><meta name="robots" content="noindex"/><meta name="next-size-adjust" content=""/><meta name="theme-color" content="#0ea5e9" media="(prefers-color-scheme: light)"/><meta name="theme-color" content="#0b1220" media="(prefers-color-scheme: dark)"/><title>sparkrun</title><meta name="description" content="Web UI for sparkrun — launch and monitor inference workloads on DGX Spark"/><meta name="application-name" content="sparkrun"/><meta property="og:title" content="sparkrun"/><meta property="og:description" content="Web UI for sparkrun — launch and monitor inference workloads on DGX Spark"/><meta property="og:image" content="http://localhost:5678/logo.svg"/><meta name="twitter:card" content="summary_large_image"/><meta name="twitter:title" content="sparkrun"/><meta name="twitter:description" content="Web UI for sparkrun — launch and monitor inference workloads on DGX Spark"/><meta name="twitter:image" content="http://localhost:5678/logo.svg"/><link rel="icon" href="/icon.svg?icon.113mx9lzchuti.svg" sizes="any" type="image/svg+xml"/><script src="/_next/static/chunks/03~yq9q893hmn.js" noModule=""></script></head><body class="min-h-full"><div hidden=""><!--$--><!--/$--></div><div id="root-isolation" class="flex min-h-screen flex-col"><canvas class="pointer-events-none fixed inset-0 -z-10" aria-hidden="true"></canvas><header class="sticky top-0 z-10 border-b border-zinc-200 bg-white/80 backdrop-blur dark:border-zinc-800 dark:bg-zinc-950/80"><div class="mx-auto flex h-14 max-w-7xl items-center justify-between px-6"><div class="flex items-center gap-4"><a class="flex items-center gap-2 text-sm font-semibold text-zinc-900 dark:text-zinc-100" href="/"><img alt="" width="20" height="20" decoding="async" data-nimg="1" style="color:transparent" src="/logo.svg"/>sparkrun</a></div><nav class="hidden items-center gap-1 md:flex"><a class="inline-flex items-center gap-2 rounded-md px-3 py-1.5 text-sm font-medium transition-colors text-zinc-600 hover:bg-zinc-100 hover:text-zinc-900 dark:text-zinc-400 dark:hover:bg-zinc-800 dark:hover:text-zinc-100" href="/dashboard"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-activity" aria-hidden="true"><path d="M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2"></path></svg>Dashboard</a><a class="inline-flex items-center gap-2 rounded-md px-3 py-1.5 text-sm font-medium transition-colors text-zinc-600 hover:bg-zinc-100 hover:text-zinc-900 dark:text-zinc-400 dark:hover:bg-zinc-800 dark:hover:text-zinc-100" href="/recipes"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-book-text" aria-hidden="true"><path d="M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H19a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20"></path><path d="M8 11h8"></path><path d="M8 7h6"></path></svg>Recipes</a><a class="inline-flex items-center gap-2 rounded-md px-3 py-1.5 text-sm font-medium transition-colors text-zinc-600 hover:bg-zinc-100 hover:text-zinc-900 dark:text-zinc-400 dark:hover:bg-zinc-800 dark:hover:text-zinc-100" href="/launch"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-rocket" aria-hidden="true"><path d="M12 15v5s3.03-.55 4-2c1.08-1.62 0-5 0-5"></path><path d="M4.5 16.5c-1.5 1.26-2 5-2 5s3.74-.5 5-2c.71-.84.7-2.13-.09-2.91a2.18 2.18 0 0 0-2.91-.09"></path><path d="M9 12a22 22 0 0 1 2-3.95A12.88 12.88 0 0 1 22 2c0 2.72-.78 7.5-6 11a22.4 22.4 0 0 1-4 2z"></path><path d="M9 12H4s.55-3.03 2-4c1.62-1.08 5 .05 5 .05"></path></svg>Launch</a><a class="inline-flex items-center gap-2 rounded-md px-3 py-1.5 text-sm font-medium transition-colors text-zinc-600 hover:bg-zinc-100 hover:text-zinc-900 dark:text-zinc-400 dark:hover:bg-zinc-800 dark:hover:text-zinc-100" href="/benchmarks"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-gauge" aria-hidden="true"><path d="m12 14 4-4"></path><path d="M3.34 19a10 10 0 1 1 17.32 0"></path></svg>Benchmarks</a><a class="inline-flex items-center gap-2 rounded-md px-3 py-1.5 text-sm font-medium transition-colors text-zinc-600 hover:bg-zinc-100 hover:text-zinc-900 dark:text-zinc-400 dark:hover:bg-zinc-800 dark:hover:text-zinc-100" href="/monitor"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chart-line" aria-hidden="true"><path d="M3 3v16a2 2 0 0 0 2 2h16"></path><path d="m19 9-5 5-4-4-3 3"></path></svg>Monitor</a><a class="inline-flex items-center gap-2 rounded-md px-3 py-1.5 text-sm font-medium transition-colors text-zinc-600 hover:bg-zinc-100 hover:text-zinc-900 dark:text-zinc-400 dark:hover:bg-zinc-800 dark:hover:text-zinc-100" href="/chat"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-message-square" aria-hidden="true"><path d="M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z"></path></svg>Chat</a></nav><button class="rounded-md p-2 text-zinc-600 hover:bg-zinc-100 hover:text-zinc-900 md:hidden dark:text-zinc-400 dark:hover:bg-zinc-800 dark:hover:text-zinc-100" aria-label="Open menu"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-menu" aria-hidden="true"><path d="M4 5h16"></path><path d="M4 12h16"></path><path d="M4 19h16"></path></svg></button></div></header><main class="mx-auto w-full max-w-7xl flex-1 px-6 py-8"><div style="font-family:system-ui,&quot;Segoe UI&quot;,Roboto,Helvetica,Arial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;;height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div><style>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)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding:0 23px 0 0;font-size:24px;font-weight:500;vertical-align:top;line-height:49px">404</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:49px;margin:0">This page could not be found.</h2></div></div></div><!--$--><!--/$--></main><footer class="mt-12 border-t border-zinc-200 bg-white/80 backdrop-blur dark:border-zinc-800 dark:bg-zinc-950/80"><div class="mx-auto flex max-w-7xl flex-col items-center justify-between gap-3 px-6 py-6 text-sm sm:flex-row"><div class="flex items-center gap-2 text-zinc-500 dark:text-zinc-400"><img alt="" loading="lazy" width="16" height="16" decoding="async" data-nimg="1" style="color:transparent" src="/logo.svg"/><span><span class="font-medium text-zinc-700 dark:text-zinc-300">sparkrun-ui</span> · web UI for<!-- --> <a target="_blank" rel="noreferrer" class="underline decoration-zinc-400 decoration-dotted underline-offset-2 hover:text-sky-600 dark:hover:text-sky-400" href="https://github.com/mcampa/sparkrun">sparkrun</a></span></div><a target="_blank" rel="noreferrer" class="inline-flex items-center gap-2 rounded-md px-2 py-1 text-zinc-600 transition-colors hover:bg-zinc-100 hover:text-zinc-900 dark:text-zinc-400 dark:hover:bg-zinc-800 dark:hover:text-zinc-100" aria-label="View source on GitHub" href="https://github.com/mcampa/sparkrun-ui"><svg width="16" height="16" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" focusable="false"><path d="M12 .5C5.65.5.5 5.65.5 12c0 5.08 3.29 9.39 7.86 10.91.58.11.79-.25.79-.56v-1.96c-3.2.7-3.87-1.54-3.87-1.54-.52-1.32-1.28-1.67-1.28-1.67-1.04-.71.08-.7.08-.7 1.15.08 1.76 1.18 1.76 1.18 1.03 1.76 2.69 1.25 3.34.96.1-.74.4-1.25.73-1.54-2.55-.29-5.24-1.27-5.24-5.66 0-1.25.45-2.27 1.18-3.07-.12-.29-.51-1.46.11-3.04 0 0 .96-.31 3.15 1.18A11 11 0 0 1 12 6.8c.97 0 1.95.13 2.86.38 2.18-1.49 3.14-1.18 3.14-1.18.63 1.58.23 2.75.11 3.04.74.8 1.18 1.82 1.18 3.07 0 4.4-2.7 5.37-5.26 5.65.41.35.77 1.05.77 2.11v3.13c0 .31.21.68.8.56C20.21 21.39 23.5 17.08 23.5 12 23.5 5.65 18.35.5 12 .5z"></path></svg><span>GitHub</span></a></div></footer></div><script src="/_next/static/chunks/03q757hpt3301.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[84538,[\"/_next/static/chunks/0exacxt~2tdmo.js\",\"/_next/static/chunks/05j~t092g6cly.js\",\"/_next/static/chunks/07x551vl4mw9a.js\",\"/_next/static/chunks/14.vvaoxj9dec.js\",\"/_next/static/chunks/0gbgygn4a-gur.js\",\"/_next/static/chunks/0n95o8ynx0q8b.js\",\"/_next/static/chunks/0jx66pgwou.f6.js\"],\"ToastProvider\"]\n3:I[1842,[\"/_next/static/chunks/0exacxt~2tdmo.js\",\"/_next/static/chunks/05j~t092g6cly.js\",\"/_next/static/chunks/07x551vl4mw9a.js\",\"/_next/static/chunks/14.vvaoxj9dec.js\",\"/_next/static/chunks/0gbgygn4a-gur.js\",\"/_next/static/chunks/0n95o8ynx0q8b.js\",\"/_next/static/chunks/0jx66pgwou.f6.js\"],\"AnimatedBackground\"]\n4:I[55367,[\"/_next/static/chunks/0exacxt~2tdmo.js\",\"/_next/static/chunks/05j~t092g6cly.js\",\"/_next/static/chunks/07x551vl4mw9a.js\",\"/_next/static/chunks/14.vvaoxj9dec.js\",\"/_next/static/chunks/0gbgygn4a-gur.js\",\"/_next/static/chunks/0n95o8ynx0q8b.js\",\"/_next/static/chunks/0jx66pgwou.f6.js\"],\"\"]\n5:I[83540,[\"/_next/static/chunks/0exacxt~2tdmo.js\",\"/_next/static/chunks/05j~t092g6cly.js\",\"/_next/static/chunks/07x551vl4mw9a.js\",\"/_next/static/chunks/14.vvaoxj9dec.js\",\"/_next/static/chunks/0gbgygn4a-gur.js\",\"/_next/static/chunks/0n95o8ynx0q8b.js\",\"/_next/static/chunks/0jx66pgwou.f6.js\"],\"Image\"]\n6:I[92250,[\"/_next/static/chunks/0exacxt~2tdmo.js\",\"/_next/static/chunks/05j~t092g6cly.js\",\"/_next/static/chunks/07x551vl4mw9a.js\",\"/_next/static/chunks/14.vvaoxj9dec.js\",\"/_next/static/chunks/0gbgygn4a-gur.js\",\"/_next/static/chunks/0n95o8ynx0q8b.js\",\"/_next/static/chunks/0jx66pgwou.f6.js\"],\"HeaderStats\"]\n7:I[54858,[\"/_next/static/chunks/0exacxt~2tdmo.js\",\"/_next/static/chunks/05j~t092g6cly.js\",\"/_next/static/chunks/07x551vl4mw9a.js\",\"/_next/static/chunks/14.vvaoxj9dec.js\",\"/_next/static/chunks/0gbgygn4a-gur.js\",\"/_next/static/chunks/0n95o8ynx0q8b.js\",\"/_next/static/chunks/0jx66pgwou.f6.js\"],\"Nav\"]\n8:I[12224,[\"/_next/static/chunks/0exacxt~2tdmo.js\",\"/_next/static/chunks/05j~t092g6cly.js\",\"/_next/static/chunks/07x551vl4mw9a.js\",\"/_next/static/chunks/14.vvaoxj9dec.js\",\"/_next/static/chunks/0gbgygn4a-gur.js\",\"/_next/static/chunks/0n95o8ynx0q8b.js\",\"/_next/static/chunks/0jx66pgwou.f6.js\"],\"default\"]\n9:I[67689,[\"/_next/static/chunks/0exacxt~2tdmo.js\",\"/_next/static/chunks/05j~t092g6cly.js\",\"/_next/static/chunks/07x551vl4mw9a.js\",\"/_next/static/chunks/14.vvaoxj9dec.js\",\"/_next/static/chunks/0gbgygn4a-gur.js\",\"/_next/static/chunks/0n95o8ynx0q8b.js\",\"/_next/static/chunks/0jx66pgwou.f6.js\"],\"default\"]\n10:I[77663,[\"/_next/static/chunks/0exacxt~2tdmo.js\",\"/_next/static/chunks/05j~t092g6cly.js\",\"/_next/static/chunks/07x551vl4mw9a.js\",\"/_next/static/chunks/14.vvaoxj9dec.js\",\"/_next/static/chunks/0gbgygn4a-gur.js\",\"/_next/static/chunks/0n95o8ynx0q8b.js\",\"/_next/static/chunks/0jx66pgwou.f6.js\"],\"default\",1]\n:HL[\"/_next/static/chunks/0l02frokvgs9t.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"c\":[\"\",\"_not-found\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"/_not-found\",{\"children\":[\"__PAGE__\",{}]}]},\"$undefined\",\"$undefined\",16],[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/chunks/0l02frokvgs9t.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-0\",{\"src\":\"/_next/static/chunks/0exacxt~2tdmo.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-1\",{\"src\":\"/_next/static/chunks/05j~t092g6cly.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-2\",{\"src\":\"/_next/static/chunks/07x551vl4mw9a.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-3\",{\"src\":\"/_next/static/chunks/14.vvaoxj9dec.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-4\",{\"src\":\"/_next/static/chunks/0gbgygn4a-gur.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-5\",{\"src\":\"/_next/static/chunks/0n95o8ynx0q8b.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-6\",{\"src\":\"/_next/static/chunks/0jx66pgwou.f6.js\",\"async\":true,\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"className\":\"geist_a71539c9-module__T19VSG__variable geist_mono_8d43a2aa-module__8Li5zG__variable h-full antialiased\",\"suppressHydrationWarning\":true,\"children\":[\"$\",\"body\",null,{\"className\":\"min-h-full\",\"children\":[\"$\",\"$L2\",null,{\"children\":[\"$\",\"div\",null,{\"id\":\"root-isolation\",\"className\":\"flex min-h-screen flex-col\",\"children\":[[\"$\",\"$L3\",null,{}],[\"$\",\"header\",null,{\"className\":\"sticky top-0 z-10 border-b border-zinc-200 bg-white/80 backdrop-blur dark:border-zinc-800 dark:bg-zinc-950/80\",\"children\":[\"$\",\"div\",null,{\"className\":\"mx-auto flex h-14 max-w-7xl items-center justify-between px-6\",\"children\":[[\"$\",\"div\",null,{\"className\":\"flex items-center gap-4\",\"children\":[[\"$\",\"$L4\",null,{\"href\":\"/\",\"className\":\"flex items-center gap-2 text-sm font-semibold text-zinc-900 dark:text-zinc-100\",\"children\":[[\"$\",\"$L5\",null,{\"src\":\"/logo.svg\",\"alt\":\"\",\"width\":20,\"height\":20,\"priority\":true}],\"sparkrun\"]}],[\"$\",\"$L6\",null,{}]]}],[\"$\",\"$L7\",null,{}]]}]}],[\"$\",\"main\",null,{\"className\":\"mx-auto w-full max-w-7xl flex-1 px-6 py-8\",\"children\":[\"$\",\"$L8\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L9\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$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.\"}]}]]}]}]],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}],[\"$\",\"footer\",null,{\"className\":\"mt-12 border-t border-zinc-200 bg-white/80 backdrop-blur dark:border-zinc-800 dark:bg-zinc-950/80\",\"children\":[\"$\",\"div\",null,{\"className\":\"mx-auto flex max-w-7xl flex-col items-center justify-between gap-3 px-6 py-6 text-sm sm:flex-row\",\"children\":[[\"$\",\"div\",null,{\"className\":\"flex items-center gap-2 text-zinc-500 dark:text-zinc-400\",\"children\":[[\"$\",\"$L5\",null,{\"src\":\"/logo.svg\",\"alt\":\"\",\"width\":16,\"height\":16}],[\"$\",\"span\",null,{\"children\":[[\"$\",\"span\",null,{\"className\":\"font-medium text-zinc-700 dark:text-zinc-300\",\"children\":\"sparkrun-ui\"}],\" · web UI for\",\" \",[\"$\",\"$L4\",null,{\"href\":\"https://github.com/mcampa/sparkrun\",\"target\":\"_blank\",\"rel\":\"noreferrer\",\"className\":\"underline decoration-zinc-400 decoration-dotted underline-offset-2 hover:text-sky-600 dark:hover:text-sky-400\",\"children\":\"sparkrun\"}]]}]]}],[\"$\",\"$L4\",null,{\"href\":\"https://github.com/mcampa/sparkrun-ui\",\"target\":\"_blank\",\"rel\":\"noreferrer\",\"className\":\"inline-flex items-center gap-2 rounded-md px-2 py-1 text-zinc-600 transition-colors hover:bg-zinc-100 hover:text-zinc-900 dark:text-zinc-400 dark:hover:bg-zinc-800 dark:hover:text-zinc-100\",\"aria-label\":\"View source on GitHub\",\"children\":[\"$La\",\"$Lb\"]}]]}]}]]}]}]}]}]]}],{\"children\":[\"$Lc\",{\"children\":[\"$Ld\",{},null,false,null]},null,false,\"$@e\"]},null,false,null],\"$Lf\",false]],\"m\":\"$undefined\",\"G\":[\"$10\",[\"$L11\"]],\"S\":true,\"h\":null,\"s\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\",\"b\":\"yM0RLSy5vvlm3M5Wd7gll\"}\n"])</script><script>self.__next_f.push([1,"12:I[76779,[\"/_next/static/chunks/0exacxt~2tdmo.js\",\"/_next/static/chunks/05j~t092g6cly.js\",\"/_next/static/chunks/07x551vl4mw9a.js\",\"/_next/static/chunks/14.vvaoxj9dec.js\",\"/_next/static/chunks/0gbgygn4a-gur.js\",\"/_next/static/chunks/0n95o8ynx0q8b.js\",\"/_next/static/chunks/0jx66pgwou.f6.js\"],\"OutletBoundary\"]\n13:\"$Sreact.suspense\"\n16:I[76779,[\"/_next/static/chunks/0exacxt~2tdmo.js\",\"/_next/static/chunks/05j~t092g6cly.js\",\"/_next/static/chunks/07x551vl4mw9a.js\",\"/_next/static/chunks/14.vvaoxj9dec.js\",\"/_next/static/chunks/0gbgygn4a-gur.js\",\"/_next/static/chunks/0n95o8ynx0q8b.js\",\"/_next/static/chunks/0jx66pgwou.f6.js\"],\"ViewportBoundary\"]\n18:I[76779,[\"/_next/static/chunks/0exacxt~2tdmo.js\",\"/_next/static/chunks/05j~t092g6cly.js\",\"/_next/static/chunks/07x551vl4mw9a.js\",\"/_next/static/chunks/14.vvaoxj9dec.js\",\"/_next/static/chunks/0gbgygn4a-gur.js\",\"/_next/static/chunks/0n95o8ynx0q8b.js\",\"/_next/static/chunks/0jx66pgwou.f6.js\"],\"MetadataBoundary\"]\na:[\"$\",\"svg\",null,{\"width\":\"16\",\"height\":\"16\",\"viewBox\":\"0 0 24 24\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\",\"focusable\":\"false\",\"children\":[\"$\",\"path\",null,{\"d\":\"M12 .5C5.65.5.5 5.65.5 12c0 5.08 3.29 9.39 7.86 10.91.58.11.79-.25.79-.56v-1.96c-3.2.7-3.87-1.54-3.87-1.54-.52-1.32-1.28-1.67-1.28-1.67-1.04-.71.08-.7.08-.7 1.15.08 1.76 1.18 1.76 1.18 1.03 1.76 2.69 1.25 3.34.96.1-.74.4-1.25.73-1.54-2.55-.29-5.24-1.27-5.24-5.66 0-1.25.45-2.27 1.18-3.07-.12-.29-.51-1.46.11-3.04 0 0 .96-.31 3.15 1.18A11 11 0 0 1 12 6.8c.97 0 1.95.13 2.86.38 2.18-1.49 3.14-1.18 3.14-1.18.63 1.58.23 2.75.11 3.04.74.8 1.18 1.82 1.18 3.07 0 4.4-2.7 5.37-5.26 5.65.41.35.77 1.05.77 2.11v3.13c0 .31.21.68.8.56C20.21 21.39 23.5 17.08 23.5 12 23.5 5.65 18.35.5 12 .5z\"}]}]\nb:[\"$\",\"span\",null,{\"children\":\"GitHub\"}]\nc:[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L8\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L9\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}]\n"])</script><script>self.__next_f.push([1,"d:[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":\"$0:f:0:1:0:props:children:1:props:children:props:children:props:children:props:children:2:props:children:props:notFound:0:1:props:style\",\"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\":\"$0:f:0:1:0:props:children:1:props:children:props:children:props:children:props:children:2:props:children:props:notFound:0:1:props:children:props:children:1:props:style\",\"children\":404}],[\"$\",\"div\",null,{\"style\":\"$0:f:0:1:0:props:children:1:props:children:props:children:props:children:props:children:2:props:children:props:notFound:0:1:props:children:props:children:2:props:style\",\"children\":[\"$\",\"h2\",null,{\"style\":\"$0:f:0:1:0:props:children:1:props:children:props:children:props:children:props:children:2:props:children:props:notFound:0:1:props:children:props:children:2:props:children:props:style\",\"children\":\"This page could not be found.\"}]}]]}]}]],null,[\"$\",\"$L12\",null,{\"children\":[\"$\",\"$13\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@14\"}]}]]}]\n"])</script><script>self.__next_f.push([1,"15:[]\ne:\"$W15\"\nf:[\"$\",\"$1\",\"h\",{\"children\":[[\"$\",\"meta\",null,{\"name\":\"robots\",\"content\":\"noindex\"}],[\"$\",\"$L16\",null,{\"children\":\"$L17\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$L18\",null,{\"children\":[\"$\",\"$13\",null,{\"name\":\"Next.Metadata\",\"children\":\"$L19\"}]}]}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]]}]\n11:[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/chunks/0l02frokvgs9t.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]\n"])</script><script>self.__next_f.push([1,"17:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}],[\"$\",\"meta\",\"2\",{\"name\":\"theme-color\",\"content\":\"#0ea5e9\",\"media\":\"(prefers-color-scheme: light)\"}],[\"$\",\"meta\",\"3\",{\"name\":\"theme-color\",\"content\":\"#0b1220\",\"media\":\"(prefers-color-scheme: dark)\"}]]\n"])</script><script>self.__next_f.push([1,"1a:I[6726,[\"/_next/static/chunks/0exacxt~2tdmo.js\",\"/_next/static/chunks/05j~t092g6cly.js\",\"/_next/static/chunks/07x551vl4mw9a.js\",\"/_next/static/chunks/14.vvaoxj9dec.js\",\"/_next/static/chunks/0gbgygn4a-gur.js\",\"/_next/static/chunks/0n95o8ynx0q8b.js\",\"/_next/static/chunks/0jx66pgwou.f6.js\"],\"IconMark\"]\n14:null\n19:[[\"$\",\"title\",\"0\",{\"children\":\"sparkrun\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"Web UI for sparkrun — launch and monitor inference workloads on DGX Spark\"}],[\"$\",\"meta\",\"2\",{\"name\":\"application-name\",\"content\":\"sparkrun\"}],[\"$\",\"meta\",\"3\",{\"property\":\"og:title\",\"content\":\"sparkrun\"}],[\"$\",\"meta\",\"4\",{\"property\":\"og:description\",\"content\":\"Web UI for sparkrun — launch and monitor inference workloads on DGX Spark\"}],[\"$\",\"meta\",\"5\",{\"property\":\"og:image\",\"content\":\"http://localhost:5678/logo.svg\"}],[\"$\",\"meta\",\"6\",{\"name\":\"twitter:card\",\"content\":\"summary_large_image\"}],[\"$\",\"meta\",\"7\",{\"name\":\"twitter:title\",\"content\":\"sparkrun\"}],[\"$\",\"meta\",\"8\",{\"name\":\"twitter:description\",\"content\":\"Web UI for sparkrun — launch and monitor inference workloads on DGX Spark\"}],[\"$\",\"meta\",\"9\",{\"name\":\"twitter:image\",\"content\":\"http://localhost:5678/logo.svg\"}],[\"$\",\"link\",\"10\",{\"rel\":\"icon\",\"href\":\"/icon.svg?icon.113mx9lzchuti.svg\",\"sizes\":\"any\",\"type\":\"image/svg+xml\"}],[\"$\",\"$L1a\",\"11\",{}]]\n"])</script></body></html>
@@ -1 +1 @@
1
- <!DOCTYPE html><html id="__next_error__"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/03q757hpt3301.js"/><script src="/_next/static/chunks/0rymelq75evwt.js" async=""></script><script src="/_next/static/chunks/032k-n9i486nr.js" async=""></script><script src="/_next/static/chunks/12mz0_._155bq.js" async=""></script><script src="/_next/static/chunks/173qvra~fczs6.js" async=""></script><script src="/_next/static/chunks/turbopack-15ltfbt8m1wgq.js" async=""></script><script src="/_next/static/chunks/06k6o5~7u5tj3.js" async=""></script><script src="/_next/static/chunks/0n95o8ynx0q8b.js" async=""></script><meta name="next-size-adjust" content=""/><title>500: This page couldn’t load</title><style>:root {--next-error-bg: #fff;--next-error-text: #171717;--next-error-title: #171717;--next-error-message: #171717;--next-error-digest: #666666;--next-error-btn-text: #fff;--next-error-btn-bg: #171717;--next-error-btn-border: none;--next-error-btn-secondary-text: #171717;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(0,0,0,0.08);}@media (prefers-color-scheme: dark) {:root {--next-error-bg: #0a0a0a;--next-error-text: #ededed;--next-error-title: #ededed;--next-error-message: #ededed;--next-error-digest: #a0a0a0;--next-error-btn-text: #0a0a0a;--next-error-btn-bg: #ededed;--next-error-btn-border: none;--next-error-btn-secondary-text: #ededed;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(255,255,255,0.14);}}body { margin: 0; color: var(--next-error-text); background: var(--next-error-bg); }</style><script src="/_next/static/chunks/03~yq9q893hmn.js" noModule=""></script></head><body><div hidden=""><!--$--><!--/$--></div><div style="font-family:system-ui,&quot;Segoe UI&quot;,Roboto,Helvetica,Arial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;;height:100vh;display:flex;align-items:center;justify-content:center"><div style="margin-top:-32px;max-width:325px;padding:32px 28px;text-align:left"><svg width="32" height="32" viewBox="-0.2 -1.5 32 32" fill="none" style="margin-bottom:24px"><path d="M16.9328 0C18.0839 0.000116771 19.1334 0.658832 19.634 1.69531L31.4299 26.1309C32.0708 27.4588 31.1036 28.9999 29.6291 29H2.00215C0.527541 29 -0.439628 27.4588 0.201371 26.1309L11.9973 1.69531C12.4979 0.658823 13.5474 7.75066e-05 14.6984 0H16.9328ZM3.59493 26H28.0363L16.9328 3H14.6984L3.59493 26ZM15.8156 19C16.9202 19.0001 17.8156 19.8955 17.8156 21C17.8156 22.1045 16.9202 22.9999 15.8156 23C14.7111 23 13.8156 22.1046 13.8156 21C13.8156 19.8954 14.7111 19 15.8156 19ZM17.3156 16.5H14.3156V8.5H17.3156V16.5Z" fill="var(--next-error-title)"></path></svg><h1 style="font-size:24px;font-weight:500;letter-spacing:-0.02em;line-height:32px;margin:0 0 12px 0;color:var(--next-error-title)">This page couldn’t load</h1><p style="font-size:14px;font-weight:400;line-height:21px;margin:0 0 20px 0;color:var(--next-error-message)">A server error occurred. Reload to try again.</p><form style="margin:0"><button type="submit" style="display:inline-flex;align-items:center;justify-content:center;height:32px;padding:0 12px;font-size:14px;font-weight:500;line-height:20px;border-radius:6px;cursor:pointer;color:var(--next-error-btn-text);background:var(--next-error-btn-bg);border:var(--next-error-btn-border)">Reload</button></form></div></div><!--$--><!--/$--><script src="/_next/static/chunks/03q757hpt3301.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[12224,[\"/_next/static/chunks/06k6o5~7u5tj3.js\",\"/_next/static/chunks/0n95o8ynx0q8b.js\"],\"default\"]\n3:I[67689,[\"/_next/static/chunks/06k6o5~7u5tj3.js\",\"/_next/static/chunks/0n95o8ynx0q8b.js\"],\"default\"]\n4:I[76779,[\"/_next/static/chunks/06k6o5~7u5tj3.js\",\"/_next/static/chunks/0n95o8ynx0q8b.js\"],\"OutletBoundary\"]\n5:\"$Sreact.suspense\"\n8:I[76779,[\"/_next/static/chunks/06k6o5~7u5tj3.js\",\"/_next/static/chunks/0n95o8ynx0q8b.js\"],\"ViewportBoundary\"]\na:I[76779,[\"/_next/static/chunks/06k6o5~7u5tj3.js\",\"/_next/static/chunks/0n95o8ynx0q8b.js\"],\"MetadataBoundary\"]\nc:I[77663,[\"/_next/static/chunks/06k6o5~7u5tj3.js\",\"/_next/static/chunks/0n95o8ynx0q8b.js\"],\"default\",1]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"c\":[\"\",\"_global-error\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"__PAGE__\",{}]}],[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[[\"$\",\"html\",null,{\"id\":\"__next_error__\",\"children\":[[\"$\",\"head\",null,{\"children\":[[\"$\",\"title\",null,{\"children\":\"500: This page couldn’t load\"}],[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\":root {--next-error-bg: #fff;--next-error-text: #171717;--next-error-title: #171717;--next-error-message: #171717;--next-error-digest: #666666;--next-error-btn-text: #fff;--next-error-btn-bg: #171717;--next-error-btn-border: none;--next-error-btn-secondary-text: #171717;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(0,0,0,0.08);}@media (prefers-color-scheme: dark) {:root {--next-error-bg: #0a0a0a;--next-error-text: #ededed;--next-error-title: #ededed;--next-error-message: #ededed;--next-error-digest: #a0a0a0;--next-error-btn-text: #0a0a0a;--next-error-btn-bg: #ededed;--next-error-btn-border: none;--next-error-btn-secondary-text: #ededed;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(255,255,255,0.14);}}body { margin: 0; color: var(--next-error-text); background: var(--next-error-bg); }\"}}]]}],[\"$\",\"body\",null,{\"children\":[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"display\":\"flex\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"style\":{\"marginTop\":\"-32px\",\"maxWidth\":\"325px\",\"padding\":\"32px 28px\",\"textAlign\":\"left\"},\"children\":[[\"$\",\"svg\",null,{\"width\":\"32\",\"height\":\"32\",\"viewBox\":\"-0.2 -1.5 32 32\",\"fill\":\"none\",\"style\":{\"marginBottom\":\"24px\"},\"children\":[\"$\",\"path\",null,{\"d\":\"M16.9328 0C18.0839 0.000116771 19.1334 0.658832 19.634 1.69531L31.4299 26.1309C32.0708 27.4588 31.1036 28.9999 29.6291 29H2.00215C0.527541 29 -0.439628 27.4588 0.201371 26.1309L11.9973 1.69531C12.4979 0.658823 13.5474 7.75066e-05 14.6984 0H16.9328ZM3.59493 26H28.0363L16.9328 3H14.6984L3.59493 26ZM15.8156 19C16.9202 19.0001 17.8156 19.8955 17.8156 21C17.8156 22.1045 16.9202 22.9999 15.8156 23C14.7111 23 13.8156 22.1046 13.8156 21C13.8156 19.8954 14.7111 19 15.8156 19ZM17.3156 16.5H14.3156V8.5H17.3156V16.5Z\",\"fill\":\"var(--next-error-title)\"}]}],[\"$\",\"h1\",null,{\"style\":{\"fontSize\":\"24px\",\"fontWeight\":500,\"letterSpacing\":\"-0.02em\",\"lineHeight\":\"32px\",\"margin\":\"0 0 12px 0\",\"color\":\"var(--next-error-title)\"},\"children\":\"This page couldn’t load\"}],[\"$\",\"p\",null,{\"style\":{\"fontSize\":\"14px\",\"fontWeight\":400,\"lineHeight\":\"21px\",\"margin\":\"0 0 20px 0\",\"color\":\"var(--next-error-message)\"},\"children\":\"A server error occurred. Reload to try again.\"}],[\"$\",\"form\",null,{\"style\":{\"margin\":0},\"children\":[\"$\",\"button\",null,{\"type\":\"submit\",\"style\":{\"display\":\"inline-flex\",\"alignItems\":\"center\",\"justifyContent\":\"center\",\"height\":\"32px\",\"padding\":\"0 12px\",\"fontSize\":\"14px\",\"fontWeight\":500,\"lineHeight\":\"20px\",\"borderRadius\":\"6px\",\"cursor\":\"pointer\",\"color\":\"var(--next-error-btn-text)\",\"background\":\"var(--next-error-btn-bg)\",\"border\":\"var(--next-error-btn-border)\"},\"children\":\"Reload\"}]}]]}]}]}]]}],null,[\"$\",\"$L4\",null,{\"children\":[\"$\",\"$5\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@6\"}]}]]}],{},null,false,null]},null,false,\"$@7\"],[\"$\",\"$1\",\"h\",{\"children\":[null,[\"$\",\"$L8\",null,{\"children\":\"$L9\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$La\",null,{\"children\":[\"$\",\"$5\",null,{\"name\":\"Next.Metadata\",\"children\":\"$Lb\"}]}]}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$c\",[]],\"S\":true,\"h\":null,\"s\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\",\"b\":\"mZWSK_2ftjJ1WxNyQ7l0q\"}\n"])</script><script>self.__next_f.push([1,"d:[]\n7:\"$Wd\"\n"])</script><script>self.__next_f.push([1,"9:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n"])</script><script>self.__next_f.push([1,"6:null\nb:[]\n"])</script></body></html>
1
+ <!DOCTYPE html><html id="__next_error__"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/03q757hpt3301.js"/><script src="/_next/static/chunks/0rymelq75evwt.js" async=""></script><script src="/_next/static/chunks/032k-n9i486nr.js" async=""></script><script src="/_next/static/chunks/12mz0_._155bq.js" async=""></script><script src="/_next/static/chunks/173qvra~fczs6.js" async=""></script><script src="/_next/static/chunks/turbopack-15ltfbt8m1wgq.js" async=""></script><script src="/_next/static/chunks/06k6o5~7u5tj3.js" async=""></script><script src="/_next/static/chunks/0n95o8ynx0q8b.js" async=""></script><meta name="next-size-adjust" content=""/><title>500: This page couldn’t load</title><style>:root {--next-error-bg: #fff;--next-error-text: #171717;--next-error-title: #171717;--next-error-message: #171717;--next-error-digest: #666666;--next-error-btn-text: #fff;--next-error-btn-bg: #171717;--next-error-btn-border: none;--next-error-btn-secondary-text: #171717;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(0,0,0,0.08);}@media (prefers-color-scheme: dark) {:root {--next-error-bg: #0a0a0a;--next-error-text: #ededed;--next-error-title: #ededed;--next-error-message: #ededed;--next-error-digest: #a0a0a0;--next-error-btn-text: #0a0a0a;--next-error-btn-bg: #ededed;--next-error-btn-border: none;--next-error-btn-secondary-text: #ededed;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(255,255,255,0.14);}}body { margin: 0; color: var(--next-error-text); background: var(--next-error-bg); }</style><script src="/_next/static/chunks/03~yq9q893hmn.js" noModule=""></script></head><body><div hidden=""><!--$--><!--/$--></div><div style="font-family:system-ui,&quot;Segoe UI&quot;,Roboto,Helvetica,Arial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;;height:100vh;display:flex;align-items:center;justify-content:center"><div style="margin-top:-32px;max-width:325px;padding:32px 28px;text-align:left"><svg width="32" height="32" viewBox="-0.2 -1.5 32 32" fill="none" style="margin-bottom:24px"><path d="M16.9328 0C18.0839 0.000116771 19.1334 0.658832 19.634 1.69531L31.4299 26.1309C32.0708 27.4588 31.1036 28.9999 29.6291 29H2.00215C0.527541 29 -0.439628 27.4588 0.201371 26.1309L11.9973 1.69531C12.4979 0.658823 13.5474 7.75066e-05 14.6984 0H16.9328ZM3.59493 26H28.0363L16.9328 3H14.6984L3.59493 26ZM15.8156 19C16.9202 19.0001 17.8156 19.8955 17.8156 21C17.8156 22.1045 16.9202 22.9999 15.8156 23C14.7111 23 13.8156 22.1046 13.8156 21C13.8156 19.8954 14.7111 19 15.8156 19ZM17.3156 16.5H14.3156V8.5H17.3156V16.5Z" fill="var(--next-error-title)"></path></svg><h1 style="font-size:24px;font-weight:500;letter-spacing:-0.02em;line-height:32px;margin:0 0 12px 0;color:var(--next-error-title)">This page couldn’t load</h1><p style="font-size:14px;font-weight:400;line-height:21px;margin:0 0 20px 0;color:var(--next-error-message)">A server error occurred. Reload to try again.</p><form style="margin:0"><button type="submit" style="display:inline-flex;align-items:center;justify-content:center;height:32px;padding:0 12px;font-size:14px;font-weight:500;line-height:20px;border-radius:6px;cursor:pointer;color:var(--next-error-btn-text);background:var(--next-error-btn-bg);border:var(--next-error-btn-border)">Reload</button></form></div></div><!--$--><!--/$--><script src="/_next/static/chunks/03q757hpt3301.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[12224,[\"/_next/static/chunks/06k6o5~7u5tj3.js\",\"/_next/static/chunks/0n95o8ynx0q8b.js\"],\"default\"]\n3:I[67689,[\"/_next/static/chunks/06k6o5~7u5tj3.js\",\"/_next/static/chunks/0n95o8ynx0q8b.js\"],\"default\"]\n4:I[76779,[\"/_next/static/chunks/06k6o5~7u5tj3.js\",\"/_next/static/chunks/0n95o8ynx0q8b.js\"],\"OutletBoundary\"]\n5:\"$Sreact.suspense\"\n8:I[76779,[\"/_next/static/chunks/06k6o5~7u5tj3.js\",\"/_next/static/chunks/0n95o8ynx0q8b.js\"],\"ViewportBoundary\"]\na:I[76779,[\"/_next/static/chunks/06k6o5~7u5tj3.js\",\"/_next/static/chunks/0n95o8ynx0q8b.js\"],\"MetadataBoundary\"]\nc:I[77663,[\"/_next/static/chunks/06k6o5~7u5tj3.js\",\"/_next/static/chunks/0n95o8ynx0q8b.js\"],\"default\",1]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"c\":[\"\",\"_global-error\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"__PAGE__\",{}]}],[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[[\"$\",\"html\",null,{\"id\":\"__next_error__\",\"children\":[[\"$\",\"head\",null,{\"children\":[[\"$\",\"title\",null,{\"children\":\"500: This page couldn’t load\"}],[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\":root {--next-error-bg: #fff;--next-error-text: #171717;--next-error-title: #171717;--next-error-message: #171717;--next-error-digest: #666666;--next-error-btn-text: #fff;--next-error-btn-bg: #171717;--next-error-btn-border: none;--next-error-btn-secondary-text: #171717;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(0,0,0,0.08);}@media (prefers-color-scheme: dark) {:root {--next-error-bg: #0a0a0a;--next-error-text: #ededed;--next-error-title: #ededed;--next-error-message: #ededed;--next-error-digest: #a0a0a0;--next-error-btn-text: #0a0a0a;--next-error-btn-bg: #ededed;--next-error-btn-border: none;--next-error-btn-secondary-text: #ededed;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(255,255,255,0.14);}}body { margin: 0; color: var(--next-error-text); background: var(--next-error-bg); }\"}}]]}],[\"$\",\"body\",null,{\"children\":[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"display\":\"flex\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"style\":{\"marginTop\":\"-32px\",\"maxWidth\":\"325px\",\"padding\":\"32px 28px\",\"textAlign\":\"left\"},\"children\":[[\"$\",\"svg\",null,{\"width\":\"32\",\"height\":\"32\",\"viewBox\":\"-0.2 -1.5 32 32\",\"fill\":\"none\",\"style\":{\"marginBottom\":\"24px\"},\"children\":[\"$\",\"path\",null,{\"d\":\"M16.9328 0C18.0839 0.000116771 19.1334 0.658832 19.634 1.69531L31.4299 26.1309C32.0708 27.4588 31.1036 28.9999 29.6291 29H2.00215C0.527541 29 -0.439628 27.4588 0.201371 26.1309L11.9973 1.69531C12.4979 0.658823 13.5474 7.75066e-05 14.6984 0H16.9328ZM3.59493 26H28.0363L16.9328 3H14.6984L3.59493 26ZM15.8156 19C16.9202 19.0001 17.8156 19.8955 17.8156 21C17.8156 22.1045 16.9202 22.9999 15.8156 23C14.7111 23 13.8156 22.1046 13.8156 21C13.8156 19.8954 14.7111 19 15.8156 19ZM17.3156 16.5H14.3156V8.5H17.3156V16.5Z\",\"fill\":\"var(--next-error-title)\"}]}],[\"$\",\"h1\",null,{\"style\":{\"fontSize\":\"24px\",\"fontWeight\":500,\"letterSpacing\":\"-0.02em\",\"lineHeight\":\"32px\",\"margin\":\"0 0 12px 0\",\"color\":\"var(--next-error-title)\"},\"children\":\"This page couldn’t load\"}],[\"$\",\"p\",null,{\"style\":{\"fontSize\":\"14px\",\"fontWeight\":400,\"lineHeight\":\"21px\",\"margin\":\"0 0 20px 0\",\"color\":\"var(--next-error-message)\"},\"children\":\"A server error occurred. Reload to try again.\"}],[\"$\",\"form\",null,{\"style\":{\"margin\":0},\"children\":[\"$\",\"button\",null,{\"type\":\"submit\",\"style\":{\"display\":\"inline-flex\",\"alignItems\":\"center\",\"justifyContent\":\"center\",\"height\":\"32px\",\"padding\":\"0 12px\",\"fontSize\":\"14px\",\"fontWeight\":500,\"lineHeight\":\"20px\",\"borderRadius\":\"6px\",\"cursor\":\"pointer\",\"color\":\"var(--next-error-btn-text)\",\"background\":\"var(--next-error-btn-bg)\",\"border\":\"var(--next-error-btn-border)\"},\"children\":\"Reload\"}]}]]}]}]}]]}],null,[\"$\",\"$L4\",null,{\"children\":[\"$\",\"$5\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@6\"}]}]]}],{},null,false,null]},null,false,\"$@7\"],[\"$\",\"$1\",\"h\",{\"children\":[null,[\"$\",\"$L8\",null,{\"children\":\"$L9\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$La\",null,{\"children\":[\"$\",\"$5\",null,{\"name\":\"Next.Metadata\",\"children\":\"$Lb\"}]}]}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$c\",[]],\"S\":true,\"h\":null,\"s\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\",\"b\":\"yM0RLSy5vvlm3M5Wd7gll\"}\n"])</script><script>self.__next_f.push([1,"d:[]\n7:\"$Wd\"\n"])</script><script>self.__next_f.push([1,"9:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n"])</script><script>self.__next_f.push([1,"6:null\nb:[]\n"])</script></body></html>
@@ -1 +1 @@
1
- self.__RSC_SERVER_MANIFEST="{\n \"node\": {},\n \"edge\": {},\n \"encryptionKey\": \"GKxkdiUxLKMCtaQIzb3toUwj8ee2LFspIYhyMObGZgw=\"\n}"
1
+ self.__RSC_SERVER_MANIFEST="{\n \"node\": {},\n \"edge\": {},\n \"encryptionKey\": \"w/vxpggw89M3KbROum/qrW544GYEzC9h001HTRC7yKs=\"\n}"
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "node": {},
3
3
  "edge": {},
4
- "encryptionKey": "GKxkdiUxLKMCtaQIzb3toUwj8ee2LFspIYhyMObGZgw="
4
+ "encryptionKey": "w/vxpggw89M3KbROum/qrW544GYEzC9h001HTRC7yKs="
5
5
  }