@sleep2agi/agent-network-dashboard 0.5.3-preview.12 → 0.5.3-preview.14
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 +5 -5
- 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.html +1 -1
- package/.next/server/app/_not-found.rsc +1 -1
- package/.next/server/app/_not-found.segments/_full.segment.rsc +1 -1
- package/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
- package/.next/server/app/_not-found.segments/_index.segment.rsc +1 -1
- 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 +1 -1
- package/.next/server/app/admin.html +1 -1
- package/.next/server/app/admin.rsc +1 -1
- package/.next/server/app/admin.segments/_full.segment.rsc +1 -1
- package/.next/server/app/admin.segments/_head.segment.rsc +1 -1
- package/.next/server/app/admin.segments/_index.segment.rsc +1 -1
- package/.next/server/app/admin.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/admin.segments/admin/__PAGE__.segment.rsc +1 -1
- 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 +2 -2
- package/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
- package/.next/server/app/index.segments/_full.segment.rsc +2 -2
- package/.next/server/app/index.segments/_head.segment.rsc +1 -1
- package/.next/server/app/index.segments/_index.segment.rsc +1 -1
- package/.next/server/app/index.segments/_tree.segment.rsc +1 -1
- 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 +2 -2
- package/.next/server/app/login.segments/_full.segment.rsc +2 -2
- package/.next/server/app/login.segments/_head.segment.rsc +1 -1
- package/.next/server/app/login.segments/_index.segment.rsc +1 -1
- package/.next/server/app/login.segments/_tree.segment.rsc +1 -1
- 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.html +1 -1
- package/.next/server/app/logs.rsc +1 -1
- package/.next/server/app/logs.segments/_full.segment.rsc +1 -1
- package/.next/server/app/logs.segments/_head.segment.rsc +1 -1
- package/.next/server/app/logs.segments/_index.segment.rsc +1 -1
- package/.next/server/app/logs.segments/_tree.segment.rsc +1 -1
- 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.html +1 -1
- package/.next/server/app/messages.rsc +1 -1
- package/.next/server/app/messages.segments/_full.segment.rsc +1 -1
- package/.next/server/app/messages.segments/_head.segment.rsc +1 -1
- package/.next/server/app/messages.segments/_index.segment.rsc +1 -1
- package/.next/server/app/messages.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/messages.segments/messages/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/messages.segments/messages.segment.rsc +1 -1
- package/.next/server/app/node.html +1 -1
- package/.next/server/app/node.rsc +1 -1
- package/.next/server/app/node.segments/_full.segment.rsc +1 -1
- package/.next/server/app/node.segments/_head.segment.rsc +1 -1
- package/.next/server/app/node.segments/_index.segment.rsc +1 -1
- package/.next/server/app/node.segments/_tree.segment.rsc +1 -1
- 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.html +1 -1
- package/.next/server/app/nodes.rsc +1 -1
- package/.next/server/app/nodes.segments/_full.segment.rsc +1 -1
- package/.next/server/app/nodes.segments/_head.segment.rsc +1 -1
- package/.next/server/app/nodes.segments/_index.segment.rsc +1 -1
- package/.next/server/app/nodes.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/nodes.segments/nodes/__PAGE__.segment.rsc +1 -1
- 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.html +1 -1
- package/.next/server/app/server-logs.rsc +1 -1
- package/.next/server/app/server-logs.segments/_full.segment.rsc +1 -1
- package/.next/server/app/server-logs.segments/_head.segment.rsc +1 -1
- package/.next/server/app/server-logs.segments/_index.segment.rsc +1 -1
- package/.next/server/app/server-logs.segments/_tree.segment.rsc +1 -1
- 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/settings/networks.html +1 -1
- package/.next/server/app/settings/networks.rsc +1 -1
- package/.next/server/app/settings/networks.segments/_full.segment.rsc +1 -1
- package/.next/server/app/settings/networks.segments/_head.segment.rsc +1 -1
- package/.next/server/app/settings/networks.segments/_index.segment.rsc +1 -1
- package/.next/server/app/settings/networks.segments/_tree.segment.rsc +1 -1
- 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.html +1 -1
- package/.next/server/app/settings/tokens.rsc +1 -1
- package/.next/server/app/settings/tokens.segments/_full.segment.rsc +1 -1
- package/.next/server/app/settings/tokens.segments/_head.segment.rsc +1 -1
- package/.next/server/app/settings/tokens.segments/_index.segment.rsc +1 -1
- package/.next/server/app/settings/tokens.segments/_tree.segment.rsc +1 -1
- 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 +2 -2
- package/.next/server/app/settings.segments/_full.segment.rsc +2 -2
- package/.next/server/app/settings.segments/_head.segment.rsc +1 -1
- package/.next/server/app/settings.segments/_index.segment.rsc +1 -1
- package/.next/server/app/settings.segments/_tree.segment.rsc +1 -1
- 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.html +1 -1
- package/.next/server/app/tasks.rsc +1 -1
- package/.next/server/app/tasks.segments/_full.segment.rsc +1 -1
- package/.next/server/app/tasks.segments/_head.segment.rsc +1 -1
- package/.next/server/app/tasks.segments/_index.segment.rsc +1 -1
- package/.next/server/app/tasks.segments/_tree.segment.rsc +1 -1
- 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]__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_09kk21a._.js +1 -1
- package/.next/server/chunks/ssr/agent-network-dashboard_09kk21a._.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/middleware-build-manifest.js +3 -3
- package/.next/server/pages/404.html +1 -1
- package/.next/server/pages/500.html +1 -1
- package/.next/static/chunks/{0.yvha74oimu5.js → 0ckoz2evm~lvq.js} +1 -1
- package/.next/static/chunks/{0brgpp3pfwrqa.js → 0qf8ynb6zk1~~.js} +1 -1
- package/.next/static/chunks/{10x1zyfvy0f.8.js → 10s69w5k6v8cr.js} +1 -1
- package/.next/static/chunks/{0f9~w1b6yn1dj.js → 16p3.8p0yi.1p.js} +1 -1
- package/.next/trace +2 -2
- package/.next/trace-build +1 -1
- package/app/components/TopoGraph.tsx +72 -1
- package/package.json +1 -1
- package/scripts/topo-alias-glow-test.mjs +121 -0
- package/scripts/topo-avatar-brightness-test.mjs +116 -0
- /package/.next/static/{U1wWdzjMSApioHvZY8ULS → Q8lkSZiF_OETF8cugX0IW}/_buildManifest.js +0 -0
- /package/.next/static/{U1wWdzjMSApioHvZY8ULS → Q8lkSZiF_OETF8cugX0IW}/_clientMiddlewareManifest.js +0 -0
- /package/.next/static/{U1wWdzjMSApioHvZY8ULS → Q8lkSZiF_OETF8cugX0IW}/_ssgManifest.js +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,59276,e=>{"use strict";var s=e.i(12629),a=e.i(11449);let t=async e=>{let s=await fetch(e);if(401===s.status)throw window.location.assign("/login"),Error("unauthorized");return s.json()},r={refreshInterval:5e3,dedupingInterval:3e3};function n(e,s){if(!s)return e;let a=e.includes("?")?"&":"?";return`${e}${a}network_id=${encodeURIComponent(s)}`}e.s(["useAnetConfig",0,function(){let{data:e}=(0,s.default)("/api/anet/config",t,{refreshInterval:3e4});return{config:e||null}},"useHealth",0,function(){let{data:e,error:a}=(0,s.default)("/api/hub/health",t,r);return{health:e||null,error:a}},"useLicense",0,function(){let{data:e,error:a}=(0,s.default)("/api/hub/license",t,{refreshInterval:6e4});return{license:e?.ok?e:null,error:a}},"useMessages",0,function(e=100){let{networkId:l}=(0,a.useNetworkId)(),{data:i,error:c,isLoading:d}=(0,s.default)(n(`/api/hub/messages?limit=${e}`,l),t,r);return{messages:i?.messages||[],error:c,isLoading:d}},"useSessions",0,function(){let{networkId:e}=(0,a.useNetworkId)(),{data:l,error:i,isLoading:c}=(0,s.default)(n("/api/hub/status",e),t,r);return{sessions:l?.sessions||[],hint:l?._hint,error:i,isLoading:c}},"useStats",0,function(){let{networkId:e}=(0,a.useNetworkId)(),{data:l,error:i}=(0,s.default)(n("/api/hub/stats",e),t,r);return{stats:l?.ok?l:null,error:i}},"useTasks",0,function(e){let{networkId:l}=(0,a.useNetworkId)(),i=new URLSearchParams({limit:"100",...e}).toString(),{data:c,error:d,isLoading:o}=(0,s.default)(n(`/api/hub/tasks?${i}`,l),t,r);return{tasks:c?.tasks||[],count:c?.count??0,source:c?.source,error:d,isLoading:o}}])},70286,e=>{"use strict";e.s(["DASHBOARD_VERSION",0,"0.5.3-preview.12"],70286)},65610,e=>{"use strict";var s=e.i(22381),a=e.i(23910),t=e.i(56839),r=e.i(59276),n=e.i(70286);e.s(["default",0,function(){let{config:e}=(0,r.useAnetConfig)(),{health:l}=(0,r.useHealth)(),{license:i}=(0,r.useLicense)(),[c,d]=(0,a.useState)(""),[o,x]=(0,a.useState)(""),[m,h]=(0,a.useState)(""),[g,u]=(0,a.useState)(""),[p,N]=(0,a.useState)(""),b="flex flex-col gap-1 sm:flex-row sm:items-start sm:justify-between",j="break-all sm:max-w-[320px] sm:text-right";return(0,s.jsxs)("div",{className:"min-h-screen bg-[#0a0a1a] text-gray-100 p-4 sm:p-6 font-mono",children:[(0,s.jsx)("h1",{className:"text-2xl font-bold text-white mb-3 lg:ml-0 ml-10",children:"Settings"}),(0,s.jsx)("nav",{className:"mb-8 flex flex-wrap gap-1 text-xs",children:[{href:"#connection",label:"Connection"},{href:"#account",label:"Account"},{href:"#resources",label:"Resources"}].map(e=>(0,s.jsx)("a",{href:e.href,className:"rounded-md px-2.5 py-1 text-gray-500 hover:text-cyan-300 hover:bg-cyan-500/10 transition-colors",children:e.label},e.href))}),(0,s.jsxs)("div",{className:"max-w-2xl space-y-10",children:[(0,s.jsxs)("div",{id:"connection",className:"space-y-4 scroll-mt-6",children:[(0,s.jsxs)("div",{className:"flex items-center gap-2 px-1",children:[(0,s.jsx)("div",{className:"text-[11px] uppercase tracking-[0.14em] text-gray-400 font-semibold",children:"Connection"}),(0,s.jsx)("div",{className:"flex-1 h-px bg-[#2a2a4a]"})]}),(0,s.jsxs)("section",{className:"bg-[#111128] border border-[#2a2a4a] rounded-xl p-5",children:[(0,s.jsx)("h2",{className:"text-sm font-semibold text-gray-300 mb-4",children:"CommHub Connection"}),(0,s.jsxs)("div",{className:"space-y-3 text-sm",children:[(0,s.jsxs)("div",{className:b,children:[(0,s.jsx)("span",{className:"text-gray-500 shrink-0",children:"Hub URL"}),(0,s.jsx)("span",{className:`text-cyan-300 ${j}`,children:e?.hub||"not configured"})]}),(0,s.jsxs)("div",{className:b,children:[(0,s.jsx)("span",{className:"text-gray-500",children:"Config Source"}),(0,s.jsx)("span",{className:`text-gray-300 ${j}`,children:e?.source==="file"?"Local file (~/.anet/config.json)":e?.source==="runtime-env"?"Vercel env vars":"Missing"})]}),(0,s.jsxs)("div",{className:b,children:[(0,s.jsx)("span",{className:"text-gray-500",children:"Auth Token"}),(0,s.jsx)("span",{className:`${e?.tokenConfigured?"text-green-400":"text-red-400"} ${j}`,children:e?.tokenConfigured?`Configured (${e.tokenPreview})`:"Not configured"})]}),(0,s.jsxs)("div",{className:b,children:[(0,s.jsx)("span",{className:"text-gray-500",children:"Server Auth"}),(0,s.jsx)("span",{className:`${l?.auth==="enabled"?"text-green-400":"text-yellow-400"} sm:text-right`,children:l?.auth||"--"})]}),e?.error&&(0,s.jsx)("div",{className:"border-t border-[#2a2a4a] pt-3 text-xs text-gray-600",children:e.error})]})]}),(0,s.jsxs)("section",{className:"bg-[#111128] border border-[#2a2a4a] rounded-xl p-5",children:[(0,s.jsx)("h2",{className:"text-sm font-semibold text-gray-300 mb-4",children:"Server Info"}),(0,s.jsxs)("div",{className:"space-y-3 text-sm",children:[(0,s.jsxs)("div",{className:b,children:[(0,s.jsx)("span",{className:"text-gray-500",children:"Version"}),(0,s.jsx)("span",{className:`text-gray-300 ${j}`,children:l?.version||"--"})]}),(0,s.jsxs)("div",{className:b,children:[(0,s.jsx)("span",{className:"text-gray-500",children:"Sessions"}),(0,s.jsx)("span",{className:`text-gray-300 ${j}`,children:l?.sessions??"--"})]}),(0,s.jsxs)("div",{className:b,children:[(0,s.jsxs)("span",{className:"text-gray-500",children:["SSE streams ",(0,s.jsx)("span",{className:"text-gray-600",children:"· server"})]}),(0,s.jsx)("span",{className:`text-gray-300 ${j}`,children:l?.sse_connections??"--"})]}),(0,s.jsxs)("div",{className:b,children:[(0,s.jsx)("span",{className:"text-gray-500",children:"Uptime"}),(0,s.jsx)("span",{className:`text-gray-300 ${j}`,children:l?.uptime?`${Math.floor(l.uptime/3600)}h ${Math.floor(l.uptime%3600/60)}m`:"--"})]})]})]}),(0,s.jsxs)("section",{className:"bg-[#111128] border border-[#2a2a4a] rounded-xl p-5",children:[(0,s.jsx)("h2",{className:"text-sm font-semibold text-gray-300 mb-4",children:"Dashboard"}),(0,s.jsxs)("div",{className:"space-y-3 text-sm",children:[(0,s.jsxs)("div",{className:b,children:[(0,s.jsx)("span",{className:"text-gray-500",children:"Version"}),(0,s.jsx)("span",{className:`text-gray-300 font-mono ${j}`,title:"From package.json @sleep2agi/agent-network-dashboard",children:n.DASHBOARD_VERSION})]}),(0,s.jsxs)("div",{className:b,children:[(0,s.jsx)("span",{className:"text-gray-500",children:"Data Layer"}),(0,s.jsx)("span",{className:`text-gray-300 ${j}`,children:"SWR (5s refresh, 3s dedup)"})]}),(0,s.jsxs)("div",{className:b,children:[(0,s.jsx)("span",{className:"text-gray-500",children:"Pages"}),(0,s.jsx)("span",{className:`text-gray-300 ${j}`,children:"Overview, Tasks, Nodes, Messages, Networks, Audit, Server Logs, Admin, Settings"})]})]})]})]}),(0,s.jsxs)("div",{id:"account",className:"space-y-4 scroll-mt-6",children:[(0,s.jsxs)("div",{className:"flex items-center gap-2 px-1",children:[(0,s.jsx)("div",{className:"text-[11px] uppercase tracking-[0.14em] text-gray-400 font-semibold",children:"Account"}),(0,s.jsx)("div",{className:"flex-1 h-px bg-[#2a2a4a]"})]}),(0,s.jsxs)("section",{className:"bg-[#111128] border border-[#2a2a4a] rounded-xl p-5",children:[(0,s.jsxs)("h2",{className:"text-sm font-semibold text-gray-300 mb-4 flex items-center gap-2",children:["License",i?.license&&(0,s.jsxs)("span",{className:`inline-flex items-center gap-1.5 text-[10px] font-medium px-2 py-0.5 rounded-full border ${"pro"===i.license.type?"text-green-300 bg-green-500/10 border-green-500/30":i.license.days_left<=7?"text-red-300 bg-red-500/10 border-red-500/30":"text-amber-300 bg-amber-500/10 border-amber-500/30"}`,children:[(0,s.jsx)("span",{"aria-hidden":!0,className:"w-1.5 h-1.5 rounded-full bg-current"}),i.license.type,i.license.days_left?` \xb7 ${i.license.days_left}d left`:""]})]}),i?.license?(0,s.jsxs)("div",{className:"space-y-3 text-sm",children:[i.license.days_left<=7&&(0,s.jsxs)("div",{className:b,children:[(0,s.jsx)("span",{className:"text-red-400 font-medium",children:"⚠ Expiring soon"}),(0,s.jsxs)("span",{className:"text-red-400",children:[i.license.days_left," days left"]})]}),(0,s.jsxs)("div",{className:b,children:[(0,s.jsx)("span",{className:"text-gray-500",children:"Expires"}),(0,s.jsx)("span",{className:`text-gray-300 ${j}`,children:i.license.expires_at})]}),i.limits&&(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)("div",{className:b,children:[(0,s.jsx)("span",{className:"text-gray-500",children:"Max Agents"}),(0,s.jsx)("span",{className:`text-gray-300 ${j}`,children:i.limits.max_agents})]}),(0,s.jsxs)("div",{className:b,children:[(0,s.jsx)("span",{className:"text-gray-500",children:"Max Networks"}),(0,s.jsx)("span",{className:`text-gray-300 ${j}`,children:i.limits.max_networks})]}),(0,s.jsxs)("div",{className:b,children:[(0,s.jsx)("span",{className:"text-gray-500",children:"Tasks/Day"}),(0,s.jsx)("span",{className:`text-gray-300 ${j}`,children:i.limits.max_tasks_day})]})]}),(0,s.jsxs)("div",{className:"pt-3 border-t border-[#2a2a4a]",children:[(0,s.jsxs)("div",{className:"flex gap-2",children:[(0,s.jsx)("input",{type:"text",value:c,onChange:e=>d(e.target.value),placeholder:"anet-XXXX-XXXX-XXXX-XXXX",className:"flex-1 bg-[#0a0a15] border border-[#2a2a4a] rounded px-3 py-2 text-xs text-white placeholder-gray-600 focus:outline-none"}),(0,s.jsx)("button",{onClick:async()=>{if(!c.trim())return;let e=await fetch("/api/hub/license",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({key:c})}),s=await e.json();x(s.ok?`Activated: ${s.type}`:`Failed: ${s.error}`),s.ok&&d(""),setTimeout(()=>x(""),5e3)},className:"px-3 py-2 bg-cyan-600 hover:bg-cyan-500 text-white text-xs rounded transition-colors",children:"Activate"})]}),o&&(0,s.jsx)("div",{className:`mt-2 text-xs ${o.startsWith("Failed")?"text-red-400":"text-green-400"}`,children:o})]})]}):(0,s.jsx)("div",{className:"text-xs text-gray-600",children:"License info not available"})]}),(0,s.jsxs)("section",{className:"bg-[#111128] border border-[#2a2a4a] rounded-xl p-5",children:[(0,s.jsx)("h2",{className:"text-sm font-semibold text-gray-300 mb-4",children:"Change Password"}),(0,s.jsxs)("div",{className:"space-y-3",children:[(0,s.jsx)("input",{type:"password",value:m,onChange:e=>h(e.target.value),placeholder:"Current 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,s.jsx)("input",{type:"password",value:g,onChange:e=>u(e.target.value),placeholder:"New 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,s.jsx)("button",{onClick:async()=>{if(!m||!g)return;let e=sessionStorage.getItem("anet_v3_auth");if(!e)return void N("Not logged in with V3 auth");let{token:s}=JSON.parse(e),a=await fetch("/api/hub/auth",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"change_password",token:s,current_password:m,new_password:g})}),t=await a.json();if(N(t.ok?"Password changed":`Failed: ${t.error}`),t.ok){if(t.token){let s=JSON.parse(e);sessionStorage.setItem("anet_v3_auth",JSON.stringify({...s,token:t.token}))}h(""),u("")}setTimeout(()=>N(""),5e3)},disabled:!m||!g,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:"Change Password"})]}),p&&(0,s.jsx)("div",{className:`mt-2 text-xs ${p.startsWith("Failed")?"text-red-400":"text-green-400"}`,children:p})]}),(0,s.jsxs)("section",{className:"bg-[#111128] border border-[#2a2a4a] rounded-xl p-5",children:[(0,s.jsx)("h2",{className:"text-sm font-semibold text-gray-300 mb-4",children:"Sign out"}),(0,s.jsx)("p",{className:"text-xs text-gray-500 mb-3",children:"Signing out clears your dashboard session cookie. You'll return to the login page."}),(0,s.jsx)("button",{onClick:async()=>{await fetch("/api/auth/logout",{method:"POST"}).catch(()=>{}),window.location.assign("/login")},className:"px-4 py-2 bg-transparent hover:bg-[#1a1a2a] text-gray-300 text-sm rounded-lg border border-[#2a2a4a] hover:border-[#3a3a5a] transition-colors",children:"Sign out"})]})]}),(0,s.jsxs)("div",{id:"resources",className:"space-y-4 scroll-mt-6",children:[(0,s.jsxs)("div",{className:"flex items-center gap-2 px-1",children:[(0,s.jsx)("div",{className:"text-[11px] uppercase tracking-[0.14em] text-gray-400 font-semibold",children:"Resources"}),(0,s.jsx)("div",{className:"flex-1 h-px bg-[#2a2a4a]"})]}),(0,s.jsxs)("div",{className:"grid grid-cols-1 sm:grid-cols-2 gap-4",children:[(0,s.jsxs)(t.default,{href:"/settings/tokens",className:"bg-[#111128] border border-[#2a2a4a] rounded-xl p-5 hover:border-cyan-500/30 transition-colors",children:[(0,s.jsx)("h2",{className:"text-sm font-semibold text-gray-300",children:"API Tokens"}),(0,s.jsx)("p",{className:"text-xs text-gray-500 mt-2",children:"Create and manage tokens for CLI access."}),(0,s.jsx)("span",{className:"text-xs text-cyan-400 mt-3 inline-block",children:"Manage →"})]}),(0,s.jsxs)(t.default,{href:"/settings/networks",className:"bg-[#111128] border border-[#2a2a4a] rounded-xl p-5 hover:border-cyan-500/30 transition-colors",children:[(0,s.jsx)("h2",{className:"text-sm font-semibold text-gray-300",children:"Networks"}),(0,s.jsx)("p",{className:"text-xs text-gray-500 mt-2",children:"Create, manage, and delete agent networks."}),(0,s.jsx)("span",{className:"text-xs text-cyan-400 mt-3 inline-block",children:"Manage →"})]})]})]})]})]})}])}]);
|
|
1
|
+
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,59276,e=>{"use strict";var s=e.i(12629),a=e.i(11449);let t=async e=>{let s=await fetch(e);if(401===s.status)throw window.location.assign("/login"),Error("unauthorized");return s.json()},r={refreshInterval:5e3,dedupingInterval:3e3};function n(e,s){if(!s)return e;let a=e.includes("?")?"&":"?";return`${e}${a}network_id=${encodeURIComponent(s)}`}e.s(["useAnetConfig",0,function(){let{data:e}=(0,s.default)("/api/anet/config",t,{refreshInterval:3e4});return{config:e||null}},"useHealth",0,function(){let{data:e,error:a}=(0,s.default)("/api/hub/health",t,r);return{health:e||null,error:a}},"useLicense",0,function(){let{data:e,error:a}=(0,s.default)("/api/hub/license",t,{refreshInterval:6e4});return{license:e?.ok?e:null,error:a}},"useMessages",0,function(e=100){let{networkId:l}=(0,a.useNetworkId)(),{data:i,error:c,isLoading:d}=(0,s.default)(n(`/api/hub/messages?limit=${e}`,l),t,r);return{messages:i?.messages||[],error:c,isLoading:d}},"useSessions",0,function(){let{networkId:e}=(0,a.useNetworkId)(),{data:l,error:i,isLoading:c}=(0,s.default)(n("/api/hub/status",e),t,r);return{sessions:l?.sessions||[],hint:l?._hint,error:i,isLoading:c}},"useStats",0,function(){let{networkId:e}=(0,a.useNetworkId)(),{data:l,error:i}=(0,s.default)(n("/api/hub/stats",e),t,r);return{stats:l?.ok?l:null,error:i}},"useTasks",0,function(e){let{networkId:l}=(0,a.useNetworkId)(),i=new URLSearchParams({limit:"100",...e}).toString(),{data:c,error:d,isLoading:o}=(0,s.default)(n(`/api/hub/tasks?${i}`,l),t,r);return{tasks:c?.tasks||[],count:c?.count??0,source:c?.source,error:d,isLoading:o}}])},70286,e=>{"use strict";e.s(["DASHBOARD_VERSION",0,"0.5.3-preview.14"],70286)},65610,e=>{"use strict";var s=e.i(22381),a=e.i(23910),t=e.i(56839),r=e.i(59276),n=e.i(70286);e.s(["default",0,function(){let{config:e}=(0,r.useAnetConfig)(),{health:l}=(0,r.useHealth)(),{license:i}=(0,r.useLicense)(),[c,d]=(0,a.useState)(""),[o,x]=(0,a.useState)(""),[m,h]=(0,a.useState)(""),[g,u]=(0,a.useState)(""),[p,N]=(0,a.useState)(""),b="flex flex-col gap-1 sm:flex-row sm:items-start sm:justify-between",j="break-all sm:max-w-[320px] sm:text-right";return(0,s.jsxs)("div",{className:"min-h-screen bg-[#0a0a1a] text-gray-100 p-4 sm:p-6 font-mono",children:[(0,s.jsx)("h1",{className:"text-2xl font-bold text-white mb-3 lg:ml-0 ml-10",children:"Settings"}),(0,s.jsx)("nav",{className:"mb-8 flex flex-wrap gap-1 text-xs",children:[{href:"#connection",label:"Connection"},{href:"#account",label:"Account"},{href:"#resources",label:"Resources"}].map(e=>(0,s.jsx)("a",{href:e.href,className:"rounded-md px-2.5 py-1 text-gray-500 hover:text-cyan-300 hover:bg-cyan-500/10 transition-colors",children:e.label},e.href))}),(0,s.jsxs)("div",{className:"max-w-2xl space-y-10",children:[(0,s.jsxs)("div",{id:"connection",className:"space-y-4 scroll-mt-6",children:[(0,s.jsxs)("div",{className:"flex items-center gap-2 px-1",children:[(0,s.jsx)("div",{className:"text-[11px] uppercase tracking-[0.14em] text-gray-400 font-semibold",children:"Connection"}),(0,s.jsx)("div",{className:"flex-1 h-px bg-[#2a2a4a]"})]}),(0,s.jsxs)("section",{className:"bg-[#111128] border border-[#2a2a4a] rounded-xl p-5",children:[(0,s.jsx)("h2",{className:"text-sm font-semibold text-gray-300 mb-4",children:"CommHub Connection"}),(0,s.jsxs)("div",{className:"space-y-3 text-sm",children:[(0,s.jsxs)("div",{className:b,children:[(0,s.jsx)("span",{className:"text-gray-500 shrink-0",children:"Hub URL"}),(0,s.jsx)("span",{className:`text-cyan-300 ${j}`,children:e?.hub||"not configured"})]}),(0,s.jsxs)("div",{className:b,children:[(0,s.jsx)("span",{className:"text-gray-500",children:"Config Source"}),(0,s.jsx)("span",{className:`text-gray-300 ${j}`,children:e?.source==="file"?"Local file (~/.anet/config.json)":e?.source==="runtime-env"?"Vercel env vars":"Missing"})]}),(0,s.jsxs)("div",{className:b,children:[(0,s.jsx)("span",{className:"text-gray-500",children:"Auth Token"}),(0,s.jsx)("span",{className:`${e?.tokenConfigured?"text-green-400":"text-red-400"} ${j}`,children:e?.tokenConfigured?`Configured (${e.tokenPreview})`:"Not configured"})]}),(0,s.jsxs)("div",{className:b,children:[(0,s.jsx)("span",{className:"text-gray-500",children:"Server Auth"}),(0,s.jsx)("span",{className:`${l?.auth==="enabled"?"text-green-400":"text-yellow-400"} sm:text-right`,children:l?.auth||"--"})]}),e?.error&&(0,s.jsx)("div",{className:"border-t border-[#2a2a4a] pt-3 text-xs text-gray-600",children:e.error})]})]}),(0,s.jsxs)("section",{className:"bg-[#111128] border border-[#2a2a4a] rounded-xl p-5",children:[(0,s.jsx)("h2",{className:"text-sm font-semibold text-gray-300 mb-4",children:"Server Info"}),(0,s.jsxs)("div",{className:"space-y-3 text-sm",children:[(0,s.jsxs)("div",{className:b,children:[(0,s.jsx)("span",{className:"text-gray-500",children:"Version"}),(0,s.jsx)("span",{className:`text-gray-300 ${j}`,children:l?.version||"--"})]}),(0,s.jsxs)("div",{className:b,children:[(0,s.jsx)("span",{className:"text-gray-500",children:"Sessions"}),(0,s.jsx)("span",{className:`text-gray-300 ${j}`,children:l?.sessions??"--"})]}),(0,s.jsxs)("div",{className:b,children:[(0,s.jsxs)("span",{className:"text-gray-500",children:["SSE streams ",(0,s.jsx)("span",{className:"text-gray-600",children:"· server"})]}),(0,s.jsx)("span",{className:`text-gray-300 ${j}`,children:l?.sse_connections??"--"})]}),(0,s.jsxs)("div",{className:b,children:[(0,s.jsx)("span",{className:"text-gray-500",children:"Uptime"}),(0,s.jsx)("span",{className:`text-gray-300 ${j}`,children:l?.uptime?`${Math.floor(l.uptime/3600)}h ${Math.floor(l.uptime%3600/60)}m`:"--"})]})]})]}),(0,s.jsxs)("section",{className:"bg-[#111128] border border-[#2a2a4a] rounded-xl p-5",children:[(0,s.jsx)("h2",{className:"text-sm font-semibold text-gray-300 mb-4",children:"Dashboard"}),(0,s.jsxs)("div",{className:"space-y-3 text-sm",children:[(0,s.jsxs)("div",{className:b,children:[(0,s.jsx)("span",{className:"text-gray-500",children:"Version"}),(0,s.jsx)("span",{className:`text-gray-300 font-mono ${j}`,title:"From package.json @sleep2agi/agent-network-dashboard",children:n.DASHBOARD_VERSION})]}),(0,s.jsxs)("div",{className:b,children:[(0,s.jsx)("span",{className:"text-gray-500",children:"Data Layer"}),(0,s.jsx)("span",{className:`text-gray-300 ${j}`,children:"SWR (5s refresh, 3s dedup)"})]}),(0,s.jsxs)("div",{className:b,children:[(0,s.jsx)("span",{className:"text-gray-500",children:"Pages"}),(0,s.jsx)("span",{className:`text-gray-300 ${j}`,children:"Overview, Tasks, Nodes, Messages, Networks, Audit, Server Logs, Admin, Settings"})]})]})]})]}),(0,s.jsxs)("div",{id:"account",className:"space-y-4 scroll-mt-6",children:[(0,s.jsxs)("div",{className:"flex items-center gap-2 px-1",children:[(0,s.jsx)("div",{className:"text-[11px] uppercase tracking-[0.14em] text-gray-400 font-semibold",children:"Account"}),(0,s.jsx)("div",{className:"flex-1 h-px bg-[#2a2a4a]"})]}),(0,s.jsxs)("section",{className:"bg-[#111128] border border-[#2a2a4a] rounded-xl p-5",children:[(0,s.jsxs)("h2",{className:"text-sm font-semibold text-gray-300 mb-4 flex items-center gap-2",children:["License",i?.license&&(0,s.jsxs)("span",{className:`inline-flex items-center gap-1.5 text-[10px] font-medium px-2 py-0.5 rounded-full border ${"pro"===i.license.type?"text-green-300 bg-green-500/10 border-green-500/30":i.license.days_left<=7?"text-red-300 bg-red-500/10 border-red-500/30":"text-amber-300 bg-amber-500/10 border-amber-500/30"}`,children:[(0,s.jsx)("span",{"aria-hidden":!0,className:"w-1.5 h-1.5 rounded-full bg-current"}),i.license.type,i.license.days_left?` \xb7 ${i.license.days_left}d left`:""]})]}),i?.license?(0,s.jsxs)("div",{className:"space-y-3 text-sm",children:[i.license.days_left<=7&&(0,s.jsxs)("div",{className:b,children:[(0,s.jsx)("span",{className:"text-red-400 font-medium",children:"⚠ Expiring soon"}),(0,s.jsxs)("span",{className:"text-red-400",children:[i.license.days_left," days left"]})]}),(0,s.jsxs)("div",{className:b,children:[(0,s.jsx)("span",{className:"text-gray-500",children:"Expires"}),(0,s.jsx)("span",{className:`text-gray-300 ${j}`,children:i.license.expires_at})]}),i.limits&&(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)("div",{className:b,children:[(0,s.jsx)("span",{className:"text-gray-500",children:"Max Agents"}),(0,s.jsx)("span",{className:`text-gray-300 ${j}`,children:i.limits.max_agents})]}),(0,s.jsxs)("div",{className:b,children:[(0,s.jsx)("span",{className:"text-gray-500",children:"Max Networks"}),(0,s.jsx)("span",{className:`text-gray-300 ${j}`,children:i.limits.max_networks})]}),(0,s.jsxs)("div",{className:b,children:[(0,s.jsx)("span",{className:"text-gray-500",children:"Tasks/Day"}),(0,s.jsx)("span",{className:`text-gray-300 ${j}`,children:i.limits.max_tasks_day})]})]}),(0,s.jsxs)("div",{className:"pt-3 border-t border-[#2a2a4a]",children:[(0,s.jsxs)("div",{className:"flex gap-2",children:[(0,s.jsx)("input",{type:"text",value:c,onChange:e=>d(e.target.value),placeholder:"anet-XXXX-XXXX-XXXX-XXXX",className:"flex-1 bg-[#0a0a15] border border-[#2a2a4a] rounded px-3 py-2 text-xs text-white placeholder-gray-600 focus:outline-none"}),(0,s.jsx)("button",{onClick:async()=>{if(!c.trim())return;let e=await fetch("/api/hub/license",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({key:c})}),s=await e.json();x(s.ok?`Activated: ${s.type}`:`Failed: ${s.error}`),s.ok&&d(""),setTimeout(()=>x(""),5e3)},className:"px-3 py-2 bg-cyan-600 hover:bg-cyan-500 text-white text-xs rounded transition-colors",children:"Activate"})]}),o&&(0,s.jsx)("div",{className:`mt-2 text-xs ${o.startsWith("Failed")?"text-red-400":"text-green-400"}`,children:o})]})]}):(0,s.jsx)("div",{className:"text-xs text-gray-600",children:"License info not available"})]}),(0,s.jsxs)("section",{className:"bg-[#111128] border border-[#2a2a4a] rounded-xl p-5",children:[(0,s.jsx)("h2",{className:"text-sm font-semibold text-gray-300 mb-4",children:"Change Password"}),(0,s.jsxs)("div",{className:"space-y-3",children:[(0,s.jsx)("input",{type:"password",value:m,onChange:e=>h(e.target.value),placeholder:"Current 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,s.jsx)("input",{type:"password",value:g,onChange:e=>u(e.target.value),placeholder:"New 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,s.jsx)("button",{onClick:async()=>{if(!m||!g)return;let e=sessionStorage.getItem("anet_v3_auth");if(!e)return void N("Not logged in with V3 auth");let{token:s}=JSON.parse(e),a=await fetch("/api/hub/auth",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"change_password",token:s,current_password:m,new_password:g})}),t=await a.json();if(N(t.ok?"Password changed":`Failed: ${t.error}`),t.ok){if(t.token){let s=JSON.parse(e);sessionStorage.setItem("anet_v3_auth",JSON.stringify({...s,token:t.token}))}h(""),u("")}setTimeout(()=>N(""),5e3)},disabled:!m||!g,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:"Change Password"})]}),p&&(0,s.jsx)("div",{className:`mt-2 text-xs ${p.startsWith("Failed")?"text-red-400":"text-green-400"}`,children:p})]}),(0,s.jsxs)("section",{className:"bg-[#111128] border border-[#2a2a4a] rounded-xl p-5",children:[(0,s.jsx)("h2",{className:"text-sm font-semibold text-gray-300 mb-4",children:"Sign out"}),(0,s.jsx)("p",{className:"text-xs text-gray-500 mb-3",children:"Signing out clears your dashboard session cookie. You'll return to the login page."}),(0,s.jsx)("button",{onClick:async()=>{await fetch("/api/auth/logout",{method:"POST"}).catch(()=>{}),window.location.assign("/login")},className:"px-4 py-2 bg-transparent hover:bg-[#1a1a2a] text-gray-300 text-sm rounded-lg border border-[#2a2a4a] hover:border-[#3a3a5a] transition-colors",children:"Sign out"})]})]}),(0,s.jsxs)("div",{id:"resources",className:"space-y-4 scroll-mt-6",children:[(0,s.jsxs)("div",{className:"flex items-center gap-2 px-1",children:[(0,s.jsx)("div",{className:"text-[11px] uppercase tracking-[0.14em] text-gray-400 font-semibold",children:"Resources"}),(0,s.jsx)("div",{className:"flex-1 h-px bg-[#2a2a4a]"})]}),(0,s.jsxs)("div",{className:"grid grid-cols-1 sm:grid-cols-2 gap-4",children:[(0,s.jsxs)(t.default,{href:"/settings/tokens",className:"bg-[#111128] border border-[#2a2a4a] rounded-xl p-5 hover:border-cyan-500/30 transition-colors",children:[(0,s.jsx)("h2",{className:"text-sm font-semibold text-gray-300",children:"API Tokens"}),(0,s.jsx)("p",{className:"text-xs text-gray-500 mt-2",children:"Create and manage tokens for CLI access."}),(0,s.jsx)("span",{className:"text-xs text-cyan-400 mt-3 inline-block",children:"Manage →"})]}),(0,s.jsxs)(t.default,{href:"/settings/networks",className:"bg-[#111128] border border-[#2a2a4a] rounded-xl p-5 hover:border-cyan-500/30 transition-colors",children:[(0,s.jsx)("h2",{className:"text-sm font-semibold text-gray-300",children:"Networks"}),(0,s.jsx)("p",{className:"text-xs text-gray-500 mt-2",children:"Create, manage, and delete agent networks."}),(0,s.jsx)("span",{className:"text-xs text-cyan-400 mt-3 inline-block",children:"Manage →"})]})]})]})]})]})}])}]);
|
|
@@ -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 r(e){let r=t(e);if(null===r)return null;let s=Math.floor((Date.now()-r)/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,r],59746),e.s(["formatUptime",0,function(e){let t=Math.floor(e/3600),r=Math.floor(e%3600/60);return t>0?`${t}h ${r}m`:`${r}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 r(e)??"--"}],3479)},46228,e=>{"use strict";var t=e.i(22381);let r=[180,200,220,270,300,330,30,90];function s(e){let t=0;for(let r=0;r<e.length;r++)t=31*t+e.charCodeAt(r)>>>0;let s=r[t%r.length];return{bg:`hsl(${s} 55% 22%)`,ring:`hsl(${s} 60% 45%)`,text:`hsl(${s} 80% 78%)`}}function n(e){return e?(e.trim().match(/[\p{L}\p{N}]/u)?.[0]||e.trim()[0]||"·").toUpperCase():"·"}e.s(["AliasAvatar",0,function({alias:e,size:r=28,className:i=""}){let a=s(e),l=Math.max(9,Math.round(.42*r));return(0,t.jsx)("span",{className:`anet-alias-avatar inline-flex items-center justify-center rounded-full border shrink-0 font-semibold ${i}`,style:{width:r,height:r,fontSize:l,backgroundColor:a.bg,borderColor:a.ring,color:a.text},title:e,"aria-hidden":!0,children:n(e)})},"aliasAvatarColors",0,s,"aliasInitial",0,n])},76161,e=>{"use strict";var t=e.i(22381),r=e.i(23910),s=e.i(56839);let n={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 i({variant:e,size:r}){let s={width:r,height:r},n={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",...s,children:(0,t.jsxs)("g",{...n,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",...s,children:(0,t.jsxs)("g",{...n,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",...s,children:(0,t.jsxs)("g",{...n,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",...s,children:(0,t.jsxs)("g",{...n,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",...s,children:(0,t.jsxs)("g",{...n,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",...s,children:(0,t.jsxs)("g",{...n,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",...s,children:(0,t.jsxs)("g",{...n,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 a({variant:e="generic",title:r,sub:l,cta:o,compact:c=!1}){let d=n[e],x=r??d.title,h=l??d.sub;return(0,t.jsxs)("div",{className:`text-center ${c?"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)(i,{variant:e,size:c?40:56})}),(0,t.jsx)("h3",{className:`font-medium text-gray-300 ${c?"text-sm":"text-base"}`,children:x}),h&&(0,t.jsx)("p",{className:`text-gray-500 ${c?"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)(s.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[s,n]=(0,r.useState)(!1),i=async()=>{try{await navigator.clipboard.writeText(e),n(!0),setTimeout(()=>n(!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:i,"aria-label":s?"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:s?(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,a,"NodesEmptyState",0,function({hint:e,taskHistoryCount:r=0}){return e?.global_count?(0,t.jsx)(l,{children:(0,t.jsx)(a,{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.`})}):r>0?(0,t.jsx)(l,{children:(0,t.jsx)(a,{variant:"nodes",title:"No agents online",sub:`Every agent in this network is currently offline. ${r.toLocaleString()} task${1===r?"":"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),r=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()},n={refreshInterval:5e3,dedupingInterval:3e3};function i(e,t){if(!t)return e;let r=e.includes("?")?"&":"?";return`${e}${r}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:r}=(0,t.default)("/api/hub/health",s,n);return{health:e||null,error:r}},"useLicense",0,function(){let{data:e,error:r}=(0,t.default)("/api/hub/license",s,{refreshInterval:6e4});return{license:e?.ok?e:null,error:r}},"useMessages",0,function(e=100){let{networkId:a}=(0,r.useNetworkId)(),{data:l,error:o,isLoading:c}=(0,t.default)(i(`/api/hub/messages?limit=${e}`,a),s,n);return{messages:l?.messages||[],error:o,isLoading:c}},"useSessions",0,function(){let{networkId:e}=(0,r.useNetworkId)(),{data:a,error:l,isLoading:o}=(0,t.default)(i("/api/hub/status",e),s,n);return{sessions:a?.sessions||[],hint:a?._hint,error:l,isLoading:o}},"useStats",0,function(){let{networkId:e}=(0,r.useNetworkId)(),{data:a,error:l}=(0,t.default)(i("/api/hub/stats",e),s,n);return{stats:a?.ok?a:null,error:l}},"useTasks",0,function(e){let{networkId:a}=(0,r.useNetworkId)(),l=new URLSearchParams({limit:"100",...e}).toString(),{data:o,error:c,isLoading:d}=(0,t.default)(i(`/api/hub/tasks?${l}`,a),s,n);return{tasks:o?.tasks||[],count:o?.count??0,source:o?.source,error:c,isLoading:d}}])},70286,e=>{"use strict";e.s(["DASHBOARD_VERSION",0,"0.5.3-preview.12"],70286)}]);
|
|
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 r(e){let r=t(e);if(null===r)return null;let s=Math.floor((Date.now()-r)/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,r],59746),e.s(["formatUptime",0,function(e){let t=Math.floor(e/3600),r=Math.floor(e%3600/60);return t>0?`${t}h ${r}m`:`${r}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 r(e)??"--"}],3479)},46228,e=>{"use strict";var t=e.i(22381);let r=[180,200,220,270,300,330,30,90];function s(e){let t=0;for(let r=0;r<e.length;r++)t=31*t+e.charCodeAt(r)>>>0;let s=r[t%r.length];return{bg:`hsl(${s} 55% 22%)`,ring:`hsl(${s} 60% 45%)`,text:`hsl(${s} 80% 78%)`}}function n(e){return e?(e.trim().match(/[\p{L}\p{N}]/u)?.[0]||e.trim()[0]||"·").toUpperCase():"·"}e.s(["AliasAvatar",0,function({alias:e,size:r=28,className:i=""}){let a=s(e),l=Math.max(9,Math.round(.42*r));return(0,t.jsx)("span",{className:`anet-alias-avatar inline-flex items-center justify-center rounded-full border shrink-0 font-semibold ${i}`,style:{width:r,height:r,fontSize:l,backgroundColor:a.bg,borderColor:a.ring,color:a.text},title:e,"aria-hidden":!0,children:n(e)})},"aliasAvatarColors",0,s,"aliasInitial",0,n])},76161,e=>{"use strict";var t=e.i(22381),r=e.i(23910),s=e.i(56839);let n={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 i({variant:e,size:r}){let s={width:r,height:r},n={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",...s,children:(0,t.jsxs)("g",{...n,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",...s,children:(0,t.jsxs)("g",{...n,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",...s,children:(0,t.jsxs)("g",{...n,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",...s,children:(0,t.jsxs)("g",{...n,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",...s,children:(0,t.jsxs)("g",{...n,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",...s,children:(0,t.jsxs)("g",{...n,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",...s,children:(0,t.jsxs)("g",{...n,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 a({variant:e="generic",title:r,sub:l,cta:o,compact:c=!1}){let d=n[e],x=r??d.title,h=l??d.sub;return(0,t.jsxs)("div",{className:`text-center ${c?"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)(i,{variant:e,size:c?40:56})}),(0,t.jsx)("h3",{className:`font-medium text-gray-300 ${c?"text-sm":"text-base"}`,children:x}),h&&(0,t.jsx)("p",{className:`text-gray-500 ${c?"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)(s.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[s,n]=(0,r.useState)(!1),i=async()=>{try{await navigator.clipboard.writeText(e),n(!0),setTimeout(()=>n(!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:i,"aria-label":s?"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:s?(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,a,"NodesEmptyState",0,function({hint:e,taskHistoryCount:r=0}){return e?.global_count?(0,t.jsx)(l,{children:(0,t.jsx)(a,{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.`})}):r>0?(0,t.jsx)(l,{children:(0,t.jsx)(a,{variant:"nodes",title:"No agents online",sub:`Every agent in this network is currently offline. ${r.toLocaleString()} task${1===r?"":"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),r=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()},n={refreshInterval:5e3,dedupingInterval:3e3};function i(e,t){if(!t)return e;let r=e.includes("?")?"&":"?";return`${e}${r}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:r}=(0,t.default)("/api/hub/health",s,n);return{health:e||null,error:r}},"useLicense",0,function(){let{data:e,error:r}=(0,t.default)("/api/hub/license",s,{refreshInterval:6e4});return{license:e?.ok?e:null,error:r}},"useMessages",0,function(e=100){let{networkId:a}=(0,r.useNetworkId)(),{data:l,error:o,isLoading:c}=(0,t.default)(i(`/api/hub/messages?limit=${e}`,a),s,n);return{messages:l?.messages||[],error:o,isLoading:c}},"useSessions",0,function(){let{networkId:e}=(0,r.useNetworkId)(),{data:a,error:l,isLoading:o}=(0,t.default)(i("/api/hub/status",e),s,n);return{sessions:a?.sessions||[],hint:a?._hint,error:l,isLoading:o}},"useStats",0,function(){let{networkId:e}=(0,r.useNetworkId)(),{data:a,error:l}=(0,t.default)(i("/api/hub/stats",e),s,n);return{stats:a?.ok?a:null,error:l}},"useTasks",0,function(e){let{networkId:a}=(0,r.useNetworkId)(),l=new URLSearchParams({limit:"100",...e}).toString(),{data:o,error:c,isLoading:d}=(0,t.default)(i(`/api/hub/tasks?${l}`,a),s,n);return{tasks:o?.tasks||[],count:o?.count??0,source:o?.source,error:c,isLoading:d}}])},70286,e=>{"use strict";e.s(["DASHBOARD_VERSION",0,"0.5.3-preview.14"],70286)}]);
|
package/.next/trace
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
[{"name":"generate-buildid","duration":366,"timestamp":191819503244,"id":4,"parentId":1,"tags":{},"startTime":1778999791750,"traceId":"8d9bf61714df8075"},{"name":"load-custom-routes","duration":1437,"timestamp":191819503846,"id":5,"parentId":1,"tags":{},"startTime":1778999791750,"traceId":"8d9bf61714df8075"},{"name":"create-dist-dir","duration":1631,"timestamp":191819505477,"id":6,"parentId":1,"tags":{},"startTime":1778999791752,"traceId":"8d9bf61714df8075"},{"name":"clean","duration":40497,"timestamp":191819508721,"id":7,"parentId":1,"tags":{},"startTime":1778999791755,"traceId":"8d9bf61714df8075"},{"name":"discover-routes","duration":28871,"timestamp":191819648579,"id":8,"parentId":1,"tags":{},"startTime":1778999791895,"traceId":"8d9bf61714df8075"},{"name":"create-root-mapping","duration":151,"timestamp":191819677539,"id":9,"parentId":1,"tags":{},"startTime":1778999791924,"traceId":"8d9bf61714df8075"},{"name":"generate-route-types","duration":27146,"timestamp":191819680166,"id":10,"parentId":1,"tags":{},"startTime":1778999791926,"traceId":"8d9bf61714df8075"},{"name":"public-dir-conflict-check","duration":129,"timestamp":191819707414,"id":11,"parentId":1,"tags":{},"startTime":1778999791954,"traceId":"8d9bf61714df8075"},{"name":"generate-routes-manifest","duration":4975,"timestamp":191819707664,"id":12,"parentId":1,"tags":{},"startTime":1778999791954,"traceId":"8d9bf61714df8075"},{"name":"run-turbopack","duration":7581746,"timestamp":191819728852,"id":14,"parentId":1,"tags":{},"startTime":1778999791975,"traceId":"8d9bf61714df8075"},{"name":"turbopack-build-events","duration":77,"timestamp":191820094165,"id":15,"parentId":1,"tags":{},"startTime":1778999792340,"traceId":"8d9bf61714df8075"},{"name":"run-typescript","duration":11160716,"timestamp":191827320119,"id":16,"parentId":1,"tags":{},"startTime":1778999799566,"traceId":"8d9bf61714df8075"},{"name":"generate-required-server-files","duration":3067,"timestamp":191838482237,"id":18,"parentId":1,"tags":{},"startTime":1778999810729,"traceId":"8d9bf61714df8075"},{"name":"check-static-error-page","duration":18440,"timestamp":191838765659,"id":20,"parentId":19,"tags":{},"startTime":1778999811012,"traceId":"8d9bf61714df8075"},{"name":"is-page-static","duration":611033,"timestamp":191838789594,"id":65,"parentId":22,"tags":{},"startTime":1778999811036,"traceId":"8d9bf61714df8075"},{"name":"check-page","duration":631698,"timestamp":191838769133,"id":22,"parentId":19,"tags":{"page":"/_global-error"},"startTime":1778999811015,"traceId":"8d9bf61714df8075"},{"name":"is-page-static","duration":724368,"timestamp":191838789764,"id":67,"parentId":26,"tags":{},"startTime":1778999811036,"traceId":"8d9bf61714df8075"},{"name":"check-page","duration":741491,"timestamp":191838772747,"id":26,"parentId":19,"tags":{"page":"/api/auth/logout"},"startTime":1778999811019,"traceId":"8d9bf61714df8075"},{"name":"is-page-static","duration":748492,"timestamp":191838790203,"id":70,"parentId":29,"tags":{},"startTime":1778999811036,"traceId":"8d9bf61714df8075"},{"name":"check-page","duration":765560,"timestamp":191838773220,"id":29,"parentId":19,"tags":{"page":"/api/hub/auth"},"startTime":1778999811019,"traceId":"8d9bf61714df8075"},{"name":"is-page-static","duration":760117,"timestamp":191838789844,"id":68,"parentId":27,"tags":{},"startTime":1778999811036,"traceId":"8d9bf61714df8075"},{"name":"check-page","duration":777159,"timestamp":191838772898,"id":27,"parentId":19,"tags":{"page":"/api/auth/v3"},"startTime":1778999811019,"traceId":"8d9bf61714df8075"},{"name":"is-page-static","duration":774805,"timestamp":191838790455,"id":72,"parentId":32,"tags":{},"startTime":1778999811037,"traceId":"8d9bf61714df8075"},{"name":"check-page","duration":791266,"timestamp":191838774081,"id":32,"parentId":19,"tags":{"page":"/api/hub/health"},"startTime":1778999811020,"traceId":"8d9bf61714df8075"},{"name":"is-page-static","duration":790213,"timestamp":191838789905,"id":69,"parentId":28,"tags":{},"startTime":1778999811036,"traceId":"8d9bf61714df8075"},{"name":"check-page","duration":807113,"timestamp":191838773082,"id":28,"parentId":19,"tags":{"page":"/api/hub/audit-log"},"startTime":1778999811019,"traceId":"8d9bf61714df8075"},{"name":"is-page-static","duration":792734,"timestamp":191838790762,"id":75,"parentId":35,"tags":{},"startTime":1778999811037,"traceId":"8d9bf61714df8075"},{"name":"check-page","duration":809045,"timestamp":191838774518,"id":35,"parentId":19,"tags":{"page":"/api/hub/messages"},"startTime":1778999811021,"traceId":"8d9bf61714df8075"},{"name":"is-page-static","duration":799135,"timestamp":191838790636,"id":73,"parentId":33,"tags":{},"startTime":1778999811037,"traceId":"8d9bf61714df8075"},{"name":"check-page","duration":815598,"timestamp":191838774239,"id":33,"parentId":19,"tags":{"page":"/api/hub/inbox"},"startTime":1778999811021,"traceId":"8d9bf61714df8075"},{"name":"is-page-static","duration":802087,"timestamp":191838790833,"id":77,"parentId":37,"tags":{},"startTime":1778999811037,"traceId":"8d9bf61714df8075"},{"name":"check-page","duration":817567,"timestamp":191838775416,"id":37,"parentId":19,"tags":{"page":"/api/hub/nodes"},"startTime":1778999811022,"traceId":"8d9bf61714df8075"},{"name":"is-page-static","duration":807106,"timestamp":191838790866,"id":79,"parentId":39,"tags":{},"startTime":1778999811037,"traceId":"8d9bf61714df8075"},{"name":"check-page","duration":822299,"timestamp":191838775736,"id":39,"parentId":19,"tags":{"page":"/api/hub/send"},"startTime":1778999811022,"traceId":"8d9bf61714df8075"},{"name":"is-page-static","duration":811766,"timestamp":191838790880,"id":80,"parentId":40,"tags":{},"startTime":1778999811037,"traceId":"8d9bf61714df8075"},{"name":"check-page","duration":826837,"timestamp":191838775855,"id":40,"parentId":19,"tags":{"page":"/api/hub/server-logs"},"startTime":1778999811022,"traceId":"8d9bf61714df8075"},{"name":"is-page-static","duration":812913,"timestamp":191838790727,"id":74,"parentId":34,"tags":{},"startTime":1778999811037,"traceId":"8d9bf61714df8075"},{"name":"check-page","duration":829312,"timestamp":191838774369,"id":34,"parentId":19,"tags":{"page":"/api/hub/license"},"startTime":1778999811021,"traceId":"8d9bf61714df8075"},{"name":"is-page-static","duration":819499,"timestamp":191838790908,"id":82,"parentId":44,"tags":{},"startTime":1778999811037,"traceId":"8d9bf61714df8075"},{"name":"check-page","duration":833723,"timestamp":191838776731,"id":44,"parentId":19,"tags":{"page":"/api/hub/session"},"startTime":1778999811023,"traceId":"8d9bf61714df8075"},{"name":"is-page-static","duration":822585,"timestamp":191838790894,"id":81,"parentId":42,"tags":{},"startTime":1778999811037,"traceId":"8d9bf61714df8075"},{"name":"check-page","duration":837243,"timestamp":191838776297,"id":42,"parentId":19,"tags":{"page":"/api/hub/server/[hostname]/health"},"startTime":1778999811023,"traceId":"8d9bf61714df8075"},{"name":"is-page-static","duration":830273,"timestamp":191838790934,"id":84,"parentId":46,"tags":{},"startTime":1778999811037,"traceId":"8d9bf61714df8075"},{"name":"check-page","duration":844230,"timestamp":191838777026,"id":46,"parentId":19,"tags":{"page":"/api/hub/status"},"startTime":1778999811023,"traceId":"8d9bf61714df8075"},{"name":"is-page-static","duration":830624,"timestamp":191838790784,"id":76,"parentId":36,"tags":{},"startTime":1778999811037,"traceId":"8d9bf61714df8075"},{"name":"check-page","duration":846254,"timestamp":191838775186,"id":36,"parentId":19,"tags":{"page":"/api/hub/networks"},"startTime":1778999811021,"traceId":"8d9bf61714df8075"},{"name":"is-page-static","duration":836495,"timestamp":191838790948,"id":85,"parentId":47,"tags":{},"startTime":1778999811037,"traceId":"8d9bf61714df8075"},{"name":"check-page","duration":850349,"timestamp":191838777150,"id":47,"parentId":19,"tags":{"page":"/api/hub/task-events"},"startTime":1778999811023,"traceId":"8d9bf61714df8075"},{"name":"is-page-static","duration":839495,"timestamp":191838790958,"id":86,"parentId":48,"tags":{},"startTime":1778999811037,"traceId":"8d9bf61714df8075"},{"name":"check-page","duration":850910,"timestamp":191838779596,"id":48,"parentId":19,"tags":{"page":"/api/hub/tasks"},"startTime":1778999811026,"traceId":"8d9bf61714df8075"},{"name":"is-page-static","duration":840521,"timestamp":191838790855,"id":78,"parentId":38,"tags":{},"startTime":1778999811037,"traceId":"8d9bf61714df8075"},{"name":"check-page","duration":855804,"timestamp":191838775615,"id":38,"parentId":19,"tags":{"page":"/api/hub/register"},"startTime":1778999811022,"traceId":"8d9bf61714df8075"},{"name":"is-page-static","duration":843108,"timestamp":191838790970,"id":87,"parentId":49,"tags":{},"startTime":1778999811037,"traceId":"8d9bf61714df8075"},{"name":"check-page","duration":854362,"timestamp":191838779762,"id":49,"parentId":19,"tags":{"page":"/api/hub/tmux"},"startTime":1778999811026,"traceId":"8d9bf61714df8075"},{"name":"is-page-static","duration":845186,"timestamp":191838790995,"id":89,"parentId":51,"tags":{},"startTime":1778999811037,"traceId":"8d9bf61714df8075"},{"name":"check-page","duration":856251,"timestamp":191838779976,"id":51,"parentId":19,"tags":{"page":"/favicon.ico"},"startTime":1778999811026,"traceId":"8d9bf61714df8075"},{"name":"is-page-static","duration":845766,"timestamp":191838790983,"id":88,"parentId":50,"tags":{},"startTime":1778999811037,"traceId":"8d9bf61714df8075"},{"name":"check-page","duration":856918,"timestamp":191838779881,"id":50,"parentId":19,"tags":{"page":"/api/hub/tokens"},"startTime":1778999811026,"traceId":"8d9bf61714df8075"},{"name":"is-page-static","duration":843199,"timestamp":191838795108,"id":90,"parentId":24,"tags":{},"startTime":1778999811041,"traceId":"8d9bf61714df8075"},{"name":"check-page","duration":868669,"timestamp":191838769682,"id":24,"parentId":19,"tags":{"page":"/api/anet/config"},"startTime":1778999811016,"traceId":"8d9bf61714df8075"},{"name":"is-page-static","duration":848852,"timestamp":191838790919,"id":83,"parentId":45,"tags":{},"startTime":1778999811037,"traceId":"8d9bf61714df8075"},{"name":"check-page","duration":862943,"timestamp":191838776879,"id":45,"parentId":19,"tags":{"page":"/api/hub/stats"},"startTime":1778999811023,"traceId":"8d9bf61714df8075"},{"name":"is-page-static","duration":846384,"timestamp":191838796300,"id":91,"parentId":31,"tags":{},"startTime":1778999811043,"traceId":"8d9bf61714df8075"},{"name":"check-page","duration":868997,"timestamp":191838773728,"id":31,"parentId":19,"tags":{"page":"/api/hub/events"},"startTime":1778999811020,"traceId":"8d9bf61714df8075"},{"name":"is-page-static","duration":847300,"timestamp":191838798519,"id":93,"parentId":43,"tags":{},"startTime":1778999811045,"traceId":"8d9bf61714df8075"},{"name":"check-page","duration":869790,"timestamp":191838776437,"id":43,"parentId":19,"tags":{"page":"/api/hub/servers"},"startTime":1778999811023,"traceId":"8d9bf61714df8075"},{"name":"is-page-static","duration":861961,"timestamp":191838789694,"id":66,"parentId":25,"tags":{},"startTime":1778999811036,"traceId":"8d9bf61714df8075"},{"name":"check-page","duration":879147,"timestamp":191838772553,"id":25,"parentId":19,"tags":{"page":"/api/auth/login"},"startTime":1778999811019,"traceId":"8d9bf61714df8075"},{"name":"is-page-static","duration":867424,"timestamp":191838790389,"id":71,"parentId":30,"tags":{},"startTime":1778999811037,"traceId":"8d9bf61714df8075"},{"name":"check-page","duration":884291,"timestamp":191838773567,"id":30,"parentId":19,"tags":{"page":"/api/hub/broadcast"},"startTime":1778999811020,"traceId":"8d9bf61714df8075"},{"name":"is-page-static","duration":875356,"timestamp":191838797228,"id":92,"parentId":41,"tags":{},"startTime":1778999811044,"traceId":"8d9bf61714df8075"},{"name":"check-page","duration":896685,"timestamp":191838775956,"id":41,"parentId":19,"tags":{"page":"/api/hub/server/[hostname]/agents"},"startTime":1778999811022,"traceId":"8d9bf61714df8075"},{"name":"is-page-static","duration":907766,"timestamp":191838800837,"id":96,"parentId":53,"tags":{},"startTime":1778999811047,"traceId":"8d9bf61714df8075"},{"name":"check-page","duration":927984,"timestamp":191838780696,"id":53,"parentId":19,"tags":{"page":"/logs"},"startTime":1778999811027,"traceId":"8d9bf61714df8075"},{"name":"is-page-static","duration":928776,"timestamp":191838789289,"id":64,"parentId":21,"tags":{},"startTime":1778999811036,"traceId":"8d9bf61714df8075"},{"name":"check-page","duration":950709,"timestamp":191838767425,"id":21,"parentId":19,"tags":{"page":"/_not-found"},"startTime":1778999811014,"traceId":"8d9bf61714df8075"},{"name":"is-page-static","duration":917464,"timestamp":191838800886,"id":100,"parentId":58,"tags":{},"startTime":1778999811047,"traceId":"8d9bf61714df8075"},{"name":"check-page","duration":936032,"timestamp":191838782361,"id":58,"parentId":19,"tags":{"page":"/server-logs"},"startTime":1778999811029,"traceId":"8d9bf61714df8075"},{"name":"is-page-static","duration":928170,"timestamp":191838801026,"id":101,"parentId":59,"tags":{},"startTime":1778999811047,"traceId":"8d9bf61714df8075"},{"name":"check-page","duration":946697,"timestamp":191838782579,"id":59,"parentId":19,"tags":{"page":"/settings/networks"},"startTime":1778999811029,"traceId":"8d9bf61714df8075"},{"name":"is-page-static","duration":937031,"timestamp":191838800827,"id":95,"parentId":52,"tags":{},"startTime":1778999811047,"traceId":"8d9bf61714df8075"},{"name":"check-page","duration":957477,"timestamp":191838780433,"id":52,"parentId":19,"tags":{"page":"/login"},"startTime":1778999811027,"traceId":"8d9bf61714df8075"},{"name":"is-page-static","duration":937018,"timestamp":191838801047,"id":102,"parentId":61,"tags":{},"startTime":1778999811047,"traceId":"8d9bf61714df8075"},{"name":"check-page","duration":954629,"timestamp":191838783474,"id":61,"parentId":19,"tags":{"page":"/settings/tokens"},"startTime":1778999811030,"traceId":"8d9bf61714df8075"},{"name":"is-page-static","duration":943296,"timestamp":191838800794,"id":94,"parentId":23,"tags":{},"startTime":1778999811047,"traceId":"8d9bf61714df8075"},{"name":"check-page","duration":974708,"timestamp":191838769435,"id":23,"parentId":19,"tags":{"page":"/admin"},"startTime":1778999811016,"traceId":"8d9bf61714df8075"},{"name":"is-page-static","duration":942215,"timestamp":191838808780,"id":105,"parentId":60,"tags":{},"startTime":1778999811055,"traceId":"8d9bf61714df8075"},{"name":"check-page","duration":968295,"timestamp":191838782765,"id":60,"parentId":19,"tags":{"page":"/settings"},"startTime":1778999811029,"traceId":"8d9bf61714df8075"},{"name":"is-page-static","duration":912228,"timestamp":191838840111,"id":106,"parentId":57,"tags":{},"startTime":1778999811086,"traceId":"8d9bf61714df8075"},{"name":"check-page","duration":970662,"timestamp":191838781717,"id":57,"parentId":19,"tags":{"page":"/"},"startTime":1778999811028,"traceId":"8d9bf61714df8075"},{"name":"is-page-static","duration":951388,"timestamp":191838801070,"id":104,"parentId":63,"tags":{},"startTime":1778999811047,"traceId":"8d9bf61714df8075"},{"name":"check-page","duration":968663,"timestamp":191838783820,"id":63,"parentId":19,"tags":{"page":"/tasks"},"startTime":1778999811030,"traceId":"8d9bf61714df8075"},{"name":"is-page-static","duration":955174,"timestamp":191838800864,"id":98,"parentId":55,"tags":{},"startTime":1778999811047,"traceId":"8d9bf61714df8075"},{"name":"check-page","duration":974948,"timestamp":191838781139,"id":55,"parentId":19,"tags":{"page":"/node"},"startTime":1778999811027,"traceId":"8d9bf61714df8075"},{"name":"is-page-static","duration":960372,"timestamp":191838800877,"id":99,"parentId":56,"tags":{},"startTime":1778999811047,"traceId":"8d9bf61714df8075"},{"name":"check-page","duration":979916,"timestamp":191838781379,"id":56,"parentId":19,"tags":{"page":"/nodes"},"startTime":1778999811028,"traceId":"8d9bf61714df8075"},{"name":"is-page-static","duration":970832,"timestamp":191838801057,"id":103,"parentId":62,"tags":{},"startTime":1778999811047,"traceId":"8d9bf61714df8075"},{"name":"check-page","duration":988304,"timestamp":191838783649,"id":62,"parentId":19,"tags":{"page":"/tasks/[id]"},"startTime":1778999811030,"traceId":"8d9bf61714df8075"},{"name":"is-page-static","duration":985428,"timestamp":191838800851,"id":97,"parentId":54,"tags":{},"startTime":1778999811047,"traceId":"8d9bf61714df8075"},{"name":"check-page","duration":1005450,"timestamp":191838780892,"id":54,"parentId":19,"tags":{"page":"/messages"},"startTime":1778999811027,"traceId":"8d9bf61714df8075"},{"name":"static-check","duration":1021905,"timestamp":191838764476,"id":19,"parentId":1,"tags":{},"startTime":1778999811011,"traceId":"8d9bf61714df8075"}]
|
|
2
|
-
[{"name":"write-routes-manifest","duration":
|
|
1
|
+
[{"name":"generate-buildid","duration":360,"timestamp":192704705811,"id":4,"parentId":1,"tags":{},"startTime":1779000676952,"traceId":"f28285255a4110a9"},{"name":"load-custom-routes","duration":799,"timestamp":192704706371,"id":5,"parentId":1,"tags":{},"startTime":1779000676953,"traceId":"f28285255a4110a9"},{"name":"create-dist-dir","duration":908,"timestamp":192704707236,"id":6,"parentId":1,"tags":{},"startTime":1779000676954,"traceId":"f28285255a4110a9"},{"name":"clean","duration":37066,"timestamp":192704709130,"id":7,"parentId":1,"tags":{},"startTime":1779000676955,"traceId":"f28285255a4110a9"},{"name":"discover-routes","duration":50844,"timestamp":192704855548,"id":8,"parentId":1,"tags":{},"startTime":1779000677102,"traceId":"f28285255a4110a9"},{"name":"create-root-mapping","duration":165,"timestamp":192704906475,"id":9,"parentId":1,"tags":{},"startTime":1779000677153,"traceId":"f28285255a4110a9"},{"name":"generate-route-types","duration":42512,"timestamp":192704914215,"id":10,"parentId":1,"tags":{},"startTime":1779000677160,"traceId":"f28285255a4110a9"},{"name":"public-dir-conflict-check","duration":130,"timestamp":192704956867,"id":11,"parentId":1,"tags":{},"startTime":1779000677203,"traceId":"f28285255a4110a9"},{"name":"generate-routes-manifest","duration":7516,"timestamp":192704957476,"id":12,"parentId":1,"tags":{},"startTime":1779000677204,"traceId":"f28285255a4110a9"},{"name":"run-turbopack","duration":9755327,"timestamp":192704974739,"id":14,"parentId":1,"tags":{},"startTime":1779000677221,"traceId":"f28285255a4110a9"},{"name":"turbopack-build-events","duration":113,"timestamp":192705398696,"id":15,"parentId":1,"tags":{},"startTime":1779000677645,"traceId":"f28285255a4110a9"},{"name":"run-typescript","duration":11768263,"timestamp":192714739515,"id":16,"parentId":1,"tags":{},"startTime":1779000686986,"traceId":"f28285255a4110a9"},{"name":"generate-required-server-files","duration":4346,"timestamp":192726509492,"id":18,"parentId":1,"tags":{},"startTime":1779000698756,"traceId":"f28285255a4110a9"},{"name":"check-static-error-page","duration":17417,"timestamp":192726772512,"id":20,"parentId":19,"tags":{},"startTime":1779000699019,"traceId":"f28285255a4110a9"},{"name":"is-page-static","duration":523009,"timestamp":192726794593,"id":65,"parentId":22,"tags":{},"startTime":1779000699041,"traceId":"f28285255a4110a9"},{"name":"check-page","duration":542278,"timestamp":192726775502,"id":22,"parentId":19,"tags":{"page":"/_global-error"},"startTime":1779000699022,"traceId":"f28285255a4110a9"},{"name":"is-page-static","duration":654081,"timestamp":192726801445,"id":71,"parentId":30,"tags":{},"startTime":1779000699048,"traceId":"f28285255a4110a9"},{"name":"check-page","duration":675078,"timestamp":192726780542,"id":30,"parentId":19,"tags":{"page":"/api/hub/broadcast"},"startTime":1779000699027,"traceId":"f28285255a4110a9"},{"name":"is-page-static","duration":693563,"timestamp":192726801512,"id":72,"parentId":32,"tags":{},"startTime":1779000699048,"traceId":"f28285255a4110a9"},{"name":"check-page","duration":714196,"timestamp":192726780963,"id":32,"parentId":19,"tags":{"page":"/api/hub/health"},"startTime":1779000699027,"traceId":"f28285255a4110a9"},{"name":"is-page-static","duration":725367,"timestamp":192726801692,"id":73,"parentId":33,"tags":{},"startTime":1779000699048,"traceId":"f28285255a4110a9"},{"name":"check-page","duration":746032,"timestamp":192726781110,"id":33,"parentId":19,"tags":{"page":"/api/hub/inbox"},"startTime":1779000699027,"traceId":"f28285255a4110a9"},{"name":"is-page-static","duration":731349,"timestamp":192726801779,"id":74,"parentId":34,"tags":{},"startTime":1779000699048,"traceId":"f28285255a4110a9"},{"name":"check-page","duration":751994,"timestamp":192726781217,"id":34,"parentId":19,"tags":{"page":"/api/hub/license"},"startTime":1779000699027,"traceId":"f28285255a4110a9"},{"name":"is-page-static","duration":733300,"timestamp":192726804104,"id":75,"parentId":35,"tags":{},"startTime":1779000699050,"traceId":"f28285255a4110a9"},{"name":"check-page","duration":756055,"timestamp":192726781426,"id":35,"parentId":19,"tags":{"page":"/api/hub/messages"},"startTime":1779000699028,"traceId":"f28285255a4110a9"},{"name":"is-page-static","duration":741552,"timestamp":192726804134,"id":76,"parentId":36,"tags":{},"startTime":1779000699050,"traceId":"f28285255a4110a9"},{"name":"check-page","duration":763897,"timestamp":192726781926,"id":36,"parentId":19,"tags":{"page":"/api/hub/networks"},"startTime":1779000699028,"traceId":"f28285255a4110a9"},{"name":"is-page-static","duration":744479,"timestamp":192726804167,"id":77,"parentId":37,"tags":{},"startTime":1779000699050,"traceId":"f28285255a4110a9"},{"name":"check-page","duration":766542,"timestamp":192726782159,"id":37,"parentId":19,"tags":{"page":"/api/hub/nodes"},"startTime":1779000699028,"traceId":"f28285255a4110a9"},{"name":"is-page-static","duration":761707,"timestamp":192726804185,"id":78,"parentId":38,"tags":{},"startTime":1779000699050,"traceId":"f28285255a4110a9"},{"name":"check-page","duration":783666,"timestamp":192726782299,"id":38,"parentId":19,"tags":{"page":"/api/hub/register"},"startTime":1779000699029,"traceId":"f28285255a4110a9"},{"name":"is-page-static","duration":768322,"timestamp":192726800849,"id":69,"parentId":28,"tags":{},"startTime":1779000699047,"traceId":"f28285255a4110a9"},{"name":"check-page","duration":788909,"timestamp":192726780320,"id":28,"parentId":19,"tags":{"page":"/api/hub/audit-log"},"startTime":1779000699027,"traceId":"f28285255a4110a9"},{"name":"is-page-static","duration":765938,"timestamp":192726804194,"id":79,"parentId":39,"tags":{},"startTime":1779000699050,"traceId":"f28285255a4110a9"},{"name":"check-page","duration":787774,"timestamp":192726782408,"id":39,"parentId":19,"tags":{"page":"/api/hub/send"},"startTime":1779000699029,"traceId":"f28285255a4110a9"},{"name":"is-page-static","duration":791368,"timestamp":192726794067,"id":64,"parentId":21,"tags":{},"startTime":1779000699040,"traceId":"f28285255a4110a9"},{"name":"check-page","duration":811382,"timestamp":192726774108,"id":21,"parentId":19,"tags":{"page":"/_not-found"},"startTime":1779000699020,"traceId":"f28285255a4110a9"},{"name":"is-page-static","duration":796862,"timestamp":192726804208,"id":80,"parentId":40,"tags":{},"startTime":1779000699050,"traceId":"f28285255a4110a9"},{"name":"check-page","duration":818633,"timestamp":192726782503,"id":40,"parentId":19,"tags":{"page":"/api/hub/server-logs"},"startTime":1779000699029,"traceId":"f28285255a4110a9"},{"name":"is-page-static","duration":813126,"timestamp":192726794750,"id":66,"parentId":25,"tags":{},"startTime":1779000699041,"traceId":"f28285255a4110a9"},{"name":"check-page","duration":828019,"timestamp":192726779920,"id":25,"parentId":19,"tags":{"page":"/api/auth/login"},"startTime":1779000699026,"traceId":"f28285255a4110a9"},{"name":"is-page-static","duration":807467,"timestamp":192726801271,"id":70,"parentId":29,"tags":{},"startTime":1779000699048,"traceId":"f28285255a4110a9"},{"name":"check-page","duration":828381,"timestamp":192726780421,"id":29,"parentId":19,"tags":{"page":"/api/hub/auth"},"startTime":1779000699027,"traceId":"f28285255a4110a9"},{"name":"is-page-static","duration":813333,"timestamp":192726804221,"id":81,"parentId":42,"tags":{},"startTime":1779000699050,"traceId":"f28285255a4110a9"},{"name":"check-page","duration":834782,"timestamp":192726782854,"id":42,"parentId":19,"tags":{"page":"/api/hub/server/[hostname]/health"},"startTime":1779000699029,"traceId":"f28285255a4110a9"},{"name":"is-page-static","duration":813587,"timestamp":192726804259,"id":84,"parentId":46,"tags":{},"startTime":1779000699051,"traceId":"f28285255a4110a9"},{"name":"check-page","duration":834423,"timestamp":192726783477,"id":46,"parentId":19,"tags":{"page":"/api/hub/status"},"startTime":1779000699030,"traceId":"f28285255a4110a9"},{"name":"is-page-static","duration":817534,"timestamp":192726804273,"id":85,"parentId":47,"tags":{},"startTime":1779000699051,"traceId":"f28285255a4110a9"},{"name":"check-page","duration":838284,"timestamp":192726783573,"id":47,"parentId":19,"tags":{"page":"/api/hub/task-events"},"startTime":1779000699030,"traceId":"f28285255a4110a9"},{"name":"is-page-static","duration":821560,"timestamp":192726804282,"id":86,"parentId":48,"tags":{},"startTime":1779000699051,"traceId":"f28285255a4110a9"},{"name":"check-page","duration":840131,"timestamp":192726785759,"id":48,"parentId":19,"tags":{"page":"/api/hub/tasks"},"startTime":1779000699032,"traceId":"f28285255a4110a9"},{"name":"is-page-static","duration":848040,"timestamp":192726804245,"id":83,"parentId":45,"tags":{},"startTime":1779000699051,"traceId":"f28285255a4110a9"},{"name":"check-page","duration":868959,"timestamp":192726783397,"id":45,"parentId":19,"tags":{"page":"/api/hub/stats"},"startTime":1779000699030,"traceId":"f28285255a4110a9"},{"name":"is-page-static","duration":848189,"timestamp":192726804295,"id":87,"parentId":49,"tags":{},"startTime":1779000699051,"traceId":"f28285255a4110a9"},{"name":"check-page","duration":866565,"timestamp":192726785951,"id":49,"parentId":19,"tags":{"page":"/api/hub/tmux"},"startTime":1779000699032,"traceId":"f28285255a4110a9"},{"name":"is-page-static","duration":848863,"timestamp":192726812762,"id":91,"parentId":31,"tags":{},"startTime":1779000699059,"traceId":"f28285255a4110a9"},{"name":"check-page","duration":881053,"timestamp":192726780646,"id":31,"parentId":19,"tags":{"page":"/api/hub/events"},"startTime":1779000699027,"traceId":"f28285255a4110a9"},{"name":"is-page-static","duration":861890,"timestamp":192726804309,"id":88,"parentId":50,"tags":{},"startTime":1779000699051,"traceId":"f28285255a4110a9"},{"name":"check-page","duration":880166,"timestamp":192726786103,"id":50,"parentId":19,"tags":{"page":"/api/hub/tokens"},"startTime":1779000699032,"traceId":"f28285255a4110a9"},{"name":"is-page-static","duration":875154,"timestamp":192726804324,"id":89,"parentId":51,"tags":{},"startTime":1779000699051,"traceId":"f28285255a4110a9"},{"name":"check-page","duration":893338,"timestamp":192726786205,"id":51,"parentId":19,"tags":{"page":"/favicon.ico"},"startTime":1779000699032,"traceId":"f28285255a4110a9"},{"name":"is-page-static","duration":870516,"timestamp":192726809901,"id":90,"parentId":24,"tags":{},"startTime":1779000699056,"traceId":"f28285255a4110a9"},{"name":"check-page","duration":904388,"timestamp":192726776086,"id":24,"parentId":19,"tags":{"page":"/api/anet/config"},"startTime":1779000699022,"traceId":"f28285255a4110a9"},{"name":"is-page-static","duration":886392,"timestamp":192726795024,"id":68,"parentId":27,"tags":{},"startTime":1779000699041,"traceId":"f28285255a4110a9"},{"name":"check-page","duration":901251,"timestamp":192726780210,"id":27,"parentId":19,"tags":{"page":"/api/auth/v3"},"startTime":1779000699026,"traceId":"f28285255a4110a9"},{"name":"is-page-static","duration":867292,"timestamp":192726814303,"id":92,"parentId":41,"tags":{},"startTime":1779000699061,"traceId":"f28285255a4110a9"},{"name":"check-page","duration":899031,"timestamp":192726782599,"id":41,"parentId":19,"tags":{"page":"/api/hub/server/[hostname]/agents"},"startTime":1779000699029,"traceId":"f28285255a4110a9"},{"name":"is-page-static","duration":898955,"timestamp":192726794887,"id":67,"parentId":26,"tags":{},"startTime":1779000699041,"traceId":"f28285255a4110a9"},{"name":"check-page","duration":913798,"timestamp":192726780095,"id":26,"parentId":19,"tags":{"page":"/api/auth/logout"},"startTime":1779000699026,"traceId":"f28285255a4110a9"},{"name":"is-page-static","duration":883364,"timestamp":192726818174,"id":93,"parentId":43,"tags":{},"startTime":1779000699064,"traceId":"f28285255a4110a9"},{"name":"check-page","duration":918602,"timestamp":192726782987,"id":43,"parentId":19,"tags":{"page":"/api/hub/servers"},"startTime":1779000699029,"traceId":"f28285255a4110a9"},{"name":"is-page-static","duration":925730,"timestamp":192726804235,"id":82,"parentId":44,"tags":{},"startTime":1779000699051,"traceId":"f28285255a4110a9"},{"name":"check-page","duration":946778,"timestamp":192726783280,"id":44,"parentId":19,"tags":{"page":"/api/hub/session"},"startTime":1779000699030,"traceId":"f28285255a4110a9"},{"name":"is-page-static","duration":951997,"timestamp":192726824570,"id":99,"parentId":56,"tags":{},"startTime":1779000699071,"traceId":"f28285255a4110a9"},{"name":"check-page","duration":989164,"timestamp":192726787480,"id":56,"parentId":19,"tags":{"page":"/nodes"},"startTime":1779000699034,"traceId":"f28285255a4110a9"},{"name":"is-page-static","duration":955569,"timestamp":192726824585,"id":100,"parentId":58,"tags":{},"startTime":1779000699071,"traceId":"f28285255a4110a9"},{"name":"check-page","duration":992805,"timestamp":192726788427,"id":58,"parentId":19,"tags":{"page":"/server-logs"},"startTime":1779000699035,"traceId":"f28285255a4110a9"},{"name":"is-page-static","duration":963379,"timestamp":192726824699,"id":101,"parentId":59,"tags":{},"startTime":1779000699071,"traceId":"f28285255a4110a9"},{"name":"check-page","duration":999503,"timestamp":192726788651,"id":59,"parentId":19,"tags":{"page":"/settings/networks"},"startTime":1779000699035,"traceId":"f28285255a4110a9"},{"name":"is-page-static","duration":964381,"timestamp":192726824721,"id":102,"parentId":61,"tags":{},"startTime":1779000699071,"traceId":"f28285255a4110a9"},{"name":"check-page","duration":999805,"timestamp":192726789346,"id":61,"parentId":19,"tags":{"page":"/settings/tokens"},"startTime":1779000699036,"traceId":"f28285255a4110a9"},{"name":"is-page-static","duration":973525,"timestamp":192726824518,"id":95,"parentId":52,"tags":{},"startTime":1779000699071,"traceId":"f28285255a4110a9"},{"name":"check-page","duration":1011479,"timestamp":192726786644,"id":52,"parentId":19,"tags":{"page":"/login"},"startTime":1779000699033,"traceId":"f28285255a4110a9"},{"name":"is-page-static","duration":973526,"timestamp":192726824747,"id":104,"parentId":63,"tags":{},"startTime":1779000699071,"traceId":"f28285255a4110a9"},{"name":"check-page","duration":1008649,"timestamp":192726789659,"id":63,"parentId":19,"tags":{"page":"/tasks"},"startTime":1779000699036,"traceId":"f28285255a4110a9"},{"name":"is-page-static","duration":974789,"timestamp":192726824734,"id":103,"parentId":62,"tags":{},"startTime":1779000699071,"traceId":"f28285255a4110a9"},{"name":"check-page","duration":1010058,"timestamp":192726789509,"id":62,"parentId":19,"tags":{"page":"/tasks/[id]"},"startTime":1779000699036,"traceId":"f28285255a4110a9"},{"name":"is-page-static","duration":962919,"timestamp":192726842696,"id":105,"parentId":60,"tags":{},"startTime":1779000699089,"traceId":"f28285255a4110a9"},{"name":"check-page","duration":1016805,"timestamp":192726788855,"id":60,"parentId":19,"tags":{"page":"/settings"},"startTime":1779000699035,"traceId":"f28285255a4110a9"},{"name":"is-page-static","duration":923976,"timestamp":192726882190,"id":106,"parentId":57,"tags":{},"startTime":1779000699128,"traceId":"f28285255a4110a9"},{"name":"check-page","duration":1018475,"timestamp":192726787733,"id":57,"parentId":19,"tags":{"page":"/"},"startTime":1779000699034,"traceId":"f28285255a4110a9"},{"name":"is-page-static","duration":984092,"timestamp":192726824486,"id":94,"parentId":23,"tags":{},"startTime":1779000699071,"traceId":"f28285255a4110a9"},{"name":"check-page","duration":1032814,"timestamp":192726775812,"id":23,"parentId":19,"tags":{"page":"/admin"},"startTime":1779000699022,"traceId":"f28285255a4110a9"},{"name":"is-page-static","duration":1003270,"timestamp":192726824556,"id":98,"parentId":55,"tags":{},"startTime":1779000699071,"traceId":"f28285255a4110a9"},{"name":"check-page","duration":1040635,"timestamp":192726787258,"id":55,"parentId":19,"tags":{"page":"/node"},"startTime":1779000699034,"traceId":"f28285255a4110a9"},{"name":"is-page-static","duration":1006810,"timestamp":192726824546,"id":97,"parentId":54,"tags":{},"startTime":1779000699071,"traceId":"f28285255a4110a9"},{"name":"check-page","duration":1044376,"timestamp":192726787033,"id":54,"parentId":19,"tags":{"page":"/messages"},"startTime":1779000699033,"traceId":"f28285255a4110a9"},{"name":"is-page-static","duration":1017788,"timestamp":192726824532,"id":96,"parentId":53,"tags":{},"startTime":1779000699071,"traceId":"f28285255a4110a9"},{"name":"check-page","duration":1055532,"timestamp":192726786849,"id":53,"parentId":19,"tags":{"page":"/logs"},"startTime":1779000699033,"traceId":"f28285255a4110a9"},{"name":"static-check","duration":1071087,"timestamp":192726771349,"id":19,"parentId":1,"tags":{},"startTime":1779000699018,"traceId":"f28285255a4110a9"}]
|
|
2
|
+
[{"name":"write-routes-manifest","duration":853,"timestamp":192727852383,"id":108,"parentId":1,"tags":{},"startTime":1779000700099,"traceId":"f28285255a4110a9"},{"name":"load-dotenv","duration":52,"timestamp":192727867178,"id":111,"parentId":110,"tags":{},"startTime":1779000700113,"traceId":"f28285255a4110a9"},{"name":"run-export-path-map","duration":636,"timestamp":192727870254,"id":112,"parentId":110,"tags":{},"startTime":1779000700117,"traceId":"f28285255a4110a9"},{"name":"next-export","duration":679373,"timestamp":192727865759,"id":110,"parentId":1,"tags":{},"startTime":1779000700112,"traceId":"f28285255a4110a9"},{"name":"move-exported-app-not-found-","duration":538,"timestamp":192728548836,"id":113,"parentId":109,"tags":{},"startTime":1779000700795,"traceId":"f28285255a4110a9"},{"name":"move-exported-app-global-error-","duration":353,"timestamp":192728549465,"id":114,"parentId":109,"tags":{},"startTime":1779000700796,"traceId":"f28285255a4110a9"},{"name":"static-generation","duration":695013,"timestamp":192727857726,"id":109,"parentId":1,"tags":{},"startTime":1779000700104,"traceId":"f28285255a4110a9"},{"name":"write-routes-manifest","duration":472,"timestamp":192728552996,"id":115,"parentId":1,"tags":{},"startTime":1779000700799,"traceId":"f28285255a4110a9"},{"name":"print-tree-view","duration":4615,"timestamp":192728575075,"id":116,"parentId":1,"tags":{},"startTime":1779000700821,"traceId":"f28285255a4110a9"},{"name":"write-route-bundle-stats","duration":15303,"timestamp":192728579733,"id":117,"parentId":1,"tags":{},"startTime":1779000700826,"traceId":"f28285255a4110a9"},{"name":"telemetry-flush","duration":229657,"timestamp":192728595072,"id":118,"parentId":1,"tags":{},"startTime":1779000700841,"traceId":"f28285255a4110a9"},{"name":"next-build","duration":24175716,"timestamp":192704649063,"id":1,"tags":{"buildMode":"default","version":"16.2.3","bundler":"turbopack","has-custom-webpack-config":"false","use-build-worker":"true"},"startTime":1779000676895,"traceId":"f28285255a4110a9"}]
|
package/.next/trace-build
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
[{"name":"run-turbopack","duration":
|
|
1
|
+
[{"name":"run-turbopack","duration":9755327,"timestamp":192704974739,"id":14,"parentId":1,"tags":{},"startTime":1779000677221,"traceId":"f28285255a4110a9"},{"name":"turbopack-build-events","duration":113,"timestamp":192705398696,"id":15,"parentId":1,"tags":{},"startTime":1779000677645,"traceId":"f28285255a4110a9"},{"name":"run-typescript","duration":11768263,"timestamp":192714739515,"id":16,"parentId":1,"tags":{},"startTime":1779000686986,"traceId":"f28285255a4110a9"},{"name":"static-check","duration":1071087,"timestamp":192726771349,"id":19,"parentId":1,"tags":{},"startTime":1779000699018,"traceId":"f28285255a4110a9"},{"name":"static-generation","duration":695013,"timestamp":192727857726,"id":109,"parentId":1,"tags":{},"startTime":1779000700104,"traceId":"f28285255a4110a9"},{"name":"telemetry-flush","duration":229657,"timestamp":192728595072,"id":118,"parentId":1,"tags":{},"startTime":1779000700841,"traceId":"f28285255a4110a9"},{"name":"next-build","duration":24175716,"timestamp":192704649063,"id":1,"tags":{"buildMode":"default","version":"16.2.3","bundler":"turbopack","has-custom-webpack-config":"false","use-build-worker":"true"},"startTime":1779000676895,"traceId":"f28285255a4110a9"}]
|
|
@@ -7643,6 +7643,30 @@ export function TopoGraph({ sessions, sseSessions, renameSignal }: TopoGraphProp
|
|
|
7643
7643
|
const internByAlias = /书生|书小生|intern/i.test(session.alias);
|
|
7644
7644
|
|
|
7645
7645
|
if (isIntern || internByAlias || vendor.logo) {
|
|
7646
|
+
/* Round 501 / Loop — vendor avatar inside node circles
|
|
7647
|
+
gains a hover-gated brightness lift. Pre-R501 the
|
|
7648
|
+
avatar <image> was the only per-node surface with
|
|
7649
|
+
NO hover treatment: R26 lifted the card, R242 tinted
|
|
7650
|
+
the card stroke, R427 spread the alias letter-
|
|
7651
|
+
spacing, R500 added the alias drop-shadow, R208
|
|
7652
|
+
lifted the runtime badge ring, R443 thickened
|
|
7653
|
+
the badge icon stroke, R177 brightened the
|
|
7654
|
+
halo — but the most visually-prominent element
|
|
7655
|
+
(the vendor logo / 书生 coin centred in each node)
|
|
7656
|
+
stayed paint-static. R501 closes the per-node
|
|
7657
|
+
hover-affordance arc by adding a 15% brightness
|
|
7658
|
+
lift on hover.
|
|
7659
|
+
Implementation: CSS filter: brightness(1.15)
|
|
7660
|
+
when hoveredAlias === session.alias. Pure paint
|
|
7661
|
+
axis on the <image> element — no geometry change,
|
|
7662
|
+
no bbox shift. Modern-browser supported (Chrome 64+
|
|
7663
|
+
/ FF 56+ / Safari 9.1+).
|
|
7664
|
+
Hits 节点视觉 theme. data-node-avatar-hovered
|
|
7665
|
+
attr surfaces the gate for tests.
|
|
7666
|
+
Gated on !reducedMotion as a courtesy (brightness
|
|
7667
|
+
transition < ~50ms still feels instant; the gate
|
|
7668
|
+
avoids the transition cycle for a11y users). */
|
|
7669
|
+
const isAvatarHovered = !reducedMotion && hoveredAlias === session.alias;
|
|
7646
7670
|
return (
|
|
7647
7671
|
<image
|
|
7648
7672
|
href={vendor.logo ?? '/intern_avatar.png'}
|
|
@@ -7651,6 +7675,12 @@ export function TopoGraph({ sessions, sseSessions, renameSignal }: TopoGraphProp
|
|
|
7651
7675
|
width={size}
|
|
7652
7676
|
height={size}
|
|
7653
7677
|
preserveAspectRatio="xMidYMid meet"
|
|
7678
|
+
data-node-avatar={session.alias}
|
|
7679
|
+
data-node-avatar-hovered={isAvatarHovered ? 'true' : 'false'}
|
|
7680
|
+
style={{
|
|
7681
|
+
filter: isAvatarHovered ? 'brightness(1.15)' : undefined,
|
|
7682
|
+
transition: 'filter 200ms ease-out',
|
|
7683
|
+
}}
|
|
7654
7684
|
/>
|
|
7655
7685
|
);
|
|
7656
7686
|
}
|
|
@@ -8074,6 +8104,43 @@ export function TopoGraph({ sessions, sseSessions, renameSignal }: TopoGraphProp
|
|
|
8074
8104
|
R211 fill 300ms + R305 letter-spacing 200ms
|
|
8075
8105
|
transition list preserved; only the
|
|
8076
8106
|
conditional gets a middle case. */}
|
|
8107
|
+
{/* Round 500 / Loop — milestone round, opens
|
|
8108
|
+
per-node alias drop-shadow polish. Extends the
|
|
8109
|
+
R476-R481 drop-shadow visual-polish family to a
|
|
8110
|
+
7th anchor: hovered alias text gains a soft
|
|
8111
|
+
status-coloured text-glow. Pre-R500 hover on
|
|
8112
|
+
a node triggered card-lift (R26 translateY) +
|
|
8113
|
+
card-stroke (R242 tint) + alias letter-spacing
|
|
8114
|
+
(R427 0.3px tier) but the alias TEXT itself had
|
|
8115
|
+
no paint-axis cue beyond fill (R211). R500 adds
|
|
8116
|
+
a drop-shadow on the text glyph itself, so the
|
|
8117
|
+
identity glyph itself lights up under attention
|
|
8118
|
+
— matching the R476 idiom (hub-digit emerald
|
|
8119
|
+
glow on hover) at the per-node identity scope.
|
|
8120
|
+
2px blur radius at 50% alpha — subtler than the
|
|
8121
|
+
R476 hub-digit (3px at 60%) because the alias
|
|
8122
|
+
text is smaller and more numerous (1 per node)
|
|
8123
|
+
so an aggressive glow would multiply into
|
|
8124
|
+
visual noise. Status-coloured (status.text) so
|
|
8125
|
+
the glow inherits the node's working/idle/
|
|
8126
|
+
offline palette — green/cyan/gray respectively.
|
|
8127
|
+
Drop-shadow visual-polish family — 7 anchors:
|
|
8128
|
+
R476 hub digit hover-gated emerald
|
|
8129
|
+
R477 legend pin-ring pin-gated row.fill
|
|
8130
|
+
R478 recent-row pip fresh-gated cyan
|
|
8131
|
+
R479 group-label text pin-gated cyan
|
|
8132
|
+
R480 hot-lane edge hot-gated amber
|
|
8133
|
+
R481 zoom-state minimap zoom-gated cyan
|
|
8134
|
+
R500 node alias text hover-gated status.text ← this round
|
|
8135
|
+
Filter is paint-only; bbox unchanged; overlap-
|
|
8136
|
+
test invariants hold (R51 selector gated to
|
|
8137
|
+
g[data-node] descendants with strokeWidth
|
|
8138
|
+
sentinels; text element doesn't carry stroke).
|
|
8139
|
+
transition list extends to include 'filter
|
|
8140
|
+
200ms ease-out' alongside the existing fill
|
|
8141
|
+
300ms + letter-spacing 200ms tweens.
|
|
8142
|
+
data-node-alias-glow attr surfaces the hover
|
|
8143
|
+
gate for tests. */}
|
|
8077
8144
|
<text
|
|
8078
8145
|
x="0" y="1" textAnchor="middle"
|
|
8079
8146
|
fill={status.text}
|
|
@@ -8081,11 +8148,15 @@ export function TopoGraph({ sessions, sseSessions, renameSignal }: TopoGraphProp
|
|
|
8081
8148
|
data-node-alias-text={session.alias}
|
|
8082
8149
|
data-node-alias-chat-target={chatAlias === session.alias ? 'true' : 'false'}
|
|
8083
8150
|
data-node-alias-hovered={hoveredAlias === session.alias ? 'true' : 'false'}
|
|
8151
|
+
data-node-alias-glow={!reducedMotion && hoveredAlias === session.alias ? 'true' : 'false'}
|
|
8084
8152
|
style={{
|
|
8085
|
-
transition: 'fill 300ms ease-out, letter-spacing 200ms ease-out',
|
|
8153
|
+
transition: 'fill 300ms ease-out, letter-spacing 200ms ease-out, filter 200ms ease-out',
|
|
8086
8154
|
letterSpacing:
|
|
8087
8155
|
chatAlias === session.alias ? '0.5px' :
|
|
8088
8156
|
hoveredAlias === session.alias ? '0.3px' : '0px',
|
|
8157
|
+
filter: !reducedMotion && hoveredAlias === session.alias
|
|
8158
|
+
? `drop-shadow(0 0 2px ${status.text}80)`
|
|
8159
|
+
: undefined,
|
|
8089
8160
|
}}
|
|
8090
8161
|
>
|
|
8091
8162
|
{truncate(session.alias, fullMax)}
|
package/package.json
CHANGED
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
/* Round 500 verification: node alias text gains a status-coloured
|
|
2
|
+
* drop-shadow on hover (extends R476-R481 drop-shadow visual-polish
|
|
3
|
+
* family to 7th anchor). Pre-R500 hover triggered card-lift + alias
|
|
4
|
+
* letter-spacing; post-R500 the alias glyph itself glows.
|
|
5
|
+
*
|
|
6
|
+
* Test scenarios:
|
|
7
|
+
* 1. Rest state — no hover: data-node-alias-glow='false', no filter
|
|
8
|
+
* 2. Hover state — after synthetic pointerenter dispatch on g[data-node]
|
|
9
|
+
* descendant: glow attr 'true', computed filter contains drop-shadow
|
|
10
|
+
* 3. reducedMotion: glow attr 'false' regardless of hover (a11y)
|
|
11
|
+
* 4. Source-side regex confirms wiring
|
|
12
|
+
*/
|
|
13
|
+
import { chromium } from 'playwright';
|
|
14
|
+
import { readFileSync } from 'node:fs';
|
|
15
|
+
|
|
16
|
+
const TOKEN = JSON.parse(readFileSync('/home/vansin/.anet/config.json', 'utf8')).token;
|
|
17
|
+
const fresh = new Date(Date.now() - 60 * 1000).toISOString();
|
|
18
|
+
|
|
19
|
+
async function probe({ reducedMotion }) {
|
|
20
|
+
const browser = await chromium.launch({ headless: true });
|
|
21
|
+
const ctx = await browser.newContext({
|
|
22
|
+
viewport: { width: 1500, height: 1200 },
|
|
23
|
+
reducedMotion: reducedMotion ? 'reduce' : 'no-preference',
|
|
24
|
+
});
|
|
25
|
+
await ctx.addCookies([{ name: 'anet_dashboard_session', value: `v3:${TOKEN}`, domain: '127.0.0.1', path: '/' }]);
|
|
26
|
+
await ctx.addInitScript(() => {
|
|
27
|
+
try {
|
|
28
|
+
localStorage.setItem('anet-theme', 'cyber');
|
|
29
|
+
localStorage.setItem('anet-topo-layout', 'ring');
|
|
30
|
+
sessionStorage.setItem('anet_v3_auth', '1');
|
|
31
|
+
} catch {}
|
|
32
|
+
});
|
|
33
|
+
await ctx.route('**/api/hub/status*', async (route) => {
|
|
34
|
+
const r = await route.fetch();
|
|
35
|
+
const b = await r.json();
|
|
36
|
+
const nid = (b.sessions || [])[0]?.network_id || 'default';
|
|
37
|
+
const mk = (alias, status) => ({
|
|
38
|
+
alias, status, model: 'claude-opus-4', runtime: 'claude-code-cli',
|
|
39
|
+
network_id: nid, project_dir: null,
|
|
40
|
+
created_at: fresh, updated_at: fresh, last_seen_at: fresh,
|
|
41
|
+
});
|
|
42
|
+
await route.fulfill({ response: r, json: { ...b, sessions: [
|
|
43
|
+
mk('alpha·a1', 'working'),
|
|
44
|
+
mk('alpha·a2', 'idle'),
|
|
45
|
+
] } });
|
|
46
|
+
});
|
|
47
|
+
await ctx.route('**/api/hub/messages*', (r) => r.fulfill({ json: { messages: [] } }));
|
|
48
|
+
await ctx.route('**/api/hub/tasks*', (r) => r.fulfill({ json: { tasks: [] } }));
|
|
49
|
+
const page = await ctx.newPage();
|
|
50
|
+
await page.goto('http://127.0.0.1:3000/', { waitUntil: 'networkidle' });
|
|
51
|
+
await page.waitForSelector('g[data-node]', { timeout: 15000 });
|
|
52
|
+
await page.waitForTimeout(1500);
|
|
53
|
+
|
|
54
|
+
// Phase 1: rest state
|
|
55
|
+
const rest = await page.evaluate(() => {
|
|
56
|
+
const text = document.querySelector('[data-node-alias-text]');
|
|
57
|
+
if (!text) return null;
|
|
58
|
+
return {
|
|
59
|
+
glow_attr: text.getAttribute('data-node-alias-glow'),
|
|
60
|
+
computed_filter: window.getComputedStyle(text).filter,
|
|
61
|
+
};
|
|
62
|
+
});
|
|
63
|
+
|
|
64
|
+
// Phase 2: hover state — synthetic pointerenter (R488 banked recipe)
|
|
65
|
+
const aliasAfterHover = await page.evaluate(() => {
|
|
66
|
+
const g = document.querySelector('g[data-node]');
|
|
67
|
+
if (!g) return null;
|
|
68
|
+
const alias = g.getAttribute('data-node');
|
|
69
|
+
const target = g.querySelector('circle, image, rect') || g;
|
|
70
|
+
['pointerenter', 'pointerover', 'mouseenter', 'mouseover'].forEach((t) => {
|
|
71
|
+
target.dispatchEvent(new Event(t, { bubbles: true, cancelable: true }));
|
|
72
|
+
});
|
|
73
|
+
return alias;
|
|
74
|
+
});
|
|
75
|
+
await page.waitForTimeout(400);
|
|
76
|
+
const hover = await page.evaluate(() => {
|
|
77
|
+
const text = document.querySelector('[data-node-alias-text]');
|
|
78
|
+
if (!text) return null;
|
|
79
|
+
return {
|
|
80
|
+
glow_attr: text.getAttribute('data-node-alias-glow'),
|
|
81
|
+
computed_filter: window.getComputedStyle(text).filter,
|
|
82
|
+
hovered_attr: text.getAttribute('data-node-alias-hovered'),
|
|
83
|
+
};
|
|
84
|
+
});
|
|
85
|
+
|
|
86
|
+
await browser.close();
|
|
87
|
+
return { rest, hover, alias: aliasAfterHover };
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
const motion = await probe({ reducedMotion: false });
|
|
91
|
+
const a11y = await probe({ reducedMotion: true });
|
|
92
|
+
|
|
93
|
+
const src = readFileSync('/home/vansin/agent-network-dashboard/app/components/TopoGraph.tsx', 'utf8');
|
|
94
|
+
const sourceFilter = /filter: !reducedMotion && hoveredAlias === session\.alias\s*\?\s*`drop-shadow\(0 0 2px \$\{status\.text\}80\)`\s*:\s*undefined/.test(src);
|
|
95
|
+
const sourceAttr = /data-node-alias-glow=\{!reducedMotion && hoveredAlias === session\.alias \? 'true' : 'false'\}/.test(src);
|
|
96
|
+
const sourceTransition = /transition: 'fill 300ms ease-out, letter-spacing 200ms ease-out, filter 200ms ease-out'/.test(src);
|
|
97
|
+
|
|
98
|
+
const results = {
|
|
99
|
+
// Motion fixture, rest: attr='false', filter='none'
|
|
100
|
+
motion_rest_attr_false: motion.rest && motion.rest.glow_attr === 'false',
|
|
101
|
+
motion_rest_filter_none: motion.rest && motion.rest.computed_filter === 'none',
|
|
102
|
+
// Motion fixture, hover: attr='true', filter contains drop-shadow
|
|
103
|
+
motion_alias_resolved: !!motion.alias,
|
|
104
|
+
motion_hover_attr_true: motion.hover && motion.hover.glow_attr === 'true',
|
|
105
|
+
motion_hover_filter_drop:motion.hover && /drop-shadow/.test(motion.hover.computed_filter || ''),
|
|
106
|
+
// a11y fixture: attr='false' even after hover (component-side gate)
|
|
107
|
+
a11y_rest_attr_false: a11y.rest && a11y.rest.glow_attr === 'false',
|
|
108
|
+
a11y_hover_attr_false: a11y.hover && a11y.hover.glow_attr === 'false',
|
|
109
|
+
a11y_hover_filter_none: a11y.hover && a11y.hover.computed_filter === 'none',
|
|
110
|
+
// Source
|
|
111
|
+
source_filter_wired: sourceFilter,
|
|
112
|
+
source_attr_wired: sourceAttr,
|
|
113
|
+
source_transition_wired: sourceTransition,
|
|
114
|
+
};
|
|
115
|
+
const ok = Object.values(results).every(Boolean);
|
|
116
|
+
console.log(`${ok ? '✅' : '❌'} R500 node alias glow:`, JSON.stringify(results),
|
|
117
|
+
'\n motion rest :', JSON.stringify(motion.rest),
|
|
118
|
+
'\n motion hover:', JSON.stringify(motion.hover),
|
|
119
|
+
'\n a11y rest :', JSON.stringify(a11y.rest),
|
|
120
|
+
'\n a11y hover:', JSON.stringify(a11y.hover));
|
|
121
|
+
process.exit(ok ? 0 : 1);
|