@sleep2agi/agent-network-dashboard 0.5.7-preview.35 → 0.5.7-preview.37
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.
- package/.next/BUILD_ID +1 -1
- package/.next/build-manifest.json +3 -3
- package/.next/diagnostics/route-bundle-stats.json +9 -9
- package/.next/fallback-build-manifest.json +3 -3
- package/.next/server/app/_global-error.html +1 -1
- package/.next/server/app/_global-error.rsc +1 -1
- package/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/.next/server/app/_not-found.html +2 -2
- package/.next/server/app/_not-found.rsc +2 -2
- package/.next/server/app/_not-found.segments/_full.segment.rsc +2 -2
- package/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
- package/.next/server/app/_not-found.segments/_index.segment.rsc +2 -2
- package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
- package/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/admin/page_client-reference-manifest.js +1 -1
- package/.next/server/app/admin.html +2 -2
- package/.next/server/app/admin.rsc +3 -3
- package/.next/server/app/admin.segments/_full.segment.rsc +3 -3
- package/.next/server/app/admin.segments/_head.segment.rsc +1 -1
- package/.next/server/app/admin.segments/_index.segment.rsc +2 -2
- package/.next/server/app/admin.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/admin.segments/admin/__PAGE__.segment.rsc +2 -2
- package/.next/server/app/admin.segments/admin.segment.rsc +1 -1
- package/.next/server/app/index.html +2 -2
- package/.next/server/app/index.rsc +3 -3
- package/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
- package/.next/server/app/index.segments/_full.segment.rsc +3 -3
- package/.next/server/app/index.segments/_head.segment.rsc +1 -1
- package/.next/server/app/index.segments/_index.segment.rsc +2 -2
- package/.next/server/app/index.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/login/page_client-reference-manifest.js +1 -1
- package/.next/server/app/login.html +2 -2
- package/.next/server/app/login.rsc +3 -3
- package/.next/server/app/login.segments/_full.segment.rsc +3 -3
- package/.next/server/app/login.segments/_head.segment.rsc +1 -1
- package/.next/server/app/login.segments/_index.segment.rsc +2 -2
- package/.next/server/app/login.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/login.segments/login/__PAGE__.segment.rsc +2 -2
- package/.next/server/app/login.segments/login.segment.rsc +1 -1
- package/.next/server/app/logs/page_client-reference-manifest.js +1 -1
- package/.next/server/app/logs.html +2 -2
- package/.next/server/app/logs.rsc +2 -2
- package/.next/server/app/logs.segments/_full.segment.rsc +2 -2
- package/.next/server/app/logs.segments/_head.segment.rsc +1 -1
- package/.next/server/app/logs.segments/_index.segment.rsc +2 -2
- package/.next/server/app/logs.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/logs.segments/logs/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/logs.segments/logs.segment.rsc +1 -1
- package/.next/server/app/messages/page_client-reference-manifest.js +1 -1
- package/.next/server/app/messages.html +2 -2
- package/.next/server/app/messages.rsc +3 -3
- package/.next/server/app/messages.segments/_full.segment.rsc +3 -3
- package/.next/server/app/messages.segments/_head.segment.rsc +1 -1
- package/.next/server/app/messages.segments/_index.segment.rsc +2 -2
- package/.next/server/app/messages.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/messages.segments/messages/__PAGE__.segment.rsc +2 -2
- package/.next/server/app/messages.segments/messages.segment.rsc +1 -1
- package/.next/server/app/node/page_client-reference-manifest.js +1 -1
- package/.next/server/app/node.html +2 -2
- package/.next/server/app/node.rsc +2 -2
- package/.next/server/app/node.segments/_full.segment.rsc +2 -2
- package/.next/server/app/node.segments/_head.segment.rsc +1 -1
- package/.next/server/app/node.segments/_index.segment.rsc +2 -2
- package/.next/server/app/node.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/node.segments/node/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/node.segments/node.segment.rsc +1 -1
- package/.next/server/app/nodes/page_client-reference-manifest.js +1 -1
- package/.next/server/app/nodes.html +2 -2
- package/.next/server/app/nodes.rsc +3 -3
- package/.next/server/app/nodes.segments/_full.segment.rsc +3 -3
- package/.next/server/app/nodes.segments/_head.segment.rsc +1 -1
- package/.next/server/app/nodes.segments/_index.segment.rsc +2 -2
- package/.next/server/app/nodes.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/nodes.segments/nodes/__PAGE__.segment.rsc +2 -2
- package/.next/server/app/nodes.segments/nodes.segment.rsc +1 -1
- package/.next/server/app/page_client-reference-manifest.js +1 -1
- package/.next/server/app/server-logs/page_client-reference-manifest.js +1 -1
- package/.next/server/app/server-logs.html +2 -2
- package/.next/server/app/server-logs.rsc +2 -2
- package/.next/server/app/server-logs.segments/_full.segment.rsc +2 -2
- package/.next/server/app/server-logs.segments/_head.segment.rsc +1 -1
- package/.next/server/app/server-logs.segments/_index.segment.rsc +2 -2
- package/.next/server/app/server-logs.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/server-logs.segments/server-logs/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/server-logs.segments/server-logs.segment.rsc +1 -1
- package/.next/server/app/servers/page_client-reference-manifest.js +1 -1
- package/.next/server/app/servers.html +2 -2
- package/.next/server/app/servers.rsc +2 -2
- package/.next/server/app/servers.segments/_full.segment.rsc +2 -2
- package/.next/server/app/servers.segments/_head.segment.rsc +1 -1
- package/.next/server/app/servers.segments/_index.segment.rsc +2 -2
- package/.next/server/app/servers.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/servers.segments/servers/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/servers.segments/servers.segment.rsc +1 -1
- package/.next/server/app/settings/networks/page_client-reference-manifest.js +1 -1
- package/.next/server/app/settings/networks.html +2 -2
- package/.next/server/app/settings/networks.rsc +2 -2
- package/.next/server/app/settings/networks.segments/_full.segment.rsc +2 -2
- package/.next/server/app/settings/networks.segments/_head.segment.rsc +1 -1
- package/.next/server/app/settings/networks.segments/_index.segment.rsc +2 -2
- package/.next/server/app/settings/networks.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/settings/networks.segments/settings/networks/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/settings/networks.segments/settings/networks.segment.rsc +1 -1
- package/.next/server/app/settings/networks.segments/settings.segment.rsc +1 -1
- package/.next/server/app/settings/page_client-reference-manifest.js +1 -1
- package/.next/server/app/settings/tokens/page_client-reference-manifest.js +1 -1
- package/.next/server/app/settings/tokens.html +2 -2
- package/.next/server/app/settings/tokens.rsc +2 -2
- package/.next/server/app/settings/tokens.segments/_full.segment.rsc +2 -2
- package/.next/server/app/settings/tokens.segments/_head.segment.rsc +1 -1
- package/.next/server/app/settings/tokens.segments/_index.segment.rsc +2 -2
- package/.next/server/app/settings/tokens.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/settings/tokens.segments/settings/tokens/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/settings/tokens.segments/settings/tokens.segment.rsc +1 -1
- package/.next/server/app/settings/tokens.segments/settings.segment.rsc +1 -1
- package/.next/server/app/settings.html +2 -2
- package/.next/server/app/settings.rsc +3 -3
- package/.next/server/app/settings.segments/_full.segment.rsc +3 -3
- package/.next/server/app/settings.segments/_head.segment.rsc +1 -1
- package/.next/server/app/settings.segments/_index.segment.rsc +2 -2
- package/.next/server/app/settings.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/settings.segments/settings/__PAGE__.segment.rsc +2 -2
- package/.next/server/app/settings.segments/settings.segment.rsc +1 -1
- package/.next/server/app/tasks/[id]/page_client-reference-manifest.js +1 -1
- package/.next/server/app/tasks/page_client-reference-manifest.js +1 -1
- package/.next/server/app/tasks.html +2 -2
- package/.next/server/app/tasks.rsc +2 -2
- package/.next/server/app/tasks.segments/_full.segment.rsc +2 -2
- package/.next/server/app/tasks.segments/_head.segment.rsc +1 -1
- package/.next/server/app/tasks.segments/_index.segment.rsc +2 -2
- package/.next/server/app/tasks.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/tasks.segments/tasks/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/tasks.segments/tasks.segment.rsc +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__0nw~zhp._.js +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__0nw~zhp._.js.map +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__0sv~g.o._.js +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__0sv~g.o._.js.map +1 -1
- package/.next/server/chunks/ssr/agent-network-dashboard_app_01jhlxz._.js +1 -1
- package/.next/server/chunks/ssr/agent-network-dashboard_app_01jhlxz._.js.map +1 -1
- package/.next/server/chunks/ssr/agent-network-dashboard_app_09d29my._.js +1 -1
- package/.next/server/chunks/ssr/agent-network-dashboard_app_09d29my._.js.map +1 -1
- package/.next/server/chunks/ssr/agent-network-dashboard_app_0i3759l._.js +1 -1
- package/.next/server/chunks/ssr/agent-network-dashboard_app_0i3759l._.js.map +1 -1
- package/.next/server/chunks/ssr/agent-network-dashboard_app_1153xeb._.js +2 -2
- package/.next/server/chunks/ssr/agent-network-dashboard_app_1153xeb._.js.map +1 -1
- package/.next/server/middleware-build-manifest.js +3 -3
- package/.next/server/pages/404.html +2 -2
- package/.next/server/pages/500.html +1 -1
- package/.next/static/chunks/{0z2qudg4wos6v.js → 0-ifciv3y3y9v.js} +1 -1
- package/.next/static/chunks/{11k8skl9913kl.js → 04-1-l1wv3vlv.js} +1 -1
- package/.next/static/chunks/{0~eyvw9.ips4y.js → 07lk087gchb7~.js} +2 -2
- package/.next/static/chunks/{18bs3mf8ufkgv.js → 07t173bdt_s93.js} +1 -1
- package/.next/static/chunks/0djva3ldudpmd.css +1 -0
- package/.next/static/chunks/0q~ko.knz4cq8.js +1 -0
- package/.next/static/chunks/{0ymogrg8t82.8.js → 16xdsfhu7lg04.js} +1 -1
- package/.next/trace +2 -2
- package/.next/trace-build +1 -1
- package/app/admin/page.tsx +5 -1
- package/app/messages/page.tsx +5 -2
- package/app/nodes/page.tsx +85 -17
- package/package.json +1 -1
- package/.next/static/chunks/0fkd-56.k2ts..js +0 -1
- package/.next/static/chunks/0wgwr28esitz~.css +0 -1
- /package/.next/static/{VQuWjJDHv069cw03Mna-s → HFTVbWSVTa1wi4DDramY4}/_buildManifest.js +0 -0
- /package/.next/static/{VQuWjJDHv069cw03Mna-s → HFTVbWSVTa1wi4DDramY4}/_clientMiddlewareManifest.js +0 -0
- /package/.next/static/{VQuWjJDHv069cw03Mna-s → HFTVbWSVTa1wi4DDramY4}/_ssgManifest.js +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,98025,e=>{"use strict";e.s(["SESSION_STATUS_CHIP_CLASS",0,{working:"bg-green-500/10 text-green-300 border-green-500/20",idle:"bg-blue-500/10 text-blue-300 border-blue-500/20",blocked:"bg-yellow-500/10 text-yellow-300 border-yellow-500/20",error:"bg-red-500/10 text-red-300 border-red-500/20",offline:"bg-gray-500/10 text-gray-500 border-gray-500/20"},"SESSION_STATUS_TEXT_CLASS",0,{working:"text-green-400",idle:"text-blue-400",blocked:"text-yellow-400",error:"text-red-400",offline:"text-gray-500"},"STATUS_BAR_CLASS",0,{created:"bg-gray-500",delivered:"bg-blue-500",acked:"bg-cyan-500",running:"bg-green-500",replied:"bg-purple-500",closed:"bg-gray-600",failed:"bg-red-500",cancelled:"bg-yellow-500",expired:"bg-orange-500"},"STATUS_CHIP_CLASS",0,{created:"bg-gray-500/10 text-gray-400 border-gray-500/20",delivered:"bg-blue-500/10 text-blue-300 border-blue-500/20",acked:"bg-cyan-500/10 text-cyan-300 border-cyan-500/20",running:"bg-green-500/10 text-green-300 border-green-500/20",replied:"bg-purple-500/10 text-purple-300 border-purple-500/20",closed:"bg-gray-500/10 text-gray-500 border-gray-500/20",failed:"bg-red-500/10 text-red-300 border-red-500/20",cancelled:"bg-yellow-500/10 text-yellow-300 border-yellow-500/20",expired:"bg-orange-500/10 text-orange-300 border-orange-500/20"},"STATUS_DOT_HEX",0,{created:"#9ca3af",delivered:"#60a5fa",acked:"#22d3ee",running:"#4ade80",replied:"#a78bfa",closed:"#6b7280",failed:"#f87171",cancelled:"#facc15",expired:"#fb923c"},"TASK_STATUSES",0,["created","delivered","acked","running","replied","closed","failed","cancelled","expired"]])},3479,59746,e=>{"use strict";function t(e){if(!e)return null;let t=Date.parse(e.includes("T")?e:e.replace(" ","T")+"Z");return Number.isFinite(t)?t:null}function s(e){let s=t(e);if(null===s)return null;let r=Math.floor((Date.now()-s)/1e3);return r<0?"just now":r<60?`${r}s ago`:r<3600?`${Math.floor(r/60)}m ago`:r<86400?`${Math.floor(r/3600)}h ago`:`${Math.floor(r/86400)}d ago`}e.s(["parseHubTime",0,t,"relativeAgo",0,s],59746),e.s(["formatUptime",0,function(e){let t=Math.floor(e/3600),s=Math.floor(e%3600/60);return t>0?`${t}h ${s}m`:`${s}m`},"previewContent",0,function(e){return e&&e.replace(/!\[([^\]]*)\]\([^)]*\)/g,"$1").replace(/\[([^\]]+)\]\([^)]*\)/g,"$1").replace(/`([^`]+)`/g,"$1").replace(/\s+/g," ").trim()||"--"},"timeAgo",0,function(e){return s(e)??"--"}],3479)},46228,e=>{"use strict";var t=e.i(22381);let s=[180,200,220,270,300,330,30,90];function r(e){let t=0;for(let s=0;s<e.length;s++)t=31*t+e.charCodeAt(s)>>>0;let r=s[t%s.length];return{bg:`hsl(${r} 55% 22%)`,ring:`hsl(${r} 60% 45%)`,text:`hsl(${r} 80% 78%)`}}function a(e){return e?(e.trim().match(/[\p{L}\p{N}]/u)?.[0]||e.trim()[0]||"·").toUpperCase():"·"}e.s(["AliasAvatar",0,function({alias:e,size:s=28,className:n=""}){if(/\bgrok\b|grok-build|grok测试员|grok-demo/i.test(e))return(0,t.jsx)("span",{className:`anet-alias-avatar inline-flex items-center justify-center rounded-full border border-emerald-500/45 bg-emerald-950/70 shrink-0 ${n}`,style:{width:s,height:s,backgroundImage:"url(/vendors/grok.svg)",backgroundPosition:"center",backgroundRepeat:"no-repeat",backgroundSize:"68% 68%"},title:e,"aria-hidden":!0});let i=r(e),l=Math.max(9,Math.round(.42*s));return(0,t.jsx)("span",{className:`anet-alias-avatar inline-flex items-center justify-center rounded-full border shrink-0 font-semibold ${n}`,style:{width:s,height:s,fontSize:l,backgroundColor:i.bg,borderColor:i.ring,color:i.text},title:e,"aria-hidden":!0,children:a(e)})},"aliasAvatarColors",0,r,"aliasInitial",0,a])},76161,e=>{"use strict";var t=e.i(22381),s=e.i(23910),r=e.i(56839);let a={nodes:{title:"No agents in this network",sub:"Agent sessions will appear here once they connect to the CommHub."},tasks:{title:"No tasks yet",sub:"Tasks will appear here when agents send them via CommHub."},messages:{title:"No messages",sub:"Messages between agents will appear here."},logs:{title:"No audit logs",sub:"Events will appear here when users register, login, or perform actions."},tokens:{title:"No API tokens",sub:"Create one to authenticate CLI tools and external integrations."},networks:{title:"No networks found",sub:"Create one or sign in with V3 auth to see your networks."},generic:{title:"Nothing here yet",sub:"Data will appear here once available."}};function n({variant:e,size:s}){let r={width:s,height:s},a={fill:"none",stroke:"currentColor",strokeWidth:1.25,strokeLinecap:"round",strokeLinejoin:"round"};switch(e){case"nodes":return(0,t.jsx)("svg",{viewBox:"0 0 64 64",...r,children:(0,t.jsxs)("g",{...a,children:[(0,t.jsx)("circle",{cx:"32",cy:"14",r:"4"}),(0,t.jsx)("circle",{cx:"14",cy:"44",r:"4"}),(0,t.jsx)("circle",{cx:"50",cy:"44",r:"4"}),(0,t.jsx)("line",{x1:"32",y1:"18",x2:"14",y2:"40",strokeDasharray:"3 3",opacity:"0.6"}),(0,t.jsx)("line",{x1:"32",y1:"18",x2:"50",y2:"40",strokeDasharray:"3 3",opacity:"0.6"}),(0,t.jsx)("line",{x1:"18",y1:"44",x2:"46",y2:"44",strokeDasharray:"3 3",opacity:"0.6"})]})});case"tasks":return(0,t.jsx)("svg",{viewBox:"0 0 64 64",...r,children:(0,t.jsxs)("g",{...a,children:[(0,t.jsx)("rect",{x:"14",y:"14",width:"36",height:"6",rx:"1.5"}),(0,t.jsx)("rect",{x:"14",y:"26",width:"36",height:"6",rx:"1.5",opacity:"0.6"}),(0,t.jsx)("rect",{x:"14",y:"38",width:"36",height:"6",rx:"1.5",opacity:"0.35"})]})});case"messages":return(0,t.jsx)("svg",{viewBox:"0 0 64 64",...r,children:(0,t.jsxs)("g",{...a,children:[(0,t.jsx)("path",{d:"M14 18 h36 a3 3 0 0 1 3 3 v18 a3 3 0 0 1 -3 3 h-18 l-8 6 v-6 h-10 a3 3 0 0 1 -3 -3 v-18 a3 3 0 0 1 3 -3 z"}),(0,t.jsx)("line",{x1:"22",y1:"28",x2:"42",y2:"28",opacity:"0.5"}),(0,t.jsx)("line",{x1:"22",y1:"34",x2:"36",y2:"34",opacity:"0.5"})]})});case"logs":return(0,t.jsx)("svg",{viewBox:"0 0 64 64",...r,children:(0,t.jsxs)("g",{...a,children:[(0,t.jsx)("path",{d:"M18 12 h22 l8 8 v32 a2 2 0 0 1 -2 2 h-28 a2 2 0 0 1 -2 -2 v-38 a2 2 0 0 1 2 -2 z"}),(0,t.jsx)("path",{d:"M40 12 v8 h8",opacity:"0.6"}),(0,t.jsx)("line",{x1:"24",y1:"32",x2:"40",y2:"32",opacity:"0.55"}),(0,t.jsx)("line",{x1:"24",y1:"38",x2:"40",y2:"38",opacity:"0.4"}),(0,t.jsx)("line",{x1:"24",y1:"44",x2:"34",y2:"44",opacity:"0.25"})]})});case"tokens":return(0,t.jsx)("svg",{viewBox:"0 0 64 64",...r,children:(0,t.jsxs)("g",{...a,children:[(0,t.jsx)("circle",{cx:"22",cy:"32",r:"8"}),(0,t.jsx)("line",{x1:"30",y1:"32",x2:"54",y2:"32"}),(0,t.jsx)("line",{x1:"44",y1:"32",x2:"44",y2:"38"}),(0,t.jsx)("line",{x1:"50",y1:"32",x2:"50",y2:"40"})]})});case"networks":return(0,t.jsx)("svg",{viewBox:"0 0 64 64",...r,children:(0,t.jsxs)("g",{...a,children:[(0,t.jsx)("circle",{cx:"32",cy:"32",r:"18"}),(0,t.jsx)("ellipse",{cx:"32",cy:"32",rx:"18",ry:"9",opacity:"0.55"}),(0,t.jsx)("line",{x1:"14",y1:"32",x2:"50",y2:"32",opacity:"0.55"}),(0,t.jsx)("line",{x1:"32",y1:"14",x2:"32",y2:"50",opacity:"0.55"})]})});default:return(0,t.jsx)("svg",{viewBox:"0 0 64 64",...r,children:(0,t.jsxs)("g",{...a,children:[(0,t.jsx)("circle",{cx:"32",cy:"32",r:"14",strokeDasharray:"3 3",opacity:"0.6"}),(0,t.jsx)("circle",{cx:"32",cy:"32",r:"3"})]})})}}function i({variant:e="generic",title:s,sub:l,cta:o,compact:d=!1}){let c=a[e],x=s??c.title,h=l??c.sub;return(0,t.jsxs)("div",{className:`text-center ${d?"py-8":"py-16"} px-4`,role:"status",children:[(0,t.jsx)("div",{className:"anet-empty-glyph inline-flex items-center justify-center mb-4 text-gray-500","aria-hidden":!0,children:(0,t.jsx)(n,{variant:e,size:d?40:56})}),(0,t.jsx)("h3",{className:`font-medium text-gray-300 ${d?"text-sm":"text-base"}`,children:x}),h&&(0,t.jsx)("p",{className:`text-gray-500 ${d?"text-xs mt-1.5":"text-sm mt-2"} max-w-md mx-auto leading-relaxed`,children:h}),o&&(0,t.jsx)("div",{className:"mt-4",children:o.href?(0,t.jsxs)(r.default,{href:o.href,className:"inline-flex items-center gap-1.5 text-sm font-medium text-cyan-400 hover:text-cyan-300",children:[o.label,(0,t.jsx)("span",{"aria-hidden":!0,children:"→"})]}):(0,t.jsxs)("button",{onClick:o.onClick,className:"inline-flex items-center gap-1.5 text-sm font-medium text-cyan-400 hover:text-cyan-300",children:[o.label,(0,t.jsx)("span",{"aria-hidden":!0,children:"→"})]})})]})}function l({children:e}){return(0,t.jsx)("div",{className:"max-w-2xl mx-auto rounded-xl border border-[#2a2a4a] bg-[#111128] shadow-lg shadow-black/20",children:e})}function o({cmd:e}){let[r,a]=(0,s.useState)(!1),n=async()=>{try{await navigator.clipboard.writeText(e),a(!0),setTimeout(()=>a(!1),1800)}catch{}};return(0,t.jsxs)("div",{className:"anet-empty-cmd flex items-center gap-2 bg-[#0a0a15] border border-[#2a2a4a] rounded-lg pl-4 pr-1.5 py-1.5 text-xs sm:text-sm",children:[(0,t.jsx)("code",{className:"text-cyan-300 font-mono select-all",children:e}),(0,t.jsx)("button",{type:"button",onClick:n,"aria-label":r?"Copied":"Copy command",className:"shrink-0 rounded-md px-2 py-1.5 text-[11px] text-gray-500 hover:text-gray-200 hover:bg-[#1a1a2a] transition-colors",children:r?(0,t.jsxs)("span",{className:"flex items-center gap-1 text-green-400",children:[(0,t.jsx)("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:(0,t.jsx)("path",{d:"M20 6 9 17l-5-5"})}),"Copied"]}):(0,t.jsxs)("span",{className:"flex items-center gap-1",children:[(0,t.jsxs)("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,t.jsx)("rect",{x:"9",y:"9",width:"13",height:"13",rx:"2",ry:"2"}),(0,t.jsx)("path",{d:"M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"})]}),"Copy"]})})]})}e.s(["EmptyState",0,i,"NodesEmptyState",0,function({hint:e,taskHistoryCount:s=0}){return e?.global_count?(0,t.jsx)(l,{children:(0,t.jsx)(i,{variant:"nodes",title:"No agents in this network",sub:`Server has ${e.global_count} nodes globally, but none are registered to the current network. Switch network or contact admin.`})}):s>0?(0,t.jsx)(l,{children:(0,t.jsx)(i,{variant:"nodes",title:"No agents online",sub:`Every agent in this network is currently offline. ${s.toLocaleString()} task${1===s?"":"s"} in history — they may have finished their work or disconnected.`,cta:{label:"View task history",href:"/tasks"}})}):(0,t.jsx)(l,{children:(0,t.jsxs)("div",{className:"text-center py-16 px-4",role:"status",children:[(0,t.jsx)("div",{className:"anet-empty-glyph inline-flex items-center justify-center mb-4 text-gray-500","aria-hidden":!0,children:(0,t.jsx)("svg",{viewBox:"0 0 64 64",width:56,height:56,children:(0,t.jsxs)("g",{stroke:"currentColor",strokeWidth:"1.5",fill:"none",children:[(0,t.jsx)("rect",{x:"10",y:"20",width:"44",height:"28",rx:"2"}),(0,t.jsx)("rect",{x:"20",y:"32",width:"6",height:"8",opacity:"0.5"}),(0,t.jsx)("rect",{x:"32",y:"32",width:"6",height:"8",opacity:"0.5"}),(0,t.jsx)("rect",{x:"44",y:"32",width:"4",height:"8",opacity:"0.5"}),(0,t.jsx)("line",{x1:"10",y1:"26",x2:"54",y2:"26",opacity:"0.4"}),(0,t.jsx)("circle",{cx:"14",cy:"23",r:"0.8",fill:"currentColor"})]})})}),(0,t.jsx)("h3",{className:"font-medium text-gray-300 text-base",children:"Spin up your first agent"}),(0,t.jsx)("p",{className:"text-gray-500 text-sm mt-2 max-w-md mx-auto leading-relaxed",children:"Run this in a fresh terminal to register an agent with this CommHub:"}),(0,t.jsx)("div",{className:"mt-4 inline-block",children:(0,t.jsx)(o,{cmd:"npx --yes @sleep2agi/agent-network init"})}),(0,t.jsx)("div",{className:"mt-3",children:(0,t.jsxs)("a",{href:"https://anet.sh",target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center gap-1.5 text-xs font-medium text-gray-500 hover:text-cyan-300",children:["Full quickstart guide",(0,t.jsx)("span",{"aria-hidden":!0,children:"→"})]})})]})})}])},59276,e=>{"use strict";var t=e.i(12629),s=e.i(11449);let r=async e=>{let t=await fetch(e);if(401===t.status)throw window.location.assign("/login"),Error("unauthorized");return t.json()},a={refreshInterval:5e3,dedupingInterval:3e3};function n(e,t){if(!t)return e;let s=e.includes("?")?"&":"?";return`${e}${s}network_id=${encodeURIComponent(t)}`}e.s(["useAnetConfig",0,function(){let{data:e}=(0,t.default)("/api/anet/config",r,{refreshInterval:3e4});return{config:e||null}},"useHealth",0,function(){let{data:e,error:s}=(0,t.default)("/api/hub/health",r,a);return{health:e||null,error:s}},"useMessages",0,function(e=100){let{networkId:i}=(0,s.useNetworkId)(),{data:l,error:o,isLoading:d}=(0,t.default)(n(`/api/hub/messages?limit=${e}`,i),r,a);return{messages:l?.messages||[],error:o,isLoading:d}},"useSessions",0,function(){let{networkId:e}=(0,s.useNetworkId)(),{data:i,error:l,isLoading:o}=(0,t.default)(n("/api/hub/status",e),r,a);return{sessions:i?.sessions||[],hint:i?._hint,error:l,isLoading:o}},"useStats",0,function(){let{networkId:e}=(0,s.useNetworkId)(),{data:i,error:l}=(0,t.default)(n("/api/hub/stats",e),r,a);return{stats:i?.ok?i:null,error:l}},"useTasks",0,function(e){let{networkId:i}=(0,s.useNetworkId)(),l=new URLSearchParams({limit:"100",...e}).toString(),{data:o,error:d,isLoading:c}=(0,t.default)(n(`/api/hub/tasks?${l}`,i),r,a);return{tasks:o?.tasks||[],count:o?.count??0,source:o?.source,error:d,isLoading:c}}])},70732,e=>{"use strict";var t=e.i(22381),s=e.i(23910),r=e.i(3479),a=e.i(59276),n=e.i(43058),i=e.i(76161),l=e.i(46228),o=e.i(98025),d=e.i(38263);function c(e){return e?e.length>12?`${e.slice(0,8)}…`:e:"—"}e.s(["default",0,function(){let e,x,h,u,{sessions:g,isLoading:p}=(0,a.useSessions)(),{health:m}=(0,a.useHealth)(),{hasUnread:y}=(0,d.useChatUnread)(),b=m?.sse_sessions||{},j=e=>(e.network_id?b[`${e.network_id}:${e.alias}`]:void 0)??b[e.alias],[f,v]=(0,s.useState)(""),[w,N]=(0,s.useState)(""),[k,S]=(0,s.useState)("list"),[C,_]=(0,s.useState)(null),A=g.map(e=>({...e,online:!!j(e)})).filter(e=>"online"===f?e.online:"offline"===f?!e.online:!f||f===e.status).filter(e=>!w||e.alias.toLowerCase().includes(w.toLowerCase())||(e.agent||"").toLowerCase().includes(w.toLowerCase())).sort((e,t)=>!!t.online-!!e.online||("working"===t.status)-("working"===e.status)),T=g.filter(e=>j(e)).length;return(0,t.jsxs)("div",{className:"min-h-screen max-w-full overflow-x-hidden bg-[#0a0a1a] text-gray-100 p-4 sm:p-6 font-mono",children:[(0,t.jsxs)("div",{className:"flex items-center gap-4 mb-6",children:[(0,t.jsx)("h1",{className:"text-2xl font-bold text-white lg:ml-0 ml-10",children:"Nodes"}),(0,t.jsxs)("span",{className:"text-xs bg-green-900/30 text-green-400 px-2 py-0.5 rounded-full border border-green-800/30",children:[T," online"]}),(0,t.jsxs)("span",{className:"text-xs bg-gray-900/30 text-gray-400 px-2 py-0.5 rounded-full border border-gray-800/30",children:[g.length," total"]})]}),g.length>0&&(e=A.filter(e=>e.online&&"working"===e.status).length,x=A.filter(e=>e.online&&"idle"===e.status).length,h=A.filter(e=>!e.online).length,u=A.length||1,(0,t.jsxs)("div",{className:"mb-6",children:[(0,t.jsxs)("div",{className:"flex h-2 rounded-full overflow-hidden bg-gray-800",children:[e>0&&(0,t.jsx)("div",{className:"bg-green-500",style:{width:`${e/u*100}%`}}),x>0&&(0,t.jsx)("div",{className:"bg-cyan-500",style:{width:`${x/u*100}%`}}),h>0&&(0,t.jsx)("div",{className:"bg-gray-600",style:{width:`${h/u*100}%`}})]}),(0,t.jsxs)("div",{className:"flex gap-4 mt-1.5 text-[10px] text-gray-500",children:[e>0&&(0,t.jsxs)("span",{children:[(0,t.jsx)("span",{className:"inline-block w-2 h-2 rounded-full bg-green-500 mr-1"}),e," working"]}),x>0&&(0,t.jsxs)("span",{children:[(0,t.jsx)("span",{className:"inline-block w-2 h-2 rounded-full bg-cyan-500 mr-1"}),x," idle"]}),h>0&&(0,t.jsxs)("span",{children:[(0,t.jsx)("span",{className:"inline-block w-2 h-2 rounded-full bg-gray-600 mr-1"}),h," offline"]})]})]})),g.length>0&&(0,t.jsxs)("div",{className:"flex flex-wrap gap-3 mb-6",children:[(0,t.jsx)("input",{type:"text",value:w,onChange:e=>N(e.target.value),placeholder:"Search nodes...",className:"bg-[#111128] border border-[#2a2a4a] rounded-lg px-3 py-2 text-base sm:text-sm text-white placeholder-gray-600 focus:border-blue-500/50 focus:outline-none w-full sm:w-48"}),(0,t.jsxs)("select",{value:f,onChange:e=>v(e.target.value),className:"bg-[#111128] border border-[#2a2a4a] rounded-lg px-3 py-2 text-base sm:text-sm text-white focus:border-blue-500/50 focus:outline-none",children:[(0,t.jsx)("option",{value:"",children:"All"}),(0,t.jsx)("option",{value:"online",children:"Online"}),(0,t.jsx)("option",{value:"offline",children:"Offline"}),(0,t.jsx)("option",{value:"working",children:"Working"}),(0,t.jsx)("option",{value:"idle",children:"Idle"}),(0,t.jsx)("option",{value:"blocked",children:"Blocked"}),(0,t.jsx)("option",{value:"error",children:"Error"})]}),(0,t.jsx)("div",{className:"hidden sm:flex ml-auto rounded-lg border border-[#2a2a4a] bg-[#111128] p-1 text-sm",children:["list","grid"].map(e=>(0,t.jsx)("button",{type:"button",onClick:()=>S(e),className:`rounded-md px-3 py-1.5 transition-colors ${k===e?"bg-cyan-500/10 text-cyan-300":"text-gray-500 hover:text-gray-200"}`,children:"list"===e?"List":"Grid"},e))})]}),p?(0,t.jsx)("div",{className:"animate-pulse space-y-2",children:[1,2,3,4].map(e=>(0,t.jsx)("div",{className:"h-16 bg-gray-800/20 rounded-lg"},e))}):0===A.length?0===g.length?(0,t.jsx)(i.NodesEmptyState,{}):(0,t.jsx)(i.EmptyState,{variant:"nodes",title:"No nodes match your filters",sub:"Try clearing search or status filters, or wait for an agent to register."}):"grid"===k?(0,t.jsx)("div",{className:"grid min-w-0 grid-cols-1 md:grid-cols-2 xl:grid-cols-3 gap-4",children:A.map(e=>{let s=e.online?e.status:"offline",a="number"==typeof e.progress?e.progress:0,n=y(e.alias);return(0,t.jsxs)("div",{role:"button",tabIndex:0,onClick:()=>_(e.alias),onKeyDown:t=>{("Enter"===t.key||" "===t.key)&&(t.preventDefault(),_(e.alias))},className:`relative min-w-0 max-w-full overflow-hidden rounded-xl border border-[#2a2a4a] bg-[#111128] p-4 transition-colors hover:border-cyan-500/40 cursor-pointer ${!e.online?"opacity-60":""}`,children:[!e.online&&(0,t.jsx)("div",{className:"pointer-events-none absolute inset-0 flex items-center justify-center",children:(0,t.jsx)("span",{className:"rotate-[-20deg] rounded-xl border border-white/10 bg-black/20 px-5 py-2 text-xl font-bold uppercase tracking-[0.35em] text-white/10",children:"Offline"})}),(0,t.jsxs)("div",{className:"flex items-start gap-3",children:[(0,t.jsxs)("div",{className:"relative shrink-0",children:[(0,t.jsx)(l.AliasAvatar,{alias:e.alias,size:36}),n&&(0,t.jsx)("span",{className:"absolute -right-1 -top-1 h-3 w-3 rounded-full border-2 border-[#111128] bg-red-500"})]}),(0,t.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)("span",{className:"truncate text-base font-semibold text-white",children:e.alias}),n&&(0,t.jsx)("span",{className:"shrink-0 rounded-full bg-red-500/15 px-2 py-0.5 text-[10px] font-semibold uppercase tracking-wide text-red-300",children:"New"}),(0,t.jsx)("span",{className:`shrink-0 rounded-md border px-2 py-0.5 text-[10px] uppercase tracking-wide ${o.SESSION_STATUS_CHIP_CLASS[s]||o.SESSION_STATUS_CHIP_CLASS.offline}`,children:s})]}),(0,t.jsxs)("div",{className:"mt-0.5 truncate text-xs text-gray-500",children:[e.agent||"—",(0,t.jsx)("span",{className:"text-gray-700 mx-1.5",children:"·"}),(0,t.jsx)("span",{title:e.server||"",children:c(e.server)})]})]}),(0,t.jsx)("span",{className:"hidden shrink-0 rounded-lg border border-cyan-500/15 bg-cyan-500/5 px-2 py-1 text-[10px] text-cyan-300/70 sm:inline",children:"Tap to chat"})]}),(0,t.jsxs)("div",{className:"mt-3 rounded-lg border border-[#1a1a2a] bg-[#0a0a15] px-3 py-2 text-xs",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between gap-3",children:[(0,t.jsx)("span",{className:"text-[10px] uppercase tracking-wide text-gray-600",children:"Current task"}),(0,t.jsx)("span",{className:"text-[10px] text-gray-600",children:(0,r.timeAgo)(e.last_seen_at||e.updated_at)})]}),(0,t.jsx)("div",{className:`mt-1 line-clamp-2 ${e.task?"text-gray-300":"text-gray-600 italic"}`,children:e.task||"No current task"})]}),a>0&&a<100&&(0,t.jsx)("div",{className:"mt-3 h-1.5 overflow-hidden rounded-full bg-gray-800",children:(0,t.jsx)("div",{className:"h-1.5 rounded-full bg-cyan-400 transition-all",style:{width:`${a}%`}})})]},e.alias)})}):(0,t.jsxs)("div",{className:"space-y-1 sm:space-y-2",children:[(0,t.jsxs)("div",{className:"hidden sm:grid sm:grid-cols-10 gap-2 px-4 py-2 text-xs text-gray-600 uppercase",children:[(0,t.jsx)("div",{className:"col-span-1",children:"Status"}),(0,t.jsx)("div",{className:"col-span-2",children:"Alias"}),(0,t.jsx)("div",{className:"col-span-2",children:"Agent · Server"}),(0,t.jsx)("div",{className:"col-span-4",children:"Current Task"}),(0,t.jsx)("div",{className:"col-span-1",children:"Updated"})]}),A.map(e=>{let s=e.online?e.status:"offline",a=y(e.alias);return(0,t.jsxs)("div",{role:"button",tabIndex:0,onClick:()=>_(e.alias),onKeyDown:t=>{("Enter"===t.key||" "===t.key)&&(t.preventDefault(),_(e.alias))},className:`rounded-lg border border-[#2a2a4a] bg-[#111128] px-3 py-2 sm:px-4 sm:py-3 transition-colors hover:border-cyan-500/40 cursor-pointer ${!e.online?"opacity-50":""}`,children:[(0,t.jsxs)("div",{className:"hidden sm:grid sm:grid-cols-10 gap-2 items-center",children:[(0,t.jsx)("div",{className:"col-span-1",children:(0,t.jsx)("span",{className:`text-xs px-2 py-0.5 rounded-md border ${o.SESSION_STATUS_CHIP_CLASS[s]||o.SESSION_STATUS_CHIP_CLASS.offline}`,children:s})}),(0,t.jsx)("div",{className:"col-span-2 min-w-0",children:(0,t.jsxs)("div",{className:"flex items-center gap-2 min-w-0",children:[(0,t.jsxs)("div",{className:"relative shrink-0",children:[(0,t.jsx)(l.AliasAvatar,{alias:e.alias,size:20}),a&&(0,t.jsx)("span",{className:"absolute -right-1 -top-1 h-2.5 w-2.5 rounded-full border border-[#111128] bg-red-500"})]}),(0,t.jsx)("span",{className:"truncate text-sm font-medium text-white",children:e.alias}),a&&(0,t.jsx)("span",{className:"shrink-0 rounded-full bg-red-500/15 px-1.5 py-0.5 text-[9px] font-semibold uppercase tracking-wide text-red-300",children:"New"})]})}),(0,t.jsx)("div",{className:"col-span-2 truncate text-xs text-gray-400",title:e.server||"",children:(0,t.jsxs)("span",{className:"truncate",children:[e.agent||"--",(0,t.jsx)("span",{className:"text-gray-700 mx-1.5",children:"·"}),c(e.server)]})}),(0,t.jsx)("div",{className:"col-span-4 truncate text-xs text-gray-500",title:e.task||"",children:e.task||"--"}),(0,t.jsx)("div",{className:"col-span-1 text-xs text-gray-500",children:(0,r.timeAgo)(e.last_seen_at||e.updated_at)})]}),(0,t.jsxs)("div",{className:"sm:hidden space-y-1",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2.5",children:[(0,t.jsxs)("div",{className:"relative shrink-0",children:[(0,t.jsx)(l.AliasAvatar,{alias:e.alias,size:28}),a&&(0,t.jsx)("span",{className:"absolute -right-1 -top-1 h-3 w-3 rounded-full border-2 border-[#111128] bg-red-500"})]}),(0,t.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2 min-w-0",children:[(0,t.jsx)("div",{className:"truncate text-sm font-medium text-white",children:e.alias}),a&&(0,t.jsx)("span",{className:"shrink-0 rounded-full bg-red-500/15 px-1.5 py-0.5 text-[9px] font-semibold uppercase tracking-wide text-red-300",children:"New"})]}),(0,t.jsxs)("div",{className:"truncate text-[10px] text-gray-500",children:[e.agent||"—"," · ",(0,r.timeAgo)(e.last_seen_at||e.updated_at)]})]}),(0,t.jsx)("span",{className:`shrink-0 text-xs px-2 py-0.5 rounded-md border ${o.SESSION_STATUS_CHIP_CLASS[s]||o.SESSION_STATUS_CHIP_CLASS.offline}`,children:s})]}),e.task&&(0,t.jsx)("div",{className:"truncate text-xs text-gray-500",children:e.task})]})]},e.alias)})]}),C&&(0,t.jsx)(n.TaskChatPanel,{alias:C,onClose:()=>_(null)})]})}])}]);
|
|
1
|
+
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,98025,e=>{"use strict";e.s(["SESSION_STATUS_CHIP_CLASS",0,{working:"bg-green-500/10 text-green-300 border-green-500/20",idle:"bg-blue-500/10 text-blue-300 border-blue-500/20",blocked:"bg-yellow-500/10 text-yellow-300 border-yellow-500/20",error:"bg-red-500/10 text-red-300 border-red-500/20",offline:"bg-gray-500/10 text-gray-500 border-gray-500/20"},"SESSION_STATUS_TEXT_CLASS",0,{working:"text-green-400",idle:"text-blue-400",blocked:"text-yellow-400",error:"text-red-400",offline:"text-gray-500"},"STATUS_BAR_CLASS",0,{created:"bg-gray-500",delivered:"bg-blue-500",acked:"bg-cyan-500",running:"bg-green-500",replied:"bg-purple-500",closed:"bg-gray-600",failed:"bg-red-500",cancelled:"bg-yellow-500",expired:"bg-orange-500"},"STATUS_CHIP_CLASS",0,{created:"bg-gray-500/10 text-gray-400 border-gray-500/20",delivered:"bg-blue-500/10 text-blue-300 border-blue-500/20",acked:"bg-cyan-500/10 text-cyan-300 border-cyan-500/20",running:"bg-green-500/10 text-green-300 border-green-500/20",replied:"bg-purple-500/10 text-purple-300 border-purple-500/20",closed:"bg-gray-500/10 text-gray-500 border-gray-500/20",failed:"bg-red-500/10 text-red-300 border-red-500/20",cancelled:"bg-yellow-500/10 text-yellow-300 border-yellow-500/20",expired:"bg-orange-500/10 text-orange-300 border-orange-500/20"},"STATUS_DOT_HEX",0,{created:"#9ca3af",delivered:"#60a5fa",acked:"#22d3ee",running:"#4ade80",replied:"#a78bfa",closed:"#6b7280",failed:"#f87171",cancelled:"#facc15",expired:"#fb923c"},"TASK_STATUSES",0,["created","delivered","acked","running","replied","closed","failed","cancelled","expired"]])},3479,59746,e=>{"use strict";function t(e){if(!e)return null;let t=Date.parse(e.includes("T")?e:e.replace(" ","T")+"Z");return Number.isFinite(t)?t:null}function s(e){let s=t(e);if(null===s)return null;let r=Math.floor((Date.now()-s)/1e3);return r<0?"just now":r<60?`${r}s ago`:r<3600?`${Math.floor(r/60)}m ago`:r<86400?`${Math.floor(r/3600)}h ago`:`${Math.floor(r/86400)}d ago`}e.s(["parseHubTime",0,t,"relativeAgo",0,s],59746),e.s(["formatUptime",0,function(e){let t=Math.floor(e/3600),s=Math.floor(e%3600/60);return t>0?`${t}h ${s}m`:`${s}m`},"previewContent",0,function(e){return e&&e.replace(/!\[([^\]]*)\]\([^)]*\)/g,"$1").replace(/\[([^\]]+)\]\([^)]*\)/g,"$1").replace(/`([^`]+)`/g,"$1").replace(/\s+/g," ").trim()||"--"},"timeAgo",0,function(e){return s(e)??"--"}],3479)},46228,e=>{"use strict";var t=e.i(22381);let s=[180,200,220,270,300,330,30,90];function r(e){let t=0;for(let s=0;s<e.length;s++)t=31*t+e.charCodeAt(s)>>>0;let r=s[t%s.length];return{bg:`hsl(${r} 55% 22%)`,ring:`hsl(${r} 60% 45%)`,text:`hsl(${r} 80% 78%)`}}function a(e){return e?(e.trim().match(/[\p{L}\p{N}]/u)?.[0]||e.trim()[0]||"·").toUpperCase():"·"}e.s(["AliasAvatar",0,function({alias:e,size:s=28,className:n=""}){if(/\bgrok\b|grok-build|grok测试员|grok-demo/i.test(e))return(0,t.jsx)("span",{className:`anet-alias-avatar inline-flex items-center justify-center rounded-full border border-emerald-500/45 bg-emerald-950/70 shrink-0 ${n}`,style:{width:s,height:s,backgroundImage:"url(/vendors/grok.svg)",backgroundPosition:"center",backgroundRepeat:"no-repeat",backgroundSize:"68% 68%"},title:e,"aria-hidden":!0});let i=r(e),l=Math.max(9,Math.round(.42*s));return(0,t.jsx)("span",{className:`anet-alias-avatar inline-flex items-center justify-center rounded-full border shrink-0 font-semibold ${n}`,style:{width:s,height:s,fontSize:l,backgroundColor:i.bg,borderColor:i.ring,color:i.text},title:e,"aria-hidden":!0,children:a(e)})},"aliasAvatarColors",0,r,"aliasInitial",0,a])},76161,e=>{"use strict";var t=e.i(22381),s=e.i(23910),r=e.i(56839);let a={nodes:{title:"No agents in this network",sub:"Agent sessions will appear here once they connect to the CommHub."},tasks:{title:"No tasks yet",sub:"Tasks will appear here when agents send them via CommHub."},messages:{title:"No messages",sub:"Messages between agents will appear here."},logs:{title:"No audit logs",sub:"Events will appear here when users register, login, or perform actions."},tokens:{title:"No API tokens",sub:"Create one to authenticate CLI tools and external integrations."},networks:{title:"No networks found",sub:"Create one or sign in with V3 auth to see your networks."},generic:{title:"Nothing here yet",sub:"Data will appear here once available."}};function n({variant:e,size:s}){let r={width:s,height:s},a={fill:"none",stroke:"currentColor",strokeWidth:1.25,strokeLinecap:"round",strokeLinejoin:"round"};switch(e){case"nodes":return(0,t.jsx)("svg",{viewBox:"0 0 64 64",...r,children:(0,t.jsxs)("g",{...a,children:[(0,t.jsx)("circle",{cx:"32",cy:"14",r:"4"}),(0,t.jsx)("circle",{cx:"14",cy:"44",r:"4"}),(0,t.jsx)("circle",{cx:"50",cy:"44",r:"4"}),(0,t.jsx)("line",{x1:"32",y1:"18",x2:"14",y2:"40",strokeDasharray:"3 3",opacity:"0.6"}),(0,t.jsx)("line",{x1:"32",y1:"18",x2:"50",y2:"40",strokeDasharray:"3 3",opacity:"0.6"}),(0,t.jsx)("line",{x1:"18",y1:"44",x2:"46",y2:"44",strokeDasharray:"3 3",opacity:"0.6"})]})});case"tasks":return(0,t.jsx)("svg",{viewBox:"0 0 64 64",...r,children:(0,t.jsxs)("g",{...a,children:[(0,t.jsx)("rect",{x:"14",y:"14",width:"36",height:"6",rx:"1.5"}),(0,t.jsx)("rect",{x:"14",y:"26",width:"36",height:"6",rx:"1.5",opacity:"0.6"}),(0,t.jsx)("rect",{x:"14",y:"38",width:"36",height:"6",rx:"1.5",opacity:"0.35"})]})});case"messages":return(0,t.jsx)("svg",{viewBox:"0 0 64 64",...r,children:(0,t.jsxs)("g",{...a,children:[(0,t.jsx)("path",{d:"M14 18 h36 a3 3 0 0 1 3 3 v18 a3 3 0 0 1 -3 3 h-18 l-8 6 v-6 h-10 a3 3 0 0 1 -3 -3 v-18 a3 3 0 0 1 3 -3 z"}),(0,t.jsx)("line",{x1:"22",y1:"28",x2:"42",y2:"28",opacity:"0.5"}),(0,t.jsx)("line",{x1:"22",y1:"34",x2:"36",y2:"34",opacity:"0.5"})]})});case"logs":return(0,t.jsx)("svg",{viewBox:"0 0 64 64",...r,children:(0,t.jsxs)("g",{...a,children:[(0,t.jsx)("path",{d:"M18 12 h22 l8 8 v32 a2 2 0 0 1 -2 2 h-28 a2 2 0 0 1 -2 -2 v-38 a2 2 0 0 1 2 -2 z"}),(0,t.jsx)("path",{d:"M40 12 v8 h8",opacity:"0.6"}),(0,t.jsx)("line",{x1:"24",y1:"32",x2:"40",y2:"32",opacity:"0.55"}),(0,t.jsx)("line",{x1:"24",y1:"38",x2:"40",y2:"38",opacity:"0.4"}),(0,t.jsx)("line",{x1:"24",y1:"44",x2:"34",y2:"44",opacity:"0.25"})]})});case"tokens":return(0,t.jsx)("svg",{viewBox:"0 0 64 64",...r,children:(0,t.jsxs)("g",{...a,children:[(0,t.jsx)("circle",{cx:"22",cy:"32",r:"8"}),(0,t.jsx)("line",{x1:"30",y1:"32",x2:"54",y2:"32"}),(0,t.jsx)("line",{x1:"44",y1:"32",x2:"44",y2:"38"}),(0,t.jsx)("line",{x1:"50",y1:"32",x2:"50",y2:"40"})]})});case"networks":return(0,t.jsx)("svg",{viewBox:"0 0 64 64",...r,children:(0,t.jsxs)("g",{...a,children:[(0,t.jsx)("circle",{cx:"32",cy:"32",r:"18"}),(0,t.jsx)("ellipse",{cx:"32",cy:"32",rx:"18",ry:"9",opacity:"0.55"}),(0,t.jsx)("line",{x1:"14",y1:"32",x2:"50",y2:"32",opacity:"0.55"}),(0,t.jsx)("line",{x1:"32",y1:"14",x2:"32",y2:"50",opacity:"0.55"})]})});default:return(0,t.jsx)("svg",{viewBox:"0 0 64 64",...r,children:(0,t.jsxs)("g",{...a,children:[(0,t.jsx)("circle",{cx:"32",cy:"32",r:"14",strokeDasharray:"3 3",opacity:"0.6"}),(0,t.jsx)("circle",{cx:"32",cy:"32",r:"3"})]})})}}function i({variant:e="generic",title:s,sub:l,cta:o,compact:d=!1}){let c=a[e],x=s??c.title,h=l??c.sub;return(0,t.jsxs)("div",{className:`text-center ${d?"py-8":"py-16"} px-4`,role:"status",children:[(0,t.jsx)("div",{className:"anet-empty-glyph inline-flex items-center justify-center mb-4 text-gray-500","aria-hidden":!0,children:(0,t.jsx)(n,{variant:e,size:d?40:56})}),(0,t.jsx)("h3",{className:`font-medium text-gray-300 ${d?"text-sm":"text-base"}`,children:x}),h&&(0,t.jsx)("p",{className:`text-gray-500 ${d?"text-xs mt-1.5":"text-sm mt-2"} max-w-md mx-auto leading-relaxed`,children:h}),o&&(0,t.jsx)("div",{className:"mt-4",children:o.href?(0,t.jsxs)(r.default,{href:o.href,className:"inline-flex items-center gap-1.5 text-sm font-medium text-cyan-400 hover:text-cyan-300",children:[o.label,(0,t.jsx)("span",{"aria-hidden":!0,children:"→"})]}):(0,t.jsxs)("button",{onClick:o.onClick,className:"inline-flex items-center gap-1.5 text-sm font-medium text-cyan-400 hover:text-cyan-300",children:[o.label,(0,t.jsx)("span",{"aria-hidden":!0,children:"→"})]})})]})}function l({children:e}){return(0,t.jsx)("div",{className:"max-w-2xl mx-auto rounded-xl border border-[#2a2a4a] bg-[#111128] shadow-lg shadow-black/20",children:e})}function o({cmd:e}){let[r,a]=(0,s.useState)(!1),n=async()=>{try{await navigator.clipboard.writeText(e),a(!0),setTimeout(()=>a(!1),1800)}catch{}};return(0,t.jsxs)("div",{className:"anet-empty-cmd flex items-center gap-2 bg-[#0a0a15] border border-[#2a2a4a] rounded-lg pl-4 pr-1.5 py-1.5 text-xs sm:text-sm",children:[(0,t.jsx)("code",{className:"text-cyan-300 font-mono select-all",children:e}),(0,t.jsx)("button",{type:"button",onClick:n,"aria-label":r?"Copied":"Copy command",className:"shrink-0 rounded-md px-2 py-1.5 text-[11px] text-gray-500 hover:text-gray-200 hover:bg-[#1a1a2a] transition-colors",children:r?(0,t.jsxs)("span",{className:"flex items-center gap-1 text-green-400",children:[(0,t.jsx)("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:(0,t.jsx)("path",{d:"M20 6 9 17l-5-5"})}),"Copied"]}):(0,t.jsxs)("span",{className:"flex items-center gap-1",children:[(0,t.jsxs)("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,t.jsx)("rect",{x:"9",y:"9",width:"13",height:"13",rx:"2",ry:"2"}),(0,t.jsx)("path",{d:"M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"})]}),"Copy"]})})]})}e.s(["EmptyState",0,i,"NodesEmptyState",0,function({hint:e,taskHistoryCount:s=0}){return e?.global_count?(0,t.jsx)(l,{children:(0,t.jsx)(i,{variant:"nodes",title:"No agents in this network",sub:`Server has ${e.global_count} nodes globally, but none are registered to the current network. Switch network or contact admin.`})}):s>0?(0,t.jsx)(l,{children:(0,t.jsx)(i,{variant:"nodes",title:"No agents online",sub:`Every agent in this network is currently offline. ${s.toLocaleString()} task${1===s?"":"s"} in history — they may have finished their work or disconnected.`,cta:{label:"View task history",href:"/tasks"}})}):(0,t.jsx)(l,{children:(0,t.jsxs)("div",{className:"text-center py-16 px-4",role:"status",children:[(0,t.jsx)("div",{className:"anet-empty-glyph inline-flex items-center justify-center mb-4 text-gray-500","aria-hidden":!0,children:(0,t.jsx)("svg",{viewBox:"0 0 64 64",width:56,height:56,children:(0,t.jsxs)("g",{stroke:"currentColor",strokeWidth:"1.5",fill:"none",children:[(0,t.jsx)("rect",{x:"10",y:"20",width:"44",height:"28",rx:"2"}),(0,t.jsx)("rect",{x:"20",y:"32",width:"6",height:"8",opacity:"0.5"}),(0,t.jsx)("rect",{x:"32",y:"32",width:"6",height:"8",opacity:"0.5"}),(0,t.jsx)("rect",{x:"44",y:"32",width:"4",height:"8",opacity:"0.5"}),(0,t.jsx)("line",{x1:"10",y1:"26",x2:"54",y2:"26",opacity:"0.4"}),(0,t.jsx)("circle",{cx:"14",cy:"23",r:"0.8",fill:"currentColor"})]})})}),(0,t.jsx)("h3",{className:"font-medium text-gray-300 text-base",children:"Spin up your first agent"}),(0,t.jsx)("p",{className:"text-gray-500 text-sm mt-2 max-w-md mx-auto leading-relaxed",children:"Run this in a fresh terminal to register an agent with this CommHub:"}),(0,t.jsx)("div",{className:"mt-4 inline-block",children:(0,t.jsx)(o,{cmd:"npx --yes @sleep2agi/agent-network init"})}),(0,t.jsx)("div",{className:"mt-3",children:(0,t.jsxs)("a",{href:"https://anet.sh",target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center gap-1.5 text-xs font-medium text-gray-500 hover:text-cyan-300",children:["Full quickstart guide",(0,t.jsx)("span",{"aria-hidden":!0,children:"→"})]})})]})})}])},59276,e=>{"use strict";var t=e.i(12629),s=e.i(11449);let r=async e=>{let t=await fetch(e);if(401===t.status)throw window.location.assign("/login"),Error("unauthorized");return t.json()},a={refreshInterval:5e3,dedupingInterval:3e3};function n(e,t){if(!t)return e;let s=e.includes("?")?"&":"?";return`${e}${s}network_id=${encodeURIComponent(t)}`}e.s(["useAnetConfig",0,function(){let{data:e}=(0,t.default)("/api/anet/config",r,{refreshInterval:3e4});return{config:e||null}},"useHealth",0,function(){let{data:e,error:s}=(0,t.default)("/api/hub/health",r,a);return{health:e||null,error:s}},"useMessages",0,function(e=100){let{networkId:i}=(0,s.useNetworkId)(),{data:l,error:o,isLoading:d}=(0,t.default)(n(`/api/hub/messages?limit=${e}`,i),r,a);return{messages:l?.messages||[],error:o,isLoading:d}},"useSessions",0,function(){let{networkId:e}=(0,s.useNetworkId)(),{data:i,error:l,isLoading:o}=(0,t.default)(n("/api/hub/status",e),r,a);return{sessions:i?.sessions||[],hint:i?._hint,error:l,isLoading:o}},"useStats",0,function(){let{networkId:e}=(0,s.useNetworkId)(),{data:i,error:l}=(0,t.default)(n("/api/hub/stats",e),r,a);return{stats:i?.ok?i:null,error:l}},"useTasks",0,function(e){let{networkId:i}=(0,s.useNetworkId)(),l=new URLSearchParams({limit:"100",...e}).toString(),{data:o,error:d,isLoading:c}=(0,t.default)(n(`/api/hub/tasks?${l}`,i),r,a);return{tasks:o?.tasks||[],count:o?.count??0,source:o?.source,error:d,isLoading:c}}])},70732,e=>{"use strict";var t=e.i(22381),s=e.i(23910),r=e.i(3479),a=e.i(59276),n=e.i(43058),i=e.i(76161),l=e.i(46228),o=e.i(98025),d=e.i(38263);function c(e){return e?e.length>12?`${e.slice(0,8)}…`:e:"—"}e.s(["default",0,function(){let e,x,h,u,{sessions:g,isLoading:m}=(0,a.useSessions)(),{health:p}=(0,a.useHealth)(),{hasUnread:y}=(0,d.useChatUnread)(),b=p?.sse_sessions||{},j=e=>(e.network_id?b[`${e.network_id}:${e.alias}`]:void 0)??b[e.alias],[f,v]=(0,s.useState)(""),[w,N]=(0,s.useState)(""),[k,S]=(0,s.useState)("list"),[C,_]=(0,s.useState)(null),[A,T]=(0,s.useState)(!1),$=g.map(e=>({...e,online:!!j(e)})).filter(e=>"online"===f?e.online:"offline"===f?!e.online:!f||f===e.status).filter(e=>!w||e.alias.toLowerCase().includes(w.toLowerCase())||(e.agent||"").toLowerCase().includes(w.toLowerCase())).sort((e,t)=>!!t.online-!!e.online||("working"===t.status)-("working"===e.status)),I=g.filter(e=>j(e)).length;return(0,t.jsxs)("div",{className:"min-h-screen max-w-full overflow-x-hidden bg-[#0a0a1a] text-gray-100 p-4 sm:p-6 font-mono",children:[(0,t.jsxs)("div",{className:"flex items-center gap-4 mb-4 sm:mb-6",children:[(0,t.jsxs)("div",{className:"flex items-center gap-3 min-w-0 flex-1",children:[(0,t.jsx)("h1",{className:"text-2xl font-bold text-white lg:ml-0 ml-10",children:"Nodes"}),(0,t.jsxs)("span",{className:"text-xs bg-green-900/30 text-green-400 px-2 py-0.5 rounded-full border border-green-800/30 shrink-0",children:[I," online"]}),(0,t.jsxs)("span",{className:"text-xs bg-gray-900/30 text-gray-400 px-2 py-0.5 rounded-full border border-gray-800/30 shrink-0",children:[g.length," total"]})]}),g.length>0&&(0,t.jsxs)("button",{type:"button",onClick:()=>T(e=>!e),"aria-label":A?"Close search":"Open search","aria-pressed":A,title:A?"Close search":"Search nodes",className:`relative shrink-0 inline-flex items-center justify-center rounded-full border w-9 h-9 transition-colors ${A||w?"border-cyan-500/40 bg-cyan-500/10 text-cyan-300":"border-[#2a2a4a] bg-[#111128] text-gray-400 hover:text-gray-200 hover:border-[#3a3a5a]"}`,children:[(0,t.jsx)("svg",{className:"w-4 h-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:2,children:(0,t.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z"})}),w&&!A&&(0,t.jsx)("span",{"aria-hidden":!0,className:"absolute -top-0.5 -right-0.5 w-2 h-2 rounded-full bg-cyan-400 ring-2 ring-[#0a0a1a]"})]})]}),g.length>0&&(A||w)&&(0,t.jsxs)("div",{className:"mb-3 sm:mb-4 flex items-center gap-2",children:[(0,t.jsx)("input",{type:"text",value:w,onChange:e=>N(e.target.value),onKeyDown:e=>{"Escape"===e.key&&(N(""),T(!1))},placeholder:"Search nodes…",autoFocus:A,className:"flex-1 bg-[#111128] border border-[#2a2a4a] rounded-lg px-3 py-2 text-base sm:text-sm text-white placeholder-gray-600 focus:border-cyan-500/40 focus:outline-none"}),(w||A)&&(0,t.jsx)("button",{type:"button",onClick:()=>{N(""),T(!1)},className:"shrink-0 text-xs text-gray-500 hover:text-gray-300 px-2 py-2","aria-label":"Clear and close search",children:"Cancel"})]}),g.length>0&&(e=$.filter(e=>e.online&&"working"===e.status).length,x=$.filter(e=>e.online&&"idle"===e.status).length,h=$.filter(e=>!e.online).length,u=$.length||1,(0,t.jsxs)("div",{className:"mb-4 sm:mb-6",children:[(0,t.jsxs)("div",{className:"flex h-2 rounded-full overflow-hidden bg-gray-800",children:[e>0&&(0,t.jsx)("div",{className:"bg-green-500",style:{width:`${e/u*100}%`}}),x>0&&(0,t.jsx)("div",{className:"bg-cyan-500",style:{width:`${x/u*100}%`}}),h>0&&(0,t.jsx)("div",{className:"bg-gray-600",style:{width:`${h/u*100}%`}})]}),(0,t.jsxs)("div",{className:"flex gap-4 mt-1.5 text-[10px] text-gray-500",children:[e>0&&(0,t.jsxs)("span",{children:[(0,t.jsx)("span",{className:"inline-block w-2 h-2 rounded-full bg-green-500 mr-1"}),e," working"]}),x>0&&(0,t.jsxs)("span",{children:[(0,t.jsx)("span",{className:"inline-block w-2 h-2 rounded-full bg-cyan-500 mr-1"}),x," idle"]}),h>0&&(0,t.jsxs)("span",{children:[(0,t.jsx)("span",{className:"inline-block w-2 h-2 rounded-full bg-gray-600 mr-1"}),h," offline"]})]})]})),g.length>0&&(0,t.jsxs)("div",{className:"flex flex-wrap gap-3 mb-4 sm:mb-6",children:[(0,t.jsxs)("select",{value:f,onChange:e=>v(e.target.value),className:"bg-[#111128] border border-[#2a2a4a] rounded-lg px-3 py-2 text-base sm:text-sm text-white focus:border-blue-500/50 focus:outline-none",children:[(0,t.jsx)("option",{value:"",children:"All"}),(0,t.jsx)("option",{value:"online",children:"Online"}),(0,t.jsx)("option",{value:"offline",children:"Offline"}),(0,t.jsx)("option",{value:"working",children:"Working"}),(0,t.jsx)("option",{value:"idle",children:"Idle"}),(0,t.jsx)("option",{value:"blocked",children:"Blocked"}),(0,t.jsx)("option",{value:"error",children:"Error"})]}),(0,t.jsx)("div",{className:"hidden sm:flex ml-auto rounded-lg border border-[#2a2a4a] bg-[#111128] p-1 text-sm",children:["list","grid"].map(e=>(0,t.jsx)("button",{type:"button",onClick:()=>S(e),className:`rounded-md px-3 py-1.5 transition-colors ${k===e?"bg-cyan-500/10 text-cyan-300":"text-gray-500 hover:text-gray-200"}`,children:"list"===e?"List":"Grid"},e))})]}),m?(0,t.jsx)("div",{className:"animate-pulse space-y-2",children:[1,2,3,4].map(e=>(0,t.jsx)("div",{className:"h-16 bg-gray-800/20 rounded-lg"},e))}):0===$.length?0===g.length?(0,t.jsx)(i.NodesEmptyState,{}):(0,t.jsx)(i.EmptyState,{variant:"nodes",title:"No nodes match your filters",sub:"Try clearing search or status filters, or wait for an agent to register."}):"grid"===k?(0,t.jsx)("div",{className:"grid min-w-0 grid-cols-1 md:grid-cols-2 xl:grid-cols-3 gap-4",children:$.map(e=>{let s=e.online?e.status:"offline",a="number"==typeof e.progress?e.progress:0,n=y(e.alias);return(0,t.jsxs)("div",{role:"button",tabIndex:0,onClick:()=>_(e.alias),onKeyDown:t=>{("Enter"===t.key||" "===t.key)&&(t.preventDefault(),_(e.alias))},className:`relative min-w-0 max-w-full overflow-hidden rounded-xl border border-[#2a2a4a] bg-[#111128] p-4 transition-colors hover:border-cyan-500/40 cursor-pointer ${!e.online?"opacity-60":""}`,children:[!e.online&&(0,t.jsx)("div",{className:"pointer-events-none absolute inset-0 flex items-center justify-center",children:(0,t.jsx)("span",{className:"rotate-[-20deg] rounded-xl border border-white/10 bg-black/20 px-5 py-2 text-xl font-bold uppercase tracking-[0.35em] text-white/10",children:"Offline"})}),(0,t.jsxs)("div",{className:"flex items-start gap-3",children:[(0,t.jsxs)("div",{className:"relative shrink-0",children:[(0,t.jsx)(l.AliasAvatar,{alias:e.alias,size:36}),n&&(0,t.jsx)("span",{className:"absolute -right-1 -top-1 h-3 w-3 rounded-full border-2 border-[#111128] bg-red-500"})]}),(0,t.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)("span",{className:"truncate text-base font-semibold text-white",children:e.alias}),n&&(0,t.jsx)("span",{className:"shrink-0 rounded-full bg-red-500/15 px-2 py-0.5 text-[10px] font-semibold uppercase tracking-wide text-red-300",children:"New"}),(0,t.jsx)("span",{className:`shrink-0 rounded-md border px-2 py-0.5 text-[10px] uppercase tracking-wide ${o.SESSION_STATUS_CHIP_CLASS[s]||o.SESSION_STATUS_CHIP_CLASS.offline}`,children:s})]}),(0,t.jsxs)("div",{className:"mt-0.5 truncate text-xs text-gray-500",children:[e.agent||"—",(0,t.jsx)("span",{className:"text-gray-700 mx-1.5",children:"·"}),(0,t.jsx)("span",{title:e.server||"",children:c(e.server)})]})]}),(0,t.jsx)("span",{className:"hidden shrink-0 rounded-lg border border-cyan-500/15 bg-cyan-500/5 px-2 py-1 text-[10px] text-cyan-300/70 sm:inline",children:"Tap to chat"})]}),(0,t.jsxs)("div",{className:"mt-3 rounded-lg border border-[#1a1a2a] bg-[#0a0a15] px-3 py-2 text-xs",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between gap-3",children:[(0,t.jsx)("span",{className:"text-[10px] uppercase tracking-wide text-gray-600",children:"Current task"}),(0,t.jsx)("span",{className:"text-[10px] text-gray-600",children:(0,r.timeAgo)(e.last_seen_at||e.updated_at)})]}),(0,t.jsx)("div",{className:`mt-1 line-clamp-2 ${e.task?"text-gray-300":"text-gray-600 italic"}`,children:e.task||"No current task"})]}),a>0&&a<100&&(0,t.jsx)("div",{className:"mt-3 h-1.5 overflow-hidden rounded-full bg-gray-800",children:(0,t.jsx)("div",{className:"h-1.5 rounded-full bg-cyan-400 transition-all",style:{width:`${a}%`}})})]},e.alias)})}):(0,t.jsxs)("div",{className:"space-y-1 sm:space-y-2",children:[(0,t.jsxs)("div",{className:"hidden sm:grid sm:grid-cols-10 gap-2 px-4 py-2 text-xs text-gray-600 uppercase",children:[(0,t.jsx)("div",{className:"col-span-1",children:"Status"}),(0,t.jsx)("div",{className:"col-span-2",children:"Alias"}),(0,t.jsx)("div",{className:"col-span-2",children:"Agent · Server"}),(0,t.jsx)("div",{className:"col-span-4",children:"Current Task"}),(0,t.jsx)("div",{className:"col-span-1",children:"Updated"})]}),$.map(e=>{let s=e.online?e.status:"offline",a=y(e.alias);return(0,t.jsxs)("div",{role:"button",tabIndex:0,onClick:()=>_(e.alias),onKeyDown:t=>{("Enter"===t.key||" "===t.key)&&(t.preventDefault(),_(e.alias))},className:`rounded-lg border border-[#2a2a4a] bg-[#111128] px-3 py-2 sm:px-4 sm:py-3 transition-colors hover:border-cyan-500/40 cursor-pointer ${!e.online?"opacity-50":""}`,children:[(0,t.jsxs)("div",{className:"hidden sm:grid sm:grid-cols-10 gap-2 items-center",children:[(0,t.jsx)("div",{className:"col-span-1",children:(0,t.jsx)("span",{className:`text-xs px-2 py-0.5 rounded-md border ${o.SESSION_STATUS_CHIP_CLASS[s]||o.SESSION_STATUS_CHIP_CLASS.offline}`,children:s})}),(0,t.jsx)("div",{className:"col-span-2 min-w-0",children:(0,t.jsxs)("div",{className:"flex items-center gap-2 min-w-0",children:[(0,t.jsxs)("div",{className:"relative shrink-0",children:[(0,t.jsx)(l.AliasAvatar,{alias:e.alias,size:20}),a&&(0,t.jsx)("span",{className:"absolute -right-1 -top-1 h-2.5 w-2.5 rounded-full border border-[#111128] bg-red-500"})]}),(0,t.jsx)("span",{className:"truncate text-sm font-medium text-white",children:e.alias}),a&&(0,t.jsx)("span",{className:"shrink-0 rounded-full bg-red-500/15 px-1.5 py-0.5 text-[9px] font-semibold uppercase tracking-wide text-red-300",children:"New"})]})}),(0,t.jsx)("div",{className:"col-span-2 truncate text-xs text-gray-400",title:e.server||"",children:(0,t.jsxs)("span",{className:"truncate",children:[e.agent||"--",(0,t.jsx)("span",{className:"text-gray-700 mx-1.5",children:"·"}),c(e.server)]})}),(0,t.jsx)("div",{className:"col-span-4 truncate text-xs text-gray-500",title:e.task||"",children:e.task||"--"}),(0,t.jsx)("div",{className:"col-span-1 text-xs text-gray-500",children:(0,r.timeAgo)(e.last_seen_at||e.updated_at)})]}),(0,t.jsxs)("div",{className:"sm:hidden space-y-1",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2.5",children:[(0,t.jsxs)("div",{className:"relative shrink-0",children:[(0,t.jsx)(l.AliasAvatar,{alias:e.alias,size:28}),a&&(0,t.jsx)("span",{className:"absolute -right-1 -top-1 h-3 w-3 rounded-full border-2 border-[#111128] bg-red-500"})]}),(0,t.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2 min-w-0",children:[(0,t.jsx)("div",{className:"truncate text-sm font-medium text-white",children:e.alias}),a&&(0,t.jsx)("span",{className:"shrink-0 rounded-full bg-red-500/15 px-1.5 py-0.5 text-[9px] font-semibold uppercase tracking-wide text-red-300",children:"New"})]}),(0,t.jsxs)("div",{className:"truncate text-[10px] text-gray-500",children:[e.agent||"—"," · ",(0,r.timeAgo)(e.last_seen_at||e.updated_at)]})]}),(0,t.jsx)("span",{className:`shrink-0 text-xs px-2 py-0.5 rounded-md border ${o.SESSION_STATUS_CHIP_CLASS[s]||o.SESSION_STATUS_CHIP_CLASS.offline}`,children:s})]}),e.task&&(0,t.jsx)("div",{className:"truncate text-xs text-gray-500",children:e.task})]})]},e.alias)})]}),C&&(0,t.jsx)(n.TaskChatPanel,{alias:C,onClose:()=>_(null)})]})}])}]);
|
package/.next/trace
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
[{"name":"generate-buildid","duration":2949,"timestamp":2081727352628,"id":4,"parentId":1,"tags":{},"startTime":1780889699599,"traceId":"45590b0fcc9d2ba1"},{"name":"load-custom-routes","duration":8351,"timestamp":2081727355852,"id":5,"parentId":1,"tags":{},"startTime":1780889699602,"traceId":"45590b0fcc9d2ba1"},{"name":"create-dist-dir","duration":30147,"timestamp":2081727364473,"id":6,"parentId":1,"tags":{},"startTime":1780889699611,"traceId":"45590b0fcc9d2ba1"},{"name":"clean","duration":222629,"timestamp":2081727469676,"id":7,"parentId":1,"tags":{},"startTime":1780889699716,"traceId":"45590b0fcc9d2ba1"},{"name":"discover-routes","duration":287541,"timestamp":2081728360240,"id":8,"parentId":1,"tags":{},"startTime":1780889700607,"traceId":"45590b0fcc9d2ba1"},{"name":"create-root-mapping","duration":6026,"timestamp":2081728647887,"id":9,"parentId":1,"tags":{},"startTime":1780889700894,"traceId":"45590b0fcc9d2ba1"},{"name":"generate-route-types","duration":459864,"timestamp":2081728698547,"id":10,"parentId":1,"tags":{},"startTime":1780889700945,"traceId":"45590b0fcc9d2ba1"},{"name":"public-dir-conflict-check","duration":156,"timestamp":2081729158567,"id":11,"parentId":1,"tags":{},"startTime":1780889701405,"traceId":"45590b0fcc9d2ba1"},{"name":"generate-routes-manifest","duration":166742,"timestamp":2081729158912,"id":12,"parentId":1,"tags":{},"startTime":1780889701405,"traceId":"45590b0fcc9d2ba1"},{"name":"run-turbopack","duration":219883895,"timestamp":2081729478121,"id":14,"parentId":1,"tags":{},"startTime":1780889701724,"traceId":"45590b0fcc9d2ba1"},{"name":"turbopack-build-events","duration":131,"timestamp":2081733005343,"id":15,"parentId":1,"tags":{},"startTime":1780889705252,"traceId":"45590b0fcc9d2ba1"},{"name":"run-typescript","duration":180488836,"timestamp":2081949679605,"id":16,"parentId":1,"tags":{},"startTime":1780889921926,"traceId":"45590b0fcc9d2ba1"},{"name":"generate-required-server-files","duration":8275,"timestamp":2082130176552,"id":18,"parentId":1,"tags":{},"startTime":1780890102423,"traceId":"45590b0fcc9d2ba1"},{"name":"check-static-error-page","duration":147289,"timestamp":2082132687261,"id":20,"parentId":19,"tags":{},"startTime":1780890104934,"traceId":"45590b0fcc9d2ba1"},{"name":"is-page-static","duration":7605359,"timestamp":2082132869778,"id":66,"parentId":21,"tags":{},"startTime":1780890105116,"traceId":"45590b0fcc9d2ba1"},{"name":"check-page","duration":7786506,"timestamp":2082132688804,"id":21,"parentId":19,"tags":{"page":"/_not-found"},"startTime":1780890104935,"traceId":"45590b0fcc9d2ba1"},{"name":"is-page-static","duration":8799434,"timestamp":2082132870767,"id":71,"parentId":28,"tags":{},"startTime":1780890105117,"traceId":"45590b0fcc9d2ba1"},{"name":"check-page","duration":8949348,"timestamp":2082132720943,"id":28,"parentId":19,"tags":{"page":"/api/hub/audit-log"},"startTime":1780890104967,"traceId":"45590b0fcc9d2ba1"},{"name":"is-page-static","duration":8859753,"timestamp":2082132926432,"id":74,"parentId":32,"tags":{},"startTime":1780890105173,"traceId":"45590b0fcc9d2ba1"},{"name":"check-page","duration":9059025,"timestamp":2082132727242,"id":32,"parentId":19,"tags":{"page":"/api/hub/health"},"startTime":1780890104974,"traceId":"45590b0fcc9d2ba1"},{"name":"is-page-static","duration":8907053,"timestamp":2082132927178,"id":75,"parentId":33,"tags":{},"startTime":1780890105173,"traceId":"45590b0fcc9d2ba1"},{"name":"check-page","duration":9106904,"timestamp":2082132727409,"id":33,"parentId":19,"tags":{"page":"/api/hub/inbox"},"startTime":1780890104974,"traceId":"45590b0fcc9d2ba1"},{"name":"is-page-static","duration":8915163,"timestamp":2082132927286,"id":76,"parentId":34,"tags":{},"startTime":1780890105174,"traceId":"45590b0fcc9d2ba1"},{"name":"check-page","duration":9114996,"timestamp":2082132727529,"id":34,"parentId":19,"tags":{"page":"/api/hub/messages"},"startTime":1780890104974,"traceId":"45590b0fcc9d2ba1"},{"name":"is-page-static","duration":8927776,"timestamp":2082132927316,"id":77,"parentId":35,"tags":{},"startTime":1780890105174,"traceId":"45590b0fcc9d2ba1"},{"name":"check-page","duration":9127506,"timestamp":2082132727659,"id":35,"parentId":19,"tags":{"page":"/api/hub/networks"},"startTime":1780890104974,"traceId":"45590b0fcc9d2ba1"},{"name":"is-page-static","duration":8986682,"timestamp":2082132870261,"id":67,"parentId":22,"tags":{},"startTime":1780890105117,"traceId":"45590b0fcc9d2ba1"},{"name":"check-page","duration":9154539,"timestamp":2082132703521,"id":22,"parentId":19,"tags":{"page":"/_global-error"},"startTime":1780890104950,"traceId":"45590b0fcc9d2ba1"},{"name":"is-page-static","duration":8933238,"timestamp":2082132927339,"id":78,"parentId":36,"tags":{},"startTime":1780890105174,"traceId":"45590b0fcc9d2ba1"},{"name":"check-page","duration":9128482,"timestamp":2082132732141,"id":36,"parentId":19,"tags":{"page":"/api/hub/nodes"},"startTime":1780890104978,"traceId":"45590b0fcc9d2ba1"},{"name":"is-page-static","duration":8983742,"timestamp":2082132927386,"id":80,"parentId":38,"tags":{},"startTime":1780890105174,"traceId":"45590b0fcc9d2ba1"},{"name":"check-page","duration":9178737,"timestamp":2082132732476,"id":38,"parentId":19,"tags":{"page":"/api/hub/send"},"startTime":1780890104979,"traceId":"45590b0fcc9d2ba1"},{"name":"is-page-static","duration":9038326,"timestamp":2082132927401,"id":81,"parentId":39,"tags":{},"startTime":1780890105174,"traceId":"45590b0fcc9d2ba1"},{"name":"check-page","duration":9233222,"timestamp":2082132732584,"id":39,"parentId":19,"tags":{"page":"/api/hub/server-logs"},"startTime":1780890104979,"traceId":"45590b0fcc9d2ba1"},{"name":"is-page-static","duration":9111975,"timestamp":2082132927417,"id":82,"parentId":41,"tags":{},"startTime":1780890105174,"traceId":"45590b0fcc9d2ba1"},{"name":"check-page","duration":9306527,"timestamp":2082132732964,"id":41,"parentId":19,"tags":{"page":"/api/hub/server/[hostname]/health"},"startTime":1780890104979,"traceId":"45590b0fcc9d2ba1"},{"name":"is-page-static","duration":9122955,"timestamp":2082132926338,"id":73,"parentId":30,"tags":{},"startTime":1780890105173,"traceId":"45590b0fcc9d2ba1"},{"name":"check-page","duration":9328104,"timestamp":2082132721255,"id":30,"parentId":19,"tags":{"page":"/api/hub/broadcast"},"startTime":1780890104968,"traceId":"45590b0fcc9d2ba1"},{"name":"is-page-static","duration":9143801,"timestamp":2082132927433,"id":83,"parentId":43,"tags":{},"startTime":1780890105174,"traceId":"45590b0fcc9d2ba1"},{"name":"check-page","duration":9309094,"timestamp":2082132762209,"id":43,"parentId":19,"tags":{"page":"/api/hub/session"},"startTime":1780890105008,"traceId":"45590b0fcc9d2ba1"},{"name":"is-page-static","duration":9171883,"timestamp":2082132927460,"id":85,"parentId":45,"tags":{},"startTime":1780890105174,"traceId":"45590b0fcc9d2ba1"},{"name":"check-page","duration":9336526,"timestamp":2082132762888,"id":45,"parentId":19,"tags":{"page":"/api/hub/status"},"startTime":1780890105009,"traceId":"45590b0fcc9d2ba1"},{"name":"is-page-static","duration":9203847,"timestamp":2082132927472,"id":86,"parentId":46,"tags":{},"startTime":1780890105174,"traceId":"45590b0fcc9d2ba1"},{"name":"check-page","duration":9365847,"timestamp":2082132765546,"id":46,"parentId":19,"tags":{"page":"/api/hub/task-events"},"startTime":1780890105012,"traceId":"45590b0fcc9d2ba1"},{"name":"is-page-static","duration":9243751,"timestamp":2082132927445,"id":84,"parentId":44,"tags":{},"startTime":1780890105174,"traceId":"45590b0fcc9d2ba1"},{"name":"check-page","duration":9408572,"timestamp":2082132762701,"id":44,"parentId":19,"tags":{"page":"/api/hub/stats"},"startTime":1780890105009,"traceId":"45590b0fcc9d2ba1"},{"name":"is-page-static","duration":9259690,"timestamp":2082132927489,"id":87,"parentId":47,"tags":{},"startTime":1780890105174,"traceId":"45590b0fcc9d2ba1"},{"name":"check-page","duration":9421552,"timestamp":2082132765712,"id":47,"parentId":19,"tags":{"page":"/api/hub/tasks"},"startTime":1780890105012,"traceId":"45590b0fcc9d2ba1"},{"name":"is-page-static","duration":9278927,"timestamp":2082132927506,"id":88,"parentId":48,"tags":{},"startTime":1780890105174,"traceId":"45590b0fcc9d2ba1"},{"name":"check-page","duration":9440658,"timestamp":2082132765851,"id":48,"parentId":19,"tags":{"page":"/api/hub/tmux"},"startTime":1780890105012,"traceId":"45590b0fcc9d2ba1"},{"name":"is-page-static","duration":9302972,"timestamp":2082132927530,"id":90,"parentId":50,"tags":{},"startTime":1780890105174,"traceId":"45590b0fcc9d2ba1"},{"name":"check-page","duration":9464439,"timestamp":2082132766133,"id":50,"parentId":19,"tags":{"page":"/api/hub/upload"},"startTime":1780890105012,"traceId":"45590b0fcc9d2ba1"},{"name":"is-page-static","duration":9321310,"timestamp":2082132927516,"id":89,"parentId":49,"tags":{},"startTime":1780890105174,"traceId":"45590b0fcc9d2ba1"},{"name":"check-page","duration":9482906,"timestamp":2082132765989,"id":49,"parentId":19,"tags":{"page":"/api/hub/tokens"},"startTime":1780890105012,"traceId":"45590b0fcc9d2ba1"},{"name":"is-page-static","duration":9745101,"timestamp":2082132927545,"id":91,"parentId":51,"tags":{},"startTime":1780890105174,"traceId":"45590b0fcc9d2ba1"},{"name":"check-page","duration":9906471,"timestamp":2082132766259,"id":51,"parentId":19,"tags":{"page":"/favicon.ico"},"startTime":1780890105013,"traceId":"45590b0fcc9d2ba1"},{"name":"is-page-static","duration":9781587,"timestamp":2082132925216,"id":72,"parentId":29,"tags":{},"startTime":1780890105172,"traceId":"45590b0fcc9d2ba1"},{"name":"check-page","duration":9985781,"timestamp":2082132721102,"id":29,"parentId":19,"tags":{"page":"/api/hub/auth"},"startTime":1780890104967,"traceId":"45590b0fcc9d2ba1"},{"name":"is-page-static","duration":9796072,"timestamp":2082132927560,"id":92,"parentId":54,"tags":{},"startTime":1780890105174,"traceId":"45590b0fcc9d2ba1"},{"name":"check-page","duration":9937827,"timestamp":2082132785877,"id":54,"parentId":19,"tags":{"page":"/manifest.webmanifest"},"startTime":1780890105032,"traceId":"45590b0fcc9d2ba1"},{"name":"is-page-static","duration":9749792,"timestamp":2082133029596,"id":95,"parentId":42,"tags":{},"startTime":1780890105276,"traceId":"45590b0fcc9d2ba1"},{"name":"check-page","duration":10046340,"timestamp":2082132733127,"id":42,"parentId":19,"tags":{"page":"/api/hub/servers"},"startTime":1780890104979,"traceId":"45590b0fcc9d2ba1"},{"name":"is-page-static","duration":9798560,"timestamp":2082133112943,"id":96,"parentId":40,"tags":{},"startTime":1780890105359,"traceId":"45590b0fcc9d2ba1"},{"name":"check-page","duration":10178904,"timestamp":2082132732679,"id":40,"parentId":19,"tags":{"page":"/api/hub/server/[hostname]/agents"},"startTime":1780890104979,"traceId":"45590b0fcc9d2ba1"},{"name":"is-page-static","duration":9936119,"timestamp":2082132975968,"id":93,"parentId":24,"tags":{},"startTime":1780890105222,"traceId":"45590b0fcc9d2ba1"},{"name":"check-page","duration":10208047,"timestamp":2082132704096,"id":24,"parentId":19,"tags":{"page":"/api/anet/config"},"startTime":1780890104950,"traceId":"45590b0fcc9d2ba1"},{"name":"is-page-static","duration":9883984,"timestamp":2082133028303,"id":94,"parentId":31,"tags":{},"startTime":1780890105275,"traceId":"45590b0fcc9d2ba1"},{"name":"check-page","duration":10190940,"timestamp":2082132721380,"id":31,"parentId":19,"tags":{"page":"/api/hub/events"},"startTime":1780890104968,"traceId":"45590b0fcc9d2ba1"},{"name":"is-page-static","duration":9688790,"timestamp":2082133443155,"id":98,"parentId":52,"tags":{},"startTime":1780890105689,"traceId":"45590b0fcc9d2ba1"},{"name":"check-page","duration":10365330,"timestamp":2082132766726,"id":52,"parentId":19,"tags":{"page":"/login"},"startTime":1780890105013,"traceId":"45590b0fcc9d2ba1"},{"name":"is-page-static","duration":9838719,"timestamp":2082133443192,"id":100,"parentId":55,"tags":{},"startTime":1780890105689,"traceId":"45590b0fcc9d2ba1"},{"name":"check-page","duration":10485726,"timestamp":2082132796291,"id":55,"parentId":19,"tags":{"page":"/messages"},"startTime":1780890105043,"traceId":"45590b0fcc9d2ba1"},{"name":"is-page-static","duration":9988540,"timestamp":2082133443203,"id":101,"parentId":56,"tags":{},"startTime":1780890105689,"traceId":"45590b0fcc9d2ba1"},{"name":"check-page","duration":10635197,"timestamp":2082132796628,"id":56,"parentId":19,"tags":{"page":"/node"},"startTime":1780890105043,"traceId":"45590b0fcc9d2ba1"},{"name":"is-page-static","duration":10167223,"timestamp":2082133443217,"id":102,"parentId":57,"tags":{},"startTime":1780890105689,"traceId":"45590b0fcc9d2ba1"},{"name":"check-page","duration":10806286,"timestamp":2082132804241,"id":57,"parentId":19,"tags":{"page":"/nodes"},"startTime":1780890105051,"traceId":"45590b0fcc9d2ba1"},{"name":"is-page-static","duration":10683332,"timestamp":2082132927371,"id":79,"parentId":37,"tags":{},"startTime":1780890105174,"traceId":"45590b0fcc9d2ba1"},{"name":"check-page","duration":10878386,"timestamp":2082132732350,"id":37,"parentId":19,"tags":{"page":"/api/hub/register"},"startTime":1780890104979,"traceId":"45590b0fcc9d2ba1"},{"name":"is-page-static","duration":10274176,"timestamp":2082133443177,"id":99,"parentId":53,"tags":{},"startTime":1780890105689,"traceId":"45590b0fcc9d2ba1"},{"name":"check-page","duration":10950537,"timestamp":2082132766926,"id":53,"parentId":19,"tags":{"page":"/logs"},"startTime":1780890105013,"traceId":"45590b0fcc9d2ba1"},{"name":"is-page-static","duration":10852963,"timestamp":2082132870657,"id":70,"parentId":27,"tags":{},"startTime":1780890105117,"traceId":"45590b0fcc9d2ba1"},{"name":"check-page","duration":11002878,"timestamp":2082132720814,"id":27,"parentId":19,"tags":{"page":"/api/auth/v3"},"startTime":1780890104967,"traceId":"45590b0fcc9d2ba1"},{"name":"is-page-static","duration":10363290,"timestamp":2082133443361,"id":103,"parentId":59,"tags":{},"startTime":1780890105690,"traceId":"45590b0fcc9d2ba1"},{"name":"check-page","duration":11001460,"timestamp":2082132805286,"id":59,"parentId":19,"tags":{"page":"/server-logs"},"startTime":1780890105052,"traceId":"45590b0fcc9d2ba1"},{"name":"is-page-static","duration":10439108,"timestamp":2082133443400,"id":105,"parentId":61,"tags":{},"startTime":1780890105690,"traceId":"45590b0fcc9d2ba1"},{"name":"check-page","duration":11076893,"timestamp":2082132805694,"id":61,"parentId":19,"tags":{"page":"/settings/networks"},"startTime":1780890105052,"traceId":"45590b0fcc9d2ba1"},{"name":"is-page-static","duration":10579423,"timestamp":2082133443098,"id":97,"parentId":23,"tags":{},"startTime":1780890105689,"traceId":"45590b0fcc9d2ba1"},{"name":"check-page","duration":11318762,"timestamp":2082132703838,"id":23,"parentId":19,"tags":{"page":"/admin"},"startTime":1780890104950,"traceId":"45590b0fcc9d2ba1"},{"name":"is-page-static","duration":10654915,"timestamp":2082133443441,"id":108,"parentId":65,"tags":{},"startTime":1780890105690,"traceId":"45590b0fcc9d2ba1"},{"name":"check-page","duration":11264201,"timestamp":2082132834236,"id":65,"parentId":19,"tags":{"page":"/tasks"},"startTime":1780890105081,"traceId":"45590b0fcc9d2ba1"},{"name":"is-page-static","duration":10774838,"timestamp":2082133443455,"id":109,"parentId":58,"tags":{},"startTime":1780890105690,"traceId":"45590b0fcc9d2ba1"},{"name":"check-page","duration":11413823,"timestamp":2082132804545,"id":58,"parentId":19,"tags":{"page":"/"},"startTime":1780890105051,"traceId":"45590b0fcc9d2ba1"},{"name":"is-page-static","duration":10775039,"timestamp":2082133443429,"id":107,"parentId":64,"tags":{},"startTime":1780890105690,"traceId":"45590b0fcc9d2ba1"},{"name":"check-page","duration":11384453,"timestamp":2082132834048,"id":64,"parentId":19,"tags":{"page":"/tasks/[id]"},"startTime":1780890105080,"traceId":"45590b0fcc9d2ba1"},{"name":"is-page-static","duration":10582537,"timestamp":2082133720696,"id":110,"parentId":62,"tags":{},"startTime":1780890105967,"traceId":"45590b0fcc9d2ba1"},{"name":"check-page","duration":11497390,"timestamp":2082132805921,"id":62,"parentId":19,"tags":{"page":"/settings"},"startTime":1780890105052,"traceId":"45590b0fcc9d2ba1"},{"name":"is-page-static","duration":11149036,"timestamp":2082133443389,"id":104,"parentId":60,"tags":{},"startTime":1780890105690,"traceId":"45590b0fcc9d2ba1"},{"name":"check-page","duration":11786950,"timestamp":2082132805557,"id":60,"parentId":19,"tags":{"page":"/servers"},"startTime":1780890105052,"traceId":"45590b0fcc9d2ba1"},{"name":"is-page-static","duration":12085863,"timestamp":2082132870424,"id":68,"parentId":25,"tags":{},"startTime":1780890105117,"traceId":"45590b0fcc9d2ba1"},{"name":"check-page","duration":12235855,"timestamp":2082132720516,"id":25,"parentId":19,"tags":{"page":"/api/auth/login"},"startTime":1780890104967,"traceId":"45590b0fcc9d2ba1"},{"name":"is-page-static","duration":11788092,"timestamp":2082133443415,"id":106,"parentId":63,"tags":{},"startTime":1780890105690,"traceId":"45590b0fcc9d2ba1"}]
|
|
2
|
-
[{"name":"check-page","duration":
|
|
1
|
+
[{"name":"generate-buildid","duration":27303,"timestamp":2084711268819,"id":4,"parentId":1,"tags":{},"startTime":1780892683515,"traceId":"aa971554ef1ff07c"},{"name":"load-custom-routes","duration":770,"timestamp":2084711321629,"id":5,"parentId":1,"tags":{},"startTime":1780892683568,"traceId":"aa971554ef1ff07c"},{"name":"create-dist-dir","duration":244994,"timestamp":2084711322621,"id":6,"parentId":1,"tags":{},"startTime":1780892683569,"traceId":"aa971554ef1ff07c"},{"name":"clean","duration":1240090,"timestamp":2084711572451,"id":7,"parentId":1,"tags":{},"startTime":1780892683819,"traceId":"aa971554ef1ff07c"},{"name":"discover-routes","duration":18891,"timestamp":2084712886253,"id":8,"parentId":1,"tags":{},"startTime":1780892685133,"traceId":"aa971554ef1ff07c"},{"name":"create-root-mapping","duration":161,"timestamp":2084712905237,"id":9,"parentId":1,"tags":{},"startTime":1780892685152,"traceId":"aa971554ef1ff07c"},{"name":"generate-route-types","duration":1163657,"timestamp":2084712910154,"id":10,"parentId":1,"tags":{},"startTime":1780892685156,"traceId":"aa971554ef1ff07c"},{"name":"public-dir-conflict-check","duration":219,"timestamp":2084714096584,"id":11,"parentId":1,"tags":{},"startTime":1780892686343,"traceId":"aa971554ef1ff07c"},{"name":"generate-routes-manifest","duration":48607,"timestamp":2084714097063,"id":12,"parentId":1,"tags":{},"startTime":1780892686343,"traceId":"aa971554ef1ff07c"},{"name":"run-turbopack","duration":375837763,"timestamp":2084714475693,"id":14,"parentId":1,"tags":{},"startTime":1780892686722,"traceId":"aa971554ef1ff07c"},{"name":"turbopack-build-events","duration":126,"timestamp":2084722919781,"id":15,"parentId":1,"tags":{},"startTime":1780892695166,"traceId":"aa971554ef1ff07c"},{"name":"run-typescript","duration":310396696,"timestamp":2085091452287,"id":16,"parentId":1,"tags":{},"startTime":1780893063699,"traceId":"aa971554ef1ff07c"},{"name":"generate-required-server-files","duration":72227,"timestamp":2085401871626,"id":18,"parentId":1,"tags":{},"startTime":1780893374118,"traceId":"aa971554ef1ff07c"},{"name":"check-static-error-page","duration":390134,"timestamp":2085408166168,"id":20,"parentId":19,"tags":{},"startTime":1780893380412,"traceId":"aa971554ef1ff07c"},{"name":"is-page-static","duration":14030315,"timestamp":2085408723339,"id":67,"parentId":22,"tags":{},"startTime":1780893380970,"traceId":"aa971554ef1ff07c"},{"name":"check-page","duration":14542099,"timestamp":2085408211728,"id":22,"parentId":19,"tags":{"page":"/_global-error"},"startTime":1780893380458,"traceId":"aa971554ef1ff07c"},{"name":"is-page-static","duration":17225755,"timestamp":2085408723493,"id":68,"parentId":25,"tags":{},"startTime":1780893380970,"traceId":"aa971554ef1ff07c"},{"name":"check-page","duration":17651560,"timestamp":2085408297785,"id":25,"parentId":19,"tags":{"page":"/api/auth/login"},"startTime":1780893380544,"traceId":"aa971554ef1ff07c"},{"name":"is-page-static","duration":17579548,"timestamp":2085408867535,"id":74,"parentId":32,"tags":{},"startTime":1780893381114,"traceId":"aa971554ef1ff07c"},{"name":"check-page","duration":18148120,"timestamp":2085408299051,"id":32,"parentId":19,"tags":{"page":"/api/hub/health"},"startTime":1780893380545,"traceId":"aa971554ef1ff07c"},{"name":"is-page-static","duration":18135099,"timestamp":2085408867379,"id":73,"parentId":30,"tags":{},"startTime":1780893381114,"traceId":"aa971554ef1ff07c"},{"name":"check-page","duration":18703977,"timestamp":2085408298595,"id":30,"parentId":19,"tags":{"page":"/api/hub/broadcast"},"startTime":1780893380545,"traceId":"aa971554ef1ff07c"},{"name":"is-page-static","duration":18203981,"timestamp":2085408867801,"id":75,"parentId":33,"tags":{},"startTime":1780893381114,"traceId":"aa971554ef1ff07c"},{"name":"check-page","duration":18772682,"timestamp":2085408299207,"id":33,"parentId":19,"tags":{"page":"/api/hub/inbox"},"startTime":1780893380545,"traceId":"aa971554ef1ff07c"},{"name":"is-page-static","duration":18418394,"timestamp":2085408867899,"id":76,"parentId":34,"tags":{},"startTime":1780893381114,"traceId":"aa971554ef1ff07c"},{"name":"check-page","duration":18987055,"timestamp":2085408299334,"id":34,"parentId":19,"tags":{"page":"/api/hub/messages"},"startTime":1780893380546,"traceId":"aa971554ef1ff07c"},{"name":"is-page-static","duration":18521909,"timestamp":2085408867971,"id":78,"parentId":36,"tags":{},"startTime":1780893381114,"traceId":"aa971554ef1ff07c"},{"name":"check-page","duration":19017857,"timestamp":2085408372125,"id":36,"parentId":19,"tags":{"page":"/api/hub/nodes"},"startTime":1780893380618,"traceId":"aa971554ef1ff07c"},{"name":"is-page-static","duration":18522259,"timestamp":2085408867944,"id":77,"parentId":35,"tags":{},"startTime":1780893381114,"traceId":"aa971554ef1ff07c"},{"name":"check-page","duration":19090782,"timestamp":2085408299458,"id":35,"parentId":19,"tags":{"page":"/api/hub/networks"},"startTime":1780893380546,"traceId":"aa971554ef1ff07c"},{"name":"is-page-static","duration":18651109,"timestamp":2085408868024,"id":79,"parentId":37,"tags":{},"startTime":1780893381114,"traceId":"aa971554ef1ff07c"},{"name":"check-page","duration":19146731,"timestamp":2085408372494,"id":37,"parentId":19,"tags":{"page":"/api/hub/register"},"startTime":1780893380619,"traceId":"aa971554ef1ff07c"},{"name":"is-page-static","duration":18768683,"timestamp":2085408868051,"id":81,"parentId":39,"tags":{},"startTime":1780893381114,"traceId":"aa971554ef1ff07c"},{"name":"check-page","duration":19264069,"timestamp":2085408372748,"id":39,"parentId":19,"tags":{"page":"/api/hub/server-logs"},"startTime":1780893380619,"traceId":"aa971554ef1ff07c"},{"name":"is-page-static","duration":18801804,"timestamp":2085408868042,"id":80,"parentId":38,"tags":{},"startTime":1780893381114,"traceId":"aa971554ef1ff07c"},{"name":"check-page","duration":19297312,"timestamp":2085408372635,"id":38,"parentId":19,"tags":{"page":"/api/hub/send"},"startTime":1780893380619,"traceId":"aa971554ef1ff07c"},{"name":"is-page-static","duration":19011820,"timestamp":2085408868075,"id":83,"parentId":43,"tags":{},"startTime":1780893381114,"traceId":"aa971554ef1ff07c"},{"name":"check-page","duration":19498888,"timestamp":2085408381135,"id":43,"parentId":19,"tags":{"page":"/api/hub/session"},"startTime":1780893380627,"traceId":"aa971554ef1ff07c"},{"name":"is-page-static","duration":19076727,"timestamp":2085408868083,"id":84,"parentId":44,"tags":{},"startTime":1780893381114,"traceId":"aa971554ef1ff07c"},{"name":"check-page","duration":19563603,"timestamp":2085408381297,"id":44,"parentId":19,"tags":{"page":"/api/hub/stats"},"startTime":1780893380628,"traceId":"aa971554ef1ff07c"},{"name":"is-page-static","duration":19148845,"timestamp":2085408868095,"id":85,"parentId":45,"tags":{},"startTime":1780893381114,"traceId":"aa971554ef1ff07c"},{"name":"check-page","duration":19635616,"timestamp":2085408381422,"id":45,"parentId":19,"tags":{"page":"/api/hub/status"},"startTime":1780893380628,"traceId":"aa971554ef1ff07c"},{"name":"is-page-static","duration":19199488,"timestamp":2085408868063,"id":82,"parentId":41,"tags":{},"startTime":1780893381114,"traceId":"aa971554ef1ff07c"},{"name":"check-page","duration":19687135,"timestamp":2085408380509,"id":41,"parentId":19,"tags":{"page":"/api/hub/server/[hostname]/health"},"startTime":1780893380627,"traceId":"aa971554ef1ff07c"},{"name":"is-page-static","duration":19294317,"timestamp":2085408868106,"id":86,"parentId":46,"tags":{},"startTime":1780893381114,"traceId":"aa971554ef1ff07c"},{"name":"check-page","duration":19780957,"timestamp":2085408381550,"id":46,"parentId":19,"tags":{"page":"/api/hub/task-events"},"startTime":1780893380628,"traceId":"aa971554ef1ff07c"},{"name":"is-page-static","duration":19562764,"timestamp":2085408722809,"id":66,"parentId":21,"tags":{},"startTime":1780893380969,"traceId":"aa971554ef1ff07c"},{"name":"check-page","duration":20075582,"timestamp":2085408210096,"id":21,"parentId":19,"tags":{"page":"/_not-found"},"startTime":1780893380456,"traceId":"aa971554ef1ff07c"},{"name":"is-page-static","duration":19417767,"timestamp":2085408868118,"id":87,"parentId":47,"tags":{},"startTime":1780893381114,"traceId":"aa971554ef1ff07c"},{"name":"check-page","duration":19904248,"timestamp":2085408381689,"id":47,"parentId":19,"tags":{"page":"/api/hub/tasks"},"startTime":1780893380628,"traceId":"aa971554ef1ff07c"},{"name":"is-page-static","duration":19648018,"timestamp":2085408868126,"id":88,"parentId":48,"tags":{},"startTime":1780893381114,"traceId":"aa971554ef1ff07c"},{"name":"check-page","duration":20134407,"timestamp":2085408381832,"id":48,"parentId":19,"tags":{"page":"/api/hub/tmux"},"startTime":1780893380628,"traceId":"aa971554ef1ff07c"},{"name":"is-page-static","duration":19648371,"timestamp":2085408868150,"id":90,"parentId":50,"tags":{},"startTime":1780893381114,"traceId":"aa971554ef1ff07c"},{"name":"check-page","duration":20086325,"timestamp":2085408430240,"id":50,"parentId":19,"tags":{"page":"/api/hub/upload"},"startTime":1780893380677,"traceId":"aa971554ef1ff07c"},{"name":"is-page-static","duration":19834068,"timestamp":2085408723614,"id":69,"parentId":26,"tags":{},"startTime":1780893380970,"traceId":"aa971554ef1ff07c"},{"name":"check-page","duration":20259733,"timestamp":2085408298055,"id":26,"parentId":19,"tags":{"page":"/api/auth/logout"},"startTime":1780893380544,"traceId":"aa971554ef1ff07c"},{"name":"is-page-static","duration":19699365,"timestamp":2085408868158,"id":91,"parentId":51,"tags":{},"startTime":1780893381114,"traceId":"aa971554ef1ff07c"},{"name":"check-page","duration":20137130,"timestamp":2085408430475,"id":51,"parentId":19,"tags":{"page":"/favicon.ico"},"startTime":1780893380677,"traceId":"aa971554ef1ff07c"},{"name":"is-page-static","duration":19896372,"timestamp":2085408958495,"id":94,"parentId":31,"tags":{},"startTime":1780893381205,"traceId":"aa971554ef1ff07c"},{"name":"check-page","duration":20556261,"timestamp":2085408298711,"id":31,"parentId":19,"tags":{"page":"/api/hub/events"},"startTime":1780893380545,"traceId":"aa971554ef1ff07c"},{"name":"is-page-static","duration":20277357,"timestamp":2085408723732,"id":70,"parentId":27,"tags":{},"startTime":1780893380970,"traceId":"aa971554ef1ff07c"},{"name":"check-page","duration":20702984,"timestamp":2085408298194,"id":27,"parentId":19,"tags":{"page":"/api/auth/v3"},"startTime":1780893380544,"traceId":"aa971554ef1ff07c"},{"name":"is-page-static","duration":20326693,"timestamp":2085408745133,"id":72,"parentId":29,"tags":{},"startTime":1780893380991,"traceId":"aa971554ef1ff07c"},{"name":"check-page","duration":20773471,"timestamp":2085408298440,"id":29,"parentId":19,"tags":{"page":"/api/hub/auth"},"startTime":1780893380545,"traceId":"aa971554ef1ff07c"},{"name":"is-page-static","duration":20316217,"timestamp":2085408957269,"id":93,"parentId":24,"tags":{},"startTime":1780893381204,"traceId":"aa971554ef1ff07c"},{"name":"check-page","duration":20990299,"timestamp":2085408283280,"id":24,"parentId":19,"tags":{"page":"/api/anet/config"},"startTime":1780893380530,"traceId":"aa971554ef1ff07c"},{"name":"is-page-static","duration":20549964,"timestamp":2085408723860,"id":71,"parentId":28,"tags":{},"startTime":1780893380970,"traceId":"aa971554ef1ff07c"},{"name":"check-page","duration":20975536,"timestamp":2085408298328,"id":28,"parentId":19,"tags":{"page":"/api/hub/audit-log"},"startTime":1780893380545,"traceId":"aa971554ef1ff07c"},{"name":"is-page-static","duration":20912549,"timestamp":2085408868173,"id":92,"parentId":54,"tags":{},"startTime":1780893381114,"traceId":"aa971554ef1ff07c"},{"name":"check-page","duration":21317266,"timestamp":2085408463544,"id":54,"parentId":19,"tags":{"page":"/manifest.webmanifest"},"startTime":1780893380710,"traceId":"aa971554ef1ff07c"},{"name":"is-page-static","duration":20990276,"timestamp":2085408970242,"id":95,"parentId":40,"tags":{},"startTime":1780893381217,"traceId":"aa971554ef1ff07c"},{"name":"check-page","duration":21587762,"timestamp":2085408372842,"id":40,"parentId":19,"tags":{"page":"/api/hub/server/[hostname]/agents"},"startTime":1780893380619,"traceId":"aa971554ef1ff07c"},{"name":"is-page-static","duration":21452967,"timestamp":2085408971338,"id":96,"parentId":42,"tags":{},"startTime":1780893381218,"traceId":"aa971554ef1ff07c"},{"name":"check-page","duration":22043690,"timestamp":2085408380736,"id":42,"parentId":19,"tags":{"page":"/api/hub/servers"},"startTime":1780893380627,"traceId":"aa971554ef1ff07c"},{"name":"is-page-static","duration":21809340,"timestamp":2085408868138,"id":89,"parentId":49,"tags":{},"startTime":1780893381114,"traceId":"aa971554ef1ff07c"},{"name":"check-page","duration":22295611,"timestamp":2085408381960,"id":49,"parentId":19,"tags":{"page":"/api/hub/tokens"},"startTime":1780893380628,"traceId":"aa971554ef1ff07c"},{"name":"is-page-static","duration":21038840,"timestamp":2085409868737,"id":98,"parentId":52,"tags":{},"startTime":1780893382115,"traceId":"aa971554ef1ff07c"},{"name":"check-page","duration":22476690,"timestamp":2085408430970,"id":52,"parentId":19,"tags":{"page":"/login"},"startTime":1780893380677,"traceId":"aa971554ef1ff07c"},{"name":"is-page-static","duration":21219558,"timestamp":2085409868814,"id":103,"parentId":59,"tags":{},"startTime":1780893382115,"traceId":"aa971554ef1ff07c"},{"name":"check-page","duration":22618198,"timestamp":2085408470282,"id":59,"parentId":19,"tags":{"page":"/server-logs"},"startTime":1780893380717,"traceId":"aa971554ef1ff07c"},{"name":"is-page-static","duration":21251507,"timestamp":2085409868850,"id":104,"parentId":60,"tags":{},"startTime":1780893382115,"traceId":"aa971554ef1ff07c"},{"name":"check-page","duration":22613779,"timestamp":2085408506664,"id":60,"parentId":19,"tags":{"page":"/servers"},"startTime":1780893380753,"traceId":"aa971554ef1ff07c"},{"name":"is-page-static","duration":21693206,"timestamp":2085409868874,"id":106,"parentId":63,"tags":{},"startTime":1780893382115,"traceId":"aa971554ef1ff07c"},{"name":"check-page","duration":23053044,"timestamp":2085408524092,"id":63,"parentId":19,"tags":{"page":"/settings/tokens"},"startTime":1780893380770,"traceId":"aa971554ef1ff07c"},{"name":"is-page-static","duration":21724276,"timestamp":2085409868863,"id":105,"parentId":61,"tags":{},"startTime":1780893382115,"traceId":"aa971554ef1ff07c"},{"name":"check-page","duration":23086268,"timestamp":2085408506961,"id":61,"parentId":19,"tags":{"page":"/settings/networks"},"startTime":1780893380753,"traceId":"aa971554ef1ff07c"},{"name":"is-page-static","duration":21976482,"timestamp":2085409868772,"id":100,"parentId":55,"tags":{},"startTime":1780893382115,"traceId":"aa971554ef1ff07c"},{"name":"check-page","duration":23381648,"timestamp":2085408463685,"id":55,"parentId":19,"tags":{"page":"/messages"},"startTime":1780893380710,"traceId":"aa971554ef1ff07c"},{"name":"is-page-static","duration":22132308,"timestamp":2085409868896,"id":108,"parentId":65,"tags":{},"startTime":1780893382115,"traceId":"aa971554ef1ff07c"},{"name":"check-page","duration":23445429,"timestamp":2085408555858,"id":65,"parentId":19,"tags":{"page":"/tasks"},"startTime":1780893380802,"traceId":"aa971554ef1ff07c"},{"name":"is-page-static","duration":22228609,"timestamp":2085409868908,"id":109,"parentId":58,"tags":{},"startTime":1780893382115,"traceId":"aa971554ef1ff07c"},{"name":"check-page","duration":23628044,"timestamp":2085408469554,"id":58,"parentId":19,"tags":{"page":"/"},"startTime":1780893380716,"traceId":"aa971554ef1ff07c"},{"name":"is-page-static","duration":22347741,"timestamp":2085409868886,"id":107,"parentId":64,"tags":{},"startTime":1780893382115,"traceId":"aa971554ef1ff07c"},{"name":"check-page","duration":23661162,"timestamp":2085408555537,"id":64,"parentId":19,"tags":{"page":"/tasks/[id]"},"startTime":1780893380802,"traceId":"aa971554ef1ff07c"},{"name":"is-page-static","duration":22451644,"timestamp":2085409868656,"id":97,"parentId":23,"tags":{},"startTime":1780893382115,"traceId":"aa971554ef1ff07c"},{"name":"check-page","duration":24037506,"timestamp":2085408282882,"id":23,"parentId":19,"tags":{"page":"/admin"},"startTime":1780893380529,"traceId":"aa971554ef1ff07c"},{"name":"is-page-static","duration":22506810,"timestamp":2085409868759,"id":99,"parentId":53,"tags":{},"startTime":1780893382115,"traceId":"aa971554ef1ff07c"},{"name":"check-page","duration":23912394,"timestamp":2085408463254,"id":53,"parentId":19,"tags":{"page":"/logs"},"startTime":1780893380710,"traceId":"aa971554ef1ff07c"},{"name":"is-page-static","duration":22536757,"timestamp":2085409868920,"id":110,"parentId":62,"tags":{},"startTime":1780893382115,"traceId":"aa971554ef1ff07c"},{"name":"check-page","duration":23882359,"timestamp":2085408523400,"id":62,"parentId":19,"tags":{"page":"/settings"},"startTime":1780893380770,"traceId":"aa971554ef1ff07c"},{"name":"is-page-static","duration":22611717,"timestamp":2085409868784,"id":101,"parentId":56,"tags":{},"startTime":1780893382115,"traceId":"aa971554ef1ff07c"}]
|
|
2
|
+
[{"name":"check-page","duration":24012022,"timestamp":2085408468880,"id":56,"parentId":19,"tags":{"page":"/node"},"startTime":1780893380715,"traceId":"aa971554ef1ff07c"},{"name":"is-page-static","duration":22804722,"timestamp":2085409868795,"id":102,"parentId":57,"tags":{},"startTime":1780893382115,"traceId":"aa971554ef1ff07c"},{"name":"check-page","duration":24204390,"timestamp":2085408469231,"id":57,"parentId":19,"tags":{"page":"/nodes"},"startTime":1780893380716,"traceId":"aa971554ef1ff07c"},{"name":"static-check","duration":24508762,"timestamp":2085408164910,"id":19,"parentId":1,"tags":{},"startTime":1780893380411,"traceId":"aa971554ef1ff07c"},{"name":"write-routes-manifest","duration":25266,"timestamp":2085432879018,"id":112,"parentId":1,"tags":{},"startTime":1780893405125,"traceId":"aa971554ef1ff07c"},{"name":"load-dotenv","duration":73,"timestamp":2085433391557,"id":115,"parentId":114,"tags":{},"startTime":1780893405638,"traceId":"aa971554ef1ff07c"},{"name":"run-export-path-map","duration":28720,"timestamp":2085433502719,"id":116,"parentId":114,"tags":{},"startTime":1780893405766,"traceId":"aa971554ef1ff07c"},{"name":"next-export","duration":18875682,"timestamp":2085433389460,"id":114,"parentId":1,"tags":{},"startTime":1780893405636,"traceId":"aa971554ef1ff07c"},{"name":"move-exported-app-not-found-","duration":38692,"timestamp":2085452340066,"id":117,"parentId":113,"tags":{},"startTime":1780893424586,"traceId":"aa971554ef1ff07c"},{"name":"move-exported-app-global-error-","duration":90972,"timestamp":2085452379045,"id":118,"parentId":113,"tags":{},"startTime":1780893424625,"traceId":"aa971554ef1ff07c"},{"name":"static-generation","duration":19388995,"timestamp":2085433130306,"id":113,"parentId":1,"tags":{},"startTime":1780893405377,"traceId":"aa971554ef1ff07c"},{"name":"write-routes-manifest","duration":54419,"timestamp":2085452519794,"id":119,"parentId":1,"tags":{},"startTime":1780893424766,"traceId":"aa971554ef1ff07c"},{"name":"print-tree-view","duration":160125,"timestamp":2085453110971,"id":120,"parentId":1,"tags":{},"startTime":1780893425357,"traceId":"aa971554ef1ff07c"},{"name":"write-route-bundle-stats","duration":335126,"timestamp":2085453271172,"id":121,"parentId":1,"tags":{},"startTime":1780893425517,"traceId":"aa971554ef1ff07c"},{"name":"telemetry-flush","duration":154,"timestamp":2085453606356,"id":122,"parentId":1,"tags":{},"startTime":1780893425853,"traceId":"aa971554ef1ff07c"},{"name":"next-build","duration":743212400,"timestamp":2084710394142,"id":1,"tags":{"buildMode":"default","version":"16.2.3","bundler":"turbopack","has-custom-webpack-config":"false","use-build-worker":"true"},"startTime":1780892682640,"traceId":"aa971554ef1ff07c"}]
|
package/.next/trace-build
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
[{"name":"run-turbopack","duration":
|
|
1
|
+
[{"name":"run-turbopack","duration":375837763,"timestamp":2084714475693,"id":14,"parentId":1,"tags":{},"startTime":1780892686722,"traceId":"aa971554ef1ff07c"},{"name":"turbopack-build-events","duration":126,"timestamp":2084722919781,"id":15,"parentId":1,"tags":{},"startTime":1780892695166,"traceId":"aa971554ef1ff07c"},{"name":"run-typescript","duration":310396696,"timestamp":2085091452287,"id":16,"parentId":1,"tags":{},"startTime":1780893063699,"traceId":"aa971554ef1ff07c"},{"name":"static-check","duration":24508762,"timestamp":2085408164910,"id":19,"parentId":1,"tags":{},"startTime":1780893380411,"traceId":"aa971554ef1ff07c"},{"name":"static-generation","duration":19388995,"timestamp":2085433130306,"id":113,"parentId":1,"tags":{},"startTime":1780893405377,"traceId":"aa971554ef1ff07c"},{"name":"telemetry-flush","duration":154,"timestamp":2085453606356,"id":122,"parentId":1,"tags":{},"startTime":1780893425853,"traceId":"aa971554ef1ff07c"},{"name":"next-build","duration":743212400,"timestamp":2084710394142,"id":1,"tags":{"buildMode":"default","version":"16.2.3","bundler":"turbopack","has-custom-webpack-config":"false","use-build-worker":"true"},"startTime":1780892682640,"traceId":"aa971554ef1ff07c"}]
|
package/app/admin/page.tsx
CHANGED
|
@@ -82,7 +82,11 @@ export default function AdminPage() {
|
|
|
82
82
|
read as inert labels rather than tappable jumps. Wrapping each in a
|
|
83
83
|
visible bordered chip restores the affordance and lifts tap height
|
|
84
84
|
to ~44px without changing the desktop hierarchy. */}
|
|
85
|
-
|
|
85
|
+
{/* #209 R31 (mobile vertical rhythm — same pattern as R28/R30):
|
|
86
|
+
chip-jump nav was mb-8 (32 px) — biggest single gap on /admin
|
|
87
|
+
above the fold. Drop to mb-4 sm:mb-8 — phones get 16 px, sm:
|
|
88
|
+
up keeps the original breathing room. */}
|
|
89
|
+
<nav className="mb-4 sm:mb-8 flex flex-wrap gap-2 text-xs">
|
|
86
90
|
{[
|
|
87
91
|
{ href: '#status', label: 'Status' },
|
|
88
92
|
{ href: '#actions', label: 'Actions' },
|
package/app/messages/page.tsx
CHANGED
|
@@ -105,7 +105,10 @@ export default function MessagesPage() {
|
|
|
105
105
|
|
|
106
106
|
return (
|
|
107
107
|
<div className="min-h-screen bg-[#0a0a1a] text-gray-100 p-4 sm:p-6 font-mono">
|
|
108
|
-
|
|
108
|
+
{/* #209 R31 (mobile vertical rhythm — same pattern as R28/R30):
|
|
109
|
+
header row + quick-from chips row both mb-6 → mb-4 sm:mb-6.
|
|
110
|
+
~16 px scroll reclaim on /messages above the first thread. */}
|
|
111
|
+
<div className="flex items-center gap-4 mb-4 sm:mb-6">
|
|
109
112
|
<h1 className="text-2xl font-bold text-white lg:ml-0 ml-10">Messages</h1>
|
|
110
113
|
{/* Round 89: filter-aware chip. When search/type filter is active
|
|
111
114
|
the visible rows are filtered.length; the total loaded is
|
|
@@ -181,7 +184,7 @@ export default function MessagesPage() {
|
|
|
181
184
|
)}
|
|
182
185
|
|
|
183
186
|
{quickFromChips.length > 0 && (
|
|
184
|
-
<div className="mb-6 flex flex-wrap gap-2">
|
|
187
|
+
<div className="mb-4 sm:mb-6 flex flex-wrap gap-2">
|
|
185
188
|
{quickFromChips.map(alias => (
|
|
186
189
|
<button
|
|
187
190
|
key={alias}
|
package/app/nodes/page.tsx
CHANGED
|
@@ -34,6 +34,15 @@ export default function NodesPage() {
|
|
|
34
34
|
const [search, setSearch] = useState('');
|
|
35
35
|
const [viewMode, setViewMode] = useState<ViewMode>('list');
|
|
36
36
|
const [chatAlias, setChatAlias] = useState<string | null>(null);
|
|
37
|
+
// #209 R32 (Vincent msg 563 WeChat direction "搜索框学习微信放到右上角一个
|
|
38
|
+
// 小圆圈"): the search input no longer lives inline in the filter row.
|
|
39
|
+
// Instead a magnifier icon button sits in the top-right of the page
|
|
40
|
+
// header (mirroring WeChat's chat-list header). Tapping it slides
|
|
41
|
+
// a search field open below the header; tapping again (or clearing
|
|
42
|
+
// and confirming) tucks it away. Default state: closed. Search value
|
|
43
|
+
// is preserved across open/close so the filter applies even when the
|
|
44
|
+
// input is hidden — only the input chrome collapses, not the filter.
|
|
45
|
+
const [searchOpen, setSearchOpen] = useState(false);
|
|
37
46
|
|
|
38
47
|
const filtered: SessionRow[] = sessions
|
|
39
48
|
.map(s => ({ ...s, online: !!sseFor(s) }))
|
|
@@ -50,16 +59,79 @@ export default function NodesPage() {
|
|
|
50
59
|
|
|
51
60
|
return (
|
|
52
61
|
<div className="min-h-screen max-w-full overflow-x-hidden bg-[#0a0a1a] text-gray-100 p-4 sm:p-6 font-mono">
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
62
|
+
{/* #209 R31 (mobile vertical rhythm — goal "大幅提升移动端体验",
|
|
63
|
+
extending R28's Overview pattern + R30's /tasks pattern):
|
|
64
|
+
this header row + the status-bar wrapper + the filter row
|
|
65
|
+
below all drop mb-6 → mb-4 sm:mb-6. Three spots × 8 px =
|
|
66
|
+
~24 px scroll reclaim on /nodes before the first card.
|
|
67
|
+
#209 R32: search affordance moved to top-right magnifier
|
|
68
|
+
button (Vincent WeChat ref msg 563). justify-between makes
|
|
69
|
+
the title cluster hug left, button hugs right. */}
|
|
70
|
+
<div className="flex items-center gap-4 mb-4 sm:mb-6">
|
|
71
|
+
<div className="flex items-center gap-3 min-w-0 flex-1">
|
|
72
|
+
<h1 className="text-2xl font-bold text-white lg:ml-0 ml-10">Nodes</h1>
|
|
73
|
+
<span className="text-xs bg-green-900/30 text-green-400 px-2 py-0.5 rounded-full border border-green-800/30 shrink-0">
|
|
74
|
+
{onlineCount} online
|
|
75
|
+
</span>
|
|
76
|
+
<span className="text-xs bg-gray-900/30 text-gray-400 px-2 py-0.5 rounded-full border border-gray-800/30 shrink-0">
|
|
77
|
+
{sessions.length} total
|
|
78
|
+
</span>
|
|
79
|
+
</div>
|
|
80
|
+
{sessions.length > 0 && (
|
|
81
|
+
<button
|
|
82
|
+
type="button"
|
|
83
|
+
onClick={() => setSearchOpen(v => !v)}
|
|
84
|
+
aria-label={searchOpen ? 'Close search' : 'Open search'}
|
|
85
|
+
aria-pressed={searchOpen}
|
|
86
|
+
title={searchOpen ? 'Close search' : 'Search nodes'}
|
|
87
|
+
className={`relative shrink-0 inline-flex items-center justify-center rounded-full border w-9 h-9 transition-colors ${
|
|
88
|
+
searchOpen || search
|
|
89
|
+
? 'border-cyan-500/40 bg-cyan-500/10 text-cyan-300'
|
|
90
|
+
: 'border-[#2a2a4a] bg-[#111128] text-gray-400 hover:text-gray-200 hover:border-[#3a3a5a]'
|
|
91
|
+
}`}
|
|
92
|
+
>
|
|
93
|
+
{/* magnifier icon — matches the one used in CommandPalette &
|
|
94
|
+
Sidebar quick-search for visual consistency */}
|
|
95
|
+
<svg className="w-4 h-4" fill="none" viewBox="0 0 24 24" stroke="currentColor" strokeWidth={2}>
|
|
96
|
+
<path strokeLinecap="round" strokeLinejoin="round" d="M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z" />
|
|
97
|
+
</svg>
|
|
98
|
+
{/* if a search term is active but the box is closed, a tiny
|
|
99
|
+
cyan dot shows there is an active filter — same idea as
|
|
100
|
+
the WeChat red-dot unread marker. */}
|
|
101
|
+
{search && !searchOpen && (
|
|
102
|
+
<span aria-hidden className="absolute -top-0.5 -right-0.5 w-2 h-2 rounded-full bg-cyan-400 ring-2 ring-[#0a0a1a]" />
|
|
103
|
+
)}
|
|
104
|
+
</button>
|
|
105
|
+
)}
|
|
61
106
|
</div>
|
|
62
107
|
|
|
108
|
+
{/* R32 collapsible search row — only renders when the magnifier
|
|
109
|
+
is toggled open OR a search term is active (so the user can
|
|
110
|
+
see + clear it). Closes on Escape. */}
|
|
111
|
+
{sessions.length > 0 && (searchOpen || search) && (
|
|
112
|
+
<div className="mb-3 sm:mb-4 flex items-center gap-2">
|
|
113
|
+
<input
|
|
114
|
+
type="text"
|
|
115
|
+
value={search}
|
|
116
|
+
onChange={e => setSearch(e.target.value)}
|
|
117
|
+
onKeyDown={e => { if (e.key === 'Escape') { setSearch(''); setSearchOpen(false); } }}
|
|
118
|
+
placeholder="Search nodes…"
|
|
119
|
+
autoFocus={searchOpen}
|
|
120
|
+
className="flex-1 bg-[#111128] border border-[#2a2a4a] rounded-lg px-3 py-2 text-base sm:text-sm text-white placeholder-gray-600 focus:border-cyan-500/40 focus:outline-none"
|
|
121
|
+
/>
|
|
122
|
+
{(search || searchOpen) && (
|
|
123
|
+
<button
|
|
124
|
+
type="button"
|
|
125
|
+
onClick={() => { setSearch(''); setSearchOpen(false); }}
|
|
126
|
+
className="shrink-0 text-xs text-gray-500 hover:text-gray-300 px-2 py-2"
|
|
127
|
+
aria-label="Clear and close search"
|
|
128
|
+
>
|
|
129
|
+
Cancel
|
|
130
|
+
</button>
|
|
131
|
+
)}
|
|
132
|
+
</div>
|
|
133
|
+
)}
|
|
134
|
+
|
|
63
135
|
{/* Status bar */}
|
|
64
136
|
{sessions.length > 0 && (() => {
|
|
65
137
|
const working = filtered.filter(s => s.online && s.status === 'working').length;
|
|
@@ -67,7 +139,7 @@ export default function NodesPage() {
|
|
|
67
139
|
const offline = filtered.filter(s => !s.online).length;
|
|
68
140
|
const total = filtered.length || 1;
|
|
69
141
|
return (
|
|
70
|
-
<div className="mb-6">
|
|
142
|
+
<div className="mb-4 sm:mb-6">
|
|
71
143
|
<div className="flex h-2 rounded-full overflow-hidden bg-gray-800">
|
|
72
144
|
{working > 0 && <div className="bg-green-500" style={{ width: `${(working/total)*100}%` }} />}
|
|
73
145
|
{idle > 0 && <div className="bg-cyan-500" style={{ width: `${(idle/total)*100}%` }} />}
|
|
@@ -88,14 +160,10 @@ export default function NodesPage() {
|
|
|
88
160
|
exists, the chrome is back even if the current filter happens
|
|
89
161
|
to hide everything (so users can clear filters). */}
|
|
90
162
|
{sessions.length > 0 && (
|
|
91
|
-
<div className="flex flex-wrap gap-3 mb-6">
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
onChange={e => setSearch(e.target.value)}
|
|
96
|
-
placeholder="Search nodes..."
|
|
97
|
-
className="bg-[#111128] border border-[#2a2a4a] rounded-lg px-3 py-2 text-base sm:text-sm text-white placeholder-gray-600 focus:border-blue-500/50 focus:outline-none w-full sm:w-48"
|
|
98
|
-
/>
|
|
163
|
+
<div className="flex flex-wrap gap-3 mb-4 sm:mb-6">
|
|
164
|
+
{/* R32: the inline search input was moved to the top-right
|
|
165
|
+
magnifier toggle above. The status select + List/Grid
|
|
166
|
+
toggle stay here. */}
|
|
99
167
|
<select
|
|
100
168
|
value={filterStatus}
|
|
101
169
|
onChange={e => setFilterStatus(e.target.value)}
|
package/package.json
CHANGED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,59276,e=>{"use strict";var t=e.i(12629),a=e.i(11449);let s=async e=>{let t=await fetch(e);if(401===t.status)throw window.location.assign("/login"),Error("unauthorized");return t.json()},r={refreshInterval:5e3,dedupingInterval:3e3};function l(e,t){if(!t)return e;let a=e.includes("?")?"&":"?";return`${e}${a}network_id=${encodeURIComponent(t)}`}e.s(["useAnetConfig",0,function(){let{data:e}=(0,t.default)("/api/anet/config",s,{refreshInterval:3e4});return{config:e||null}},"useHealth",0,function(){let{data:e,error:a}=(0,t.default)("/api/hub/health",s,r);return{health:e||null,error:a}},"useMessages",0,function(e=100){let{networkId:n}=(0,a.useNetworkId)(),{data:i,error:d,isLoading:o}=(0,t.default)(l(`/api/hub/messages?limit=${e}`,n),s,r);return{messages:i?.messages||[],error:d,isLoading:o}},"useSessions",0,function(){let{networkId:e}=(0,a.useNetworkId)(),{data:n,error:i,isLoading:d}=(0,t.default)(l("/api/hub/status",e),s,r);return{sessions:n?.sessions||[],hint:n?._hint,error:i,isLoading:d}},"useStats",0,function(){let{networkId:e}=(0,a.useNetworkId)(),{data:n,error:i}=(0,t.default)(l("/api/hub/stats",e),s,r);return{stats:n?.ok?n:null,error:i}},"useTasks",0,function(e){let{networkId:n}=(0,a.useNetworkId)(),i=new URLSearchParams({limit:"100",...e}).toString(),{data:d,error:o,isLoading:c}=(0,t.default)(l(`/api/hub/tasks?${i}`,n),s,r);return{tasks:d?.tasks||[],count:d?.count??0,source:d?.source,error:o,isLoading:c}}])},3479,59746,e=>{"use strict";function t(e){if(!e)return null;let t=Date.parse(e.includes("T")?e:e.replace(" ","T")+"Z");return Number.isFinite(t)?t:null}function a(e){let a=t(e);if(null===a)return null;let s=Math.floor((Date.now()-a)/1e3);return s<0?"just now":s<60?`${s}s ago`:s<3600?`${Math.floor(s/60)}m ago`:s<86400?`${Math.floor(s/3600)}h ago`:`${Math.floor(s/86400)}d ago`}e.s(["parseHubTime",0,t,"relativeAgo",0,a],59746),e.s(["formatUptime",0,function(e){let t=Math.floor(e/3600),a=Math.floor(e%3600/60);return t>0?`${t}h ${a}m`:`${a}m`},"previewContent",0,function(e){return e&&e.replace(/!\[([^\]]*)\]\([^)]*\)/g,"$1").replace(/\[([^\]]+)\]\([^)]*\)/g,"$1").replace(/`([^`]+)`/g,"$1").replace(/\s+/g," ").trim()||"--"},"timeAgo",0,function(e){return a(e)??"--"}],3479)},46228,e=>{"use strict";var t=e.i(22381);let a=[180,200,220,270,300,330,30,90];function s(e){let t=0;for(let a=0;a<e.length;a++)t=31*t+e.charCodeAt(a)>>>0;let s=a[t%a.length];return{bg:`hsl(${s} 55% 22%)`,ring:`hsl(${s} 60% 45%)`,text:`hsl(${s} 80% 78%)`}}function r(e){return e?(e.trim().match(/[\p{L}\p{N}]/u)?.[0]||e.trim()[0]||"·").toUpperCase():"·"}e.s(["AliasAvatar",0,function({alias:e,size:a=28,className:l=""}){if(/\bgrok\b|grok-build|grok测试员|grok-demo/i.test(e))return(0,t.jsx)("span",{className:`anet-alias-avatar inline-flex items-center justify-center rounded-full border border-emerald-500/45 bg-emerald-950/70 shrink-0 ${l}`,style:{width:a,height:a,backgroundImage:"url(/vendors/grok.svg)",backgroundPosition:"center",backgroundRepeat:"no-repeat",backgroundSize:"68% 68%"},title:e,"aria-hidden":!0});let n=s(e),i=Math.max(9,Math.round(.42*a));return(0,t.jsx)("span",{className:`anet-alias-avatar inline-flex items-center justify-center rounded-full border shrink-0 font-semibold ${l}`,style:{width:a,height:a,fontSize:i,backgroundColor:n.bg,borderColor:n.ring,color:n.text},title:e,"aria-hidden":!0,children:r(e)})},"aliasAvatarColors",0,s,"aliasInitial",0,r])},98025,e=>{"use strict";e.s(["SESSION_STATUS_CHIP_CLASS",0,{working:"bg-green-500/10 text-green-300 border-green-500/20",idle:"bg-blue-500/10 text-blue-300 border-blue-500/20",blocked:"bg-yellow-500/10 text-yellow-300 border-yellow-500/20",error:"bg-red-500/10 text-red-300 border-red-500/20",offline:"bg-gray-500/10 text-gray-500 border-gray-500/20"},"SESSION_STATUS_TEXT_CLASS",0,{working:"text-green-400",idle:"text-blue-400",blocked:"text-yellow-400",error:"text-red-400",offline:"text-gray-500"},"STATUS_BAR_CLASS",0,{created:"bg-gray-500",delivered:"bg-blue-500",acked:"bg-cyan-500",running:"bg-green-500",replied:"bg-purple-500",closed:"bg-gray-600",failed:"bg-red-500",cancelled:"bg-yellow-500",expired:"bg-orange-500"},"STATUS_CHIP_CLASS",0,{created:"bg-gray-500/10 text-gray-400 border-gray-500/20",delivered:"bg-blue-500/10 text-blue-300 border-blue-500/20",acked:"bg-cyan-500/10 text-cyan-300 border-cyan-500/20",running:"bg-green-500/10 text-green-300 border-green-500/20",replied:"bg-purple-500/10 text-purple-300 border-purple-500/20",closed:"bg-gray-500/10 text-gray-500 border-gray-500/20",failed:"bg-red-500/10 text-red-300 border-red-500/20",cancelled:"bg-yellow-500/10 text-yellow-300 border-yellow-500/20",expired:"bg-orange-500/10 text-orange-300 border-orange-500/20"},"STATUS_DOT_HEX",0,{created:"#9ca3af",delivered:"#60a5fa",acked:"#22d3ee",running:"#4ade80",replied:"#a78bfa",closed:"#6b7280",failed:"#f87171",cancelled:"#facc15",expired:"#fb923c"},"TASK_STATUSES",0,["created","delivered","acked","running","replied","closed","failed","cancelled","expired"]])},28729,e=>{"use strict";var t=e.i(22381),a=e.i(23910),s=e.i(59276),r=e.i(3479),l=e.i(46228),n=e.i(98025);e.s(["default",0,function(){let{sessions:e}=(0,s.useSessions)(),{health:i}=(0,s.useHealth)(),{stats:d}=(0,s.useStats)(),o=i?.sse_sessions||{},c=e=>(e.network_id?o[`${e.network_id}:${e.alias}`]:void 0)??o[e.alias],[x,u]=(0,a.useState)(""),[g,b]=(0,a.useState)(""),[h,m]=(0,a.useState)(""),[p,f]=(0,a.useState)(""),[y,j]=(0,a.useState)(""),[v,N]=(0,a.useState)(""),[S,w]=(0,a.useState)(""),[k,T]=(0,a.useState)(""),C=async()=>{if(x.trim()&&g.trim()){try{let e=await fetch("/api/hub/auth",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"register",username:x,password:g})}),t=await e.json();m(t.ok?`Created: ${t.user.username} (${t.user.user_id})`:`Failed: ${t.error}`),t.ok&&(u(""),b(""))}catch{m("Failed")}setTimeout(()=>m(""),8e3)}},A=async()=>{if(p.trim()){try{let e=await fetch("/api/hub/broadcast",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({message:p})}),t=await e.json();j(t.ok?`Sent to ${t.recipients} nodes`:`Failed: ${t.error}`),t.ok&&f("")}catch{j("Failed")}setTimeout(()=>j(""),5e3)}},$=async()=>{if(v&&S.trim()){try{let e=await fetch("/api/hub/send",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({alias:v,task:S})}),t=await e.json();T(t.ok?"Task sent":`Failed: ${t.error}`),t.ok&&w("")}catch{T("Failed")}setTimeout(()=>T(""),5e3)}},_=e.filter(e=>c(e)),I=e.filter(e=>!c(e));return(0,t.jsxs)("div",{className:"min-h-screen bg-[#0a0a1a] text-gray-100 p-4 sm:p-6 font-mono",children:[(0,t.jsx)("h1",{className:"text-2xl font-bold text-white mb-3 lg:ml-0 ml-10",children:"Admin"}),(0,t.jsx)("nav",{className:"mb-8 flex flex-wrap gap-2 text-xs",children:[{href:"#status",label:"Status"},{href:"#actions",label:"Actions"},{href:"#users",label:"Users"}].map(e=>(0,t.jsx)("a",{href:e.href,className:"inline-flex min-h-[44px] items-center rounded-md border border-[#2a2a4a] bg-[#0a0a15]/60 px-3 py-2 text-gray-400 hover:border-cyan-500/50 hover:text-cyan-300 hover:bg-cyan-500/10 transition-colors",children:e.label},e.href))}),(0,t.jsxs)("div",{className:"max-w-6xl space-y-10",children:[(0,t.jsxs)("div",{id:"status",className:"space-y-4 scroll-mt-6",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2 px-1",children:[(0,t.jsx)("div",{className:"text-[11px] uppercase tracking-[0.14em] text-gray-400 font-semibold",children:"Status"}),(0,t.jsx)("div",{className:"flex-1 h-px bg-[#2a2a4a]"})]}),(0,t.jsxs)("div",{className:"grid grid-cols-1 lg:grid-cols-2 gap-4",children:[(0,t.jsxs)("section",{className:"bg-[#111128] border border-[#2a2a4a] rounded-xl p-5",children:[(0,t.jsx)("h2",{className:"text-sm font-semibold text-gray-300 mb-4",children:"Server Overview"}),(0,t.jsxs)("div",{className:"grid grid-cols-2 gap-4 text-sm",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("div",{className:"text-3xl font-bold text-green-400 tabular-nums",children:_.length}),(0,t.jsx)("div",{className:"text-xs text-gray-500",children:"Online"})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("div",{className:"text-3xl font-bold text-gray-500 tabular-nums",children:I.length}),(0,t.jsx)("div",{className:"text-xs text-gray-500",children:"Offline"})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("div",{className:"text-3xl font-bold text-cyan-400 tabular-nums",children:i?.sse_connections??"--"}),(0,t.jsxs)("div",{className:"text-xs text-gray-500",children:["SSE Streams ",(0,t.jsx)("span",{className:"text-gray-600",children:"· server"})]})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("div",{className:"text-3xl font-bold text-white tabular-nums",children:d?.tasks?.total??"--"}),(0,t.jsx)("div",{className:"text-xs text-gray-500",children:"Total Tasks"})]})]}),d?.tasks?.by_status&&d.tasks.by_status.length>0&&(0,t.jsx)("div",{className:"mt-4 flex flex-wrap gap-2",children:d.tasks.by_status.map(e=>(0,t.jsxs)("span",{className:`text-xs px-2 py-1 rounded border ${n.STATUS_CHIP_CLASS[e.status]||"bg-[#0a0a15] border-[#1a1a2a] text-gray-400"}`,children:[e.status,": ",e.count]},e.status))})]}),(0,t.jsxs)("section",{className:"bg-[#111128] border border-[#2a2a4a] rounded-xl p-5",children:[(0,t.jsxs)("h2",{className:"text-sm font-semibold text-gray-300 mb-4",children:["Online Sessions ",(0,t.jsxs)("span",{className:"text-gray-600",children:["(",_.length,")"]})]}),(0,t.jsx)("div",{className:"space-y-2 max-h-80 overflow-y-auto",children:0===_.length?(0,t.jsx)("div",{className:"text-xs text-gray-600 text-center py-4",children:"No online sessions"}):_.map(e=>(0,t.jsxs)("div",{className:"flex items-center gap-3 bg-[#0a0a15] rounded-lg px-3 py-2 border border-[#1a1a2a]",children:[(0,t.jsx)(l.AliasAvatar,{alias:e.alias,size:20}),(0,t.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,t.jsx)("div",{className:"text-sm text-white font-medium truncate",children:e.alias}),(0,t.jsxs)("div",{className:"text-xs text-gray-500 truncate",children:[e.agent||"--"," · ",e.task||"idle"]})]}),(0,t.jsxs)("div",{className:"flex items-center gap-2 shrink-0",children:[(0,t.jsx)("span",{className:`text-xs px-2 py-0.5 rounded border ${n.SESSION_STATUS_CHIP_CLASS[e.status]||n.SESSION_STATUS_CHIP_CLASS.idle}`,children:e.status}),(0,t.jsx)("span",{className:"text-[10px] text-gray-600",children:(0,r.timeAgo)(e.updated_at)})]})]},e.alias))})]})]})]}),(0,t.jsxs)("div",{id:"actions",className:"space-y-4 scroll-mt-6",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2 px-1",children:[(0,t.jsx)("div",{className:"text-[11px] uppercase tracking-[0.14em] text-gray-400 font-semibold",children:"Actions"}),(0,t.jsx)("div",{className:"flex-1 h-px bg-[#2a2a4a]"})]}),0===e.length?(0,t.jsx)("div",{className:"bg-[#111128] border border-[#2a2a4a] rounded-xl px-5 py-4 text-sm text-gray-500",children:"Broadcast and Send Task become available after the first agent registers."}):(0,t.jsxs)("div",{className:"grid grid-cols-1 lg:grid-cols-2 gap-4",children:[(0,t.jsxs)("section",{className:"bg-[#111128] border border-[#2a2a4a] rounded-xl p-5",children:[(0,t.jsx)("h2",{className:"text-sm font-semibold text-gray-300 mb-4",children:"Broadcast"}),(0,t.jsx)("textarea",{value:p,onChange:e=>f(e.target.value),placeholder:"Message to all online nodes...",rows:3,className:"w-full bg-[#0a0a15] border border-[#2a2a4a] rounded-lg px-3 py-2 text-sm text-white placeholder-gray-600 focus:border-cyan-500/50 focus:outline-none resize-none"}),(0,t.jsxs)("div",{className:"flex justify-between items-center mt-3",children:[(0,t.jsxs)("span",{className:"text-xs text-gray-600",children:[p.length,"/500"]}),(0,t.jsx)("button",{onClick:A,disabled:!p.trim(),className:"px-4 py-2 bg-purple-600 hover:bg-purple-500 disabled:bg-gray-800 disabled:text-gray-600 text-white text-sm rounded-lg transition-colors",children:"Broadcast"})]}),y&&(0,t.jsx)("div",{className:`mt-2 text-xs ${y.startsWith("Failed")?"text-red-400":"text-green-400"}`,children:y})]}),(0,t.jsxs)("section",{className:"bg-[#111128] border border-[#2a2a4a] rounded-xl p-5",children:[(0,t.jsx)("h2",{className:"text-sm font-semibold text-gray-300 mb-4",children:"Send Task"}),(0,t.jsxs)("select",{value:v,onChange:e=>N(e.target.value),className:"w-full bg-[#0a0a15] border border-[#2a2a4a] rounded-lg px-3 py-2 text-base sm:text-sm text-white focus:border-cyan-500/50 focus:outline-none mb-3",children:[(0,t.jsx)("option",{value:"",children:"Select target node..."}),_.map(e=>(0,t.jsxs)("option",{value:e.alias,children:[e.alias," (",e.status,")"]},e.alias)),(0,t.jsx)("optgroup",{label:"Offline",children:I.map(e=>(0,t.jsxs)("option",{value:e.alias,children:[e.alias," (offline)"]},e.alias))})]}),(0,t.jsx)("textarea",{value:S,onChange:e=>w(e.target.value),placeholder:"Task content...",rows:3,className:"w-full bg-[#0a0a15] border border-[#2a2a4a] rounded-lg px-3 py-2 text-sm text-white placeholder-gray-600 focus:border-cyan-500/50 focus:outline-none resize-none"}),(0,t.jsx)("div",{className:"flex justify-end mt-3",children:(0,t.jsx)("button",{onClick:$,disabled:!v||!S.trim(),className:"px-4 py-2 bg-cyan-600 hover:bg-cyan-500 disabled:bg-gray-800 disabled:text-gray-600 text-white text-sm rounded-lg transition-colors",children:"Send Task"})}),k&&(0,t.jsx)("div",{className:`mt-2 text-xs ${k.startsWith("Failed")?"text-red-400":"text-green-400"}`,children:k})]})]})]}),(0,t.jsxs)("div",{id:"users",className:"space-y-4 scroll-mt-6",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2 px-1",children:[(0,t.jsx)("div",{className:"text-[11px] uppercase tracking-[0.14em] text-gray-400 font-semibold",children:"Users"}),(0,t.jsx)("div",{className:"flex-1 h-px bg-[#2a2a4a]"})]}),(0,t.jsx)("div",{className:"grid grid-cols-1 lg:grid-cols-2 gap-4",children:(0,t.jsxs)("section",{className:"bg-[#111128] border border-[#2a2a4a] rounded-xl p-5",children:[(0,t.jsx)("h2",{className:"text-sm font-semibold text-gray-300 mb-4",children:"Register User (V3)"}),(0,t.jsxs)("div",{className:"space-y-3",children:[(0,t.jsx)("input",{type:"text",value:x,onChange:e=>u(e.target.value),placeholder:"Username",className:"w-full bg-[#0a0a15] border border-[#2a2a4a] rounded-lg px-3 py-2 text-sm text-white placeholder-gray-600 focus:border-cyan-500/50 focus:outline-none"}),(0,t.jsx)("input",{type:"password",value:g,onChange:e=>b(e.target.value),placeholder:"Password",className:"w-full bg-[#0a0a15] border border-[#2a2a4a] rounded-lg px-3 py-2 text-sm text-white placeholder-gray-600 focus:border-cyan-500/50 focus:outline-none"}),(0,t.jsx)("button",{onClick:C,disabled:!x.trim()||!g.trim(),className:"w-full px-4 py-2 bg-green-600 hover:bg-green-500 disabled:bg-gray-800 disabled:text-gray-600 text-white text-sm rounded-lg transition-colors",children:"Register"})]}),h&&(0,t.jsx)("div",{className:`mt-2 text-xs ${h.startsWith("Failed")?"text-red-400":"text-green-400"}`,children:h})]})})]})]})]})}])}]);
|