rigscope 0.1.5 → 0.1.7

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 (109) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/app-path-routes-manifest.json +4 -4
  3. package/.next/build-manifest.json +2 -2
  4. package/.next/prerender-manifest.json +6 -6
  5. package/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  6. package/.next/server/app/_global-error.html +1 -1
  7. package/.next/server/app/_global-error.rsc +1 -1
  8. package/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  9. package/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  10. package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  11. package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  12. package/.next/server/app/_not-found.html +1 -1
  13. package/.next/server/app/_not-found.rsc +2 -2
  14. package/.next/server/app/_not-found.segments/_full.segment.rsc +2 -2
  15. package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +2 -2
  16. package/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  17. package/.next/server/app/administration/page.js +1 -1
  18. package/.next/server/app/administration/page.js.nft.json +1 -1
  19. package/.next/server/app/administration/page_client-reference-manifest.js +1 -1
  20. package/.next/server/app/administration.html +1 -1
  21. package/.next/server/app/administration.rsc +6 -6
  22. package/.next/server/app/administration.segments/_full.segment.rsc +6 -6
  23. package/.next/server/app/administration.segments/_tree.segment.rsc +2 -2
  24. package/.next/server/app/administration.segments/administration/__PAGE__.segment.rsc +6 -6
  25. package/.next/server/app/alerts/page.js +1 -1
  26. package/.next/server/app/alerts/page.js.nft.json +1 -1
  27. package/.next/server/app/alerts/page_client-reference-manifest.js +1 -1
  28. package/.next/server/app/alerts.html +1 -1
  29. package/.next/server/app/alerts.rsc +6 -6
  30. package/.next/server/app/alerts.segments/_full.segment.rsc +6 -6
  31. package/.next/server/app/alerts.segments/_tree.segment.rsc +2 -2
  32. package/.next/server/app/alerts.segments/alerts/__PAGE__.segment.rsc +6 -6
  33. package/.next/server/app/connections/page.js +1 -1
  34. package/.next/server/app/connections/page.js.nft.json +1 -1
  35. package/.next/server/app/connections/page_client-reference-manifest.js +1 -1
  36. package/.next/server/app/connections.html +1 -1
  37. package/.next/server/app/connections.rsc +6 -6
  38. package/.next/server/app/connections.segments/_full.segment.rsc +6 -6
  39. package/.next/server/app/connections.segments/_tree.segment.rsc +2 -2
  40. package/.next/server/app/connections.segments/connections/__PAGE__.segment.rsc +6 -6
  41. package/.next/server/app/history/page.js +2 -2
  42. package/.next/server/app/history/page.js.nft.json +1 -1
  43. package/.next/server/app/history/page_client-reference-manifest.js +1 -1
  44. package/.next/server/app/history.html +1 -1
  45. package/.next/server/app/history.rsc +26 -22
  46. package/.next/server/app/history.segments/_full.segment.rsc +26 -22
  47. package/.next/server/app/history.segments/_tree.segment.rsc +2 -2
  48. package/.next/server/app/history.segments/history/__PAGE__.segment.rsc +23 -20
  49. package/.next/server/app/index.html +1 -1
  50. package/.next/server/app/index.rsc +6 -6
  51. package/.next/server/app/index.segments/__PAGE__.segment.rsc +6 -6
  52. package/.next/server/app/index.segments/_full.segment.rsc +6 -6
  53. package/.next/server/app/index.segments/_tree.segment.rsc +2 -2
  54. package/.next/server/app/login/page_client-reference-manifest.js +1 -1
  55. package/.next/server/app/login.html +1 -1
  56. package/.next/server/app/login.rsc +2 -2
  57. package/.next/server/app/login.segments/_full.segment.rsc +2 -2
  58. package/.next/server/app/login.segments/_tree.segment.rsc +2 -2
  59. package/.next/server/app/login.segments/login/__PAGE__.segment.rsc +2 -2
  60. package/.next/server/app/machines/[machineId]/page.js +1 -1
  61. package/.next/server/app/machines/[machineId]/page.js.nft.json +1 -1
  62. package/.next/server/app/machines/[machineId]/page_client-reference-manifest.js +1 -1
  63. package/.next/server/app/page.js +1 -1
  64. package/.next/server/app/page.js.nft.json +1 -1
  65. package/.next/server/app/page_client-reference-manifest.js +1 -1
  66. package/.next/server/app/processes/page.js +2 -2
  67. package/.next/server/app/processes/page.js.nft.json +1 -1
  68. package/.next/server/app/processes/page_client-reference-manifest.js +1 -1
  69. package/.next/server/app/processes.html +1 -1
  70. package/.next/server/app/processes.rsc +21 -19
  71. package/.next/server/app/processes.segments/_full.segment.rsc +21 -19
  72. package/.next/server/app/processes.segments/_tree.segment.rsc +2 -2
  73. package/.next/server/app/processes.segments/processes/__PAGE__.segment.rsc +21 -19
  74. package/.next/server/app-paths-manifest.json +4 -4
  75. package/.next/server/chunks/168.js +1 -1
  76. package/.next/server/chunks/350.js +1 -0
  77. package/.next/server/chunks/751.js +1 -1
  78. package/.next/server/chunks/894.js +2 -2
  79. package/.next/server/middleware-build-manifest.js +1 -1
  80. package/.next/server/pages/404.html +1 -1
  81. package/.next/server/pages/500.html +1 -1
  82. package/.next/static/chunks/103-976549d31902404e.js +1 -0
  83. package/.next/static/chunks/408-9fdba9e4e956ef08.js +1 -0
  84. package/.next/static/chunks/944-a7fe1d96f1d20531.js +1 -0
  85. package/.next/static/chunks/app/administration/page-b62f6610cda5381f.js +1 -0
  86. package/.next/static/chunks/app/alerts/{page-2548b2ab0c057953.js → page-3445bc100ee03d4e.js} +1 -1
  87. package/.next/static/chunks/app/connections/{page-07113bf16cb352e7.js → page-75abd16fc495fcbd.js} +1 -1
  88. package/.next/static/chunks/app/history/page-a25ba8fab7bd7cb9.js +3 -0
  89. package/.next/static/chunks/app/machines/[machineId]/{page-0b89e4393a137c4d.js → page-89143e71c34b542b.js} +1 -1
  90. package/.next/static/chunks/app/{page-c68554c93016dd13.js → page-9c9c89166eee4c92.js} +1 -1
  91. package/.next/static/chunks/app/processes/page-3fdebd2f98b52044.js +3 -0
  92. package/.next/static/css/f5d3162842dcac31.css +1 -0
  93. package/CHANGELOG.md +21 -0
  94. package/dist/collector.cjs +1 -1
  95. package/dist/hub.cjs +45 -15
  96. package/dist/ops.cjs +44 -14
  97. package/docs/installation.md +3 -3
  98. package/docs/releasing.md +12 -12
  99. package/package.json +1 -1
  100. package/.next/server/chunks/721.js +0 -1
  101. package/.next/static/chunks/103-13ec30dcc059b9d3.js +0 -1
  102. package/.next/static/chunks/157-0d36ebf66af048ac.js +0 -1
  103. package/.next/static/chunks/408-29f55984738967db.js +0 -1
  104. package/.next/static/chunks/app/administration/page-4b16b19bb6a39c36.js +0 -1
  105. package/.next/static/chunks/app/history/page-69ea64476ee5db85.js +0 -3
  106. package/.next/static/chunks/app/processes/page-b6d97d119f10e2a1.js +0 -3
  107. package/.next/static/css/fb3ad9534f4681e6.css +0 -1
  108. /package/.next/static/{oxwySrJXqXq8O6_7AzZGe → 9SHY6v87ulfunqR2e84n9}/_buildManifest.js +0 -0
  109. /package/.next/static/{oxwySrJXqXq8O6_7AzZGe → 9SHY6v87ulfunqR2e84n9}/_ssgManifest.js +0 -0
@@ -14,13 +14,13 @@ f:I[5000,["939","$2","520","$e"],"LoginView"]
14
14
  16:"MetadataBoundary"
15
15
  17:I[484,[],"$16"]
16
16
  18:I[6869,[],"IconMark"]
17
- :HL["/_next/static/css/fb3ad9534f4681e6.css","style"]
17
+ :HL["/_next/static/css/f5d3162842dcac31.css","style"]
18
18
  9:X
19
19
  c:X
20
20
  c:C
21
21
  d:[["children",{"s":"__PAGE__","h":160,"d":{"r":["$","$1","c",{"children":[["$","$Lf",null,{}],null,["$","$L10",null,{"children":["$","$11",null,{"name":"Next.MetadataOutlet","children":"$@12"}]}]]}],"p":"$@13","v":null,"s":"$9"}}]]
22
22
  a:[["children",{"s":"login","h":96,"d":{"r":["$","$1","c",{"children":[null,["$","$L6",null,{"parallelRouterKey":"children","template":["$","$L7",null,{}]}]]}],"p":"$@b","v":"$c","s":"$9"},"c":"$Qd"}]]
23
- 0:{"t":{"t":{"s":"","h":80,"d":{"r":["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/fb3ad9534f4681e6.css","precedence":"next"}]],["$","html",null,{"lang":"en","suppressHydrationWarning":true,"children":["$","body",null,{"children":["$","$L4",null,{"attribute":"class","defaultTheme":"dark","enableSystem":true,"children":["$","$L5",null,{"children":["$","$L6",null,{"parallelRouterKey":"children","template":["$","$L7",null,{}],"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."}]}]]}]}]],[]]}]}]}]}]}]]}],"p":"$@8","v":null,"s":"$9"},"c":"$Qa"},"h":{"r":["$","$1","h",{"children":[null,["$","$L15",null,{"children":[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]]}],["$","$L17",null,{"children":[["$","div",null,{"hidden":true,"children":["$","$11",null,{"name":"Next.Metadata","children":[["$","title","0",{"children":"Sign in — Rigscope"}],["$","meta","1",{"name":"description","content":"Self-hosted remote system monitor — a live fleet of collectors behind one authenticated hub."}],["$","link","2",{"rel":"icon","href":"/icon.svg?3b3fa3229e2d0d7a","type":"image/svg+xml","sizes":"any"}],["$","$L18","3",{}]]}]}],null]}],null]}],"p":"$@19","v":null,"s":"$9"}},"a":"$@1a","u":"$@1b","b":"oxwySrJXqXq8O6_7AzZGe"}
23
+ 0:{"t":{"t":{"s":"","h":80,"d":{"r":["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/f5d3162842dcac31.css","precedence":"next"}]],["$","html",null,{"lang":"en","suppressHydrationWarning":true,"children":["$","body",null,{"children":["$","$L4",null,{"attribute":"class","defaultTheme":"dark","enableSystem":true,"children":["$","$L5",null,{"children":["$","$L6",null,{"parallelRouterKey":"children","template":["$","$L7",null,{}],"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."}]}]]}]}]],[]]}]}]}]}]}]]}],"p":"$@8","v":null,"s":"$9"},"c":"$Qa"},"h":{"r":["$","$1","h",{"children":[null,["$","$L15",null,{"children":[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]]}],["$","$L17",null,{"children":[["$","div",null,{"hidden":true,"children":["$","$11",null,{"name":"Next.Metadata","children":[["$","title","0",{"children":"Sign in — Rigscope"}],["$","meta","1",{"name":"description","content":"Self-hosted remote system monitor — a live fleet of collectors behind one authenticated hub."}],["$","link","2",{"rel":"icon","href":"/icon.svg?3b3fa3229e2d0d7a","type":"image/svg+xml","sizes":"any"}],["$","$L18","3",{}]]}]}],null]}],null]}],"p":"$@19","v":null,"s":"$9"}},"a":"$@1a","u":"$@1b","b":"9SHY6v87ulfunqR2e84n9"}
24
24
  12:null
25
25
  9:300
26
26
  1b:true
@@ -1 +1 @@
1
- (()=>{var a={};a.id=900,a.ids=[900],a.modules={3295:a=>{"use strict";a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},8128:a=>{"use strict";a.exports=require("next/dist/server/runtime-reacts.external.js")},10846:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},12894:(a,b,c)=>{Promise.resolve().then(c.bind(c,73132))},19121:a=>{"use strict";a.exports=require("next/dist/server/app-render/action-async-storage.external.js")},28354:a=>{"use strict";a.exports=require("util")},29294:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},33873:a=>{"use strict";a.exports=require("path")},38420:(a,b,c)=>{"use strict";c.d(b,{A:()=>d});let d=(0,c(65366).A)("ChevronRight",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]])},38522:a=>{"use strict";a.exports=require("node:zlib")},41025:a=>{"use strict";a.exports=require("next/dist/server/app-render/dynamic-access-async-storage.external.js")},46060:a=>{"use strict";a.exports=require("next/dist/shared/lib/no-fallback-error.external.js")},49354:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>g,metadata:()=>f});var d=c(5735),e=c(73132);let f={title:"Machine"};async function g({params:a}){let{machineId:b}=await a;return(0,d.jsx)(e.MachineView,{machineId:b})}},51603:(a,b,c)=>{"use strict";c.r(b),c.d(b,{__next_app__:()=>r,handler:()=>t,routeModule:()=>s});var d=c(21635),e=c(86315),f=c(1020),g=c(61287),h={};for(let a in g)0>["default","__next_app__","routeModule","handler"].indexOf(a)&&(h[a]=()=>g[a]);c.d(b,h);let i=(0,d.p)(()=>Promise.resolve().then(c.bind(c,76537))),j=(0,d.p)(()=>Promise.resolve().then(c.t.bind(c,95547,23))),k=(0,d.p)(()=>Promise.resolve().then(c.t.bind(c,55091,23))),l=(0,d.p)(()=>Promise.resolve().then(c.t.bind(c,45270,23))),m=(0,d.p)(()=>Promise.resolve().then(c.t.bind(c,28193,23))),n=(0,d.p)(()=>Promise.resolve().then(c.t.bind(c,95547,23))),o=(0,d.p)(()=>Promise.resolve().then(c.t.bind(c,95547,23))),p={children:["",{children:["machines",{children:["[machineId]",{children:["__PAGE__",{},{page:[(0,d.p)(()=>Promise.resolve().then(c.bind(c,49354))),"/home/triet/Project/rigscope/src/app/machines/[machineId]/page.tsx"]}]},{"global-error":[o,"next/dist/client/components/builtin/global-error.js"]},[]]},{"global-error":[n,"next/dist/client/components/builtin/global-error.js"],metadata:{icon:[async a=>(await (0,d.p)(()=>Promise.resolve().then(c.bind(c,59645)))()).default(a)],apple:[],openGraph:[],twitter:[],manifest:void 0}},[]]},{layout:[i,"/home/triet/Project/rigscope/src/app/layout.tsx"],"global-error":[j,"next/dist/client/components/builtin/global-error.js"],"not-found":[k,"next/dist/client/components/builtin/not-found.js"],forbidden:[l,"next/dist/client/components/builtin/forbidden.js"],unauthorized:[m,"next/dist/client/components/builtin/unauthorized.js"],metadata:{icon:[async a=>(await (0,d.p)(()=>Promise.resolve().then(c.bind(c,59645)))()).default(a)],apple:[],openGraph:[],twitter:[],manifest:void 0}},[]]}.children,q=(0,e.H)({tree:p,page:"/machines/[machineId]/page",pathname:"/machines/[machineId]",require:c,loadChunk:()=>Promise.resolve(),interopDefault:f.T}),r=q.__next_app__,s=q.routeModule,t=q.handler},55511:a=>{"use strict";a.exports=require("crypto")},63033:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},73132:(a,b,c)=>{"use strict";c.d(b,{MachineView:()=>d});let d=(0,c(77943).registerClientReference)(function(){throw Error("Attempted to call MachineView() from the server but MachineView is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/triet/Project/rigscope/src/components/live/machine-view.tsx","MachineView")},81350:(a,b,c)=>{Promise.resolve().then(c.bind(c,85909))},85909:(a,b,c)=>{"use strict";c.d(b,{MachineView:()=>aa});var d=c(48249),e=c(2116),f=c.n(e),g=c(65366);let h=(0,g.A)("Timer",[["line",{x1:"10",x2:"14",y1:"2",y2:"2",key:"14vaq8"}],["line",{x1:"12",x2:"15",y1:"14",y2:"11",key:"17fdiu"}],["circle",{cx:"12",cy:"14",r:"8",key:"1e1u0o"}]]),i=(0,g.A)("HardDrive",[["line",{x1:"22",x2:"2",y1:"12",y2:"12",key:"1y58io"}],["path",{d:"M5.45 5.11 2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z",key:"oot6mr"}],["line",{x1:"6",x2:"6.01",y1:"16",y2:"16",key:"sgf278"}],["line",{x1:"10",x2:"10.01",y1:"16",y2:"16",key:"1l4acy"}]]),j=(0,g.A)("ArrowLeft",[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]]);var k=c(22091),l=c(22338),m=c(81232),n=c(75006),o=c(67484),p=c(38420),q=c(11449),r=c(96480),s=c(43607),t=c(15670),u=c(47978);let v=new Set,w=new Set(["cpu.usage","memory.used","gpu.utilization","gpu.memory.used"]);function x({machine:a}){let[b,c]=(0,o.useState)(v),e=(0,q.er)(a).filter(a=>w.has(a)).join(","),{data:g,error:h}=(0,s.n)({machineId:a.machineId,metricsKey:e,range:"10m"}),i=a=>c(b=>{let c=new Set(b);return c.has(a)?c.delete(a):c.add(a),c}),j=(0,q.ue)(a,g?.result.series??[]),k=(g?.result.series??[]).map(a=>{let b=(0,q.oB)(a.metric),c=a.metric.startsWith("gpu.")?Math.max(1,j.findIndex(b=>b.id===a.resourceId)+1):0,d=(0,q.Lf)(b,c);return{key:`${a.metric}\0${a.resourceId}`,metric:a.metric,resourceId:a.resourceId,label:"cpu.usage"===a.metric?"CPU":"memory.used"===a.metric?"RAM":`GPU ${c}`,color:d.color,dash:d.dash,points:a.points}});return(0,d.jsxs)(l.Z,{title:"Recent usage \xb7 10m",action:(0,d.jsxs)(f(),{href:`/history?machineId=${encodeURIComponent(a.machineId)}`,className:"inline-flex min-h-8 items-center gap-1 text-xs text-accent hover:underline",children:["History",(0,d.jsx)(p.A,{className:"h-3.5 w-3.5","aria-hidden":!0})]}),children:[h?(0,d.jsx)("p",{role:"status",className:"mb-2 text-xs text-warn",children:g?"Refresh failed \xb7 showing saved readings":h.message}):null,g?.result.truncated?(0,d.jsx)("p",{className:"mb-2 text-xs text-warn",children:"Partial history"}):null,g?(0,d.jsx)(u._C,{children:(0,d.jsx)("div",{className:"grid gap-5 lg:grid-cols-2",children:[{title:"CPU & GPU",unit:"percent"},{title:"RAM & VRAM",unit:"bytes"}].map(({title:c,unit:e})=>(0,d.jsx)(t.t,{title:c,unit:e,series:k.filter(a=>(0,q.oB)(a.metric)?.unit===e),fromMs:g.result.fromMs,toMs:g.result.toMs,stepMs:(0,r.jl)(g.result.stepMs,g.result.tier,a.expectedIntervalMs),gaps:g.result.gaps,hiddenKeys:b,onToggleSeries:i,emptyMessage:"No readings"},e))})},a.machineId):(0,d.jsx)("div",{className:"flex min-h-48 items-center justify-center text-xs text-muted-foreground",role:"status",children:h?"History unavailable":"Loading history…"})]})}var y=c(52464),z=c(4155),A=c(50280),B=c(93224),C=c(99837);function D({label:a,valueLabel:b,percent:c,tone:e,ariaLabel:f,note:g}){let h=null===c?null:Math.min(100,Math.max(0,c));return(0,d.jsxs)("div",{className:"min-w-0",children:[(0,d.jsxs)("div",{className:"flex flex-wrap items-baseline justify-between gap-x-2 gap-y-0.5",children:[(0,d.jsx)("span",{className:"text-xs text-muted-foreground",children:a}),(0,d.jsx)("span",{className:"tnum text-xs text-foreground",children:b})]}),(0,d.jsx)("div",{role:"img","aria-label":f,className:"mt-1.5 h-1.5 w-full overflow-hidden rounded-full bg-card-strong",children:null===h?(0,d.jsx)("div",{className:"h-full w-full rounded-full border border-dashed border-border"}):(0,d.jsx)("div",{className:"h-full rounded-full",style:{width:`${h}%`,backgroundColor:"cpu"===e?"var(--cpu)":"mem"===e?"var(--mem)":"swap"===e?"var(--swap)":"gpu"===e?"var(--accent)":"var(--mem)"}})}),g?(0,d.jsx)("p",{className:"mt-1.5 text-xs text-muted-foreground",children:g}):null]})}function E({label:a,value:b}){return(0,d.jsxs)("div",{className:"flex items-baseline justify-between gap-3",children:[(0,d.jsx)("dt",{className:"text-xs text-muted-foreground",children:a}),(0,d.jsx)("dd",{className:"tnum min-w-0 truncate text-right text-xs text-foreground",children:b})]})}function F({children:a}){return(0,d.jsx)("p",{className:"text-xs text-muted-foreground",children:a})}function G({reason:a}){return(0,d.jsxs)("p",{className:"text-xs text-warn",children:["Unavailable — ",a]})}function H({children:a}){return(0,d.jsx)("h3",{className:"text-xs font-medium text-muted-foreground",children:a})}function I({stale:a}){return a?(0,d.jsx)(A.vw,{text:"last known",title:"Retained from the last accepted sample"}):null}function J(a,b){return Number.isFinite(a)&&Number.isFinite(b)&&!(b<=0)?a/b*100:null}function K(a,b){return"available"===a.state?b:a.reason}function L({readings:a,className:b=""}){let c=new Map;for(let b of a){if("value"===b.reading.state)continue;let a=c.get(b.reading.reason)??[];a.push(b.label),c.set(b.reading.reason,a)}return(0,d.jsxs)("div",{className:b,children:[(0,d.jsx)("dl",{className:"grid grid-cols-2 gap-x-4 gap-y-2 sm:grid-cols-4",children:a.map(({label:a,reading:b,format:c})=>{let e="value"===b.state;return(0,d.jsxs)("div",{className:"min-w-0",children:[(0,d.jsx)("dt",{className:"text-xs text-muted-foreground",children:a}),(0,d.jsxs)("dd",{className:"tnum text-xs text-foreground",title:e?void 0:b.reason,children:[e?c(b.value):"—",e&&b.stale?(0,d.jsx)("span",{className:"ml-1 text-muted-foreground",children:"last known"}):null]})]},a)})}),c.size>0?(0,d.jsx)("p",{className:"mt-1.5 text-xs leading-relaxed text-muted-foreground",children:[...c].map(([a,b])=>`${b.join(", ")} — ${a}`).join(" \xb7 ")}):null]})}function M({view:a,ageLabel:b,held:c,className:e}){var f;let g=a.cpu.perCore;return(0,d.jsxs)(l.Z,{title:"CPU",className:e,action:(0,d.jsx)(I,{stale:a.stale}),children:[(0,d.jsxs)("div",{className:"grid gap-6 lg:grid-cols-[minmax(0,13rem)_minmax(0,1fr)] lg:items-start",children:[(0,d.jsx)("div",{className:"flex flex-col items-center",children:(0,d.jsx)(A.iL,{metricName:"CPU",field:"value"===(f=a.cpu.total).state?f.stale?{out:"stale",value:f.value}:{out:"value",value:f.value}:"unavailable"===f.state?{out:"unavailable",reason:f.reason}:{out:"absent"},ageLabel:b,isHeld:c,thresholdMs:a.thresholdMs})}),(0,d.jsxs)("div",{className:"min-w-0",children:[(0,d.jsxs)("div",{className:"flex items-baseline justify-between gap-3",children:[(0,d.jsx)(H,{children:"Per logical core"}),"value"===g.state?(0,d.jsxs)("span",{className:"tnum text-xs text-muted-foreground",children:[(0,C.B4)(g.value.length)," cores"]}):null]}),"value"===g.state?(0,d.jsx)(d.Fragment,{children:(0,d.jsx)("ul",{className:"mt-2 grid grid-cols-[repeat(auto-fit,minmax(3.5rem,1fr))] gap-1.5",children:g.value.map((a,b)=>{let c=null!==a,e=c?Math.min(100,Math.max(0,a)):0;return(0,d.jsxs)("li",{className:"rounded-md border border-border bg-card-strong/40 px-1.5 py-1",title:c?`Core ${b}: ${(0,B.l9)(a)}`:`Core ${b}: counter regressed or was missing for this interval`,children:[(0,d.jsxs)("div",{className:"flex flex-col items-start gap-0.5",children:[(0,d.jsxs)("span",{className:"tnum text-xs text-muted-foreground",children:["C",b]}),(0,d.jsx)("span",{className:"tnum text-xs text-foreground",children:c?(0,B.l9)(a):"—"})]}),(0,d.jsx)("div",{"aria-hidden":!0,className:"mt-1 h-0.5 w-full overflow-hidden rounded-full bg-border",children:c?(0,d.jsx)("div",{className:"h-full rounded-full",style:{width:`${e}%`,backgroundColor:"var(--cpu)"}}):null}),(0,d.jsx)("span",{className:"sr-only",children:c?`Core ${b} at ${(0,B.l9)(a)}`:`Core ${b} unavailable this interval`})]},b)})})}):"unavailable"===g.state?(0,d.jsx)("div",{className:"mt-2",children:(0,d.jsx)(G,{reason:g.reason})}):(0,d.jsx)("div",{className:"mt-2",children:(0,d.jsx)(F,{children:g.reason})})]})]}),(0,d.jsxs)("div",{className:"mt-4 border-t border-border pt-3",children:[(0,d.jsx)(H,{children:"Heat, power and stalls"}),(0,d.jsx)(L,{className:"mt-1",readings:[{label:"Temperature",reading:a.bottlenecks.cpuTemperature,format:C.cH},{label:"Package power",reading:a.bottlenecks.cpuPower,format:C.d5},{label:"I/O wait",reading:a.bottlenecks.cpuIowait,format:B.l9},{label:"Pressure",reading:a.bottlenecks.cpuPressure,format:B.l9}]})]})]})}function N({view:a,ageLabel:b,held:c,className:e}){var f;let g=a.swap;return(0,d.jsx)(l.Z,{title:"Memory and swap",className:e,action:(0,d.jsx)(I,{stale:a.stale}),children:(0,d.jsxs)("div",{className:"flex flex-col gap-5",children:[(0,d.jsxs)("div",{children:[(0,d.jsx)(H,{children:"Memory"}),(0,d.jsx)("div",{className:"mt-2",children:(0,d.jsx)(A.jB,{field:"value"===(f=a.memory).state?f.stale?{out:"stale",usedBytes:f.value.usedBytes,totalBytes:f.value.totalBytes}:{out:"value",usedBytes:f.value.usedBytes,totalBytes:f.value.totalBytes}:"unavailable"===f.state?{out:"unavailable",reason:f.reason}:{out:"absent"},ageLabel:b,isHeld:c,thresholdMs:a.thresholdMs})})]}),(0,d.jsxs)("div",{className:"border-t border-border pt-4",children:[(0,d.jsx)(H,{children:"Pressure"}),(0,d.jsx)(L,{className:"mt-1",readings:[{label:"Some tasks",reading:a.bottlenecks.memoryPressureSome,format:B.l9},{label:"Full",reading:a.bottlenecks.memoryPressureFull,format:B.l9}]})]}),(0,d.jsxs)("div",{className:"border-t border-border pt-4",children:[(0,d.jsx)(H,{children:"Swap"}),"value"===g.state?0===g.value.totalBytes?(0,d.jsxs)("div",{className:"mt-2 flex flex-col gap-1",children:[(0,d.jsx)("p",{className:"text-sm",children:"No swap configured."}),(0,d.jsx)(F,{children:"SwapTotal is zero; this is a valid configuration, not a missing reading."})]}):(0,d.jsxs)("div",{className:"mt-2 flex flex-col gap-2",children:[(0,d.jsx)(D,{label:"Used",valueLabel:`${(0,B.z3)(g.value.usedBytes)} / ${(0,B.z3)(g.value.totalBytes)}`,percent:J(g.value.usedBytes,g.value.totalBytes),tone:"swap",ariaLabel:`Swap ${(0,B.z3)(g.value.usedBytes)} of ${(0,B.z3)(g.value.totalBytes)}`}),(0,d.jsxs)("p",{className:"tnum text-xs text-muted-foreground",children:[(0,B.l9)(J(g.value.usedBytes,g.value.totalBytes))," used",g.stale?" \xb7 last known":""]})]}):"unavailable"===g.state?(0,d.jsx)("div",{className:"mt-2",children:(0,d.jsx)(G,{reason:g.reason})}):(0,d.jsx)("div",{className:"mt-2",children:(0,d.jsx)(F,{children:g.reason})})]})]})})}function O({card:a}){let b="supported"===a.telemetry;return(0,d.jsxs)("article",{className:"flex min-w-0 flex-col gap-3 rounded-lg border border-border bg-card-strong/25 p-3",children:[(0,d.jsxs)("div",{className:"flex flex-wrap items-start justify-between gap-2",children:[(0,d.jsxs)("div",{className:"min-w-0",children:[(0,d.jsx)("h3",{className:"truncate text-sm font-medium",children:a.name}),(0,d.jsxs)("p",{className:"tnum truncate text-xs text-muted-foreground",children:[a.vendor,a.pciBusId?` \xb7 ${a.pciBusId}`:""]})]}),(0,d.jsxs)("div",{className:"flex shrink-0 flex-wrap items-center gap-1.5",children:[b?null:(0,d.jsx)(A.vw,{text:"no telemetry",title:a.reason??"Management adapter"}),a.stale&&"ok"===a.state?(0,d.jsx)(A.vw,{text:"last known",title:"Retained from the last accepted sample"}):null]})]}),"ok"===a.state?(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(D,{label:"GPU utilization",valueLabel:null===a.utilizationPercent?"Not reported":(0,B.l9)(a.utilizationPercent),percent:a.utilizationPercent,tone:"gpu",ariaLabel:null===a.utilizationPercent?`${a.name} utilization not reported`:`${a.name} utilization ${(0,B.l9)(a.utilizationPercent)}`}),(0,d.jsx)(D,{label:"VRAM",valueLabel:null===a.memoryUsedBytes||null===a.memoryTotalBytes?"Not reported":`${(0,B.z3)(a.memoryUsedBytes)} / ${(0,B.z3)(a.memoryTotalBytes)}`,percent:null!==a.memoryUsedBytes&&null!==a.memoryTotalBytes?J(a.memoryUsedBytes,a.memoryTotalBytes):null,tone:"gpu",ariaLabel:null===a.memoryUsedBytes||null===a.memoryTotalBytes?`${a.name} VRAM not reported`:`${a.name} VRAM ${(0,B.z3)(a.memoryUsedBytes)} of ${(0,B.z3)(a.memoryTotalBytes)}`}),(0,d.jsxs)("dl",{className:"grid grid-cols-2 gap-x-4 gap-y-1",children:[(0,d.jsx)(E,{label:"Temperature",value:null===a.temperatureC?"Not reported":(0,C.cH)(a.temperatureC)}),(0,d.jsx)(E,{label:"Power",value:null===a.powerWatts?"Not reported":(0,C.d5)(a.powerWatts)})]})]}):(0,d.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,d.jsx)("p",{className:"text-xs text-muted-foreground",children:"unsupported"===a.state?"No telemetry.":"No readings for this device."}),a.reason?(0,d.jsx)("p",{className:"text-xs text-warn",children:a.reason}):null,null!==a.memoryTotalBytes?(0,d.jsx)("dl",{className:"mt-1",children:(0,d.jsx)(E,{label:"VRAM total",value:(0,B.z3)(a.memoryTotalBytes)})}):null]})]})}function P({view:a,className:b}){let c=a.gpus.cards;return(0,d.jsx)(l.Z,{title:"GPUs",className:b,action:(0,d.jsxs)("span",{className:"flex items-center gap-2",children:[(0,d.jsx)("span",{className:"tnum",children:0===c.length?"0 devices":`${c.length} device${1===c.length?"":"s"}`}),(0,d.jsx)(I,{stale:a.stale})]}),children:0===c.length?"unavailable"===a.gpus.family.state?(0,d.jsx)(G,{reason:a.gpus.family.reason}):(0,d.jsx)(F,{children:K(a.gpus.family,"No GPU devices were reported.")}):(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("div",{className:"grid gap-3 md:grid-cols-2 xl:grid-cols-3",children:c.map(a=>(0,d.jsx)(O,{card:a},a.id))}),"unavailable"===a.gpus.family.state?(0,d.jsxs)("p",{className:"mt-3 text-xs text-warn",children:["GPU unavailable \xb7 ",a.gpus.family.reason]}):a.gpus.partial?(0,d.jsx)("p",{className:"mt-3 text-xs text-warn",children:"Some GPUs are not reporting."}):null]})})}function Q({filesystem:a}){let b="ok"===a.state&&null!==a.usedBytes&&null!==a.totalBytes?J(a.usedBytes,a.totalBytes):null,c="ok"===a.state&&null!==a.usedBytes&&null!==a.totalBytes?`${(0,B.z3)(a.usedBytes)} / ${(0,B.z3)(a.totalBytes)}`:null!==a.totalBytes?`${(0,B.z3)(a.totalBytes)} total`:"Unavailable",e="ok"===a.state&&null!==a.inodesUsed&&null!==a.inodesTotal&&a.inodesTotal>0?J(a.inodesUsed,a.inodesTotal):null;return(0,d.jsxs)("li",{className:"py-2.5",children:[(0,d.jsxs)("div",{className:"flex flex-wrap items-baseline justify-between gap-x-3 gap-y-1",children:[(0,d.jsx)("span",{className:"break-all font-mono text-xs text-foreground",children:a.mountPoint}),(0,d.jsxs)("span",{className:"tnum break-all text-xs text-muted-foreground",children:[a.fsType,a.device?` \xb7 ${a.device}`:""]})]}),(0,d.jsx)("div",{className:"mt-2",children:(0,d.jsx)(D,{label:"Capacity",valueLabel:c,percent:b,tone:"disk",ariaLabel:`${a.mountPoint} ${c}`})}),"ok"===a.state?(0,d.jsx)("p",{className:"tnum mt-1 text-xs text-muted-foreground",title:null===e?"Inode usage was not reported for this filesystem.":void 0,children:null===e?"Inodes not reported":`Inodes ${(0,B.l9)(e)} used \xb7 ${(0,C.B4)(a.inodesUsed)} / ${(0,C.B4)(a.inodesTotal)}`}):null,"unavailable"===a.state&&a.reason?(0,d.jsx)("p",{className:"mt-1.5 text-xs text-warn",children:a.reason}):"inventory"===a.state&&a.reason?(0,d.jsx)("p",{className:"mt-1.5 text-xs text-muted-foreground",children:a.reason}):a.stale?(0,d.jsx)("p",{className:"mt-1.5 text-xs text-muted-foreground",children:"Last known usage."}):null]})}function R({disk:a}){let b=null===a.rotational?"Unknown media":a.rotational?"Rotational":"Solid state",c=[null===a.readLatencyMs?"read latency":null,null===a.writeLatencyMs?"write latency":null,null===a.ioUtilizationPercent?"utilization":null].filter(a=>null!==a);return(0,d.jsxs)("li",{className:"py-2.5",children:[(0,d.jsxs)("div",{className:"flex flex-wrap items-baseline justify-between gap-x-3 gap-y-1",children:[(0,d.jsx)("span",{className:"font-mono text-xs text-foreground",children:a.name}),(0,d.jsxs)("span",{className:"tnum text-xs text-muted-foreground",children:[b,null!==a.sizeBytes?` \xb7 ${(0,B.z3)(a.sizeBytes)}`:""]})]}),a.model?(0,d.jsx)("p",{className:"mt-0.5 truncate text-xs text-muted-foreground",children:a.model}):null,"ok"===a.state?(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)("dl",{className:"mt-1.5 grid grid-cols-2 gap-x-4 gap-y-1 sm:grid-cols-4",children:[(0,d.jsx)(E,{label:"Read",value:(0,C.CE)(a.readBytesPerSec)}),(0,d.jsx)(E,{label:"Write",value:(0,C.CE)(a.writeBytesPerSec)}),(0,d.jsx)(E,{label:"Read latency",value:(0,C.YL)(a.readLatencyMs)}),(0,d.jsx)(E,{label:"Write latency",value:(0,C.YL)(a.writeLatencyMs)}),(0,d.jsx)(E,{label:"Utilization",value:null===a.ioUtilizationPercent?"—":(0,B.l9)(a.ioUtilizationPercent)})]}),c.length>0?(0,d.jsxs)("p",{className:"mt-1 text-xs text-muted-foreground",children:["Not reported: ",c.join(", "),"."]}):null]}):(0,d.jsx)("p",{className:`mt-1.5 text-xs ${"unavailable"===a.state?"text-warn":"text-muted-foreground"}`,children:a.reason??"No current I/O reading."}),"ok"===a.state&&a.stale?(0,d.jsx)("p",{className:"mt-1 text-xs text-muted-foreground",children:"Last known rates."}):null]})}function S({view:a,className:b}){let c=a.filesystems.items,e=a.disks.items;return(0,d.jsxs)(l.Z,{title:"Disks",className:b,action:(0,d.jsx)(I,{stale:a.stale}),children:[0===c.length&&0===e.length?"unavailable"===a.disks.family.state?(0,d.jsx)(G,{reason:a.disks.family.reason}):(0,d.jsx)(F,{children:K(a.disks.family,"No disks or filesystems were reported.")}):null,(0,d.jsxs)("div",{className:"mt-5 flex flex-col gap-5",children:[c.length>0?(0,d.jsxs)("div",{children:[(0,d.jsx)(H,{children:"Filesystems"}),(0,d.jsx)("ul",{className:"mt-1 divide-y divide-border",children:c.map(a=>(0,d.jsx)(Q,{filesystem:a},a.id))})]}):null,e.length>0?(0,d.jsxs)("div",{className:c.length>0?"border-t border-border pt-4":"",children:[(0,d.jsx)(H,{children:"Devices"}),(0,d.jsx)("ul",{className:"mt-1 divide-y divide-border",children:e.map(a=>(0,d.jsx)(R,{disk:a},a.id))})]}):null,"unavailable"!==a.disks.family.state?(0,d.jsxs)("div",{className:c.length>0||e.length>0?"border-t border-border pt-4":"",children:[(0,d.jsx)(H,{children:"I/O pressure"}),(0,d.jsx)(L,{className:"mt-1",readings:[{label:"Some tasks",reading:a.bottlenecks.ioPressureSome,format:B.l9},{label:"Full",reading:a.bottlenecks.ioPressureFull,format:B.l9}]})]}):null]})]})}function T({iface:a}){let b="up"===a.linkState?"Link up":"down"===a.linkState?"Link down":"Link state unknown";return(0,d.jsxs)("li",{className:"py-3",children:[(0,d.jsxs)("div",{className:"flex flex-wrap items-baseline justify-between gap-x-3 gap-y-1",children:[(0,d.jsx)("span",{className:"font-mono text-xs text-foreground",children:a.name}),(0,d.jsxs)("span",{className:"flex flex-wrap items-center gap-1.5",children:[a.virtual?(0,d.jsx)(A.vw,{text:"virtual",title:"Virtual interface, not physical hardware"}):null,(0,d.jsx)("span",{className:"tnum text-xs text-muted-foreground",children:b}),null!==a.speedMbps?(0,d.jsx)("span",{className:"tnum text-xs text-muted-foreground",children:(0,C.Zf)(a.speedMbps)}):null]})]}),a.addresses.length>0?(0,d.jsx)("ul",{className:"mt-1 flex flex-wrap gap-x-3 gap-y-1",children:a.addresses.map((a,b)=>(0,d.jsxs)("li",{className:"tnum break-all font-mono text-xs text-muted-foreground",children:[a.address,"/",a.prefix,(0,d.jsx)("span",{className:"ml-1 font-sans text-xs uppercase tracking-wide",children:"ipv4"===a.family?"v4":"v6"})]},`${a.family}:${a.address}/${a.prefix}:${b}`))}):(0,d.jsx)("p",{className:"mt-1 text-xs text-muted-foreground",children:"No addresses reported."}),"ok"===a.state?(0,d.jsxs)("dl",{className:"mt-1.5 grid grid-cols-2 gap-x-4 gap-y-1",children:[(0,d.jsx)(E,{label:"Receive",value:(0,C.CE)(a.rxBytesPerSec)}),(0,d.jsx)(E,{label:"Transmit",value:(0,C.CE)(a.txBytesPerSec)})]}):(0,d.jsx)("p",{className:`mt-1.5 text-xs ${"unavailable"===a.state?"text-warn":"text-muted-foreground"}`,children:a.reason??"No current rate reading."}),"ok"===a.state&&a.stale?(0,d.jsx)("p",{className:"mt-1 text-xs text-muted-foreground",children:"Last known rates."}):null]})}function U({view:a,className:b}){let c=a.network.items;return(0,d.jsx)(l.Z,{title:"Network",className:b,action:(0,d.jsx)(I,{stale:a.stale}),children:0===c.length?"unavailable"===a.network.family.state?(0,d.jsx)(G,{reason:a.network.family.reason}):(0,d.jsx)(F,{children:K(a.network.family,"No network interfaces were reported.")}):(0,d.jsx)("ul",{className:"divide-y divide-border",children:c.map(a=>(0,d.jsx)(T,{iface:a},a.id))})})}var V=c(58910),W=c(29356);function X(a){let b,c,{iso:e}=a;return null===e?(0,d.jsx)("span",{className:"text-xs text-muted-foreground",children:"—"}):(0,d.jsxs)("span",{className:"tnum text-sm",children:[Number.isFinite((b=new Date(e)).getTime())?b.toLocaleTimeString(void 0,{hour:"2-digit",minute:"2-digit",second:"2-digit",hour12:!1}):e,(0,d.jsx)("span",{className:"ml-2 text-xs text-muted-foreground",children:Number.isFinite((c=new Date(e)).getTime())?c.toLocaleDateString(void 0,{dateStyle:"medium"}):""})]})}function Y({state:a}){var b;let c=(0,B.L_)(a);return"ahead"!==c.kind&&"behind"!==c.kind?null:(0,d.jsxs)("p",{role:"status",className:"tnum flex items-start gap-2 rounded-lg bg-warn-soft px-3 py-2 text-xs text-foreground",children:[(0,d.jsx)(h,{className:"mt-0.5 h-3.5 w-3.5 shrink-0 text-warn","aria-hidden":!0}),(0,d.jsxs)("span",{children:["Collector clock:"," ",(0,d.jsx)("strong",{className:"font-medium",children:Math.abs(b=c.skewMs)>=6e4?`${Math.abs(Math.round(b/6e4))} min`:`${Math.abs(Math.round(b/1e3))} s`})," ","ahead"===c.kind?"ahead of":"behind"," hub time."]})]})}function Z({state:a}){return(0,d.jsx)(l.Z,{title:"Collector",children:(0,d.jsxs)("div",{className:"flex flex-col gap-3 py-1",children:[(0,d.jsxs)("p",{className:"flex items-center gap-2 text-sm",children:[(0,d.jsx)("span",{"aria-hidden":!0,className:`inline-block h-2 w-2 shrink-0 rounded-full ${a.connected?"bg-ok":"bg-crit"}`}),a.connected?"Connected to the hub":"Not connected to the hub"]}),(0,d.jsxs)("dl",{className:"flex flex-col gap-1 text-xs",children:[(0,d.jsxs)("div",{className:"flex gap-2",children:[(0,d.jsx)("dt",{className:"shrink-0 text-muted-foreground",children:"Collector"}),(0,d.jsx)("dd",{className:"tnum truncate",children:a.collectorId})]}),(0,d.jsxs)("div",{className:"flex gap-2",children:[(0,d.jsx)("dt",{className:"shrink-0 text-muted-foreground",children:"Machine"}),(0,d.jsx)("dd",{className:"tnum truncate",children:a.machineId})]})]}),(0,d.jsx)(f(),{href:"/connections",className:"w-fit rounded-md text-xs text-accent transition-colors hover:underline",children:"Connections"})]})})}function $({state:a,now:b}){let c=a.metrics,e=c?.capturedAt??null,f=c?.receivedAt??a.lastReceivedAt,g=null!=a.expectedIntervalMs,h=g?a.expectedIntervalMs:null,i=(0,B.Cj)(a.expectedIntervalMs);return(0,d.jsx)(l.Z,{title:"Sample times",children:(0,d.jsxs)("div",{className:"flex flex-col gap-3",children:[(0,d.jsxs)("dl",{className:"grid gap-x-8 gap-y-3 sm:grid-cols-2",children:[(0,d.jsx)("dt",{className:"text-xs text-muted-foreground",children:"Captured"}),(0,d.jsx)("dd",{children:(0,d.jsx)(X,{iso:e})}),(0,d.jsx)("dt",{className:"text-xs text-muted-foreground",children:"Received"}),(0,d.jsx)("dd",{children:(0,d.jsxs)("span",{className:"flex flex-wrap items-baseline gap-2",children:[(0,d.jsx)(X,{iso:f}),null!==f?(0,d.jsxs)("span",{className:"tnum text-xs text-muted-foreground",children:["\xb7 updated ",(0,B.nV)((0,B.A4)(f,b))]}):null]})}),(0,d.jsx)("dt",{className:"text-xs text-muted-foreground",children:"Sample interval"}),(0,d.jsx)("dd",{children:g?(0,d.jsx)("span",{className:"tnum text-sm",children:(0,B.$)(h)}):(0,d.jsx)("span",{className:"text-sm text-muted-foreground",children:"Unknown"})}),(0,d.jsx)("dt",{className:"text-xs text-muted-foreground",children:"Stale after"}),(0,d.jsx)("dd",{children:(0,d.jsxs)("span",{className:"tnum text-sm",children:[(0,B.$)(i),g?null:(0,d.jsx)("span",{className:"text-muted-foreground",children:" (fallback)"})]})})]}),(0,d.jsx)(Y,{state:a})]})})}function _({machineId:a,machineCount:b}){return 0===b?(0,d.jsx)(l.Z,{title:"No machines",className:"mt-8",children:(0,d.jsx)(l.p,{icon:i,note:"No machines are available in your authorized fleet."})}):(0,d.jsxs)(l.Z,{title:"Machine not found",className:"mt-8",children:[(0,d.jsx)(l.p,{icon:i,note:"This machine is unavailable or outside your access."}),(0,d.jsxs)("p",{className:"tnum mt-2 text-center text-xs text-muted-foreground",children:["Requested identifier: ",a]}),(0,d.jsx)("div",{className:"flex justify-center",children:(0,d.jsxs)(f(),{href:"/",className:"mt-2 inline-flex items-center gap-1.5 rounded-md border border-border px-3 py-1.5 text-xs text-foreground transition-colors hover:bg-card-strong",children:[(0,d.jsx)(j,{className:"h-3.5 w-3.5","aria-hidden":!0}),"Back to fleet"]})})]})}function aa({machineId:a}){let{phase:b,machines:c}=(0,V.M)(),{machine:e}=(0,y.JG)("overview",a),f=(0,z.x)(),g=(0,W.c)(),h="live"===b||"reconnecting"===b||"disconnected"===b,i=h?e:void 0,j="reconnecting"===b||"disconnected"===b,l=i?(0,C.hL)(i,g):null,o=i?i.metrics?.receivedAt??i.lastReceivedAt:null,p=o?(0,B.nV)((0,B.A4)(o,g)):null;return(0,d.jsx)(k.G,{title:"Overview",machineId:a,machineView:"overview",headerRight:(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(m.$E,{}),(0,d.jsx)(n.B,{})]}),children:f||(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(z.E,{}),i&&l?(0,d.jsxs)(d.Fragment,{children:[l.tags.length>0?(0,d.jsx)("ul",{className:"mb-4 flex flex-wrap gap-1.5","aria-label":"Machine tags",children:l.tags.map(a=>(0,d.jsx)("li",{className:"rounded-full border border-border px-2 py-0.5 text-xs text-muted-foreground",children:a},a))}):null,(0,d.jsxs)("section",{"aria-label":`${l.displayName} live overview`,className:"grid grid-cols-1 gap-5 xl:grid-cols-3",children:[(0,d.jsx)(M,{view:l,ageLabel:p,held:j,className:"xl:col-span-2"}),(0,d.jsx)(N,{view:l,ageLabel:p,held:j}),(0,d.jsx)("div",{className:"min-w-0 xl:col-span-3",children:(0,d.jsx)(x,{machine:i},a)}),(0,d.jsx)(P,{view:l,className:"xl:col-span-3"}),(0,d.jsx)(S,{view:l,className:"xl:col-span-2"}),(0,d.jsx)(U,{view:l})]}),(0,d.jsxs)("details",{className:"mt-5 max-w-4xl text-xs text-muted-foreground",children:[(0,d.jsx)("summary",{className:"inline-flex min-h-9 cursor-pointer items-center rounded-md hover:text-foreground",children:"Collector details"}),(0,d.jsxs)("div",{className:"mt-3 grid gap-4 lg:grid-cols-2",children:[(0,d.jsx)(Z,{state:i}),(0,d.jsx)($,{state:i,now:g})]})]})]}):h?(0,d.jsx)(_,{machineId:a,machineCount:c.length}):null]})})}}};var b=require("../../../webpack-runtime.js");b.C(a);var c=b.X(0,[266,430,721,161,751,364,168],()=>b(b.s=51603));module.exports=c})();
1
+ (()=>{var a={};a.id=900,a.ids=[900],a.modules={3295:a=>{"use strict";a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},8128:a=>{"use strict";a.exports=require("next/dist/server/runtime-reacts.external.js")},10846:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},12894:(a,b,c)=>{Promise.resolve().then(c.bind(c,73132))},19121:a=>{"use strict";a.exports=require("next/dist/server/app-render/action-async-storage.external.js")},28354:a=>{"use strict";a.exports=require("util")},29294:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},33873:a=>{"use strict";a.exports=require("path")},38420:(a,b,c)=>{"use strict";c.d(b,{A:()=>d});let d=(0,c(65366).A)("ChevronRight",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]])},38522:a=>{"use strict";a.exports=require("node:zlib")},41025:a=>{"use strict";a.exports=require("next/dist/server/app-render/dynamic-access-async-storage.external.js")},46060:a=>{"use strict";a.exports=require("next/dist/shared/lib/no-fallback-error.external.js")},49354:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>g,metadata:()=>f});var d=c(5735),e=c(73132);let f={title:"Machine"};async function g({params:a}){let{machineId:b}=await a;return(0,d.jsx)(e.MachineView,{machineId:b})}},51603:(a,b,c)=>{"use strict";c.r(b),c.d(b,{__next_app__:()=>r,handler:()=>t,routeModule:()=>s});var d=c(21635),e=c(86315),f=c(1020),g=c(61287),h={};for(let a in g)0>["default","__next_app__","routeModule","handler"].indexOf(a)&&(h[a]=()=>g[a]);c.d(b,h);let i=(0,d.p)(()=>Promise.resolve().then(c.bind(c,76537))),j=(0,d.p)(()=>Promise.resolve().then(c.t.bind(c,95547,23))),k=(0,d.p)(()=>Promise.resolve().then(c.t.bind(c,55091,23))),l=(0,d.p)(()=>Promise.resolve().then(c.t.bind(c,45270,23))),m=(0,d.p)(()=>Promise.resolve().then(c.t.bind(c,28193,23))),n=(0,d.p)(()=>Promise.resolve().then(c.t.bind(c,95547,23))),o=(0,d.p)(()=>Promise.resolve().then(c.t.bind(c,95547,23))),p={children:["",{children:["machines",{children:["[machineId]",{children:["__PAGE__",{},{page:[(0,d.p)(()=>Promise.resolve().then(c.bind(c,49354))),"/home/triet/Project/rigscope/src/app/machines/[machineId]/page.tsx"]}]},{"global-error":[o,"next/dist/client/components/builtin/global-error.js"]},[]]},{"global-error":[n,"next/dist/client/components/builtin/global-error.js"],metadata:{icon:[async a=>(await (0,d.p)(()=>Promise.resolve().then(c.bind(c,59645)))()).default(a)],apple:[],openGraph:[],twitter:[],manifest:void 0}},[]]},{layout:[i,"/home/triet/Project/rigscope/src/app/layout.tsx"],"global-error":[j,"next/dist/client/components/builtin/global-error.js"],"not-found":[k,"next/dist/client/components/builtin/not-found.js"],forbidden:[l,"next/dist/client/components/builtin/forbidden.js"],unauthorized:[m,"next/dist/client/components/builtin/unauthorized.js"],metadata:{icon:[async a=>(await (0,d.p)(()=>Promise.resolve().then(c.bind(c,59645)))()).default(a)],apple:[],openGraph:[],twitter:[],manifest:void 0}},[]]}.children,q=(0,e.H)({tree:p,page:"/machines/[machineId]/page",pathname:"/machines/[machineId]",require:c,loadChunk:()=>Promise.resolve(),interopDefault:f.T}),r=q.__next_app__,s=q.routeModule,t=q.handler},55511:a=>{"use strict";a.exports=require("crypto")},63033:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},73132:(a,b,c)=>{"use strict";c.d(b,{MachineView:()=>d});let d=(0,c(77943).registerClientReference)(function(){throw Error("Attempted to call MachineView() from the server but MachineView is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/triet/Project/rigscope/src/components/live/machine-view.tsx","MachineView")},81350:(a,b,c)=>{Promise.resolve().then(c.bind(c,85909))},85909:(a,b,c)=>{"use strict";c.d(b,{MachineView:()=>aa});var d=c(48249),e=c(2116),f=c.n(e),g=c(65366);let h=(0,g.A)("Timer",[["line",{x1:"10",x2:"14",y1:"2",y2:"2",key:"14vaq8"}],["line",{x1:"12",x2:"15",y1:"14",y2:"11",key:"17fdiu"}],["circle",{cx:"12",cy:"14",r:"8",key:"1e1u0o"}]]),i=(0,g.A)("HardDrive",[["line",{x1:"22",x2:"2",y1:"12",y2:"12",key:"1y58io"}],["path",{d:"M5.45 5.11 2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z",key:"oot6mr"}],["line",{x1:"6",x2:"6.01",y1:"16",y2:"16",key:"sgf278"}],["line",{x1:"10",x2:"10.01",y1:"16",y2:"16",key:"1l4acy"}]]),j=(0,g.A)("ArrowLeft",[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]]);var k=c(22091),l=c(22338),m=c(81232),n=c(75006),o=c(67484),p=c(38420),q=c(11449),r=c(96480),s=c(43607),t=c(15670),u=c(47978);let v=new Set,w=new Set(["cpu.usage","memory.used","gpu.utilization","gpu.memory.used"]);function x({machine:a}){let[b,c]=(0,o.useState)(v),e=(0,q.er)(a).filter(a=>w.has(a)).join(","),{data:g,error:h}=(0,s.n)({machineId:a.machineId,metricsKey:e,range:"10m"}),i=a=>c(b=>{let c=new Set(b);return c.has(a)?c.delete(a):c.add(a),c}),j=(0,q.ue)(a,g?.result.series??[]),k=(g?.result.series??[]).map(a=>{let b=(0,q.oB)(a.metric),c=a.metric.startsWith("gpu.")?Math.max(1,j.findIndex(b=>b.id===a.resourceId)+1):0,d=(0,q.Lf)(b,c);return{key:`${a.metric}\0${a.resourceId}`,metric:a.metric,resourceId:a.resourceId,label:"cpu.usage"===a.metric?"CPU":"memory.used"===a.metric?"RAM":`GPU ${c}`,color:d.color,dash:d.dash,points:a.points}});return(0,d.jsxs)(l.Z,{title:"Recent usage \xb7 10m",action:(0,d.jsxs)(f(),{href:`/history?machineId=${encodeURIComponent(a.machineId)}`,className:"inline-flex min-h-8 items-center gap-1 text-xs text-accent hover:underline",children:["History",(0,d.jsx)(p.A,{className:"h-3.5 w-3.5","aria-hidden":!0})]}),children:[h?(0,d.jsx)("p",{role:"status",className:"mb-2 text-xs text-warn",children:g?"Refresh failed \xb7 showing saved readings":h.message}):null,g?.result.truncated?(0,d.jsx)("p",{className:"mb-2 text-xs text-warn",children:"Partial history"}):null,g?(0,d.jsx)(u._C,{children:(0,d.jsx)("div",{className:"grid gap-5 lg:grid-cols-2",children:[{title:"CPU & GPU",unit:"percent"},{title:"RAM & VRAM",unit:"bytes"}].map(({title:c,unit:e})=>(0,d.jsx)(t.t,{title:c,unit:e,series:k.filter(a=>(0,q.oB)(a.metric)?.unit===e),fromMs:g.result.fromMs,toMs:g.result.toMs,stepMs:(0,r.jl)(g.result.stepMs,g.result.tier,a.expectedIntervalMs),gaps:g.result.gaps,hiddenKeys:b,onToggleSeries:i,emptyMessage:"No readings"},e))})},a.machineId):(0,d.jsx)("div",{className:"flex min-h-48 items-center justify-center text-xs text-muted-foreground",role:"status",children:h?"History unavailable":"Loading history…"})]})}var y=c(52464),z=c(4155),A=c(50280),B=c(93224),C=c(99837);function D({label:a,valueLabel:b,percent:c,tone:e,ariaLabel:f,note:g}){let h=null===c?null:Math.min(100,Math.max(0,c));return(0,d.jsxs)("div",{className:"min-w-0",children:[(0,d.jsxs)("div",{className:"flex flex-wrap items-baseline justify-between gap-x-2 gap-y-0.5",children:[(0,d.jsx)("span",{className:"text-xs text-muted-foreground",children:a}),(0,d.jsx)("span",{className:"tnum text-xs text-foreground",children:b})]}),(0,d.jsx)("div",{role:"img","aria-label":f,className:"mt-1.5 h-1.5 w-full overflow-hidden rounded-full bg-card-strong",children:null===h?(0,d.jsx)("div",{className:"h-full w-full rounded-full border border-dashed border-border"}):(0,d.jsx)("div",{className:"h-full rounded-full",style:{width:`${h}%`,backgroundColor:"cpu"===e?"var(--cpu)":"mem"===e?"var(--mem)":"swap"===e?"var(--swap)":"gpu"===e?"var(--accent)":"var(--mem)"}})}),g?(0,d.jsx)("p",{className:"mt-1.5 text-xs text-muted-foreground",children:g}):null]})}function E({label:a,value:b}){return(0,d.jsxs)("div",{className:"flex items-baseline justify-between gap-3",children:[(0,d.jsx)("dt",{className:"text-xs text-muted-foreground",children:a}),(0,d.jsx)("dd",{className:"tnum min-w-0 truncate text-right text-xs text-foreground",children:b})]})}function F({children:a}){return(0,d.jsx)("p",{className:"text-xs text-muted-foreground",children:a})}function G({reason:a}){return(0,d.jsxs)("p",{className:"text-xs text-warn",children:["Unavailable — ",a]})}function H({children:a}){return(0,d.jsx)("h3",{className:"text-xs font-medium text-muted-foreground",children:a})}function I({stale:a}){return a?(0,d.jsx)(A.vw,{text:"last known",title:"Retained from the last accepted sample"}):null}function J(a,b){return Number.isFinite(a)&&Number.isFinite(b)&&!(b<=0)?a/b*100:null}function K(a,b){return"available"===a.state?b:a.reason}function L({readings:a,className:b=""}){let c=new Map;for(let b of a){if("value"===b.reading.state)continue;let a=c.get(b.reading.reason)??[];a.push(b.label),c.set(b.reading.reason,a)}return(0,d.jsxs)("div",{className:b,children:[(0,d.jsx)("dl",{className:"grid grid-cols-2 gap-x-4 gap-y-2 sm:grid-cols-4",children:a.map(({label:a,reading:b,format:c})=>{let e="value"===b.state;return(0,d.jsxs)("div",{className:"min-w-0",children:[(0,d.jsx)("dt",{className:"text-xs text-muted-foreground",children:a}),(0,d.jsxs)("dd",{className:"tnum text-xs text-foreground",title:e?void 0:b.reason,children:[e?c(b.value):"—",e&&b.stale?(0,d.jsx)("span",{className:"ml-1 text-muted-foreground",children:"last known"}):null]})]},a)})}),c.size>0?(0,d.jsx)("p",{className:"mt-1.5 text-xs leading-relaxed text-muted-foreground",children:[...c].map(([a,b])=>`${b.join(", ")} — ${a}`).join(" \xb7 ")}):null]})}function M({view:a,ageLabel:b,held:c,className:e}){var f;let g=a.cpu.perCore;return(0,d.jsxs)(l.Z,{title:"CPU",className:e,action:(0,d.jsx)(I,{stale:a.stale}),children:[(0,d.jsxs)("div",{className:"grid gap-6 lg:grid-cols-[minmax(0,13rem)_minmax(0,1fr)] lg:items-start",children:[(0,d.jsx)("div",{className:"flex flex-col items-center",children:(0,d.jsx)(A.iL,{metricName:"CPU",field:"value"===(f=a.cpu.total).state?f.stale?{out:"stale",value:f.value}:{out:"value",value:f.value}:"unavailable"===f.state?{out:"unavailable",reason:f.reason}:{out:"absent"},ageLabel:b,isHeld:c,thresholdMs:a.thresholdMs})}),(0,d.jsxs)("div",{className:"min-w-0",children:[(0,d.jsxs)("div",{className:"flex items-baseline justify-between gap-3",children:[(0,d.jsx)(H,{children:"Per logical core"}),"value"===g.state?(0,d.jsxs)("span",{className:"tnum text-xs text-muted-foreground",children:[(0,C.B4)(g.value.length)," cores"]}):null]}),"value"===g.state?(0,d.jsx)(d.Fragment,{children:(0,d.jsx)("ul",{className:"mt-2 grid grid-cols-[repeat(auto-fit,minmax(3.5rem,1fr))] gap-1.5",children:g.value.map((a,b)=>{let c=null!==a,e=c?Math.min(100,Math.max(0,a)):0;return(0,d.jsxs)("li",{className:"rounded-md border border-border bg-card-strong/40 px-1.5 py-1",title:c?`Core ${b}: ${(0,B.l9)(a)}`:`Core ${b}: counter regressed or was missing for this interval`,children:[(0,d.jsxs)("div",{className:"flex flex-col items-start gap-0.5",children:[(0,d.jsxs)("span",{className:"tnum text-xs text-muted-foreground",children:["C",b]}),(0,d.jsx)("span",{className:"tnum text-xs text-foreground",children:c?(0,B.l9)(a):"—"})]}),(0,d.jsx)("div",{"aria-hidden":!0,className:"mt-1 h-0.5 w-full overflow-hidden rounded-full bg-border",children:c?(0,d.jsx)("div",{className:"h-full rounded-full",style:{width:`${e}%`,backgroundColor:"var(--cpu)"}}):null}),(0,d.jsx)("span",{className:"sr-only",children:c?`Core ${b} at ${(0,B.l9)(a)}`:`Core ${b} unavailable this interval`})]},b)})})}):"unavailable"===g.state?(0,d.jsx)("div",{className:"mt-2",children:(0,d.jsx)(G,{reason:g.reason})}):(0,d.jsx)("div",{className:"mt-2",children:(0,d.jsx)(F,{children:g.reason})})]})]}),(0,d.jsxs)("div",{className:"mt-4 border-t border-border pt-3",children:[(0,d.jsx)(H,{children:"Heat, power and stalls"}),(0,d.jsx)(L,{className:"mt-1",readings:[{label:"Temperature",reading:a.bottlenecks.cpuTemperature,format:C.cH},{label:"Package power",reading:a.bottlenecks.cpuPower,format:C.d5},{label:"I/O wait",reading:a.bottlenecks.cpuIowait,format:B.l9},{label:"Pressure",reading:a.bottlenecks.cpuPressure,format:B.l9}]})]})]})}function N({view:a,ageLabel:b,held:c,className:e}){var f;let g=a.swap;return(0,d.jsx)(l.Z,{title:"Memory and swap",className:e,action:(0,d.jsx)(I,{stale:a.stale}),children:(0,d.jsxs)("div",{className:"flex flex-col gap-5",children:[(0,d.jsxs)("div",{children:[(0,d.jsx)(H,{children:"Memory"}),(0,d.jsx)("div",{className:"mt-2",children:(0,d.jsx)(A.jB,{field:"value"===(f=a.memory).state?f.stale?{out:"stale",usedBytes:f.value.usedBytes,totalBytes:f.value.totalBytes}:{out:"value",usedBytes:f.value.usedBytes,totalBytes:f.value.totalBytes}:"unavailable"===f.state?{out:"unavailable",reason:f.reason}:{out:"absent"},ageLabel:b,isHeld:c,thresholdMs:a.thresholdMs})})]}),(0,d.jsxs)("div",{className:"border-t border-border pt-4",children:[(0,d.jsx)(H,{children:"Pressure"}),(0,d.jsx)(L,{className:"mt-1",readings:[{label:"Some tasks",reading:a.bottlenecks.memoryPressureSome,format:B.l9},{label:"Full",reading:a.bottlenecks.memoryPressureFull,format:B.l9}]})]}),(0,d.jsxs)("div",{className:"border-t border-border pt-4",children:[(0,d.jsx)(H,{children:"Swap"}),"value"===g.state?0===g.value.totalBytes?(0,d.jsxs)("div",{className:"mt-2 flex flex-col gap-1",children:[(0,d.jsx)("p",{className:"text-sm",children:"No swap configured."}),(0,d.jsx)(F,{children:"SwapTotal is zero; this is a valid configuration, not a missing reading."})]}):(0,d.jsxs)("div",{className:"mt-2 flex flex-col gap-2",children:[(0,d.jsx)(D,{label:"Used",valueLabel:`${(0,B.z3)(g.value.usedBytes)} / ${(0,B.z3)(g.value.totalBytes)}`,percent:J(g.value.usedBytes,g.value.totalBytes),tone:"swap",ariaLabel:`Swap ${(0,B.z3)(g.value.usedBytes)} of ${(0,B.z3)(g.value.totalBytes)}`}),(0,d.jsxs)("p",{className:"tnum text-xs text-muted-foreground",children:[(0,B.l9)(J(g.value.usedBytes,g.value.totalBytes))," used",g.stale?" \xb7 last known":""]})]}):"unavailable"===g.state?(0,d.jsx)("div",{className:"mt-2",children:(0,d.jsx)(G,{reason:g.reason})}):(0,d.jsx)("div",{className:"mt-2",children:(0,d.jsx)(F,{children:g.reason})})]})]})})}function O({card:a}){let b="supported"===a.telemetry;return(0,d.jsxs)("article",{className:"flex min-w-0 flex-col gap-3 rounded-lg border border-border bg-card-strong/25 p-3",children:[(0,d.jsxs)("div",{className:"flex flex-wrap items-start justify-between gap-2",children:[(0,d.jsxs)("div",{className:"min-w-0",children:[(0,d.jsx)("h3",{className:"truncate text-sm font-medium",children:a.name}),(0,d.jsxs)("p",{className:"tnum truncate text-xs text-muted-foreground",children:[a.vendor,a.pciBusId?` \xb7 ${a.pciBusId}`:""]})]}),(0,d.jsxs)("div",{className:"flex shrink-0 flex-wrap items-center gap-1.5",children:[b?null:(0,d.jsx)(A.vw,{text:"no telemetry",title:a.reason??"Management adapter"}),a.stale&&"ok"===a.state?(0,d.jsx)(A.vw,{text:"last known",title:"Retained from the last accepted sample"}):null]})]}),"ok"===a.state?(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(D,{label:"GPU utilization",valueLabel:null===a.utilizationPercent?"Not reported":(0,B.l9)(a.utilizationPercent),percent:a.utilizationPercent,tone:"gpu",ariaLabel:null===a.utilizationPercent?`${a.name} utilization not reported`:`${a.name} utilization ${(0,B.l9)(a.utilizationPercent)}`}),(0,d.jsx)(D,{label:"VRAM",valueLabel:null===a.memoryUsedBytes||null===a.memoryTotalBytes?"Not reported":`${(0,B.z3)(a.memoryUsedBytes)} / ${(0,B.z3)(a.memoryTotalBytes)}`,percent:null!==a.memoryUsedBytes&&null!==a.memoryTotalBytes?J(a.memoryUsedBytes,a.memoryTotalBytes):null,tone:"gpu",ariaLabel:null===a.memoryUsedBytes||null===a.memoryTotalBytes?`${a.name} VRAM not reported`:`${a.name} VRAM ${(0,B.z3)(a.memoryUsedBytes)} of ${(0,B.z3)(a.memoryTotalBytes)}`}),(0,d.jsxs)("dl",{className:"grid grid-cols-2 gap-x-4 gap-y-1",children:[(0,d.jsx)(E,{label:"Temperature",value:null===a.temperatureC?"Not reported":(0,C.cH)(a.temperatureC)}),(0,d.jsx)(E,{label:"Power",value:null===a.powerWatts?"Not reported":(0,C.d5)(a.powerWatts)})]})]}):(0,d.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,d.jsx)("p",{className:"text-xs text-muted-foreground",children:"unsupported"===a.state?"No telemetry.":"No readings for this device."}),a.reason?(0,d.jsx)("p",{className:"text-xs text-warn",children:a.reason}):null,null!==a.memoryTotalBytes?(0,d.jsx)("dl",{className:"mt-1",children:(0,d.jsx)(E,{label:"VRAM total",value:(0,B.z3)(a.memoryTotalBytes)})}):null]})]})}function P({view:a,className:b}){let c=a.gpus.cards;return(0,d.jsx)(l.Z,{title:"GPUs",className:b,action:(0,d.jsxs)("span",{className:"flex items-center gap-2",children:[(0,d.jsx)("span",{className:"tnum",children:0===c.length?"0 devices":`${c.length} device${1===c.length?"":"s"}`}),(0,d.jsx)(I,{stale:a.stale})]}),children:0===c.length?"unavailable"===a.gpus.family.state?(0,d.jsx)(G,{reason:a.gpus.family.reason}):(0,d.jsx)(F,{children:K(a.gpus.family,"No GPU devices were reported.")}):(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("div",{className:"grid gap-3 md:grid-cols-2 xl:grid-cols-3",children:c.map(a=>(0,d.jsx)(O,{card:a},a.id))}),"unavailable"===a.gpus.family.state?(0,d.jsxs)("p",{className:"mt-3 text-xs text-warn",children:["GPU unavailable \xb7 ",a.gpus.family.reason]}):a.gpus.partial?(0,d.jsx)("p",{className:"mt-3 text-xs text-warn",children:"Some GPUs are not reporting."}):null]})})}function Q({filesystem:a}){let b="ok"===a.state&&null!==a.usedBytes&&null!==a.totalBytes?J(a.usedBytes,a.totalBytes):null,c="ok"===a.state&&null!==a.usedBytes&&null!==a.totalBytes?`${(0,B.z3)(a.usedBytes)} / ${(0,B.z3)(a.totalBytes)}`:null!==a.totalBytes?`${(0,B.z3)(a.totalBytes)} total`:"Unavailable",e="ok"===a.state&&null!==a.inodesUsed&&null!==a.inodesTotal&&a.inodesTotal>0?J(a.inodesUsed,a.inodesTotal):null;return(0,d.jsxs)("li",{className:"py-2.5",children:[(0,d.jsxs)("div",{className:"flex flex-wrap items-baseline justify-between gap-x-3 gap-y-1",children:[(0,d.jsx)("span",{className:"break-all font-mono text-xs text-foreground",children:a.mountPoint}),(0,d.jsxs)("span",{className:"tnum break-all text-xs text-muted-foreground",children:[a.fsType,a.device?` \xb7 ${a.device}`:""]})]}),(0,d.jsx)("div",{className:"mt-2",children:(0,d.jsx)(D,{label:"Capacity",valueLabel:c,percent:b,tone:"disk",ariaLabel:`${a.mountPoint} ${c}`})}),"ok"===a.state?(0,d.jsx)("p",{className:"tnum mt-1 text-xs text-muted-foreground",title:null===e?"Inode usage was not reported for this filesystem.":void 0,children:null===e?"Inodes not reported":`Inodes ${(0,B.l9)(e)} used \xb7 ${(0,C.B4)(a.inodesUsed)} / ${(0,C.B4)(a.inodesTotal)}`}):null,"unavailable"===a.state&&a.reason?(0,d.jsx)("p",{className:"mt-1.5 text-xs text-warn",children:a.reason}):"inventory"===a.state&&a.reason?(0,d.jsx)("p",{className:"mt-1.5 text-xs text-muted-foreground",children:a.reason}):a.stale?(0,d.jsx)("p",{className:"mt-1.5 text-xs text-muted-foreground",children:"Last known usage."}):null]})}function R({disk:a}){let b=null===a.rotational?"Unknown media":a.rotational?"Rotational":"Solid state",c=[null===a.readLatencyMs?"read latency":null,null===a.writeLatencyMs?"write latency":null,null===a.ioUtilizationPercent?"utilization":null].filter(a=>null!==a);return(0,d.jsxs)("li",{className:"py-2.5",children:[(0,d.jsxs)("div",{className:"flex flex-wrap items-baseline justify-between gap-x-3 gap-y-1",children:[(0,d.jsx)("span",{className:"font-mono text-xs text-foreground",children:a.name}),(0,d.jsxs)("span",{className:"tnum text-xs text-muted-foreground",children:[b,null!==a.sizeBytes?` \xb7 ${(0,B.z3)(a.sizeBytes)}`:""]})]}),a.model?(0,d.jsx)("p",{className:"mt-0.5 truncate text-xs text-muted-foreground",children:a.model}):null,"ok"===a.state?(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)("dl",{className:"mt-1.5 grid grid-cols-2 gap-x-4 gap-y-1 sm:grid-cols-4",children:[(0,d.jsx)(E,{label:"Read",value:(0,C.CE)(a.readBytesPerSec)}),(0,d.jsx)(E,{label:"Write",value:(0,C.CE)(a.writeBytesPerSec)}),(0,d.jsx)(E,{label:"Read latency",value:(0,C.YL)(a.readLatencyMs)}),(0,d.jsx)(E,{label:"Write latency",value:(0,C.YL)(a.writeLatencyMs)}),(0,d.jsx)(E,{label:"Utilization",value:null===a.ioUtilizationPercent?"—":(0,B.l9)(a.ioUtilizationPercent)})]}),c.length>0?(0,d.jsxs)("p",{className:"mt-1 text-xs text-muted-foreground",children:["Not reported: ",c.join(", "),"."]}):null]}):(0,d.jsx)("p",{className:`mt-1.5 text-xs ${"unavailable"===a.state?"text-warn":"text-muted-foreground"}`,children:a.reason??"No current I/O reading."}),"ok"===a.state&&a.stale?(0,d.jsx)("p",{className:"mt-1 text-xs text-muted-foreground",children:"Last known rates."}):null]})}function S({view:a,className:b}){let c=a.filesystems.items,e=a.disks.items;return(0,d.jsxs)(l.Z,{title:"Disks",className:b,action:(0,d.jsx)(I,{stale:a.stale}),children:[0===c.length&&0===e.length?"unavailable"===a.disks.family.state?(0,d.jsx)(G,{reason:a.disks.family.reason}):(0,d.jsx)(F,{children:K(a.disks.family,"No disks or filesystems were reported.")}):null,(0,d.jsxs)("div",{className:"mt-5 flex flex-col gap-5",children:[c.length>0?(0,d.jsxs)("div",{children:[(0,d.jsx)(H,{children:"Filesystems"}),(0,d.jsx)("ul",{className:"mt-1 divide-y divide-border",children:c.map(a=>(0,d.jsx)(Q,{filesystem:a},a.id))})]}):null,e.length>0?(0,d.jsxs)("div",{className:c.length>0?"border-t border-border pt-4":"",children:[(0,d.jsx)(H,{children:"Devices"}),(0,d.jsx)("ul",{className:"mt-1 divide-y divide-border",children:e.map(a=>(0,d.jsx)(R,{disk:a},a.id))})]}):null,"unavailable"!==a.disks.family.state?(0,d.jsxs)("div",{className:c.length>0||e.length>0?"border-t border-border pt-4":"",children:[(0,d.jsx)(H,{children:"I/O pressure"}),(0,d.jsx)(L,{className:"mt-1",readings:[{label:"Some tasks",reading:a.bottlenecks.ioPressureSome,format:B.l9},{label:"Full",reading:a.bottlenecks.ioPressureFull,format:B.l9}]})]}):null]})]})}function T({iface:a}){let b="up"===a.linkState?"Link up":"down"===a.linkState?"Link down":"Link state unknown";return(0,d.jsxs)("li",{className:"py-3",children:[(0,d.jsxs)("div",{className:"flex flex-wrap items-baseline justify-between gap-x-3 gap-y-1",children:[(0,d.jsx)("span",{className:"font-mono text-xs text-foreground",children:a.name}),(0,d.jsxs)("span",{className:"flex flex-wrap items-center gap-1.5",children:[a.virtual?(0,d.jsx)(A.vw,{text:"virtual",title:"Virtual interface, not physical hardware"}):null,(0,d.jsx)("span",{className:"tnum text-xs text-muted-foreground",children:b}),null!==a.speedMbps?(0,d.jsx)("span",{className:"tnum text-xs text-muted-foreground",children:(0,C.Zf)(a.speedMbps)}):null]})]}),a.addresses.length>0?(0,d.jsx)("ul",{className:"mt-1 flex flex-wrap gap-x-3 gap-y-1",children:a.addresses.map((a,b)=>(0,d.jsxs)("li",{className:"tnum break-all font-mono text-xs text-muted-foreground",children:[a.address,"/",a.prefix,(0,d.jsx)("span",{className:"ml-1 font-sans text-xs uppercase tracking-wide",children:"ipv4"===a.family?"v4":"v6"})]},`${a.family}:${a.address}/${a.prefix}:${b}`))}):(0,d.jsx)("p",{className:"mt-1 text-xs text-muted-foreground",children:"No addresses reported."}),"ok"===a.state?(0,d.jsxs)("dl",{className:"mt-1.5 grid grid-cols-2 gap-x-4 gap-y-1",children:[(0,d.jsx)(E,{label:"Receive",value:(0,C.CE)(a.rxBytesPerSec)}),(0,d.jsx)(E,{label:"Transmit",value:(0,C.CE)(a.txBytesPerSec)})]}):(0,d.jsx)("p",{className:`mt-1.5 text-xs ${"unavailable"===a.state?"text-warn":"text-muted-foreground"}`,children:a.reason??"No current rate reading."}),"ok"===a.state&&a.stale?(0,d.jsx)("p",{className:"mt-1 text-xs text-muted-foreground",children:"Last known rates."}):null]})}function U({view:a,className:b}){let c=a.network.items;return(0,d.jsx)(l.Z,{title:"Network",className:b,action:(0,d.jsx)(I,{stale:a.stale}),children:0===c.length?"unavailable"===a.network.family.state?(0,d.jsx)(G,{reason:a.network.family.reason}):(0,d.jsx)(F,{children:K(a.network.family,"No network interfaces were reported.")}):(0,d.jsx)("ul",{className:"divide-y divide-border",children:c.map(a=>(0,d.jsx)(T,{iface:a},a.id))})})}var V=c(58910),W=c(29356);function X(a){let b,c,{iso:e}=a;return null===e?(0,d.jsx)("span",{className:"text-xs text-muted-foreground",children:"—"}):(0,d.jsxs)("span",{className:"tnum text-sm",children:[Number.isFinite((b=new Date(e)).getTime())?b.toLocaleTimeString(void 0,{hour:"2-digit",minute:"2-digit",second:"2-digit",hour12:!1}):e,(0,d.jsx)("span",{className:"ml-2 text-xs text-muted-foreground",children:Number.isFinite((c=new Date(e)).getTime())?c.toLocaleDateString(void 0,{dateStyle:"medium"}):""})]})}function Y({state:a}){var b;let c=(0,B.L_)(a);return"ahead"!==c.kind&&"behind"!==c.kind?null:(0,d.jsxs)("p",{role:"status",className:"tnum flex items-start gap-2 rounded-lg bg-warn-soft px-3 py-2 text-xs text-foreground",children:[(0,d.jsx)(h,{className:"mt-0.5 h-3.5 w-3.5 shrink-0 text-warn","aria-hidden":!0}),(0,d.jsxs)("span",{children:["Collector clock:"," ",(0,d.jsx)("strong",{className:"font-medium",children:Math.abs(b=c.skewMs)>=6e4?`${Math.abs(Math.round(b/6e4))} min`:`${Math.abs(Math.round(b/1e3))} s`})," ","ahead"===c.kind?"ahead of":"behind"," hub time."]})]})}function Z({state:a}){return(0,d.jsx)(l.Z,{title:"Collector",children:(0,d.jsxs)("div",{className:"flex flex-col gap-3 py-1",children:[(0,d.jsxs)("p",{className:"flex items-center gap-2 text-sm",children:[(0,d.jsx)("span",{"aria-hidden":!0,className:`inline-block h-2 w-2 shrink-0 rounded-full ${a.connected?"bg-ok":"bg-crit"}`}),a.connected?"Connected to the hub":"Not connected to the hub"]}),(0,d.jsxs)("dl",{className:"flex flex-col gap-1 text-xs",children:[(0,d.jsxs)("div",{className:"flex gap-2",children:[(0,d.jsx)("dt",{className:"shrink-0 text-muted-foreground",children:"Collector"}),(0,d.jsx)("dd",{className:"tnum truncate",children:a.collectorId})]}),(0,d.jsxs)("div",{className:"flex gap-2",children:[(0,d.jsx)("dt",{className:"shrink-0 text-muted-foreground",children:"Machine"}),(0,d.jsx)("dd",{className:"tnum truncate",children:a.machineId})]})]}),(0,d.jsx)(f(),{href:"/connections",className:"w-fit rounded-md text-xs text-accent transition-colors hover:underline",children:"Connections"})]})})}function $({state:a,now:b}){let c=a.metrics,e=c?.capturedAt??null,f=c?.receivedAt??a.lastReceivedAt,g=null!=a.expectedIntervalMs,h=g?a.expectedIntervalMs:null,i=(0,B.Cj)(a.expectedIntervalMs);return(0,d.jsx)(l.Z,{title:"Sample times",children:(0,d.jsxs)("div",{className:"flex flex-col gap-3",children:[(0,d.jsxs)("dl",{className:"grid gap-x-8 gap-y-3 sm:grid-cols-2",children:[(0,d.jsx)("dt",{className:"text-xs text-muted-foreground",children:"Captured"}),(0,d.jsx)("dd",{children:(0,d.jsx)(X,{iso:e})}),(0,d.jsx)("dt",{className:"text-xs text-muted-foreground",children:"Received"}),(0,d.jsx)("dd",{children:(0,d.jsxs)("span",{className:"flex flex-wrap items-baseline gap-2",children:[(0,d.jsx)(X,{iso:f}),null!==f?(0,d.jsxs)("span",{className:"tnum text-xs text-muted-foreground",children:["\xb7 updated ",(0,B.nV)((0,B.A4)(f,b))]}):null]})}),(0,d.jsx)("dt",{className:"text-xs text-muted-foreground",children:"Sample interval"}),(0,d.jsx)("dd",{children:g?(0,d.jsx)("span",{className:"tnum text-sm",children:(0,B.$)(h)}):(0,d.jsx)("span",{className:"text-sm text-muted-foreground",children:"Unknown"})}),(0,d.jsx)("dt",{className:"text-xs text-muted-foreground",children:"Stale after"}),(0,d.jsx)("dd",{children:(0,d.jsxs)("span",{className:"tnum text-sm",children:[(0,B.$)(i),g?null:(0,d.jsx)("span",{className:"text-muted-foreground",children:" (fallback)"})]})})]}),(0,d.jsx)(Y,{state:a})]})})}function _({machineId:a,machineCount:b}){return 0===b?(0,d.jsx)(l.Z,{title:"No machines",className:"mt-8",children:(0,d.jsx)(l.p,{icon:i,note:"No machines are available in your authorized fleet."})}):(0,d.jsxs)(l.Z,{title:"Machine not found",className:"mt-8",children:[(0,d.jsx)(l.p,{icon:i,note:"This machine is unavailable or outside your access."}),(0,d.jsxs)("p",{className:"tnum mt-2 text-center text-xs text-muted-foreground",children:["Requested identifier: ",a]}),(0,d.jsx)("div",{className:"flex justify-center",children:(0,d.jsxs)(f(),{href:"/",className:"mt-2 inline-flex items-center gap-1.5 rounded-md border border-border px-3 py-1.5 text-xs text-foreground transition-colors hover:bg-card-strong",children:[(0,d.jsx)(j,{className:"h-3.5 w-3.5","aria-hidden":!0}),"Back to fleet"]})})]})}function aa({machineId:a}){let{phase:b,machines:c}=(0,V.M)(),{machine:e}=(0,y.JG)("overview",a),f=(0,z.x)(),g=(0,W.c)(),h="live"===b||"reconnecting"===b||"disconnected"===b,i=h?e:void 0,j="reconnecting"===b||"disconnected"===b,l=i?(0,C.hL)(i,g):null,o=i?i.metrics?.receivedAt??i.lastReceivedAt:null,p=o?(0,B.nV)((0,B.A4)(o,g)):null;return(0,d.jsx)(k.G,{title:"Overview",machineId:a,machineView:"overview",headerRight:(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(m.$E,{}),(0,d.jsx)(n.B,{})]}),children:f||(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(z.E,{}),i&&l?(0,d.jsxs)(d.Fragment,{children:[l.tags.length>0?(0,d.jsx)("ul",{className:"mb-4 flex flex-wrap gap-1.5","aria-label":"Machine tags",children:l.tags.map(a=>(0,d.jsx)("li",{className:"rounded-full border border-border px-2 py-0.5 text-xs text-muted-foreground",children:a},a))}):null,(0,d.jsxs)("section",{"aria-label":`${l.displayName} live overview`,className:"grid grid-cols-1 gap-5 xl:grid-cols-3",children:[(0,d.jsx)(M,{view:l,ageLabel:p,held:j,className:"xl:col-span-2"}),(0,d.jsx)(N,{view:l,ageLabel:p,held:j}),(0,d.jsx)("div",{className:"min-w-0 xl:col-span-3",children:(0,d.jsx)(x,{machine:i},a)}),(0,d.jsx)(P,{view:l,className:"xl:col-span-3"}),(0,d.jsx)(S,{view:l,className:"xl:col-span-2"}),(0,d.jsx)(U,{view:l})]}),(0,d.jsxs)("details",{className:"mt-5 max-w-4xl text-xs text-muted-foreground",children:[(0,d.jsx)("summary",{className:"inline-flex min-h-9 cursor-pointer items-center rounded-md hover:text-foreground",children:"Collector details"}),(0,d.jsxs)("div",{className:"mt-3 grid gap-4 lg:grid-cols-2",children:[(0,d.jsx)(Z,{state:i}),(0,d.jsx)($,{state:i,now:g})]})]})]}):h?(0,d.jsx)(_,{machineId:a,machineCount:c.length}):null]})})}}};var b=require("../../../webpack-runtime.js");b.C(a);var c=b.X(0,[266,430,350,161,751,364,168],()=>b(b.s=51603));module.exports=c})();
@@ -1 +1 @@
1
- {"version":1,"files":["../../../../../node_modules/@swc/helpers/_/_interop_require_default/package.json","../../../../../node_modules/@swc/helpers/cjs/_interop_require_default.cjs","../../../../../node_modules/@swc/helpers/esm/_interop_require_default.js","../../../../../node_modules/@swc/helpers/package.json","../../../../../node_modules/next/dist/build/adapter/setup-node-env.external.js","../../../../../node_modules/next/dist/client/components/hooks-server-context.js","../../../../../node_modules/next/dist/client/components/static-generation-bailout.js","../../../../../node_modules/next/dist/client/lib/console.js","../../../../../node_modules/next/dist/compiled/@opentelemetry/api/index.js","../../../../../node_modules/next/dist/compiled/@opentelemetry/api/package.json","../../../../../node_modules/next/dist/compiled/fast-jwt/index.js","../../../../../node_modules/next/dist/compiled/fast-jwt/package.json","../../../../../node_modules/next/dist/compiled/hash.js/sha256/256.js","../../../../../node_modules/next/dist/compiled/hash.js/sha256/package.json","../../../../../node_modules/next/dist/compiled/next-server/app-page.runtime.prod.js","../../../../../node_modules/next/dist/compiled/source-map/package.json","../../../../../node_modules/next/dist/compiled/source-map/source-map.js","../../../../../node_modules/next/dist/compiled/stacktrace-parser/package.json","../../../../../node_modules/next/dist/compiled/stacktrace-parser/stack-trace-parser.cjs.js","../../../../../node_modules/next/dist/compiled/ws/index.js","../../../../../node_modules/next/dist/compiled/ws/package.json","../../../../../node_modules/next/dist/lib/client-and-server-references.js","../../../../../node_modules/next/dist/lib/constants.js","../../../../../node_modules/next/dist/lib/interop-default.js","../../../../../node_modules/next/dist/lib/is-error.js","../../../../../node_modules/next/dist/lib/picocolors.js","../../../../../node_modules/next/dist/lib/scheduler.js","../../../../../node_modules/next/dist/server/app-render/action-async-storage-instance.js","../../../../../node_modules/next/dist/server/app-render/action-async-storage.external.js","../../../../../node_modules/next/dist/server/app-render/after-task-async-storage-instance.js","../../../../../node_modules/next/dist/server/app-render/after-task-async-storage.external.js","../../../../../node_modules/next/dist/server/app-render/async-local-storage.js","../../../../../node_modules/next/dist/server/app-render/cache-signal.js","../../../../../node_modules/next/dist/server/app-render/console-async-storage-instance.js","../../../../../node_modules/next/dist/server/app-render/console-async-storage.external.js","../../../../../node_modules/next/dist/server/app-render/dynamic-access-async-storage-instance.js","../../../../../node_modules/next/dist/server/app-render/dynamic-access-async-storage.external.js","../../../../../node_modules/next/dist/server/app-render/dynamic-rendering.js","../../../../../node_modules/next/dist/server/app-render/module-loading/track-module-loading.external.js","../../../../../node_modules/next/dist/server/app-render/module-loading/track-module-loading.instance.js","../../../../../node_modules/next/dist/server/app-render/segment-config/ensure-static.js","../../../../../node_modules/next/dist/server/app-render/staged-rendering.js","../../../../../node_modules/next/dist/server/app-render/sync-io-messages.js","../../../../../node_modules/next/dist/server/app-render/work-async-storage-instance.js","../../../../../node_modules/next/dist/server/app-render/work-async-storage.external.js","../../../../../node_modules/next/dist/server/app-render/work-unit-async-storage-instance.js","../../../../../node_modules/next/dist/server/app-render/work-unit-async-storage.external.js","../../../../../node_modules/next/dist/server/dev/browser-logs/file-logger.js","../../../../../node_modules/next/dist/server/dynamic-rendering-utils.js","../../../../../node_modules/next/dist/server/lib/app-dir-module.js","../../../../../node_modules/next/dist/server/lib/incremental-cache/memory-cache.external.js","../../../../../node_modules/next/dist/server/lib/incremental-cache/shared-cache-controls.external.js","../../../../../node_modules/next/dist/server/lib/incremental-cache/tags-manifest.external.js","../../../../../node_modules/next/dist/server/lib/lru-cache.js","../../../../../node_modules/next/dist/server/lib/parse-stack.js","../../../../../node_modules/next/dist/server/lib/route-cache-key.js","../../../../../node_modules/next/dist/server/lib/router-utils/instrumentation-globals.external.js","../../../../../node_modules/next/dist/server/lib/router-utils/instrumentation-node-extensions.js","../../../../../node_modules/next/dist/server/lib/source-maps.js","../../../../../node_modules/next/dist/server/lib/trace/constants.js","../../../../../node_modules/next/dist/server/lib/trace/tracer.js","../../../../../node_modules/next/dist/server/load-manifest.external.js","../../../../../node_modules/next/dist/server/node-environment-baseline.js","../../../../../node_modules/next/dist/server/node-environment-extensions/console-dim.external.js","../../../../../node_modules/next/dist/server/node-environment-extensions/console-exit.js","../../../../../node_modules/next/dist/server/node-environment-extensions/console-file.js","../../../../../node_modules/next/dist/server/node-environment-extensions/date.js","../../../../../node_modules/next/dist/server/node-environment-extensions/error-inspect.js","../../../../../node_modules/next/dist/server/node-environment-extensions/fast-set-immediate.external.js","../../../../../node_modules/next/dist/server/node-environment-extensions/io-utils.js","../../../../../node_modules/next/dist/server/node-environment-extensions/node-crypto.js","../../../../../node_modules/next/dist/server/node-environment-extensions/random.js","../../../../../node_modules/next/dist/server/node-environment-extensions/unhandled-rejection.external.js","../../../../../node_modules/next/dist/server/node-environment-extensions/web-crypto.js","../../../../../node_modules/next/dist/server/node-environment.js","../../../../../node_modules/next/dist/server/node-polyfill-crypto.js","../../../../../node_modules/next/dist/server/normalizers/built/app/app-pathname-normalizer.js","../../../../../node_modules/next/dist/server/normalizers/normalizers.js","../../../../../node_modules/next/dist/server/normalizers/underscore-normalizer.js","../../../../../node_modules/next/dist/server/normalizers/wrap-normalizer-fn.js","../../../../../node_modules/next/dist/server/patch-error-inspect.js","../../../../../node_modules/next/dist/server/require-hook.js","../../../../../node_modules/next/dist/server/response-cache/types.js","../../../../../node_modules/next/dist/server/route-kind.js","../../../../../node_modules/next/dist/server/runtime-reacts.external.js","../../../../../node_modules/next/dist/shared/lib/deep-freeze.js","../../../../../node_modules/next/dist/shared/lib/i18n/normalize-locale-path.js","../../../../../node_modules/next/dist/shared/lib/invariant-error.js","../../../../../node_modules/next/dist/shared/lib/is-plain-object.js","../../../../../node_modules/next/dist/shared/lib/is-thenable.js","../../../../../node_modules/next/dist/shared/lib/no-fallback-error.external.js","../../../../../node_modules/next/dist/shared/lib/page-path/ensure-leading-slash.js","../../../../../node_modules/next/dist/shared/lib/page-path/normalize-page-path.js","../../../../../node_modules/next/dist/shared/lib/promise-with-resolvers.js","../../../../../node_modules/next/dist/shared/lib/router/utils/app-paths.js","../../../../../node_modules/next/dist/shared/lib/router/utils/index.js","../../../../../node_modules/next/dist/shared/lib/router/utils/interception-routes.js","../../../../../node_modules/next/dist/shared/lib/router/utils/is-dynamic.js","../../../../../node_modules/next/dist/shared/lib/router/utils/parse-loader-tree.js","../../../../../node_modules/next/dist/shared/lib/router/utils/sorted-routes.js","../../../../../node_modules/next/dist/shared/lib/segment.js","../../../../../node_modules/next/dist/shared/lib/server-reference-info.js","../../../../../node_modules/next/dist/shared/lib/utils.js","../../../../../node_modules/next/package.json","../../../../../package.json","../../../../package.json","../../../chunks/161.js","../../../chunks/168.js","../../../chunks/266.js","../../../chunks/364.js","../../../chunks/430.js","../../../chunks/721.js","../../../chunks/751.js","../../../webpack-runtime.js","page_client-reference-manifest.js"]}
1
+ {"version":1,"files":["../../../../../node_modules/@swc/helpers/_/_interop_require_default/package.json","../../../../../node_modules/@swc/helpers/cjs/_interop_require_default.cjs","../../../../../node_modules/@swc/helpers/esm/_interop_require_default.js","../../../../../node_modules/@swc/helpers/package.json","../../../../../node_modules/next/dist/build/adapter/setup-node-env.external.js","../../../../../node_modules/next/dist/client/components/hooks-server-context.js","../../../../../node_modules/next/dist/client/components/static-generation-bailout.js","../../../../../node_modules/next/dist/client/lib/console.js","../../../../../node_modules/next/dist/compiled/@opentelemetry/api/index.js","../../../../../node_modules/next/dist/compiled/@opentelemetry/api/package.json","../../../../../node_modules/next/dist/compiled/fast-jwt/index.js","../../../../../node_modules/next/dist/compiled/fast-jwt/package.json","../../../../../node_modules/next/dist/compiled/hash.js/sha256/256.js","../../../../../node_modules/next/dist/compiled/hash.js/sha256/package.json","../../../../../node_modules/next/dist/compiled/next-server/app-page.runtime.prod.js","../../../../../node_modules/next/dist/compiled/source-map/package.json","../../../../../node_modules/next/dist/compiled/source-map/source-map.js","../../../../../node_modules/next/dist/compiled/stacktrace-parser/package.json","../../../../../node_modules/next/dist/compiled/stacktrace-parser/stack-trace-parser.cjs.js","../../../../../node_modules/next/dist/compiled/ws/index.js","../../../../../node_modules/next/dist/compiled/ws/package.json","../../../../../node_modules/next/dist/lib/client-and-server-references.js","../../../../../node_modules/next/dist/lib/constants.js","../../../../../node_modules/next/dist/lib/interop-default.js","../../../../../node_modules/next/dist/lib/is-error.js","../../../../../node_modules/next/dist/lib/picocolors.js","../../../../../node_modules/next/dist/lib/scheduler.js","../../../../../node_modules/next/dist/server/app-render/action-async-storage-instance.js","../../../../../node_modules/next/dist/server/app-render/action-async-storage.external.js","../../../../../node_modules/next/dist/server/app-render/after-task-async-storage-instance.js","../../../../../node_modules/next/dist/server/app-render/after-task-async-storage.external.js","../../../../../node_modules/next/dist/server/app-render/async-local-storage.js","../../../../../node_modules/next/dist/server/app-render/cache-signal.js","../../../../../node_modules/next/dist/server/app-render/console-async-storage-instance.js","../../../../../node_modules/next/dist/server/app-render/console-async-storage.external.js","../../../../../node_modules/next/dist/server/app-render/dynamic-access-async-storage-instance.js","../../../../../node_modules/next/dist/server/app-render/dynamic-access-async-storage.external.js","../../../../../node_modules/next/dist/server/app-render/dynamic-rendering.js","../../../../../node_modules/next/dist/server/app-render/module-loading/track-module-loading.external.js","../../../../../node_modules/next/dist/server/app-render/module-loading/track-module-loading.instance.js","../../../../../node_modules/next/dist/server/app-render/segment-config/ensure-static.js","../../../../../node_modules/next/dist/server/app-render/staged-rendering.js","../../../../../node_modules/next/dist/server/app-render/sync-io-messages.js","../../../../../node_modules/next/dist/server/app-render/work-async-storage-instance.js","../../../../../node_modules/next/dist/server/app-render/work-async-storage.external.js","../../../../../node_modules/next/dist/server/app-render/work-unit-async-storage-instance.js","../../../../../node_modules/next/dist/server/app-render/work-unit-async-storage.external.js","../../../../../node_modules/next/dist/server/dev/browser-logs/file-logger.js","../../../../../node_modules/next/dist/server/dynamic-rendering-utils.js","../../../../../node_modules/next/dist/server/lib/app-dir-module.js","../../../../../node_modules/next/dist/server/lib/incremental-cache/memory-cache.external.js","../../../../../node_modules/next/dist/server/lib/incremental-cache/shared-cache-controls.external.js","../../../../../node_modules/next/dist/server/lib/incremental-cache/tags-manifest.external.js","../../../../../node_modules/next/dist/server/lib/lru-cache.js","../../../../../node_modules/next/dist/server/lib/parse-stack.js","../../../../../node_modules/next/dist/server/lib/route-cache-key.js","../../../../../node_modules/next/dist/server/lib/router-utils/instrumentation-globals.external.js","../../../../../node_modules/next/dist/server/lib/router-utils/instrumentation-node-extensions.js","../../../../../node_modules/next/dist/server/lib/source-maps.js","../../../../../node_modules/next/dist/server/lib/trace/constants.js","../../../../../node_modules/next/dist/server/lib/trace/tracer.js","../../../../../node_modules/next/dist/server/load-manifest.external.js","../../../../../node_modules/next/dist/server/node-environment-baseline.js","../../../../../node_modules/next/dist/server/node-environment-extensions/console-dim.external.js","../../../../../node_modules/next/dist/server/node-environment-extensions/console-exit.js","../../../../../node_modules/next/dist/server/node-environment-extensions/console-file.js","../../../../../node_modules/next/dist/server/node-environment-extensions/date.js","../../../../../node_modules/next/dist/server/node-environment-extensions/error-inspect.js","../../../../../node_modules/next/dist/server/node-environment-extensions/fast-set-immediate.external.js","../../../../../node_modules/next/dist/server/node-environment-extensions/io-utils.js","../../../../../node_modules/next/dist/server/node-environment-extensions/node-crypto.js","../../../../../node_modules/next/dist/server/node-environment-extensions/random.js","../../../../../node_modules/next/dist/server/node-environment-extensions/unhandled-rejection.external.js","../../../../../node_modules/next/dist/server/node-environment-extensions/web-crypto.js","../../../../../node_modules/next/dist/server/node-environment.js","../../../../../node_modules/next/dist/server/node-polyfill-crypto.js","../../../../../node_modules/next/dist/server/normalizers/built/app/app-pathname-normalizer.js","../../../../../node_modules/next/dist/server/normalizers/normalizers.js","../../../../../node_modules/next/dist/server/normalizers/underscore-normalizer.js","../../../../../node_modules/next/dist/server/normalizers/wrap-normalizer-fn.js","../../../../../node_modules/next/dist/server/patch-error-inspect.js","../../../../../node_modules/next/dist/server/require-hook.js","../../../../../node_modules/next/dist/server/response-cache/types.js","../../../../../node_modules/next/dist/server/route-kind.js","../../../../../node_modules/next/dist/server/runtime-reacts.external.js","../../../../../node_modules/next/dist/shared/lib/deep-freeze.js","../../../../../node_modules/next/dist/shared/lib/i18n/normalize-locale-path.js","../../../../../node_modules/next/dist/shared/lib/invariant-error.js","../../../../../node_modules/next/dist/shared/lib/is-plain-object.js","../../../../../node_modules/next/dist/shared/lib/is-thenable.js","../../../../../node_modules/next/dist/shared/lib/no-fallback-error.external.js","../../../../../node_modules/next/dist/shared/lib/page-path/ensure-leading-slash.js","../../../../../node_modules/next/dist/shared/lib/page-path/normalize-page-path.js","../../../../../node_modules/next/dist/shared/lib/promise-with-resolvers.js","../../../../../node_modules/next/dist/shared/lib/router/utils/app-paths.js","../../../../../node_modules/next/dist/shared/lib/router/utils/index.js","../../../../../node_modules/next/dist/shared/lib/router/utils/interception-routes.js","../../../../../node_modules/next/dist/shared/lib/router/utils/is-dynamic.js","../../../../../node_modules/next/dist/shared/lib/router/utils/parse-loader-tree.js","../../../../../node_modules/next/dist/shared/lib/router/utils/sorted-routes.js","../../../../../node_modules/next/dist/shared/lib/segment.js","../../../../../node_modules/next/dist/shared/lib/server-reference-info.js","../../../../../node_modules/next/dist/shared/lib/utils.js","../../../../../node_modules/next/package.json","../../../../../package.json","../../../../package.json","../../../chunks/161.js","../../../chunks/168.js","../../../chunks/266.js","../../../chunks/350.js","../../../chunks/364.js","../../../chunks/430.js","../../../chunks/751.js","../../../webpack-runtime.js","page_client-reference-manifest.js"]}
@@ -1 +1 @@
1
- globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/machines/[machineId]/page"]={"moduleLoading":{"prefix":"/_next/"},"ssrModuleMapping":{"484":{"*":{"id":"70664","name":"*","chunks":[],"async":false}},"1304":{"*":{"id":"60440","name":"*","chunks":[],"async":false}},"1461":{"*":{"id":"86673","name":"*","chunks":[],"async":false}},"1721":{"*":{"id":"40015","name":"*","chunks":[],"async":false}},"2394":{"*":{"id":"76670","name":"*","chunks":[],"async":false}},"2701":{"*":{"id":"7867","name":"*","chunks":[],"async":false}},"2737":{"*":{"id":"4833","name":"*","chunks":[],"async":false}},"2939":{"*":{"id":"81328","name":"*","chunks":[],"async":false}},"4581":{"*":{"id":"61335","name":"*","chunks":[],"async":false}},"4777":{"*":{"id":"82265","name":"*","chunks":[],"async":false}},"5000":{"*":{"id":"93022","name":"*","chunks":[],"async":false}},"5773":{"*":{"id":"71793","name":"*","chunks":[],"async":false}},"6869":{"*":{"id":"74661","name":"*","chunks":[],"async":false}},"7044":{"*":{"id":"9479","name":"*","chunks":[],"async":false}},"7121":{"*":{"id":"35421","name":"*","chunks":[],"async":false}},"7123":{"*":{"id":"81921","name":"*","chunks":[],"async":false}},"7281":{"*":{"id":"81931","name":"*","chunks":[],"async":false}},"7339":{"*":{"id":"30847","name":"*","chunks":[],"async":false}},"8616":{"*":{"id":"84342","name":"*","chunks":[],"async":false}},"8887":{"*":{"id":"85909","name":"*","chunks":[],"async":false}},"9939":{"*":{"id":"58910","name":"*","chunks":[],"async":false}}},"edgeSSRModuleMapping":{},"clientModules":{"/home/triet/Project/rigscope/node_modules/next/dist/client/components/builtin/global-error.js":{"id":7123,"name":"*","chunks":[],"async":false},"/home/triet/Project/rigscope/node_modules/next/dist/esm/client/components/builtin/global-error.js":{"id":7123,"name":"*","chunks":[],"async":false},"/home/triet/Project/rigscope/node_modules/next/dist/client/components/client-page.js":{"id":1304,"name":"*","chunks":[],"async":false},"/home/triet/Project/rigscope/node_modules/next/dist/esm/client/components/client-page.js":{"id":1304,"name":"*","chunks":[],"async":false},"/home/triet/Project/rigscope/node_modules/next/dist/client/components/client-segment.js":{"id":8616,"name":"*","chunks":[],"async":false},"/home/triet/Project/rigscope/node_modules/next/dist/esm/client/components/client-segment.js":{"id":8616,"name":"*","chunks":[],"async":false},"/home/triet/Project/rigscope/node_modules/next/dist/client/components/http-access-fallback/error-boundary.js":{"id":4777,"name":"*","chunks":[],"async":false},"/home/triet/Project/rigscope/node_modules/next/dist/esm/client/components/http-access-fallback/error-boundary.js":{"id":4777,"name":"*","chunks":[],"async":false},"/home/triet/Project/rigscope/node_modules/next/dist/client/components/layout-router.js":{"id":7121,"name":"*","chunks":[],"async":false},"/home/triet/Project/rigscope/node_modules/next/dist/esm/client/components/layout-router.js":{"id":7121,"name":"*","chunks":[],"async":false},"/home/triet/Project/rigscope/node_modules/next/dist/client/components/render-from-template-context.js":{"id":4581,"name":"*","chunks":[],"async":false},"/home/triet/Project/rigscope/node_modules/next/dist/esm/client/components/render-from-template-context.js":{"id":4581,"name":"*","chunks":[],"async":false},"/home/triet/Project/rigscope/node_modules/next/dist/lib/framework/boundary-components.js":{"id":484,"name":"*","chunks":[],"async":false},"/home/triet/Project/rigscope/node_modules/next/dist/esm/lib/framework/boundary-components.js":{"id":484,"name":"*","chunks":[],"async":false},"/home/triet/Project/rigscope/node_modules/next/dist/lib/metadata/generate/icon-mark.js":{"id":6869,"name":"*","chunks":[],"async":false},"/home/triet/Project/rigscope/node_modules/next/dist/esm/lib/metadata/generate/icon-mark.js":{"id":6869,"name":"*","chunks":[],"async":false},"/home/triet/Project/rigscope/src/app/globals.css":{"id":1743,"name":"*","chunks":["939","static/chunks/939-514e554087419c71.js","177","static/chunks/app/layout-4feff677c4071745.js"],"async":false},"/home/triet/Project/rigscope/src/components/theme-provider.tsx":{"id":2737,"name":"*","chunks":["939","static/chunks/939-514e554087419c71.js","177","static/chunks/app/layout-4feff677c4071745.js"],"async":false},"/home/triet/Project/rigscope/src/live/live-provider.tsx":{"id":9939,"name":"*","chunks":["939","static/chunks/939-514e554087419c71.js","177","static/chunks/app/layout-4feff677c4071745.js"],"async":false},"/home/triet/Project/rigscope/src/components/admin/administration-view.tsx":{"id":7044,"name":"*","chunks":[],"async":false},"/home/triet/Project/rigscope/src/components/alerts/alerts-view.tsx":{"id":1461,"name":"*","chunks":[],"async":false},"/home/triet/Project/rigscope/src/components/resources/connections-panels.tsx":{"id":5773,"name":"*","chunks":[],"async":false},"/home/triet/Project/rigscope/src/components/history/history-view.tsx":{"id":2939,"name":"*","chunks":[],"async":false},"/home/triet/Project/rigscope/src/components/live/machine-navigation.tsx":{"id":1721,"name":"*","chunks":[],"async":false},"/home/triet/Project/rigscope/src/components/shell/sidebar.tsx":{"id":2701,"name":"*","chunks":[],"async":false},"/home/triet/Project/rigscope/src/components/theme-toggle.tsx":{"id":2394,"name":"*","chunks":[],"async":false},"/home/triet/Project/rigscope/src/components/live/login-view.tsx":{"id":5000,"name":"*","chunks":[],"async":false},"/home/triet/Project/rigscope/src/components/live/machine-view.tsx":{"id":8887,"name":"*","chunks":["157","static/chunks/157-0d36ebf66af048ac.js","939","static/chunks/939-514e554087419c71.js","103","static/chunks/103-13ec30dcc059b9d3.js","130","static/chunks/130-e940915010276f88.js","408","static/chunks/408-29f55984738967db.js","900","static/chunks/app/machines/%5BmachineId%5D/page-0b89e4393a137c4d.js"],"async":false},"/home/triet/Project/rigscope/src/components/live/fleet-view.tsx":{"id":7281,"name":"*","chunks":["157","static/chunks/157-0d36ebf66af048ac.js","939","static/chunks/939-514e554087419c71.js","103","static/chunks/103-13ec30dcc059b9d3.js","130","static/chunks/130-e940915010276f88.js","974","static/chunks/app/page-c68554c93016dd13.js"],"async":false},"/home/triet/Project/rigscope/src/components/processes/processes-view.tsx":{"id":7339,"name":"*","chunks":[],"async":false}},"entryCSSFiles":{"/home/triet/Project/rigscope/src/":[],"/home/triet/Project/rigscope/src/app/layout":[{"inlined":false,"path":"static/css/fb3ad9534f4681e6.css"}],"/home/triet/Project/rigscope/src/app/page":[],"/home/triet/Project/rigscope/src/app/machines/[machineId]/page":[]},"rscModuleMapping":{"484":{"*":{"id":"98562","name":"*","chunks":[],"async":false}},"1304":{"*":{"id":"15098","name":"*","chunks":[],"async":false}},"1461":{"*":{"id":"29953","name":"*","chunks":[],"async":false}},"1721":{"*":{"id":"28565","name":"*","chunks":[],"async":false}},"1743":{"*":{"id":"61135","name":"*","chunks":[],"async":false}},"2394":{"*":{"id":"46568","name":"*","chunks":[],"async":false}},"2701":{"*":{"id":"50369","name":"*","chunks":[],"async":false}},"2737":{"*":{"id":"65223","name":"*","chunks":[],"async":false}},"2939":{"*":{"id":"79173","name":"*","chunks":[],"async":false}},"4581":{"*":{"id":"16237","name":"*","chunks":[],"async":false}},"4777":{"*":{"id":"33859","name":"*","chunks":[],"async":false}},"5000":{"*":{"id":"52604","name":"*","chunks":[],"async":false}},"5773":{"*":{"id":"37147","name":"*","chunks":[],"async":false}},"6869":{"*":{"id":"36675","name":"*","chunks":[],"async":false}},"7044":{"*":{"id":"2902","name":"*","chunks":[],"async":false}},"7121":{"*":{"id":"98099","name":"*","chunks":[],"async":false}},"7123":{"*":{"id":"95547","name":"*","chunks":[],"async":false}},"7281":{"*":{"id":"22993","name":"*","chunks":[],"async":false}},"7339":{"*":{"id":"89893","name":"*","chunks":[],"async":false}},"8616":{"*":{"id":"47644","name":"*","chunks":[],"async":false}},"8887":{"*":{"id":"73132","name":"*","chunks":[],"async":false}},"9939":{"*":{"id":"89604","name":"*","chunks":[],"async":false}}},"edgeRscModuleMapping":{}};
1
+ globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/machines/[machineId]/page"]={"moduleLoading":{"prefix":"/_next/"},"ssrModuleMapping":{"484":{"*":{"id":"70664","name":"*","chunks":[],"async":false}},"1304":{"*":{"id":"60440","name":"*","chunks":[],"async":false}},"1461":{"*":{"id":"86673","name":"*","chunks":[],"async":false}},"1721":{"*":{"id":"40015","name":"*","chunks":[],"async":false}},"2394":{"*":{"id":"76670","name":"*","chunks":[],"async":false}},"2701":{"*":{"id":"7867","name":"*","chunks":[],"async":false}},"2737":{"*":{"id":"4833","name":"*","chunks":[],"async":false}},"2939":{"*":{"id":"81328","name":"*","chunks":[],"async":false}},"4581":{"*":{"id":"61335","name":"*","chunks":[],"async":false}},"4777":{"*":{"id":"82265","name":"*","chunks":[],"async":false}},"5000":{"*":{"id":"93022","name":"*","chunks":[],"async":false}},"5773":{"*":{"id":"71793","name":"*","chunks":[],"async":false}},"6869":{"*":{"id":"74661","name":"*","chunks":[],"async":false}},"7044":{"*":{"id":"9479","name":"*","chunks":[],"async":false}},"7121":{"*":{"id":"35421","name":"*","chunks":[],"async":false}},"7123":{"*":{"id":"81921","name":"*","chunks":[],"async":false}},"7281":{"*":{"id":"81931","name":"*","chunks":[],"async":false}},"7339":{"*":{"id":"30847","name":"*","chunks":[],"async":false}},"8616":{"*":{"id":"84342","name":"*","chunks":[],"async":false}},"8887":{"*":{"id":"85909","name":"*","chunks":[],"async":false}},"9904":{"*":{"id":"85378","name":"*","chunks":[],"async":false}},"9939":{"*":{"id":"58910","name":"*","chunks":[],"async":false}}},"edgeSSRModuleMapping":{},"clientModules":{"/home/triet/Project/rigscope/node_modules/next/dist/client/components/builtin/global-error.js":{"id":7123,"name":"*","chunks":[],"async":false},"/home/triet/Project/rigscope/node_modules/next/dist/esm/client/components/builtin/global-error.js":{"id":7123,"name":"*","chunks":[],"async":false},"/home/triet/Project/rigscope/node_modules/next/dist/client/components/client-page.js":{"id":1304,"name":"*","chunks":[],"async":false},"/home/triet/Project/rigscope/node_modules/next/dist/esm/client/components/client-page.js":{"id":1304,"name":"*","chunks":[],"async":false},"/home/triet/Project/rigscope/node_modules/next/dist/client/components/client-segment.js":{"id":8616,"name":"*","chunks":[],"async":false},"/home/triet/Project/rigscope/node_modules/next/dist/esm/client/components/client-segment.js":{"id":8616,"name":"*","chunks":[],"async":false},"/home/triet/Project/rigscope/node_modules/next/dist/client/components/http-access-fallback/error-boundary.js":{"id":4777,"name":"*","chunks":[],"async":false},"/home/triet/Project/rigscope/node_modules/next/dist/esm/client/components/http-access-fallback/error-boundary.js":{"id":4777,"name":"*","chunks":[],"async":false},"/home/triet/Project/rigscope/node_modules/next/dist/client/components/layout-router.js":{"id":7121,"name":"*","chunks":[],"async":false},"/home/triet/Project/rigscope/node_modules/next/dist/esm/client/components/layout-router.js":{"id":7121,"name":"*","chunks":[],"async":false},"/home/triet/Project/rigscope/node_modules/next/dist/client/components/render-from-template-context.js":{"id":4581,"name":"*","chunks":[],"async":false},"/home/triet/Project/rigscope/node_modules/next/dist/esm/client/components/render-from-template-context.js":{"id":4581,"name":"*","chunks":[],"async":false},"/home/triet/Project/rigscope/node_modules/next/dist/lib/framework/boundary-components.js":{"id":484,"name":"*","chunks":[],"async":false},"/home/triet/Project/rigscope/node_modules/next/dist/esm/lib/framework/boundary-components.js":{"id":484,"name":"*","chunks":[],"async":false},"/home/triet/Project/rigscope/node_modules/next/dist/lib/metadata/generate/icon-mark.js":{"id":6869,"name":"*","chunks":[],"async":false},"/home/triet/Project/rigscope/node_modules/next/dist/esm/lib/metadata/generate/icon-mark.js":{"id":6869,"name":"*","chunks":[],"async":false},"/home/triet/Project/rigscope/src/app/globals.css":{"id":1743,"name":"*","chunks":["939","static/chunks/939-514e554087419c71.js","177","static/chunks/app/layout-4feff677c4071745.js"],"async":false},"/home/triet/Project/rigscope/src/components/theme-provider.tsx":{"id":2737,"name":"*","chunks":["939","static/chunks/939-514e554087419c71.js","177","static/chunks/app/layout-4feff677c4071745.js"],"async":false},"/home/triet/Project/rigscope/src/live/live-provider.tsx":{"id":9939,"name":"*","chunks":["939","static/chunks/939-514e554087419c71.js","177","static/chunks/app/layout-4feff677c4071745.js"],"async":false},"/home/triet/Project/rigscope/src/components/admin/administration-view.tsx":{"id":7044,"name":"*","chunks":[],"async":false},"/home/triet/Project/rigscope/src/components/history/history-view.tsx":{"id":2939,"name":"*","chunks":[],"async":false},"/home/triet/Project/rigscope/src/components/live/machine-navigation.tsx":{"id":1721,"name":"*","chunks":[],"async":false},"/home/triet/Project/rigscope/src/components/shell/mobile-navigation.tsx":{"id":9904,"name":"*","chunks":[],"async":false},"/home/triet/Project/rigscope/src/components/shell/sidebar.tsx":{"id":2701,"name":"*","chunks":[],"async":false},"/home/triet/Project/rigscope/src/components/theme-toggle.tsx":{"id":2394,"name":"*","chunks":[],"async":false},"/home/triet/Project/rigscope/src/components/resources/connections-panels.tsx":{"id":5773,"name":"*","chunks":[],"async":false},"/home/triet/Project/rigscope/src/components/alerts/alerts-view.tsx":{"id":1461,"name":"*","chunks":[],"async":false},"/home/triet/Project/rigscope/src/components/live/login-view.tsx":{"id":5000,"name":"*","chunks":[],"async":false},"/home/triet/Project/rigscope/src/components/live/fleet-view.tsx":{"id":7281,"name":"*","chunks":["944","static/chunks/944-a7fe1d96f1d20531.js","939","static/chunks/939-514e554087419c71.js","103","static/chunks/103-976549d31902404e.js","130","static/chunks/130-e940915010276f88.js","974","static/chunks/app/page-9c9c89166eee4c92.js"],"async":false},"/home/triet/Project/rigscope/src/components/processes/processes-view.tsx":{"id":7339,"name":"*","chunks":[],"async":false},"/home/triet/Project/rigscope/src/components/live/machine-view.tsx":{"id":8887,"name":"*","chunks":["944","static/chunks/944-a7fe1d96f1d20531.js","939","static/chunks/939-514e554087419c71.js","103","static/chunks/103-976549d31902404e.js","130","static/chunks/130-e940915010276f88.js","408","static/chunks/408-9fdba9e4e956ef08.js","900","static/chunks/app/machines/%5BmachineId%5D/page-89143e71c34b542b.js"],"async":false}},"entryCSSFiles":{"/home/triet/Project/rigscope/src/":[],"/home/triet/Project/rigscope/src/app/layout":[{"inlined":false,"path":"static/css/f5d3162842dcac31.css"}],"/home/triet/Project/rigscope/src/app/page":[],"/home/triet/Project/rigscope/src/app/machines/[machineId]/page":[]},"rscModuleMapping":{"484":{"*":{"id":"98562","name":"*","chunks":[],"async":false}},"1304":{"*":{"id":"15098","name":"*","chunks":[],"async":false}},"1461":{"*":{"id":"29953","name":"*","chunks":[],"async":false}},"1721":{"*":{"id":"28565","name":"*","chunks":[],"async":false}},"1743":{"*":{"id":"61135","name":"*","chunks":[],"async":false}},"2394":{"*":{"id":"46568","name":"*","chunks":[],"async":false}},"2701":{"*":{"id":"50369","name":"*","chunks":[],"async":false}},"2737":{"*":{"id":"65223","name":"*","chunks":[],"async":false}},"2939":{"*":{"id":"79173","name":"*","chunks":[],"async":false}},"4581":{"*":{"id":"16237","name":"*","chunks":[],"async":false}},"4777":{"*":{"id":"33859","name":"*","chunks":[],"async":false}},"5000":{"*":{"id":"52604","name":"*","chunks":[],"async":false}},"5773":{"*":{"id":"37147","name":"*","chunks":[],"async":false}},"6869":{"*":{"id":"36675","name":"*","chunks":[],"async":false}},"7044":{"*":{"id":"2902","name":"*","chunks":[],"async":false}},"7121":{"*":{"id":"98099","name":"*","chunks":[],"async":false}},"7123":{"*":{"id":"95547","name":"*","chunks":[],"async":false}},"7281":{"*":{"id":"22993","name":"*","chunks":[],"async":false}},"7339":{"*":{"id":"89893","name":"*","chunks":[],"async":false}},"8616":{"*":{"id":"47644","name":"*","chunks":[],"async":false}},"8887":{"*":{"id":"73132","name":"*","chunks":[],"async":false}},"9904":{"*":{"id":"64792","name":"*","chunks":[],"async":false}},"9939":{"*":{"id":"89604","name":"*","chunks":[],"async":false}}},"edgeRscModuleMapping":{}};
@@ -1 +1 @@
1
- (()=>{var a={};a.id=974,a.ids=[974],a.modules={126:(a,b,c)=>{Promise.resolve().then(c.bind(c,22993))},1498:(a,b,c)=>{"use strict";c.d(b,{A:()=>d});let d=(0,c(65366).A)("Search",[["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}],["path",{d:"m21 21-4.3-4.3",key:"1qie3q"}]])},3295:a=>{"use strict";a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},4494:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>g,metadata:()=>f});var d=c(5735),e=c(22993);let f={title:"Fleet"};function g(){return(0,d.jsx)(e.FleetView,{})}},7627:(a,b,c)=>{"use strict";c.r(b),c.d(b,{__next_app__:()=>p,handler:()=>r,routeModule:()=>q});var d=c(21635),e=c(86315),f=c(1020),g=c(61287),h={};for(let a in g)0>["default","__next_app__","routeModule","handler"].indexOf(a)&&(h[a]=()=>g[a]);c.d(b,h);let i=(0,d.p)(()=>Promise.resolve().then(c.bind(c,76537))),j=(0,d.p)(()=>Promise.resolve().then(c.t.bind(c,95547,23))),k=(0,d.p)(()=>Promise.resolve().then(c.t.bind(c,55091,23))),l=(0,d.p)(()=>Promise.resolve().then(c.t.bind(c,45270,23))),m=(0,d.p)(()=>Promise.resolve().then(c.t.bind(c,28193,23))),n={children:["",{children:["__PAGE__",{},{page:[(0,d.p)(()=>Promise.resolve().then(c.bind(c,4494))),"/home/triet/Project/rigscope/src/app/page.tsx"],metadata:{icon:[async a=>(await (0,d.p)(()=>Promise.resolve().then(c.bind(c,59645)))()).default(a)],apple:[],openGraph:[],twitter:[],manifest:void 0}}]},{layout:[i,"/home/triet/Project/rigscope/src/app/layout.tsx"],"global-error":[j,"next/dist/client/components/builtin/global-error.js"],"not-found":[k,"next/dist/client/components/builtin/not-found.js"],forbidden:[l,"next/dist/client/components/builtin/forbidden.js"],unauthorized:[m,"next/dist/client/components/builtin/unauthorized.js"],metadata:{icon:[async a=>(await (0,d.p)(()=>Promise.resolve().then(c.bind(c,59645)))()).default(a)],apple:[],openGraph:[],twitter:[],manifest:void 0}},[]]}.children,o=(0,e.H)({tree:n,page:"/page",pathname:"/",require:c,loadChunk:()=>Promise.resolve(),interopDefault:f.T}),p=o.__next_app__,q=o.routeModule,r=o.handler},8128:a=>{"use strict";a.exports=require("next/dist/server/runtime-reacts.external.js")},8806:(a,b,c)=>{"use strict";c.d(b,{A:()=>d});let d=(0,c(65366).A)("Plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]])},10846:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},19121:a=>{"use strict";a.exports=require("next/dist/server/app-render/action-async-storage.external.js")},22993:(a,b,c)=>{"use strict";c.d(b,{FleetView:()=>d});let d=(0,c(77943).registerClientReference)(function(){throw Error("Attempted to call FleetView() from the server but FleetView is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/triet/Project/rigscope/src/components/live/fleet-view.tsx","FleetView")},28354:a=>{"use strict";a.exports=require("util")},29294:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},33873:a=>{"use strict";a.exports=require("path")},38522:a=>{"use strict";a.exports=require("node:zlib")},41025:a=>{"use strict";a.exports=require("next/dist/server/app-render/dynamic-access-async-storage.external.js")},46060:a=>{"use strict";a.exports=require("next/dist/shared/lib/no-fallback-error.external.js")},48878:(a,b,c)=>{"use strict";c.d(b,{A:()=>d});let d=(0,c(65366).A)("Hourglass",[["path",{d:"M5 22h14",key:"ehvnwv"}],["path",{d:"M5 2h14",key:"pdyrp9"}],["path",{d:"M17 22v-4.172a2 2 0 0 0-.586-1.414L12 12l-4.414 4.414A2 2 0 0 0 7 17.828V22",key:"1d314k"}],["path",{d:"M7 2v4.172a2 2 0 0 0 .586 1.414L12 12l4.414-4.414A2 2 0 0 0 17 6.172V2",key:"1vvvr6"}]])},55511:a=>{"use strict";a.exports=require("crypto")},63033:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},66125:(a,b,c)=>{"use strict";c.d(b,{A:()=>d});let d=(0,c(65366).A)("CloudOff",[["path",{d:"m2 2 20 20",key:"1ooewy"}],["path",{d:"M5.782 5.782A7 7 0 0 0 9 19h8.5a4.5 4.5 0 0 0 1.307-.193",key:"yfwify"}],["path",{d:"M21.532 16.5A4.5 4.5 0 0 0 17.5 10h-1.79A7.008 7.008 0 0 0 10 5.07",key:"jlfiyv"}]])},81931:(a,b,c)=>{"use strict";c.d(b,{FleetView:()=>J});var d=c(48249),e=c(2116),f=c.n(e),g=c(8806),h=c(48878),i=c(66125),j=c(1498),k=c(67484),l=c(22091),m=c(22338),n=c(81232),o=c(75006),p=c(50280),q=c(4155),r=c(93224),s=c(58910),t=c(65666),u=c(29356),v=c(99837);let w={ok:"bg-ok-soft text-ok",degraded:"bg-warn-soft text-warn",stale:"bg-warn-soft text-warn",disconnected:"bg-crit-soft text-crit",unseen:"border border-border text-muted-foreground"};function x(a){return"value"===a.state?a.stale?{out:"stale",usedBytes:a.value.usedBytes,totalBytes:a.value.totalBytes}:{out:"value",usedBytes:a.value.usedBytes,totalBytes:a.value.totalBytes}:"unavailable"===a.state?{out:"unavailable",reason:a.reason}:{out:"absent"}}function y({level:a}){return(0,d.jsxs)("span",{className:`tnum inline-flex items-center gap-1.5 rounded-full px-2 py-0.5 text-xs ${w[a]}`,children:[(0,d.jsx)("span",{"aria-hidden":!0,className:"inline-block h-1.5 w-1.5 rounded-full bg-current opacity-70"}),(0,r.fv)(a)]})}function z(a){return`No update for over ${(0,r.$)(a)} (judged by hub receipt time)`}function A({field:a,isHeld:b,thresholdMs:c}){return"value"===a.out?(0,d.jsxs)("span",{className:"tnum text-sm",children:[(0,r.l9)(a.value),b?(0,d.jsx)(B,{}):null]}):"stale"===a.out?(0,d.jsxs)("span",{className:"tnum text-sm",children:[(0,r.l9)(a.value),(0,d.jsx)("span",{className:"ml-1.5",children:(0,d.jsx)(p.vw,{text:"stale",title:z(c)})})]}):"unavailable"===a.out?(0,d.jsx)("span",{className:"text-xs text-warn",title:a.reason,children:"Unavailable"}):(0,d.jsx)("span",{className:"tnum text-sm text-muted-foreground",children:"—"})}function B(){return(0,d.jsx)("span",{className:"ml-1.5",children:(0,d.jsx)(p.vw,{text:"held",title:"Last known value, kept while the connection is down"})})}function C(a){return"value"===a.out||"stale"===a.out?`${(0,r.z3)(a.usedBytes)} / ${(0,r.z3)(a.totalBytes)}`:"unavailable"===a.out?"Unavailable":"—"}function D({summary:a}){if(null===a)return(0,d.jsx)("span",{className:"text-xs text-muted-foreground",children:"No GPU data"});if(0===a.supportedCount)return(0,d.jsxs)("span",{className:"text-xs text-muted-foreground",title:a.reason??"No supported telemetry",children:[a.count," adapter",1===a.count?"":"s"," \xb7 no telemetry"]});if(a.reason)return(0,d.jsxs)("span",{className:"text-xs text-warn",title:a.reason,children:[a.supportedCount," GPU",1===a.supportedCount?"":"s"," \xb7 unavailable"]});let b=null===a.maxUtilizationPercent?"util —":`util ${(0,r.l9)(a.maxUtilizationPercent)}`,c=null!==a.memoryUsedBytes&&null!==a.memoryTotalBytes?`${(0,r.z3)(a.memoryUsedBytes)} / ${(0,r.z3)(a.memoryTotalBytes)}`:"VRAM —";return(0,d.jsx)("span",{className:"tnum text-xs",children:a.partial?(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)("span",{className:"text-warn",children:[a.okCount,"/",a.supportedCount," GPUs reporting"]}),(0,d.jsxs)("span",{className:"text-muted-foreground",children:[" \xb7 ",b," \xb7 ",c," "]}),(0,d.jsx)(p.vw,{text:"partial",title:"At least one supported GPU has no current reading"}),a.stale?(0,d.jsx)("span",{className:"ml-1.5",children:(0,d.jsx)(p.vw,{text:"last known",title:"Retained from the last accepted sample"})}):null]}):(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("span",{className:"text-foreground",children:a.supportedCount}),(0,d.jsxs)("span",{className:"text-muted-foreground",children:[" ","GPU",1===a.supportedCount?"":"s"," \xb7 ",b," \xb7 ",c]}),a.stale?(0,d.jsx)("span",{className:"ml-1.5",children:(0,d.jsx)(p.vw,{text:"last known",title:"Retained from the last accepted sample"})}):null]})})}function E({state:a}){let b=(0,v.V5)(a);return 0===b.length?null:(0,d.jsx)("ul",{className:"mt-1 flex flex-wrap gap-1",children:b.map(a=>(0,d.jsx)("li",{className:"rounded-full border border-border px-1.5 py-0.5 text-xs text-muted-foreground",children:a},a))})}function F({state:a}){let b=(0,v.v4)(a),c=[a.hostname!==b?a.hostname:null].filter(a=>!!(a&&a!==b)).join(" \xb7 ");return(0,d.jsxs)("div",{className:"flex min-w-0 flex-col",children:[(0,d.jsx)("span",{className:"truncate text-sm font-medium",children:b}),c?(0,d.jsx)("span",{className:"tnum truncate text-xs text-muted-foreground",children:c}):null,(0,d.jsx)(E,{state:a})]})}function G({points:a}){let b=(a.at(-1)?.receivedAtLocal??0)-6e5,c=a.filter(a=>a.receivedAtLocal>=b),e=(0,t.K)(c,160,40),f=(0,t.K)(c.map(a=>({...a,cpuPercent:a.memoryPercent})),160,40);return(0,d.jsxs)("div",{className:"w-40 max-w-full",title:"CPU and memory since sign-in",children:[(0,d.jsxs)("svg",{viewBox:"0 0 160 40",className:"h-10 w-full",role:"img","aria-label":"Recent CPU and memory usage since sign-in",children:[(0,d.jsx)("line",{x1:"4",x2:"156",y1:"36",y2:"36",stroke:"var(--border)"}),e?(0,d.jsx)("path",{d:e,fill:"none",stroke:"var(--cpu)",strokeWidth:"1.5"}):null,f?(0,d.jsx)("path",{d:f,fill:"none",stroke:"var(--mem)",strokeWidth:"1.5"}):null]}),(0,d.jsxs)("div",{className:"flex gap-3 text-xs text-muted-foreground",children:[(0,d.jsxs)("span",{className:"inline-flex items-center gap-1",children:[(0,d.jsx)("span",{className:"h-1.5 w-1.5 rounded-full bg-cpu"}),"CPU"]}),(0,d.jsxs)("span",{className:"inline-flex items-center gap-1",children:[(0,d.jsx)("span",{className:"h-1.5 w-1.5 rounded-full bg-mem"}),"RAM"]})]})]})}function H({state:a,now:b,held:c,points:e}){var g;let h=(0,v.hL)(a,b),i=(0,v.fp)(a,b),j=(0,r.F2)(a,b),k="stale"===h.freshness,l=z(h.thresholdMs),m=x(i.memory),n="unavailable"===h.cpu.total.state||"unavailable"===h.memory.state||"unavailable"===h.gpus.family.state||h.gpus.partial||"unavailable"===h.disks.family.state||"unavailable"===h.network.family.state,o="ok"===j.attention&&n?"degraded":j.attention;return(0,d.jsxs)("tr",{className:"transition-colors hover:bg-card-strong/60",children:[(0,d.jsx)("td",{className:"border-b border-border py-2.5 pr-4",children:(0,d.jsx)(f(),{href:`/machines/${encodeURIComponent(a.machineId)}`,className:"inline-flex min-w-0 flex-col rounded-sm transition-colors hover:underline",children:(0,d.jsx)(F,{state:a})})}),(0,d.jsx)("td",{className:"border-b border-border py-2.5 pr-4",children:(0,d.jsxs)("span",{className:"tnum inline-flex items-center gap-1.5 text-xs",children:[(0,d.jsx)("span",{"aria-hidden":!0,className:`inline-block h-1.5 w-1.5 shrink-0 rounded-full ${a.connected?"bg-ok":"bg-crit"}`}),a.connected?"Connected":"Disconnected"]})}),(0,d.jsx)("td",{className:"border-b border-border py-2.5 pr-4",children:(0,d.jsx)(A,{field:"value"===(g=i.cpu).state?g.stale?{out:"stale",value:g.value}:{out:"value",value:g.value}:"unavailable"===g.state?{out:"unavailable",reason:g.reason}:{out:"absent"},isHeld:c,thresholdMs:h.thresholdMs})}),(0,d.jsx)("td",{className:"border-b border-border py-2.5 pr-4",children:(0,d.jsxs)("span",{className:"tnum text-sm",children:[C(m),"stale"===m.out?(0,d.jsx)("span",{className:"ml-1.5",children:(0,d.jsx)(p.vw,{text:"stale",title:l})}):"value"===m.out&&c?(0,d.jsx)(B,{}):null]})}),(0,d.jsx)("td",{className:"border-b border-border py-2.5 pr-4",children:(0,d.jsx)(D,{summary:i.gpu})}),(0,d.jsx)("td",{className:"border-b border-border py-2.5 pr-4",children:(0,d.jsxs)("span",{className:"tnum text-sm",children:[(0,r.nV)((0,r.A4)(a.lastReceivedAt,b)),k?(0,d.jsx)("span",{className:"ml-1.5",children:(0,d.jsx)(p.vw,{text:"stale",title:l})}):c?(0,d.jsx)(B,{}):null]})}),(0,d.jsx)("td",{className:"border-b border-border py-2.5 pr-4",children:(0,d.jsx)(G,{points:e})}),(0,d.jsx)("td",{className:"border-b border-border py-2.5",children:(0,d.jsx)(y,{level:o})})]})}function I({state:a,now:b,held:c,points:e}){let g=(0,v.hL)(a,b),h=(0,v.fp)(a,b),i=(0,r.F2)(a,b),j="stale"===g.freshness,k=z(g.thresholdMs),l=x(h.memory),m="unavailable"===g.cpu.total.state||"unavailable"===g.memory.state||"unavailable"===g.gpus.family.state||g.gpus.partial||"unavailable"===g.disks.family.state||"unavailable"===g.network.family.state,n="ok"===i.attention&&m?"degraded":i.attention;return(0,d.jsx)("li",{children:(0,d.jsxs)(f(),{href:`/machines/${encodeURIComponent(a.machineId)}`,className:"block rounded-xl border border-border bg-card p-4 transition-colors hover:border-muted-foreground/40",children:[(0,d.jsxs)("div",{className:"flex items-center justify-between gap-3",children:[(0,d.jsx)(F,{state:a}),(0,d.jsx)(y,{level:n})]}),(0,d.jsxs)("dl",{className:"mt-3 grid grid-cols-2 gap-x-4 gap-y-2 text-xs",children:[(0,d.jsx)("dt",{className:"text-muted-foreground",children:"Collector"}),(0,d.jsx)("dd",{className:"tnum",children:a.connected?"Connected":"Disconnected"}),(0,d.jsx)("dt",{className:"text-muted-foreground",children:"CPU"}),(0,d.jsx)("dd",{className:"tnum",children:"value"===h.cpu.state?`${(0,r.l9)(h.cpu.value)}${h.cpu.stale?" \xb7 last known":""}`:"unavailable"===h.cpu.state?"Unavailable":"—"}),(0,d.jsx)("dt",{className:"text-muted-foreground",children:"Memory"}),(0,d.jsxs)("dd",{className:"tnum",children:[C(l),"stale"===l.out?(0,d.jsx)("span",{className:"ml-1.5",children:(0,d.jsx)(p.vw,{text:"stale",title:k})}):null]}),(0,d.jsx)("dt",{className:"text-muted-foreground",children:"GPU"}),(0,d.jsx)("dd",{children:(0,d.jsx)(D,{summary:h.gpu})}),(0,d.jsx)("dt",{className:"text-muted-foreground",children:"Last received"}),(0,d.jsxs)("dd",{className:"tnum",children:[(0,r.nV)((0,r.A4)(a.lastReceivedAt,b)),j?(0,d.jsx)("span",{className:"ml-1.5",children:(0,d.jsx)(p.vw,{text:"stale",title:k})}):null]})]}),(0,d.jsx)("div",{className:"mt-3",children:(0,d.jsx)(G,{points:e})})]})})}function J(){let{phase:a,machines:b,history:c,session:e}=(0,s.M)(),p=(0,q.x)(),r=(0,u.c)(),[t,w]=(0,k.useState)(""),x=b.length,y="reconnecting"===a||"disconnected"===a,z=(0,v.rn)(b,t),A=x>0&&("live"===a||y);return(0,d.jsx)(l.G,{title:"Fleet",headerRight:(0,d.jsxs)(d.Fragment,{children:["signed-in"===e.kind&&e.user.admin?(0,d.jsxs)(f(),{href:"/administration#collectors",className:"inline-flex items-center gap-1.5 rounded-md border border-border px-2.5 py-1.5 text-xs hover:bg-card-strong",children:[(0,d.jsx)(g.A,{className:"h-3.5 w-3.5","aria-hidden":!0}),(0,d.jsx)("span",{className:"hidden sm:inline",children:"Add machine"}),(0,d.jsx)("span",{className:"sr-only sm:hidden",children:"Add machine"})]}):null,(0,d.jsx)(n.$E,{}),(0,d.jsx)(o.B,{})]}),children:p||(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(q.E,{}),"connecting"===a&&0===x?(0,d.jsx)(m.Z,{title:"Waiting for the first snapshot",className:"mt-10",children:(0,d.jsx)(m.p,{icon:h.A,note:"Waiting for the first snapshot…"})}):null,("live"===a||y)&&0===x?(0,d.jsx)(m.Z,{title:"No machines",className:"mt-10",children:(0,d.jsx)(m.p,{icon:i.A,note:"No machines are available in your authorized fleet."})}):null,A?(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)("div",{className:"mb-4 flex flex-wrap items-end justify-between gap-3",children:[(0,d.jsxs)("div",{className:"min-w-0",children:[(0,d.jsx)("label",{htmlFor:"fleet-search",className:"sr-only",children:"Search machines by name or tag"}),(0,d.jsxs)("div",{className:"relative",children:[(0,d.jsx)(j.A,{className:"pointer-events-none absolute left-2.5 top-1/2 h-3.5 w-3.5 -translate-y-1/2 text-muted-foreground","aria-hidden":!0}),(0,d.jsx)("input",{id:"fleet-search",type:"search",value:t,onChange:a=>w(a.target.value),placeholder:"Search name or tag",className:"w-64 max-w-full rounded-md border border-border bg-card py-1.5 pl-8 pr-3 text-sm text-foreground placeholder:text-muted-foreground"})]})]}),(0,d.jsxs)("p",{className:"tnum text-xs text-muted-foreground",role:"status",children:[z.length," of ",x," machine",1===x?"":"s",t.trim()?` matching “${t.trim()}”`:""]})]}),0===z.length?(0,d.jsx)(m.Z,{title:"No matching machines",children:(0,d.jsx)(m.p,{icon:j.A,note:`No machines match “${t.trim()}”.`})}):(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("div",{className:"hidden md:block",children:(0,d.jsx)(m.Z,{title:"Machines",action:(0,d.jsxs)("span",{children:[x," machine",1===x?"":"s"]}),children:(0,d.jsx)("div",{className:"overflow-x-auto",children:(0,d.jsxs)("table",{className:"w-full border-separate border-spacing-0 text-left",children:[(0,d.jsx)("caption",{className:"sr-only",children:"Fleet machines with collector connection, CPU, memory, GPU summary, and sample freshness"}),(0,d.jsx)("thead",{children:(0,d.jsxs)("tr",{className:"text-xs text-muted-foreground",children:[(0,d.jsx)("th",{scope:"col",className:"pb-2 pr-4 font-normal",children:"Machine"}),(0,d.jsx)("th",{scope:"col",className:"pb-2 pr-4 font-normal",children:"Collector"}),(0,d.jsx)("th",{scope:"col",className:"pb-2 pr-4 font-normal",children:"CPU"}),(0,d.jsx)("th",{scope:"col",className:"pb-2 pr-4 font-normal",children:"Memory"}),(0,d.jsx)("th",{scope:"col",className:"pb-2 pr-4 font-normal",children:"GPU"}),(0,d.jsx)("th",{scope:"col",className:"pb-2 pr-4 font-normal",children:"Last received"}),(0,d.jsx)("th",{scope:"col",className:"pb-2 pr-4 font-normal",children:"Recent load"}),(0,d.jsx)("th",{scope:"col",className:"pb-2 font-normal",children:"State"})]})}),(0,d.jsx)("tbody",{children:z.map(a=>(0,d.jsx)(H,{state:a,now:r,held:y,points:c.get(a.machineId)??[]},a.machineId))})]})})})}),(0,d.jsx)("div",{className:"md:hidden",children:(0,d.jsx)(m.Z,{title:"Machines",action:(0,d.jsxs)("span",{className:"tnum",children:[z.length," machine",1===z.length?"":"s"]}),children:(0,d.jsx)("ul",{className:"flex flex-col gap-3",children:z.map(a=>(0,d.jsx)(I,{state:a,now:r,held:y,points:c.get(a.machineId)??[]},a.machineId))})})})]})]}):null]})})}},91878:(a,b,c)=>{Promise.resolve().then(c.bind(c,81931))}};var b=require("../webpack-runtime.js");b.C(a);var c=b.X(0,[266,430,721,161,751,364],()=>b(b.s=7627));module.exports=c})();
1
+ (()=>{var a={};a.id=974,a.ids=[974],a.modules={126:(a,b,c)=>{Promise.resolve().then(c.bind(c,22993))},1498:(a,b,c)=>{"use strict";c.d(b,{A:()=>d});let d=(0,c(65366).A)("Search",[["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}],["path",{d:"m21 21-4.3-4.3",key:"1qie3q"}]])},3295:a=>{"use strict";a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},4494:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>g,metadata:()=>f});var d=c(5735),e=c(22993);let f={title:"Fleet"};function g(){return(0,d.jsx)(e.FleetView,{})}},7627:(a,b,c)=>{"use strict";c.r(b),c.d(b,{__next_app__:()=>p,handler:()=>r,routeModule:()=>q});var d=c(21635),e=c(86315),f=c(1020),g=c(61287),h={};for(let a in g)0>["default","__next_app__","routeModule","handler"].indexOf(a)&&(h[a]=()=>g[a]);c.d(b,h);let i=(0,d.p)(()=>Promise.resolve().then(c.bind(c,76537))),j=(0,d.p)(()=>Promise.resolve().then(c.t.bind(c,95547,23))),k=(0,d.p)(()=>Promise.resolve().then(c.t.bind(c,55091,23))),l=(0,d.p)(()=>Promise.resolve().then(c.t.bind(c,45270,23))),m=(0,d.p)(()=>Promise.resolve().then(c.t.bind(c,28193,23))),n={children:["",{children:["__PAGE__",{},{page:[(0,d.p)(()=>Promise.resolve().then(c.bind(c,4494))),"/home/triet/Project/rigscope/src/app/page.tsx"],metadata:{icon:[async a=>(await (0,d.p)(()=>Promise.resolve().then(c.bind(c,59645)))()).default(a)],apple:[],openGraph:[],twitter:[],manifest:void 0}}]},{layout:[i,"/home/triet/Project/rigscope/src/app/layout.tsx"],"global-error":[j,"next/dist/client/components/builtin/global-error.js"],"not-found":[k,"next/dist/client/components/builtin/not-found.js"],forbidden:[l,"next/dist/client/components/builtin/forbidden.js"],unauthorized:[m,"next/dist/client/components/builtin/unauthorized.js"],metadata:{icon:[async a=>(await (0,d.p)(()=>Promise.resolve().then(c.bind(c,59645)))()).default(a)],apple:[],openGraph:[],twitter:[],manifest:void 0}},[]]}.children,o=(0,e.H)({tree:n,page:"/page",pathname:"/",require:c,loadChunk:()=>Promise.resolve(),interopDefault:f.T}),p=o.__next_app__,q=o.routeModule,r=o.handler},8128:a=>{"use strict";a.exports=require("next/dist/server/runtime-reacts.external.js")},8806:(a,b,c)=>{"use strict";c.d(b,{A:()=>d});let d=(0,c(65366).A)("Plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]])},10846:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},19121:a=>{"use strict";a.exports=require("next/dist/server/app-render/action-async-storage.external.js")},22993:(a,b,c)=>{"use strict";c.d(b,{FleetView:()=>d});let d=(0,c(77943).registerClientReference)(function(){throw Error("Attempted to call FleetView() from the server but FleetView is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/triet/Project/rigscope/src/components/live/fleet-view.tsx","FleetView")},28354:a=>{"use strict";a.exports=require("util")},29294:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},33873:a=>{"use strict";a.exports=require("path")},38522:a=>{"use strict";a.exports=require("node:zlib")},41025:a=>{"use strict";a.exports=require("next/dist/server/app-render/dynamic-access-async-storage.external.js")},46060:a=>{"use strict";a.exports=require("next/dist/shared/lib/no-fallback-error.external.js")},48878:(a,b,c)=>{"use strict";c.d(b,{A:()=>d});let d=(0,c(65366).A)("Hourglass",[["path",{d:"M5 22h14",key:"ehvnwv"}],["path",{d:"M5 2h14",key:"pdyrp9"}],["path",{d:"M17 22v-4.172a2 2 0 0 0-.586-1.414L12 12l-4.414 4.414A2 2 0 0 0 7 17.828V22",key:"1d314k"}],["path",{d:"M7 2v4.172a2 2 0 0 0 .586 1.414L12 12l4.414-4.414A2 2 0 0 0 17 6.172V2",key:"1vvvr6"}]])},55511:a=>{"use strict";a.exports=require("crypto")},63033:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},66125:(a,b,c)=>{"use strict";c.d(b,{A:()=>d});let d=(0,c(65366).A)("CloudOff",[["path",{d:"m2 2 20 20",key:"1ooewy"}],["path",{d:"M5.782 5.782A7 7 0 0 0 9 19h8.5a4.5 4.5 0 0 0 1.307-.193",key:"yfwify"}],["path",{d:"M21.532 16.5A4.5 4.5 0 0 0 17.5 10h-1.79A7.008 7.008 0 0 0 10 5.07",key:"jlfiyv"}]])},81931:(a,b,c)=>{"use strict";c.d(b,{FleetView:()=>J});var d=c(48249),e=c(2116),f=c.n(e),g=c(8806),h=c(48878),i=c(66125),j=c(1498),k=c(67484),l=c(22091),m=c(22338),n=c(81232),o=c(75006),p=c(50280),q=c(4155),r=c(93224),s=c(58910),t=c(65666),u=c(29356),v=c(99837);let w={ok:"bg-ok-soft text-ok",degraded:"bg-warn-soft text-warn",stale:"bg-warn-soft text-warn",disconnected:"bg-crit-soft text-crit",unseen:"border border-border text-muted-foreground"};function x(a){return"value"===a.state?a.stale?{out:"stale",usedBytes:a.value.usedBytes,totalBytes:a.value.totalBytes}:{out:"value",usedBytes:a.value.usedBytes,totalBytes:a.value.totalBytes}:"unavailable"===a.state?{out:"unavailable",reason:a.reason}:{out:"absent"}}function y({level:a}){return(0,d.jsxs)("span",{className:`tnum inline-flex items-center gap-1.5 rounded-full px-2 py-0.5 text-xs ${w[a]}`,children:[(0,d.jsx)("span",{"aria-hidden":!0,className:"inline-block h-1.5 w-1.5 rounded-full bg-current opacity-70"}),(0,r.fv)(a)]})}function z(a){return`No update for over ${(0,r.$)(a)} (judged by hub receipt time)`}function A({field:a,isHeld:b,thresholdMs:c}){return"value"===a.out?(0,d.jsxs)("span",{className:"tnum text-sm",children:[(0,r.l9)(a.value),b?(0,d.jsx)(B,{}):null]}):"stale"===a.out?(0,d.jsxs)("span",{className:"tnum text-sm",children:[(0,r.l9)(a.value),(0,d.jsx)("span",{className:"ml-1.5",children:(0,d.jsx)(p.vw,{text:"stale",title:z(c)})})]}):"unavailable"===a.out?(0,d.jsx)("span",{className:"text-xs text-warn",title:a.reason,children:"Unavailable"}):(0,d.jsx)("span",{className:"tnum text-sm text-muted-foreground",children:"—"})}function B(){return(0,d.jsx)("span",{className:"ml-1.5",children:(0,d.jsx)(p.vw,{text:"held",title:"Last known value, kept while the connection is down"})})}function C(a){return"value"===a.out||"stale"===a.out?`${(0,r.z3)(a.usedBytes)} / ${(0,r.z3)(a.totalBytes)}`:"unavailable"===a.out?"Unavailable":"—"}function D({summary:a}){if(null===a)return(0,d.jsx)("span",{className:"text-xs text-muted-foreground",children:"No GPU data"});if(0===a.supportedCount)return(0,d.jsxs)("span",{className:"text-xs text-muted-foreground",title:a.reason??"No supported telemetry",children:[a.count," adapter",1===a.count?"":"s"," \xb7 no telemetry"]});if(a.reason)return(0,d.jsxs)("span",{className:"text-xs text-warn",title:a.reason,children:[a.supportedCount," GPU",1===a.supportedCount?"":"s"," \xb7 unavailable"]});let b=null===a.maxUtilizationPercent?"util —":`util ${(0,r.l9)(a.maxUtilizationPercent)}`,c=null!==a.memoryUsedBytes&&null!==a.memoryTotalBytes?`${(0,r.z3)(a.memoryUsedBytes)} / ${(0,r.z3)(a.memoryTotalBytes)}`:"VRAM —";return(0,d.jsx)("span",{className:"tnum text-xs",children:a.partial?(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)("span",{className:"text-warn",children:[a.okCount,"/",a.supportedCount," GPUs reporting"]}),(0,d.jsxs)("span",{className:"text-muted-foreground",children:[" \xb7 ",b," \xb7 ",c," "]}),(0,d.jsx)(p.vw,{text:"partial",title:"At least one supported GPU has no current reading"}),a.stale?(0,d.jsx)("span",{className:"ml-1.5",children:(0,d.jsx)(p.vw,{text:"last known",title:"Retained from the last accepted sample"})}):null]}):(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("span",{className:"text-foreground",children:a.supportedCount}),(0,d.jsxs)("span",{className:"text-muted-foreground",children:[" ","GPU",1===a.supportedCount?"":"s"," \xb7 ",b," \xb7 ",c]}),a.stale?(0,d.jsx)("span",{className:"ml-1.5",children:(0,d.jsx)(p.vw,{text:"last known",title:"Retained from the last accepted sample"})}):null]})})}function E({state:a}){let b=(0,v.V5)(a);return 0===b.length?null:(0,d.jsx)("ul",{className:"mt-1 flex flex-wrap gap-1",children:b.map(a=>(0,d.jsx)("li",{className:"rounded-full border border-border px-1.5 py-0.5 text-xs text-muted-foreground",children:a},a))})}function F({state:a}){let b=(0,v.v4)(a),c=[a.hostname!==b?a.hostname:null].filter(a=>!!(a&&a!==b)).join(" \xb7 ");return(0,d.jsxs)("div",{className:"flex min-w-0 flex-col",children:[(0,d.jsx)("span",{className:"truncate text-sm font-medium",children:b}),c?(0,d.jsx)("span",{className:"tnum truncate text-xs text-muted-foreground",children:c}):null,(0,d.jsx)(E,{state:a})]})}function G({points:a}){let b=(a.at(-1)?.receivedAtLocal??0)-6e5,c=a.filter(a=>a.receivedAtLocal>=b),e=(0,t.K)(c,160,40),f=(0,t.K)(c.map(a=>({...a,cpuPercent:a.memoryPercent})),160,40);return(0,d.jsxs)("div",{className:"w-40 max-w-full",title:"CPU and memory since sign-in",children:[(0,d.jsxs)("svg",{viewBox:"0 0 160 40",className:"h-10 w-full",role:"img","aria-label":"Recent CPU and memory usage since sign-in",children:[(0,d.jsx)("line",{x1:"4",x2:"156",y1:"36",y2:"36",stroke:"var(--border)"}),e?(0,d.jsx)("path",{d:e,fill:"none",stroke:"var(--cpu)",strokeWidth:"1.5"}):null,f?(0,d.jsx)("path",{d:f,fill:"none",stroke:"var(--mem)",strokeWidth:"1.5"}):null]}),(0,d.jsxs)("div",{className:"flex gap-3 text-xs text-muted-foreground",children:[(0,d.jsxs)("span",{className:"inline-flex items-center gap-1",children:[(0,d.jsx)("span",{className:"h-1.5 w-1.5 rounded-full bg-cpu"}),"CPU"]}),(0,d.jsxs)("span",{className:"inline-flex items-center gap-1",children:[(0,d.jsx)("span",{className:"h-1.5 w-1.5 rounded-full bg-mem"}),"RAM"]})]})]})}function H({state:a,now:b,held:c,points:e}){var g;let h=(0,v.hL)(a,b),i=(0,v.fp)(a,b),j=(0,r.F2)(a,b),k="stale"===h.freshness,l=z(h.thresholdMs),m=x(i.memory),n="unavailable"===h.cpu.total.state||"unavailable"===h.memory.state||"unavailable"===h.gpus.family.state||h.gpus.partial||"unavailable"===h.disks.family.state||"unavailable"===h.network.family.state,o="ok"===j.attention&&n?"degraded":j.attention;return(0,d.jsxs)("tr",{className:"transition-colors hover:bg-card-strong/60",children:[(0,d.jsx)("td",{className:"border-b border-border py-2.5 pr-4",children:(0,d.jsx)(f(),{href:`/machines/${encodeURIComponent(a.machineId)}`,className:"inline-flex min-w-0 flex-col rounded-sm transition-colors hover:underline",children:(0,d.jsx)(F,{state:a})})}),(0,d.jsx)("td",{className:"border-b border-border py-2.5 pr-4",children:(0,d.jsxs)("span",{className:"tnum inline-flex items-center gap-1.5 text-xs",children:[(0,d.jsx)("span",{"aria-hidden":!0,className:`inline-block h-1.5 w-1.5 shrink-0 rounded-full ${a.connected?"bg-ok":"bg-crit"}`}),a.connected?"Connected":"Disconnected"]})}),(0,d.jsx)("td",{className:"border-b border-border py-2.5 pr-4",children:(0,d.jsx)(A,{field:"value"===(g=i.cpu).state?g.stale?{out:"stale",value:g.value}:{out:"value",value:g.value}:"unavailable"===g.state?{out:"unavailable",reason:g.reason}:{out:"absent"},isHeld:c,thresholdMs:h.thresholdMs})}),(0,d.jsx)("td",{className:"border-b border-border py-2.5 pr-4",children:(0,d.jsxs)("span",{className:"tnum text-sm",children:[C(m),"stale"===m.out?(0,d.jsx)("span",{className:"ml-1.5",children:(0,d.jsx)(p.vw,{text:"stale",title:l})}):"value"===m.out&&c?(0,d.jsx)(B,{}):null]})}),(0,d.jsx)("td",{className:"border-b border-border py-2.5 pr-4",children:(0,d.jsx)(D,{summary:i.gpu})}),(0,d.jsx)("td",{className:"border-b border-border py-2.5 pr-4",children:(0,d.jsxs)("span",{className:"tnum text-sm",children:[(0,r.nV)((0,r.A4)(a.lastReceivedAt,b)),k?(0,d.jsx)("span",{className:"ml-1.5",children:(0,d.jsx)(p.vw,{text:"stale",title:l})}):c?(0,d.jsx)(B,{}):null]})}),(0,d.jsx)("td",{className:"border-b border-border py-2.5 pr-4",children:(0,d.jsx)(G,{points:e})}),(0,d.jsx)("td",{className:"border-b border-border py-2.5",children:(0,d.jsx)(y,{level:o})})]})}function I({state:a,now:b,held:c,points:e}){let g=(0,v.hL)(a,b),h=(0,v.fp)(a,b),i=(0,r.F2)(a,b),j="stale"===g.freshness,k=z(g.thresholdMs),l=x(h.memory),m="unavailable"===g.cpu.total.state||"unavailable"===g.memory.state||"unavailable"===g.gpus.family.state||g.gpus.partial||"unavailable"===g.disks.family.state||"unavailable"===g.network.family.state,n="ok"===i.attention&&m?"degraded":i.attention;return(0,d.jsx)("li",{children:(0,d.jsxs)(f(),{href:`/machines/${encodeURIComponent(a.machineId)}`,className:"block rounded-xl border border-border bg-card p-4 transition-colors hover:border-muted-foreground/40",children:[(0,d.jsxs)("div",{className:"flex items-center justify-between gap-3",children:[(0,d.jsx)(F,{state:a}),(0,d.jsx)(y,{level:n})]}),(0,d.jsxs)("dl",{className:"mt-3 grid grid-cols-2 gap-x-4 gap-y-2 text-xs",children:[(0,d.jsx)("dt",{className:"text-muted-foreground",children:"Collector"}),(0,d.jsx)("dd",{className:"tnum",children:a.connected?"Connected":"Disconnected"}),(0,d.jsx)("dt",{className:"text-muted-foreground",children:"CPU"}),(0,d.jsx)("dd",{className:"tnum",children:"value"===h.cpu.state?`${(0,r.l9)(h.cpu.value)}${h.cpu.stale?" \xb7 last known":""}`:"unavailable"===h.cpu.state?"Unavailable":"—"}),(0,d.jsx)("dt",{className:"text-muted-foreground",children:"Memory"}),(0,d.jsxs)("dd",{className:"tnum",children:[C(l),"stale"===l.out?(0,d.jsx)("span",{className:"ml-1.5",children:(0,d.jsx)(p.vw,{text:"stale",title:k})}):null]}),(0,d.jsx)("dt",{className:"text-muted-foreground",children:"GPU"}),(0,d.jsx)("dd",{children:(0,d.jsx)(D,{summary:h.gpu})}),(0,d.jsx)("dt",{className:"text-muted-foreground",children:"Last received"}),(0,d.jsxs)("dd",{className:"tnum",children:[(0,r.nV)((0,r.A4)(a.lastReceivedAt,b)),j?(0,d.jsx)("span",{className:"ml-1.5",children:(0,d.jsx)(p.vw,{text:"stale",title:k})}):null]})]}),(0,d.jsx)("div",{className:"mt-3",children:(0,d.jsx)(G,{points:e})})]})})}function J(){let{phase:a,machines:b,history:c,session:e}=(0,s.M)(),p=(0,q.x)(),r=(0,u.c)(),[t,w]=(0,k.useState)(""),x=b.length,y="reconnecting"===a||"disconnected"===a,z=(0,v.rn)(b,t),A=x>0&&("live"===a||y);return(0,d.jsx)(l.G,{title:"Fleet",headerRight:(0,d.jsxs)(d.Fragment,{children:["signed-in"===e.kind&&e.user.admin?(0,d.jsxs)(f(),{href:"/administration#collectors",className:"inline-flex items-center gap-1.5 rounded-md border border-border px-2.5 py-1.5 text-xs hover:bg-card-strong",children:[(0,d.jsx)(g.A,{className:"h-3.5 w-3.5","aria-hidden":!0}),(0,d.jsx)("span",{className:"hidden sm:inline",children:"Add machine"}),(0,d.jsx)("span",{className:"sr-only sm:hidden",children:"Add machine"})]}):null,(0,d.jsx)(n.$E,{}),(0,d.jsx)(o.B,{})]}),children:p||(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(q.E,{}),"connecting"===a&&0===x?(0,d.jsx)(m.Z,{title:"Waiting for the first snapshot",className:"mt-10",children:(0,d.jsx)(m.p,{icon:h.A,note:"Waiting for the first snapshot…"})}):null,("live"===a||y)&&0===x?(0,d.jsx)(m.Z,{title:"No machines",className:"mt-10",children:(0,d.jsx)(m.p,{icon:i.A,note:"No machines are available in your authorized fleet."})}):null,A?(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)("div",{className:"mb-4 flex flex-wrap items-end justify-between gap-3",children:[(0,d.jsxs)("div",{className:"min-w-0",children:[(0,d.jsx)("label",{htmlFor:"fleet-search",className:"sr-only",children:"Search machines by name or tag"}),(0,d.jsxs)("div",{className:"relative",children:[(0,d.jsx)(j.A,{className:"pointer-events-none absolute left-2.5 top-1/2 h-3.5 w-3.5 -translate-y-1/2 text-muted-foreground","aria-hidden":!0}),(0,d.jsx)("input",{id:"fleet-search",type:"search",value:t,onChange:a=>w(a.target.value),placeholder:"Search name or tag",className:"w-64 max-w-full rounded-md border border-border bg-card py-1.5 pl-8 pr-3 text-sm text-foreground placeholder:text-muted-foreground"})]})]}),(0,d.jsxs)("p",{className:"tnum text-xs text-muted-foreground",role:"status",children:[z.length," of ",x," machine",1===x?"":"s",t.trim()?` matching “${t.trim()}”`:""]})]}),0===z.length?(0,d.jsx)(m.Z,{title:"No matching machines",children:(0,d.jsx)(m.p,{icon:j.A,note:`No machines match “${t.trim()}”.`})}):(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("div",{className:"hidden md:block",children:(0,d.jsx)(m.Z,{title:"Machines",action:(0,d.jsxs)("span",{children:[x," machine",1===x?"":"s"]}),children:(0,d.jsx)("div",{className:"overflow-x-auto",children:(0,d.jsxs)("table",{className:"w-full border-separate border-spacing-0 text-left",children:[(0,d.jsx)("caption",{className:"sr-only",children:"Fleet machines with collector connection, CPU, memory, GPU summary, and sample freshness"}),(0,d.jsx)("thead",{children:(0,d.jsxs)("tr",{className:"text-xs text-muted-foreground",children:[(0,d.jsx)("th",{scope:"col",className:"pb-2 pr-4 font-normal",children:"Machine"}),(0,d.jsx)("th",{scope:"col",className:"pb-2 pr-4 font-normal",children:"Collector"}),(0,d.jsx)("th",{scope:"col",className:"pb-2 pr-4 font-normal",children:"CPU"}),(0,d.jsx)("th",{scope:"col",className:"pb-2 pr-4 font-normal",children:"Memory"}),(0,d.jsx)("th",{scope:"col",className:"pb-2 pr-4 font-normal",children:"GPU"}),(0,d.jsx)("th",{scope:"col",className:"pb-2 pr-4 font-normal",children:"Last received"}),(0,d.jsx)("th",{scope:"col",className:"pb-2 pr-4 font-normal",children:"Recent load"}),(0,d.jsx)("th",{scope:"col",className:"pb-2 font-normal",children:"State"})]})}),(0,d.jsx)("tbody",{children:z.map(a=>(0,d.jsx)(H,{state:a,now:r,held:y,points:c.get(a.machineId)??[]},a.machineId))})]})})})}),(0,d.jsx)("div",{className:"md:hidden",children:(0,d.jsx)(m.Z,{title:"Machines",action:(0,d.jsxs)("span",{className:"tnum",children:[z.length," machine",1===z.length?"":"s"]}),children:(0,d.jsx)("ul",{className:"flex flex-col gap-3",children:z.map(a=>(0,d.jsx)(I,{state:a,now:r,held:y,points:c.get(a.machineId)??[]},a.machineId))})})})]})]}):null]})})}},91878:(a,b,c)=>{Promise.resolve().then(c.bind(c,81931))}};var b=require("../webpack-runtime.js");b.C(a);var c=b.X(0,[266,430,350,161,751,364],()=>b(b.s=7627));module.exports=c})();
@@ -1 +1 @@
1
- {"version":1,"files":["../../../node_modules/@swc/helpers/_/_interop_require_default/package.json","../../../node_modules/@swc/helpers/cjs/_interop_require_default.cjs","../../../node_modules/@swc/helpers/esm/_interop_require_default.js","../../../node_modules/@swc/helpers/package.json","../../../node_modules/next/dist/build/adapter/setup-node-env.external.js","../../../node_modules/next/dist/client/components/hooks-server-context.js","../../../node_modules/next/dist/client/components/static-generation-bailout.js","../../../node_modules/next/dist/client/lib/console.js","../../../node_modules/next/dist/compiled/@opentelemetry/api/index.js","../../../node_modules/next/dist/compiled/@opentelemetry/api/package.json","../../../node_modules/next/dist/compiled/fast-jwt/index.js","../../../node_modules/next/dist/compiled/fast-jwt/package.json","../../../node_modules/next/dist/compiled/hash.js/sha256/256.js","../../../node_modules/next/dist/compiled/hash.js/sha256/package.json","../../../node_modules/next/dist/compiled/next-server/app-page.runtime.prod.js","../../../node_modules/next/dist/compiled/source-map/package.json","../../../node_modules/next/dist/compiled/source-map/source-map.js","../../../node_modules/next/dist/compiled/stacktrace-parser/package.json","../../../node_modules/next/dist/compiled/stacktrace-parser/stack-trace-parser.cjs.js","../../../node_modules/next/dist/compiled/ws/index.js","../../../node_modules/next/dist/compiled/ws/package.json","../../../node_modules/next/dist/lib/client-and-server-references.js","../../../node_modules/next/dist/lib/constants.js","../../../node_modules/next/dist/lib/interop-default.js","../../../node_modules/next/dist/lib/is-error.js","../../../node_modules/next/dist/lib/picocolors.js","../../../node_modules/next/dist/lib/scheduler.js","../../../node_modules/next/dist/server/app-render/action-async-storage-instance.js","../../../node_modules/next/dist/server/app-render/action-async-storage.external.js","../../../node_modules/next/dist/server/app-render/after-task-async-storage-instance.js","../../../node_modules/next/dist/server/app-render/after-task-async-storage.external.js","../../../node_modules/next/dist/server/app-render/async-local-storage.js","../../../node_modules/next/dist/server/app-render/cache-signal.js","../../../node_modules/next/dist/server/app-render/console-async-storage-instance.js","../../../node_modules/next/dist/server/app-render/console-async-storage.external.js","../../../node_modules/next/dist/server/app-render/dynamic-access-async-storage-instance.js","../../../node_modules/next/dist/server/app-render/dynamic-access-async-storage.external.js","../../../node_modules/next/dist/server/app-render/dynamic-rendering.js","../../../node_modules/next/dist/server/app-render/module-loading/track-module-loading.external.js","../../../node_modules/next/dist/server/app-render/module-loading/track-module-loading.instance.js","../../../node_modules/next/dist/server/app-render/segment-config/ensure-static.js","../../../node_modules/next/dist/server/app-render/staged-rendering.js","../../../node_modules/next/dist/server/app-render/sync-io-messages.js","../../../node_modules/next/dist/server/app-render/work-async-storage-instance.js","../../../node_modules/next/dist/server/app-render/work-async-storage.external.js","../../../node_modules/next/dist/server/app-render/work-unit-async-storage-instance.js","../../../node_modules/next/dist/server/app-render/work-unit-async-storage.external.js","../../../node_modules/next/dist/server/dev/browser-logs/file-logger.js","../../../node_modules/next/dist/server/dynamic-rendering-utils.js","../../../node_modules/next/dist/server/lib/app-dir-module.js","../../../node_modules/next/dist/server/lib/incremental-cache/memory-cache.external.js","../../../node_modules/next/dist/server/lib/incremental-cache/shared-cache-controls.external.js","../../../node_modules/next/dist/server/lib/incremental-cache/tags-manifest.external.js","../../../node_modules/next/dist/server/lib/lru-cache.js","../../../node_modules/next/dist/server/lib/parse-stack.js","../../../node_modules/next/dist/server/lib/route-cache-key.js","../../../node_modules/next/dist/server/lib/router-utils/instrumentation-globals.external.js","../../../node_modules/next/dist/server/lib/router-utils/instrumentation-node-extensions.js","../../../node_modules/next/dist/server/lib/source-maps.js","../../../node_modules/next/dist/server/lib/trace/constants.js","../../../node_modules/next/dist/server/lib/trace/tracer.js","../../../node_modules/next/dist/server/load-manifest.external.js","../../../node_modules/next/dist/server/node-environment-baseline.js","../../../node_modules/next/dist/server/node-environment-extensions/console-dim.external.js","../../../node_modules/next/dist/server/node-environment-extensions/console-exit.js","../../../node_modules/next/dist/server/node-environment-extensions/console-file.js","../../../node_modules/next/dist/server/node-environment-extensions/date.js","../../../node_modules/next/dist/server/node-environment-extensions/error-inspect.js","../../../node_modules/next/dist/server/node-environment-extensions/fast-set-immediate.external.js","../../../node_modules/next/dist/server/node-environment-extensions/io-utils.js","../../../node_modules/next/dist/server/node-environment-extensions/node-crypto.js","../../../node_modules/next/dist/server/node-environment-extensions/random.js","../../../node_modules/next/dist/server/node-environment-extensions/unhandled-rejection.external.js","../../../node_modules/next/dist/server/node-environment-extensions/web-crypto.js","../../../node_modules/next/dist/server/node-environment.js","../../../node_modules/next/dist/server/node-polyfill-crypto.js","../../../node_modules/next/dist/server/normalizers/built/app/app-pathname-normalizer.js","../../../node_modules/next/dist/server/normalizers/normalizers.js","../../../node_modules/next/dist/server/normalizers/underscore-normalizer.js","../../../node_modules/next/dist/server/normalizers/wrap-normalizer-fn.js","../../../node_modules/next/dist/server/patch-error-inspect.js","../../../node_modules/next/dist/server/require-hook.js","../../../node_modules/next/dist/server/response-cache/types.js","../../../node_modules/next/dist/server/route-kind.js","../../../node_modules/next/dist/server/runtime-reacts.external.js","../../../node_modules/next/dist/shared/lib/deep-freeze.js","../../../node_modules/next/dist/shared/lib/i18n/normalize-locale-path.js","../../../node_modules/next/dist/shared/lib/invariant-error.js","../../../node_modules/next/dist/shared/lib/is-plain-object.js","../../../node_modules/next/dist/shared/lib/is-thenable.js","../../../node_modules/next/dist/shared/lib/no-fallback-error.external.js","../../../node_modules/next/dist/shared/lib/page-path/ensure-leading-slash.js","../../../node_modules/next/dist/shared/lib/page-path/normalize-page-path.js","../../../node_modules/next/dist/shared/lib/promise-with-resolvers.js","../../../node_modules/next/dist/shared/lib/router/utils/app-paths.js","../../../node_modules/next/dist/shared/lib/router/utils/index.js","../../../node_modules/next/dist/shared/lib/router/utils/interception-routes.js","../../../node_modules/next/dist/shared/lib/router/utils/is-dynamic.js","../../../node_modules/next/dist/shared/lib/router/utils/parse-loader-tree.js","../../../node_modules/next/dist/shared/lib/router/utils/sorted-routes.js","../../../node_modules/next/dist/shared/lib/segment.js","../../../node_modules/next/dist/shared/lib/server-reference-info.js","../../../node_modules/next/dist/shared/lib/utils.js","../../../node_modules/next/package.json","../../../package.json","../../package.json","../chunks/161.js","../chunks/266.js","../chunks/364.js","../chunks/430.js","../chunks/721.js","../chunks/751.js","../webpack-runtime.js","page_client-reference-manifest.js"]}
1
+ {"version":1,"files":["../../../node_modules/@swc/helpers/_/_interop_require_default/package.json","../../../node_modules/@swc/helpers/cjs/_interop_require_default.cjs","../../../node_modules/@swc/helpers/esm/_interop_require_default.js","../../../node_modules/@swc/helpers/package.json","../../../node_modules/next/dist/build/adapter/setup-node-env.external.js","../../../node_modules/next/dist/client/components/hooks-server-context.js","../../../node_modules/next/dist/client/components/static-generation-bailout.js","../../../node_modules/next/dist/client/lib/console.js","../../../node_modules/next/dist/compiled/@opentelemetry/api/index.js","../../../node_modules/next/dist/compiled/@opentelemetry/api/package.json","../../../node_modules/next/dist/compiled/fast-jwt/index.js","../../../node_modules/next/dist/compiled/fast-jwt/package.json","../../../node_modules/next/dist/compiled/hash.js/sha256/256.js","../../../node_modules/next/dist/compiled/hash.js/sha256/package.json","../../../node_modules/next/dist/compiled/next-server/app-page.runtime.prod.js","../../../node_modules/next/dist/compiled/source-map/package.json","../../../node_modules/next/dist/compiled/source-map/source-map.js","../../../node_modules/next/dist/compiled/stacktrace-parser/package.json","../../../node_modules/next/dist/compiled/stacktrace-parser/stack-trace-parser.cjs.js","../../../node_modules/next/dist/compiled/ws/index.js","../../../node_modules/next/dist/compiled/ws/package.json","../../../node_modules/next/dist/lib/client-and-server-references.js","../../../node_modules/next/dist/lib/constants.js","../../../node_modules/next/dist/lib/interop-default.js","../../../node_modules/next/dist/lib/is-error.js","../../../node_modules/next/dist/lib/picocolors.js","../../../node_modules/next/dist/lib/scheduler.js","../../../node_modules/next/dist/server/app-render/action-async-storage-instance.js","../../../node_modules/next/dist/server/app-render/action-async-storage.external.js","../../../node_modules/next/dist/server/app-render/after-task-async-storage-instance.js","../../../node_modules/next/dist/server/app-render/after-task-async-storage.external.js","../../../node_modules/next/dist/server/app-render/async-local-storage.js","../../../node_modules/next/dist/server/app-render/cache-signal.js","../../../node_modules/next/dist/server/app-render/console-async-storage-instance.js","../../../node_modules/next/dist/server/app-render/console-async-storage.external.js","../../../node_modules/next/dist/server/app-render/dynamic-access-async-storage-instance.js","../../../node_modules/next/dist/server/app-render/dynamic-access-async-storage.external.js","../../../node_modules/next/dist/server/app-render/dynamic-rendering.js","../../../node_modules/next/dist/server/app-render/module-loading/track-module-loading.external.js","../../../node_modules/next/dist/server/app-render/module-loading/track-module-loading.instance.js","../../../node_modules/next/dist/server/app-render/segment-config/ensure-static.js","../../../node_modules/next/dist/server/app-render/staged-rendering.js","../../../node_modules/next/dist/server/app-render/sync-io-messages.js","../../../node_modules/next/dist/server/app-render/work-async-storage-instance.js","../../../node_modules/next/dist/server/app-render/work-async-storage.external.js","../../../node_modules/next/dist/server/app-render/work-unit-async-storage-instance.js","../../../node_modules/next/dist/server/app-render/work-unit-async-storage.external.js","../../../node_modules/next/dist/server/dev/browser-logs/file-logger.js","../../../node_modules/next/dist/server/dynamic-rendering-utils.js","../../../node_modules/next/dist/server/lib/app-dir-module.js","../../../node_modules/next/dist/server/lib/incremental-cache/memory-cache.external.js","../../../node_modules/next/dist/server/lib/incremental-cache/shared-cache-controls.external.js","../../../node_modules/next/dist/server/lib/incremental-cache/tags-manifest.external.js","../../../node_modules/next/dist/server/lib/lru-cache.js","../../../node_modules/next/dist/server/lib/parse-stack.js","../../../node_modules/next/dist/server/lib/route-cache-key.js","../../../node_modules/next/dist/server/lib/router-utils/instrumentation-globals.external.js","../../../node_modules/next/dist/server/lib/router-utils/instrumentation-node-extensions.js","../../../node_modules/next/dist/server/lib/source-maps.js","../../../node_modules/next/dist/server/lib/trace/constants.js","../../../node_modules/next/dist/server/lib/trace/tracer.js","../../../node_modules/next/dist/server/load-manifest.external.js","../../../node_modules/next/dist/server/node-environment-baseline.js","../../../node_modules/next/dist/server/node-environment-extensions/console-dim.external.js","../../../node_modules/next/dist/server/node-environment-extensions/console-exit.js","../../../node_modules/next/dist/server/node-environment-extensions/console-file.js","../../../node_modules/next/dist/server/node-environment-extensions/date.js","../../../node_modules/next/dist/server/node-environment-extensions/error-inspect.js","../../../node_modules/next/dist/server/node-environment-extensions/fast-set-immediate.external.js","../../../node_modules/next/dist/server/node-environment-extensions/io-utils.js","../../../node_modules/next/dist/server/node-environment-extensions/node-crypto.js","../../../node_modules/next/dist/server/node-environment-extensions/random.js","../../../node_modules/next/dist/server/node-environment-extensions/unhandled-rejection.external.js","../../../node_modules/next/dist/server/node-environment-extensions/web-crypto.js","../../../node_modules/next/dist/server/node-environment.js","../../../node_modules/next/dist/server/node-polyfill-crypto.js","../../../node_modules/next/dist/server/normalizers/built/app/app-pathname-normalizer.js","../../../node_modules/next/dist/server/normalizers/normalizers.js","../../../node_modules/next/dist/server/normalizers/underscore-normalizer.js","../../../node_modules/next/dist/server/normalizers/wrap-normalizer-fn.js","../../../node_modules/next/dist/server/patch-error-inspect.js","../../../node_modules/next/dist/server/require-hook.js","../../../node_modules/next/dist/server/response-cache/types.js","../../../node_modules/next/dist/server/route-kind.js","../../../node_modules/next/dist/server/runtime-reacts.external.js","../../../node_modules/next/dist/shared/lib/deep-freeze.js","../../../node_modules/next/dist/shared/lib/i18n/normalize-locale-path.js","../../../node_modules/next/dist/shared/lib/invariant-error.js","../../../node_modules/next/dist/shared/lib/is-plain-object.js","../../../node_modules/next/dist/shared/lib/is-thenable.js","../../../node_modules/next/dist/shared/lib/no-fallback-error.external.js","../../../node_modules/next/dist/shared/lib/page-path/ensure-leading-slash.js","../../../node_modules/next/dist/shared/lib/page-path/normalize-page-path.js","../../../node_modules/next/dist/shared/lib/promise-with-resolvers.js","../../../node_modules/next/dist/shared/lib/router/utils/app-paths.js","../../../node_modules/next/dist/shared/lib/router/utils/index.js","../../../node_modules/next/dist/shared/lib/router/utils/interception-routes.js","../../../node_modules/next/dist/shared/lib/router/utils/is-dynamic.js","../../../node_modules/next/dist/shared/lib/router/utils/parse-loader-tree.js","../../../node_modules/next/dist/shared/lib/router/utils/sorted-routes.js","../../../node_modules/next/dist/shared/lib/segment.js","../../../node_modules/next/dist/shared/lib/server-reference-info.js","../../../node_modules/next/dist/shared/lib/utils.js","../../../node_modules/next/package.json","../../../package.json","../../package.json","../chunks/161.js","../chunks/266.js","../chunks/350.js","../chunks/364.js","../chunks/430.js","../chunks/751.js","../webpack-runtime.js","page_client-reference-manifest.js"]}