@sleep2agi/agent-network-dashboard 0.5.3-preview.11 → 0.5.3-preview.13
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 +3 -3
- 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/{09t2h9c0b1xjg.js → 0-eqn.ga3bcnl.js} +1 -1
- package/.next/static/chunks/0tl3h11hxa7oe.js +4 -0
- package/.next/static/chunks/{0x3fl360u~cjf.js → 0zwxl-vr5q45i.js} +1 -1
- package/.next/static/chunks/{06kqj2vd..gul.js → 11iqwh145jvo5.js} +1 -1
- package/.next/trace +2 -2
- package/.next/trace-build +1 -1
- package/app/components/TopoGraph.tsx +73 -2
- package/package.json +1 -1
- package/scripts/topo-alias-glow-test.mjs +121 -0
- package/scripts/topo-orphan-label-italic-test.mjs +90 -0
- package/.next/static/chunks/03tmeg87bxqs3.js +0 -4
- /package/.next/static/{hbG6dNDvul_c04Di9Ydwt → U6pY8Ja-T2ME4lRhun26w}/_buildManifest.js +0 -0
- /package/.next/static/{hbG6dNDvul_c04Di9Ydwt → U6pY8Ja-T2ME4lRhun26w}/_clientMiddlewareManifest.js +0 -0
- /package/.next/static/{hbG6dNDvul_c04Di9Ydwt → U6pY8Ja-T2ME4lRhun26w}/_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.11"],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.13"],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.11"],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.13"],70286)}]);
|
package/.next/trace
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
[{"name":"generate-buildid","duration":351,"timestamp":190944136168,"id":4,"parentId":1,"tags":{},"startTime":1778998916382,"traceId":"d4c36e946465961e"},{"name":"load-custom-routes","duration":832,"timestamp":190944136721,"id":5,"parentId":1,"tags":{},"startTime":1778998916383,"traceId":"d4c36e946465961e"},{"name":"create-dist-dir","duration":1056,"timestamp":190944137614,"id":6,"parentId":1,"tags":{},"startTime":1778998916384,"traceId":"d4c36e946465961e"},{"name":"clean","duration":33334,"timestamp":190944139770,"id":7,"parentId":1,"tags":{},"startTime":1778998916386,"traceId":"d4c36e946465961e"},{"name":"discover-routes","duration":10930,"timestamp":190944259998,"id":8,"parentId":1,"tags":{},"startTime":1778998916506,"traceId":"d4c36e946465961e"},{"name":"create-root-mapping","duration":146,"timestamp":190944270987,"id":9,"parentId":1,"tags":{},"startTime":1778998916517,"traceId":"d4c36e946465961e"},{"name":"generate-route-types","duration":34013,"timestamp":190944273743,"id":10,"parentId":1,"tags":{},"startTime":1778998916520,"traceId":"d4c36e946465961e"},{"name":"public-dir-conflict-check","duration":168,"timestamp":190944307868,"id":11,"parentId":1,"tags":{},"startTime":1778998916554,"traceId":"d4c36e946465961e"},{"name":"generate-routes-manifest","duration":4625,"timestamp":190944308211,"id":12,"parentId":1,"tags":{},"startTime":1778998916554,"traceId":"d4c36e946465961e"},{"name":"run-turbopack","duration":6335295,"timestamp":190944318388,"id":14,"parentId":1,"tags":{},"startTime":1778998916565,"traceId":"d4c36e946465961e"},{"name":"turbopack-build-events","duration":124,"timestamp":190944611908,"id":15,"parentId":1,"tags":{},"startTime":1778998916858,"traceId":"d4c36e946465961e"},{"name":"run-typescript","duration":10309833,"timestamp":190950669778,"id":16,"parentId":1,"tags":{},"startTime":1778998922916,"traceId":"d4c36e946465961e"},{"name":"generate-required-server-files","duration":3301,"timestamp":190960981135,"id":18,"parentId":1,"tags":{},"startTime":1778998933227,"traceId":"d4c36e946465961e"},{"name":"check-static-error-page","duration":15081,"timestamp":190961228701,"id":20,"parentId":19,"tags":{},"startTime":1778998933475,"traceId":"d4c36e946465961e"},{"name":"is-page-static","duration":652704,"timestamp":190961248539,"id":69,"parentId":28,"tags":{},"startTime":1778998933495,"traceId":"d4c36e946465961e"},{"name":"check-page","duration":665897,"timestamp":190961235534,"id":28,"parentId":19,"tags":{"page":"/api/hub/audit-log"},"startTime":1778998933482,"traceId":"d4c36e946465961e"},{"name":"is-page-static","duration":658186,"timestamp":190961249281,"id":71,"parentId":30,"tags":{},"startTime":1778998933496,"traceId":"d4c36e946465961e"},{"name":"check-page","duration":671834,"timestamp":190961235714,"id":30,"parentId":19,"tags":{"page":"/api/hub/broadcast"},"startTime":1778998933482,"traceId":"d4c36e946465961e"},{"name":"is-page-static","duration":664320,"timestamp":190961248430,"id":68,"parentId":27,"tags":{},"startTime":1778998933495,"traceId":"d4c36e946465961e"},{"name":"check-page","duration":677398,"timestamp":190961235445,"id":27,"parentId":19,"tags":{"page":"/api/auth/v3"},"startTime":1778998933482,"traceId":"d4c36e946465961e"},{"name":"is-page-static","duration":668572,"timestamp":190961249501,"id":73,"parentId":33,"tags":{},"startTime":1778998933496,"traceId":"d4c36e946465961e"},{"name":"check-page","duration":681953,"timestamp":190961236190,"id":33,"parentId":19,"tags":{"page":"/api/hub/inbox"},"startTime":1778998933482,"traceId":"d4c36e946465961e"},{"name":"is-page-static","duration":679922,"timestamp":190961248059,"id":65,"parentId":22,"tags":{},"startTime":1778998933494,"traceId":"d4c36e946465961e"},{"name":"check-page","duration":696102,"timestamp":190961231970,"id":22,"parentId":19,"tags":{"page":"/_global-error"},"startTime":1778998933478,"traceId":"d4c36e946465961e"},{"name":"is-page-static","duration":710090,"timestamp":190961248329,"id":67,"parentId":26,"tags":{},"startTime":1778998933495,"traceId":"d4c36e946465961e"},{"name":"check-page","duration":723203,"timestamp":190961235332,"id":26,"parentId":19,"tags":{"page":"/api/auth/logout"},"startTime":1778998933482,"traceId":"d4c36e946465961e"},{"name":"is-page-static","duration":712365,"timestamp":190961249344,"id":72,"parentId":32,"tags":{},"startTime":1778998933496,"traceId":"d4c36e946465961e"},{"name":"check-page","duration":725712,"timestamp":190961236069,"id":32,"parentId":19,"tags":{"page":"/api/hub/health"},"startTime":1778998933482,"traceId":"d4c36e946465961e"},{"name":"is-page-static","duration":723711,"timestamp":190961249569,"id":74,"parentId":34,"tags":{},"startTime":1778998933496,"traceId":"d4c36e946465961e"},{"name":"check-page","duration":737046,"timestamp":190961236297,"id":34,"parentId":19,"tags":{"page":"/api/hub/license"},"startTime":1778998933483,"traceId":"d4c36e946465961e"},{"name":"is-page-static","duration":730419,"timestamp":190961249637,"id":77,"parentId":37,"tags":{},"startTime":1778998933496,"traceId":"d4c36e946465961e"},{"name":"check-page","duration":744119,"timestamp":190961237053,"id":37,"parentId":19,"tags":{"page":"/api/hub/nodes"},"startTime":1778998933483,"traceId":"d4c36e946465961e"},{"name":"is-page-static","duration":736058,"timestamp":190961249062,"id":70,"parentId":29,"tags":{},"startTime":1778998933495,"traceId":"d4c36e946465961e"},{"name":"check-page","duration":749564,"timestamp":190961235611,"id":29,"parentId":19,"tags":{"page":"/api/hub/auth"},"startTime":1778998933482,"traceId":"d4c36e946465961e"},{"name":"is-page-static","duration":737196,"timestamp":190961249659,"id":79,"parentId":39,"tags":{},"startTime":1778998933496,"traceId":"d4c36e946465961e"},{"name":"check-page","duration":749688,"timestamp":190961237225,"id":39,"parentId":19,"tags":{"page":"/api/hub/send"},"startTime":1778998933483,"traceId":"d4c36e946465961e"},{"name":"is-page-static","duration":744900,"timestamp":190961249671,"id":80,"parentId":40,"tags":{},"startTime":1778998933496,"traceId":"d4c36e946465961e"},{"name":"check-page","duration":757341,"timestamp":190961237289,"id":40,"parentId":19,"tags":{"page":"/api/hub/server-logs"},"startTime":1778998933484,"traceId":"d4c36e946465961e"},{"name":"is-page-static","duration":751679,"timestamp":190961249647,"id":78,"parentId":38,"tags":{},"startTime":1778998933496,"traceId":"d4c36e946465961e"},{"name":"check-page","duration":764217,"timestamp":190961237159,"id":38,"parentId":19,"tags":{"page":"/api/hub/register"},"startTime":1778998933483,"traceId":"d4c36e946465961e"},{"name":"is-page-static","duration":752025,"timestamp":190961249679,"id":81,"parentId":42,"tags":{},"startTime":1778998933496,"traceId":"d4c36e946465961e"},{"name":"check-page","duration":764190,"timestamp":190961237576,"id":42,"parentId":19,"tags":{"page":"/api/hub/server/[hostname]/health"},"startTime":1778998933484,"traceId":"d4c36e946465961e"},{"name":"is-page-static","duration":764128,"timestamp":190961249702,"id":83,"parentId":45,"tags":{},"startTime":1778998933496,"traceId":"d4c36e946465961e"},{"name":"check-page","duration":775908,"timestamp":190961237984,"id":45,"parentId":19,"tags":{"page":"/api/hub/stats"},"startTime":1778998933484,"traceId":"d4c36e946465961e"},{"name":"is-page-static","duration":764371,"timestamp":190961249714,"id":84,"parentId":46,"tags":{},"startTime":1778998933496,"traceId":"d4c36e946465961e"},{"name":"check-page","duration":776047,"timestamp":190961238083,"id":46,"parentId":19,"tags":{"page":"/api/hub/status"},"startTime":1778998933484,"traceId":"d4c36e946465961e"},{"name":"is-page-static","duration":764680,"timestamp":190961249613,"id":76,"parentId":36,"tags":{},"startTime":1778998933496,"traceId":"d4c36e946465961e"},{"name":"check-page","duration":777447,"timestamp":190961236884,"id":36,"parentId":19,"tags":{"page":"/api/hub/networks"},"startTime":1778998933483,"traceId":"d4c36e946465961e"},{"name":"is-page-static","duration":775186,"timestamp":190961249723,"id":85,"parentId":47,"tags":{},"startTime":1778998933496,"traceId":"d4c36e946465961e"},{"name":"check-page","duration":785116,"timestamp":190961239859,"id":47,"parentId":19,"tags":{"page":"/api/hub/task-events"},"startTime":1778998933486,"traceId":"d4c36e946465961e"},{"name":"is-page-static","duration":775409,"timestamp":190961249738,"id":86,"parentId":48,"tags":{},"startTime":1778998933496,"traceId":"d4c36e946465961e"},{"name":"check-page","duration":785141,"timestamp":190961240039,"id":48,"parentId":19,"tags":{"page":"/api/hub/tasks"},"startTime":1778998933486,"traceId":"d4c36e946465961e"},{"name":"is-page-static","duration":780194,"timestamp":190961249757,"id":88,"parentId":50,"tags":{},"startTime":1778998933496,"traceId":"d4c36e946465961e"},{"name":"check-page","duration":789728,"timestamp":190961240269,"id":50,"parentId":19,"tags":{"page":"/api/hub/tokens"},"startTime":1778998933487,"traceId":"d4c36e946465961e"},{"name":"is-page-static","duration":782871,"timestamp":190961252825,"id":90,"parentId":24,"tags":{},"startTime":1778998933499,"traceId":"d4c36e946465961e"},{"name":"check-page","duration":803248,"timestamp":190961232500,"id":24,"parentId":19,"tags":{"page":"/api/anet/config"},"startTime":1778998933479,"traceId":"d4c36e946465961e"},{"name":"is-page-static","duration":789649,"timestamp":190961249691,"id":82,"parentId":44,"tags":{},"startTime":1778998933496,"traceId":"d4c36e946465961e"},{"name":"check-page","duration":801489,"timestamp":190961237896,"id":44,"parentId":19,"tags":{"page":"/api/hub/session"},"startTime":1778998933484,"traceId":"d4c36e946465961e"},{"name":"is-page-static","duration":787770,"timestamp":190961253877,"id":91,"parentId":31,"tags":{},"startTime":1778998933500,"traceId":"d4c36e946465961e"},{"name":"check-page","duration":805909,"timestamp":190961235790,"id":31,"parentId":19,"tags":{"page":"/api/hub/events"},"startTime":1778998933482,"traceId":"d4c36e946465961e"},{"name":"is-page-static","duration":791139,"timestamp":190961255836,"id":93,"parentId":43,"tags":{},"startTime":1778998933502,"traceId":"d4c36e946465961e"},{"name":"check-page","duration":809377,"timestamp":190961237673,"id":43,"parentId":19,"tags":{"page":"/api/hub/servers"},"startTime":1778998933484,"traceId":"d4c36e946465961e"},{"name":"is-page-static","duration":800669,"timestamp":190961248205,"id":66,"parentId":25,"tags":{},"startTime":1778998933494,"traceId":"d4c36e946465961e"},{"name":"check-page","duration":813783,"timestamp":190961235134,"id":25,"parentId":19,"tags":{"page":"/api/auth/login"},"startTime":1778998933481,"traceId":"d4c36e946465961e"},{"name":"is-page-static","duration":807654,"timestamp":190961249768,"id":89,"parentId":51,"tags":{},"startTime":1778998933496,"traceId":"d4c36e946465961e"},{"name":"check-page","duration":817128,"timestamp":190961240346,"id":51,"parentId":19,"tags":{"page":"/favicon.ico"},"startTime":1778998933487,"traceId":"d4c36e946465961e"},{"name":"is-page-static","duration":811819,"timestamp":190961249749,"id":87,"parentId":49,"tags":{},"startTime":1778998933496,"traceId":"d4c36e946465961e"},{"name":"check-page","duration":821433,"timestamp":190961240179,"id":49,"parentId":19,"tags":{"page":"/api/hub/tmux"},"startTime":1778998933486,"traceId":"d4c36e946465961e"},{"name":"is-page-static","duration":814431,"timestamp":190961254602,"id":92,"parentId":41,"tags":{},"startTime":1778998933501,"traceId":"d4c36e946465961e"},{"name":"check-page","duration":831734,"timestamp":190961237350,"id":41,"parentId":19,"tags":{"page":"/api/hub/server/[hostname]/agents"},"startTime":1778998933484,"traceId":"d4c36e946465961e"},{"name":"is-page-static","duration":838115,"timestamp":190961247617,"id":64,"parentId":21,"tags":{},"startTime":1778998933494,"traceId":"d4c36e946465961e"},{"name":"check-page","duration":855471,"timestamp":190961230320,"id":21,"parentId":19,"tags":{"page":"/_not-found"},"startTime":1778998933477,"traceId":"d4c36e946465961e"},{"name":"is-page-static","duration":835570,"timestamp":190961258479,"id":99,"parentId":56,"tags":{},"startTime":1778998933505,"traceId":"d4c36e946465961e"},{"name":"check-page","duration":852606,"timestamp":190961241511,"id":56,"parentId":19,"tags":{"page":"/nodes"},"startTime":1778998933488,"traceId":"d4c36e946465961e"},{"name":"is-page-static","duration":864736,"timestamp":190961249595,"id":75,"parentId":35,"tags":{},"startTime":1778998933496,"traceId":"d4c36e946465961e"},{"name":"check-page","duration":877984,"timestamp":190961236415,"id":35,"parentId":19,"tags":{"page":"/api/hub/messages"},"startTime":1778998933483,"traceId":"d4c36e946465961e"},{"name":"is-page-static","duration":870703,"timestamp":190961258399,"id":94,"parentId":23,"tags":{},"startTime":1778998933505,"traceId":"d4c36e946465961e"},{"name":"check-page","duration":896907,"timestamp":190961232260,"id":23,"parentId":19,"tags":{"page":"/admin"},"startTime":1778998933479,"traceId":"d4c36e946465961e"},{"name":"is-page-static","duration":878210,"timestamp":190961258630,"id":102,"parentId":61,"tags":{},"startTime":1778998933505,"traceId":"d4c36e946465961e"},{"name":"check-page","duration":893730,"timestamp":190961243182,"id":61,"parentId":19,"tags":{"page":"/settings/tokens"},"startTime":1778998933489,"traceId":"d4c36e946465961e"},{"name":"is-page-static","duration":879747,"timestamp":190961258440,"id":96,"parentId":53,"tags":{},"startTime":1778998933505,"traceId":"d4c36e946465961e"},{"name":"check-page","duration":897308,"timestamp":190961240927,"id":53,"parentId":19,"tags":{"page":"/logs"},"startTime":1778998933487,"traceId":"d4c36e946465961e"},{"name":"is-page-static","duration":886749,"timestamp":190961258467,"id":98,"parentId":55,"tags":{},"startTime":1778998933505,"traceId":"d4c36e946465961e"},{"name":"check-page","duration":903966,"timestamp":190961241310,"id":55,"parentId":19,"tags":{"page":"/node"},"startTime":1778998933488,"traceId":"d4c36e946465961e"},{"name":"is-page-static","duration":887278,"timestamp":190961258652,"id":104,"parentId":63,"tags":{},"startTime":1778998933505,"traceId":"d4c36e946465961e"},{"name":"check-page","duration":902441,"timestamp":190961243529,"id":63,"parentId":19,"tags":{"page":"/tasks"},"startTime":1778998933490,"traceId":"d4c36e946465961e"},{"name":"is-page-static","duration":887681,"timestamp":190961258428,"id":95,"parentId":52,"tags":{},"startTime":1778998933505,"traceId":"d4c36e946465961e"},{"name":"check-page","duration":905404,"timestamp":190961240737,"id":52,"parentId":19,"tags":{"page":"/login"},"startTime":1778998933487,"traceId":"d4c36e946465961e"},{"name":"is-page-static","duration":891058,"timestamp":190961258488,"id":100,"parentId":58,"tags":{},"startTime":1778998933505,"traceId":"d4c36e946465961e"},{"name":"check-page","duration":907313,"timestamp":190961242270,"id":58,"parentId":19,"tags":{"page":"/server-logs"},"startTime":1778998933489,"traceId":"d4c36e946465961e"},{"name":"is-page-static","duration":892943,"timestamp":190961258639,"id":103,"parentId":62,"tags":{},"startTime":1778998933505,"traceId":"d4c36e946465961e"},{"name":"check-page","duration":908252,"timestamp":190961243369,"id":62,"parentId":19,"tags":{"page":"/tasks/[id]"},"startTime":1778998933490,"traceId":"d4c36e946465961e"},{"name":"is-page-static","duration":874612,"timestamp":190961278440,"id":106,"parentId":57,"tags":{},"startTime":1778998933525,"traceId":"d4c36e946465961e"},{"name":"check-page","duration":911360,"timestamp":190961241730,"id":57,"parentId":19,"tags":{"page":"/"},"startTime":1778998933488,"traceId":"d4c36e946465961e"},{"name":"is-page-static","duration":894715,"timestamp":190961258453,"id":97,"parentId":54,"tags":{},"startTime":1778998933505,"traceId":"d4c36e946465961e"},{"name":"check-page","duration":912094,"timestamp":190961241098,"id":54,"parentId":19,"tags":{"page":"/messages"},"startTime":1778998933487,"traceId":"d4c36e946465961e"},{"name":"is-page-static","duration":896427,"timestamp":190961266217,"id":105,"parentId":60,"tags":{},"startTime":1778998933512,"traceId":"d4c36e946465961e"},{"name":"check-page","duration":920072,"timestamp":190961242608,"id":60,"parentId":19,"tags":{"page":"/settings"},"startTime":1778998933489,"traceId":"d4c36e946465961e"},{"name":"is-page-static","duration":916779,"timestamp":190961258608,"id":101,"parentId":59,"tags":{},"startTime":1778998933505,"traceId":"d4c36e946465961e"},{"name":"check-page","duration":932973,"timestamp":190961242455,"id":59,"parentId":19,"tags":{"page":"/settings/networks"},"startTime":1778998933489,"traceId":"d4c36e946465961e"},{"name":"static-check","duration":947941,"timestamp":190961227529,"id":19,"parentId":1,"tags":{},"startTime":1778998933474,"traceId":"d4c36e946465961e"}]
|
|
2
|
-
[{"name":"write-routes-manifest","duration":
|
|
1
|
+
[{"name":"generate-buildid","duration":289,"timestamp":192171991306,"id":4,"parentId":1,"tags":{},"startTime":1779000144238,"traceId":"b96147e76ae7b9fa"},{"name":"load-custom-routes","duration":494,"timestamp":192171991733,"id":5,"parentId":1,"tags":{},"startTime":1779000144238,"traceId":"b96147e76ae7b9fa"},{"name":"create-dist-dir","duration":652,"timestamp":192171992268,"id":6,"parentId":1,"tags":{},"startTime":1779000144239,"traceId":"b96147e76ae7b9fa"},{"name":"clean","duration":33097,"timestamp":192171993572,"id":7,"parentId":1,"tags":{},"startTime":1779000144240,"traceId":"b96147e76ae7b9fa"},{"name":"discover-routes","duration":26339,"timestamp":192172121907,"id":8,"parentId":1,"tags":{},"startTime":1779000144368,"traceId":"b96147e76ae7b9fa"},{"name":"create-root-mapping","duration":110,"timestamp":192172148308,"id":9,"parentId":1,"tags":{},"startTime":1779000144395,"traceId":"b96147e76ae7b9fa"},{"name":"generate-route-types","duration":20000,"timestamp":192172151182,"id":10,"parentId":1,"tags":{},"startTime":1779000144397,"traceId":"b96147e76ae7b9fa"},{"name":"public-dir-conflict-check","duration":152,"timestamp":192172171295,"id":11,"parentId":1,"tags":{},"startTime":1779000144418,"traceId":"b96147e76ae7b9fa"},{"name":"generate-routes-manifest","duration":5540,"timestamp":192172171636,"id":12,"parentId":1,"tags":{},"startTime":1779000144418,"traceId":"b96147e76ae7b9fa"},{"name":"run-turbopack","duration":7292930,"timestamp":192172184471,"id":14,"parentId":1,"tags":{},"startTime":1779000144431,"traceId":"b96147e76ae7b9fa"},{"name":"turbopack-build-events","duration":101,"timestamp":192172509208,"id":15,"parentId":1,"tags":{},"startTime":1779000144755,"traceId":"b96147e76ae7b9fa"},{"name":"run-typescript","duration":10535915,"timestamp":192179487349,"id":16,"parentId":1,"tags":{},"startTime":1779000151734,"traceId":"b96147e76ae7b9fa"},{"name":"generate-required-server-files","duration":2291,"timestamp":192190024431,"id":18,"parentId":1,"tags":{},"startTime":1779000162271,"traceId":"b96147e76ae7b9fa"},{"name":"check-static-error-page","duration":14546,"timestamp":192190205368,"id":20,"parentId":19,"tags":{},"startTime":1779000162452,"traceId":"b96147e76ae7b9fa"},{"name":"is-page-static","duration":608875,"timestamp":192190224199,"id":68,"parentId":27,"tags":{},"startTime":1779000162470,"traceId":"b96147e76ae7b9fa"},{"name":"check-page","duration":621257,"timestamp":192190211988,"id":27,"parentId":19,"tags":{"page":"/api/auth/v3"},"startTime":1779000162458,"traceId":"b96147e76ae7b9fa"},{"name":"is-page-static","duration":613661,"timestamp":192190223809,"id":65,"parentId":22,"tags":{},"startTime":1779000162470,"traceId":"b96147e76ae7b9fa"},{"name":"check-page","duration":628970,"timestamp":192190208588,"id":22,"parentId":19,"tags":{"page":"/_global-error"},"startTime":1779000162455,"traceId":"b96147e76ae7b9fa"},{"name":"is-page-static","duration":610473,"timestamp":192190228206,"id":71,"parentId":30,"tags":{},"startTime":1779000162474,"traceId":"b96147e76ae7b9fa"},{"name":"check-page","duration":626322,"timestamp":192190212413,"id":30,"parentId":19,"tags":{"page":"/api/hub/broadcast"},"startTime":1779000162459,"traceId":"b96147e76ae7b9fa"},{"name":"is-page-static","duration":638575,"timestamp":192190228418,"id":73,"parentId":33,"tags":{},"startTime":1779000162475,"traceId":"b96147e76ae7b9fa"},{"name":"check-page","duration":654132,"timestamp":192190212961,"id":33,"parentId":19,"tags":{"page":"/api/hub/inbox"},"startTime":1779000162459,"traceId":"b96147e76ae7b9fa"},{"name":"is-page-static","duration":650713,"timestamp":192190228483,"id":74,"parentId":34,"tags":{},"startTime":1779000162475,"traceId":"b96147e76ae7b9fa"},{"name":"check-page","duration":666198,"timestamp":192190213098,"id":34,"parentId":19,"tags":{"page":"/api/hub/license"},"startTime":1779000162459,"traceId":"b96147e76ae7b9fa"},{"name":"is-page-static","duration":660952,"timestamp":192190228509,"id":75,"parentId":35,"tags":{},"startTime":1779000162475,"traceId":"b96147e76ae7b9fa"},{"name":"check-page","duration":676322,"timestamp":192190213223,"id":35,"parentId":19,"tags":{"page":"/api/hub/messages"},"startTime":1779000162459,"traceId":"b96147e76ae7b9fa"},{"name":"is-page-static","duration":682586,"timestamp":192190228524,"id":76,"parentId":36,"tags":{},"startTime":1779000162475,"traceId":"b96147e76ae7b9fa"},{"name":"check-page","duration":697526,"timestamp":192190213671,"id":36,"parentId":19,"tags":{"page":"/api/hub/networks"},"startTime":1779000162460,"traceId":"b96147e76ae7b9fa"},{"name":"is-page-static","duration":690592,"timestamp":192190228548,"id":77,"parentId":37,"tags":{},"startTime":1779000162475,"traceId":"b96147e76ae7b9fa"},{"name":"check-page","duration":705356,"timestamp":192190213866,"id":37,"parentId":19,"tags":{"page":"/api/hub/nodes"},"startTime":1779000162460,"traceId":"b96147e76ae7b9fa"},{"name":"is-page-static","duration":700526,"timestamp":192190228567,"id":78,"parentId":38,"tags":{},"startTime":1779000162475,"traceId":"b96147e76ae7b9fa"},{"name":"check-page","duration":715180,"timestamp":192190213993,"id":38,"parentId":19,"tags":{"page":"/api/hub/register"},"startTime":1779000162460,"traceId":"b96147e76ae7b9fa"},{"name":"is-page-static","duration":704886,"timestamp":192190224572,"id":70,"parentId":29,"tags":{},"startTime":1779000162471,"traceId":"b96147e76ae7b9fa"},{"name":"check-page","duration":717245,"timestamp":192190212260,"id":29,"parentId":19,"tags":{"page":"/api/hub/auth"},"startTime":1779000162459,"traceId":"b96147e76ae7b9fa"},{"name":"is-page-static","duration":702934,"timestamp":192190228580,"id":79,"parentId":39,"tags":{},"startTime":1779000162475,"traceId":"b96147e76ae7b9fa"},{"name":"check-page","duration":717458,"timestamp":192190214107,"id":39,"parentId":19,"tags":{"page":"/api/hub/send"},"startTime":1779000162460,"traceId":"b96147e76ae7b9fa"},{"name":"is-page-static","duration":714149,"timestamp":192190228600,"id":81,"parentId":42,"tags":{},"startTime":1779000162475,"traceId":"b96147e76ae7b9fa"},{"name":"check-page","duration":728292,"timestamp":192190214547,"id":42,"parentId":19,"tags":{"page":"/api/hub/server/[hostname]/health"},"startTime":1779000162461,"traceId":"b96147e76ae7b9fa"},{"name":"is-page-static","duration":720019,"timestamp":192190228612,"id":82,"parentId":44,"tags":{},"startTime":1779000162475,"traceId":"b96147e76ae7b9fa"},{"name":"check-page","duration":733715,"timestamp":192190214973,"id":44,"parentId":19,"tags":{"page":"/api/hub/session"},"startTime":1779000162461,"traceId":"b96147e76ae7b9fa"},{"name":"is-page-static","duration":726402,"timestamp":192190228621,"id":83,"parentId":45,"tags":{},"startTime":1779000162475,"traceId":"b96147e76ae7b9fa"},{"name":"check-page","duration":739977,"timestamp":192190215107,"id":45,"parentId":19,"tags":{"page":"/api/hub/stats"},"startTime":1779000162461,"traceId":"b96147e76ae7b9fa"},{"name":"is-page-static","duration":728687,"timestamp":192190228588,"id":80,"parentId":40,"tags":{},"startTime":1779000162475,"traceId":"b96147e76ae7b9fa"},{"name":"check-page","duration":743114,"timestamp":192190214213,"id":40,"parentId":19,"tags":{"page":"/api/hub/server-logs"},"startTime":1779000162460,"traceId":"b96147e76ae7b9fa"},{"name":"is-page-static","duration":736225,"timestamp":192190224309,"id":69,"parentId":28,"tags":{},"startTime":1779000162471,"traceId":"b96147e76ae7b9fa"},{"name":"check-page","duration":748440,"timestamp":192190212143,"id":28,"parentId":19,"tags":{"page":"/api/hub/audit-log"},"startTime":1779000162458,"traceId":"b96147e76ae7b9fa"},{"name":"is-page-static","duration":732592,"timestamp":192190228634,"id":84,"parentId":46,"tags":{},"startTime":1779000162475,"traceId":"b96147e76ae7b9fa"},{"name":"check-page","duration":746087,"timestamp":192190215202,"id":46,"parentId":19,"tags":{"page":"/api/hub/status"},"startTime":1779000162461,"traceId":"b96147e76ae7b9fa"},{"name":"is-page-static","duration":736543,"timestamp":192190228647,"id":85,"parentId":47,"tags":{},"startTime":1779000162475,"traceId":"b96147e76ae7b9fa"},{"name":"check-page","duration":749931,"timestamp":192190215308,"id":47,"parentId":19,"tags":{"page":"/api/hub/task-events"},"startTime":1779000162462,"traceId":"b96147e76ae7b9fa"},{"name":"is-page-static","duration":737956,"timestamp":192190228659,"id":86,"parentId":48,"tags":{},"startTime":1779000162475,"traceId":"b96147e76ae7b9fa"},{"name":"check-page","duration":749804,"timestamp":192190216856,"id":48,"parentId":19,"tags":{"page":"/api/hub/tasks"},"startTime":1779000162463,"traceId":"b96147e76ae7b9fa"},{"name":"is-page-static","duration":739870,"timestamp":192190228668,"id":87,"parentId":49,"tags":{},"startTime":1779000162475,"traceId":"b96147e76ae7b9fa"},{"name":"check-page","duration":751588,"timestamp":192190216999,"id":49,"parentId":19,"tags":{"page":"/api/hub/tmux"},"startTime":1779000162463,"traceId":"b96147e76ae7b9fa"},{"name":"is-page-static","duration":756293,"timestamp":192190223953,"id":66,"parentId":25,"tags":{},"startTime":1779000162470,"traceId":"b96147e76ae7b9fa"},{"name":"check-page","duration":768644,"timestamp":192190211659,"id":25,"parentId":19,"tags":{"page":"/api/auth/login"},"startTime":1779000162458,"traceId":"b96147e76ae7b9fa"},{"name":"is-page-static","duration":748389,"timestamp":192190232087,"id":90,"parentId":24,"tags":{},"startTime":1779000162478,"traceId":"b96147e76ae7b9fa"},{"name":"check-page","duration":771379,"timestamp":192190209134,"id":24,"parentId":19,"tags":{"page":"/api/anet/config"},"startTime":1779000162455,"traceId":"b96147e76ae7b9fa"},{"name":"is-page-static","duration":758070,"timestamp":192190234163,"id":92,"parentId":41,"tags":{},"startTime":1779000162480,"traceId":"b96147e76ae7b9fa"},{"name":"check-page","duration":777990,"timestamp":192190214299,"id":41,"parentId":19,"tags":{"page":"/api/hub/server/[hostname]/agents"},"startTime":1779000162461,"traceId":"b96147e76ae7b9fa"},{"name":"is-page-static","duration":759164,"timestamp":192190233278,"id":91,"parentId":31,"tags":{},"startTime":1779000162480,"traceId":"b96147e76ae7b9fa"},{"name":"check-page","duration":779935,"timestamp":192190212538,"id":31,"parentId":19,"tags":{"page":"/api/hub/events"},"startTime":1779000162459,"traceId":"b96147e76ae7b9fa"},{"name":"is-page-static","duration":765821,"timestamp":192190228680,"id":88,"parentId":50,"tags":{},"startTime":1779000162475,"traceId":"b96147e76ae7b9fa"},{"name":"check-page","duration":777424,"timestamp":192190217124,"id":50,"parentId":19,"tags":{"page":"/api/hub/tokens"},"startTime":1779000162463,"traceId":"b96147e76ae7b9fa"},{"name":"is-page-static","duration":761879,"timestamp":192190235496,"id":93,"parentId":43,"tags":{},"startTime":1779000162482,"traceId":"b96147e76ae7b9fa"},{"name":"check-page","duration":782743,"timestamp":192190214677,"id":43,"parentId":19,"tags":{"page":"/api/hub/servers"},"startTime":1779000162461,"traceId":"b96147e76ae7b9fa"},{"name":"is-page-static","duration":786795,"timestamp":192190228693,"id":89,"parentId":51,"tags":{},"startTime":1779000162475,"traceId":"b96147e76ae7b9fa"},{"name":"check-page","duration":798380,"timestamp":192190217184,"id":51,"parentId":19,"tags":{"page":"/favicon.ico"},"startTime":1779000162463,"traceId":"b96147e76ae7b9fa"},{"name":"is-page-static","duration":795383,"timestamp":192190228273,"id":72,"parentId":32,"tags":{},"startTime":1779000162475,"traceId":"b96147e76ae7b9fa"},{"name":"check-page","duration":810900,"timestamp":192190212819,"id":32,"parentId":19,"tags":{"page":"/api/hub/health"},"startTime":1779000162459,"traceId":"b96147e76ae7b9fa"},{"name":"is-page-static","duration":850301,"timestamp":192190223460,"id":64,"parentId":21,"tags":{},"startTime":1779000162470,"traceId":"b96147e76ae7b9fa"},{"name":"check-page","duration":866888,"timestamp":192190206965,"id":21,"parentId":19,"tags":{"page":"/_not-found"},"startTime":1779000162453,"traceId":"b96147e76ae7b9fa"},{"name":"is-page-static","duration":841728,"timestamp":192190237750,"id":95,"parentId":52,"tags":{},"startTime":1779000162484,"traceId":"b96147e76ae7b9fa"},{"name":"check-page","duration":862086,"timestamp":192190217461,"id":52,"parentId":19,"tags":{"page":"/login"},"startTime":1779000162464,"traceId":"b96147e76ae7b9fa"},{"name":"is-page-static","duration":843662,"timestamp":192190237782,"id":97,"parentId":54,"tags":{},"startTime":1779000162484,"traceId":"b96147e76ae7b9fa"},{"name":"check-page","duration":863789,"timestamp":192190217714,"id":54,"parentId":19,"tags":{"page":"/messages"},"startTime":1779000162464,"traceId":"b96147e76ae7b9fa"},{"name":"is-page-static","duration":846124,"timestamp":192190237824,"id":99,"parentId":56,"tags":{},"startTime":1779000162484,"traceId":"b96147e76ae7b9fa"},{"name":"check-page","duration":865897,"timestamp":192190218125,"id":56,"parentId":19,"tags":{"page":"/nodes"},"startTime":1779000162464,"traceId":"b96147e76ae7b9fa"},{"name":"is-page-static","duration":855277,"timestamp":192190237836,"id":100,"parentId":58,"tags":{},"startTime":1779000162484,"traceId":"b96147e76ae7b9fa"},{"name":"check-page","duration":874271,"timestamp":192190218916,"id":58,"parentId":19,"tags":{"page":"/server-logs"},"startTime":1779000162465,"traceId":"b96147e76ae7b9fa"},{"name":"is-page-static","duration":858216,"timestamp":192190237963,"id":101,"parentId":59,"tags":{},"startTime":1779000162484,"traceId":"b96147e76ae7b9fa"},{"name":"check-page","duration":877117,"timestamp":192190219106,"id":59,"parentId":19,"tags":{"page":"/settings/networks"},"startTime":1779000162465,"traceId":"b96147e76ae7b9fa"},{"name":"is-page-static","duration":860761,"timestamp":192190237767,"id":96,"parentId":53,"tags":{},"startTime":1779000162484,"traceId":"b96147e76ae7b9fa"},{"name":"check-page","duration":881013,"timestamp":192190217569,"id":53,"parentId":19,"tags":{"page":"/logs"},"startTime":1779000162464,"traceId":"b96147e76ae7b9fa"},{"name":"is-page-static","duration":858826,"timestamp":192190246894,"id":105,"parentId":60,"tags":{},"startTime":1779000162493,"traceId":"b96147e76ae7b9fa"},{"name":"check-page","duration":886525,"timestamp":192190219234,"id":60,"parentId":19,"tags":{"page":"/settings"},"startTime":1779000162466,"traceId":"b96147e76ae7b9fa"},{"name":"is-page-static","duration":853379,"timestamp":192190260643,"id":106,"parentId":57,"tags":{},"startTime":1779000162507,"traceId":"b96147e76ae7b9fa"},{"name":"check-page","duration":895697,"timestamp":192190218364,"id":57,"parentId":19,"tags":{"page":"/"},"startTime":1779000162465,"traceId":"b96147e76ae7b9fa"},{"name":"is-page-static","duration":876234,"timestamp":192190238295,"id":104,"parentId":63,"tags":{},"startTime":1779000162485,"traceId":"b96147e76ae7b9fa"},{"name":"check-page","duration":894858,"timestamp":192190219712,"id":63,"parentId":19,"tags":{"page":"/tasks"},"startTime":1779000162466,"traceId":"b96147e76ae7b9fa"},{"name":"is-page-static","duration":881160,"timestamp":192190237724,"id":94,"parentId":23,"tags":{},"startTime":1779000162484,"traceId":"b96147e76ae7b9fa"},{"name":"check-page","duration":910054,"timestamp":192190208869,"id":23,"parentId":19,"tags":{"page":"/admin"},"startTime":1779000162455,"traceId":"b96147e76ae7b9fa"},{"name":"is-page-static","duration":896958,"timestamp":192190224088,"id":67,"parentId":26,"tags":{},"startTime":1779000162470,"traceId":"b96147e76ae7b9fa"},{"name":"check-page","duration":909243,"timestamp":192190211850,"id":26,"parentId":19,"tags":{"page":"/api/auth/logout"},"startTime":1779000162458,"traceId":"b96147e76ae7b9fa"},{"name":"is-page-static","duration":883666,"timestamp":192190237981,"id":102,"parentId":61,"tags":{},"startTime":1779000162484,"traceId":"b96147e76ae7b9fa"},{"name":"check-page","duration":902173,"timestamp":192190219517,"id":61,"parentId":19,"tags":{"page":"/settings/tokens"},"startTime":1779000162466,"traceId":"b96147e76ae7b9fa"},{"name":"is-page-static","duration":883774,"timestamp":192190237996,"id":103,"parentId":62,"tags":{},"startTime":1779000162484,"traceId":"b96147e76ae7b9fa"},{"name":"check-page","duration":902191,"timestamp":192190219620,"id":62,"parentId":19,"tags":{"page":"/tasks/[id]"},"startTime":1779000162466,"traceId":"b96147e76ae7b9fa"},{"name":"is-page-static","duration":911942,"timestamp":192190237806,"id":98,"parentId":55,"tags":{},"startTime":1779000162484,"traceId":"b96147e76ae7b9fa"},{"name":"check-page","duration":931901,"timestamp":192190217916,"id":55,"parentId":19,"tags":{"page":"/node"},"startTime":1779000162464,"traceId":"b96147e76ae7b9fa"},{"name":"static-check","duration":945630,"timestamp":192190204225,"id":19,"parentId":1,"tags":{},"startTime":1779000162451,"traceId":"b96147e76ae7b9fa"}]
|
|
2
|
+
[{"name":"write-routes-manifest","duration":530,"timestamp":192191159437,"id":108,"parentId":1,"tags":{},"startTime":1779000163406,"traceId":"b96147e76ae7b9fa"},{"name":"load-dotenv","duration":64,"timestamp":192191172274,"id":111,"parentId":110,"tags":{},"startTime":1779000163419,"traceId":"b96147e76ae7b9fa"},{"name":"run-export-path-map","duration":785,"timestamp":192191175236,"id":112,"parentId":110,"tags":{},"startTime":1779000163422,"traceId":"b96147e76ae7b9fa"},{"name":"next-export","duration":661910,"timestamp":192191170237,"id":110,"parentId":1,"tags":{},"startTime":1779000163417,"traceId":"b96147e76ae7b9fa"},{"name":"move-exported-app-not-found-","duration":513,"timestamp":192191835528,"id":113,"parentId":109,"tags":{},"startTime":1779000164082,"traceId":"b96147e76ae7b9fa"},{"name":"move-exported-app-global-error-","duration":347,"timestamp":192191836137,"id":114,"parentId":109,"tags":{},"startTime":1779000164082,"traceId":"b96147e76ae7b9fa"},{"name":"static-generation","duration":674314,"timestamp":192191163985,"id":109,"parentId":1,"tags":{},"startTime":1779000163410,"traceId":"b96147e76ae7b9fa"},{"name":"write-routes-manifest","duration":416,"timestamp":192191838537,"id":115,"parentId":1,"tags":{},"startTime":1779000164085,"traceId":"b96147e76ae7b9fa"},{"name":"print-tree-view","duration":6824,"timestamp":192191848919,"id":116,"parentId":1,"tags":{},"startTime":1779000164095,"traceId":"b96147e76ae7b9fa"},{"name":"write-route-bundle-stats","duration":18476,"timestamp":192191855781,"id":117,"parentId":1,"tags":{},"startTime":1779000164102,"traceId":"b96147e76ae7b9fa"},{"name":"telemetry-flush","duration":18274,"timestamp":192191874290,"id":118,"parentId":1,"tags":{},"startTime":1779000164121,"traceId":"b96147e76ae7b9fa"},{"name":"next-build","duration":19954036,"timestamp":192171938569,"id":1,"tags":{"buildMode":"default","version":"16.2.3","bundler":"turbopack","has-custom-webpack-config":"false","use-build-worker":"true"},"startTime":1779000144185,"traceId":"b96147e76ae7b9fa"}]
|
package/.next/trace-build
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
[{"name":"run-turbopack","duration":
|
|
1
|
+
[{"name":"run-turbopack","duration":7292930,"timestamp":192172184471,"id":14,"parentId":1,"tags":{},"startTime":1779000144431,"traceId":"b96147e76ae7b9fa"},{"name":"turbopack-build-events","duration":101,"timestamp":192172509208,"id":15,"parentId":1,"tags":{},"startTime":1779000144755,"traceId":"b96147e76ae7b9fa"},{"name":"run-typescript","duration":10535915,"timestamp":192179487349,"id":16,"parentId":1,"tags":{},"startTime":1779000151734,"traceId":"b96147e76ae7b9fa"},{"name":"static-check","duration":945630,"timestamp":192190204225,"id":19,"parentId":1,"tags":{},"startTime":1779000162451,"traceId":"b96147e76ae7b9fa"},{"name":"static-generation","duration":674314,"timestamp":192191163985,"id":109,"parentId":1,"tags":{},"startTime":1779000163410,"traceId":"b96147e76ae7b9fa"},{"name":"telemetry-flush","duration":18274,"timestamp":192191874290,"id":118,"parentId":1,"tags":{},"startTime":1779000164121,"traceId":"b96147e76ae7b9fa"},{"name":"next-build","duration":19954036,"timestamp":192171938569,"id":1,"tags":{"buildMode":"default","version":"16.2.3","bundler":"turbopack","has-custom-webpack-config":"false","use-build-worker":"true"},"startTime":1779000144185,"traceId":"b96147e76ae7b9fa"}]
|
|
@@ -867,12 +867,19 @@ export function TopoGraph({ sessions, sseSessions, renameSignal }: TopoGraphProp
|
|
|
867
867
|
// R63 label render + R86 hover-pin keying + #99 tooltip
|
|
868
868
|
// member listing, so all the existing group-box machinery
|
|
869
869
|
// applies uniformly to the orphan bucket too.
|
|
870
|
+
// Round 499 / Loop — surface `isOrphan` flag on the box
|
|
871
|
+
// shape so downstream renderers (label text, future polish)
|
|
872
|
+
// can apply orphan-specific typography (italic) without
|
|
873
|
+
// re-deriving the flag from key === '其他' (key matching
|
|
874
|
+
// would also catch a legitimate "其他" prefix-group, this
|
|
875
|
+
// flag is canonical from the band assignment pass).
|
|
870
876
|
return {
|
|
871
877
|
key: band.isOrphan
|
|
872
878
|
? '其他'
|
|
873
879
|
: band.members.length
|
|
874
880
|
? groupKeys[band.members[0].alias]
|
|
875
881
|
: '',
|
|
882
|
+
isOrphan: !!band.isOrphan,
|
|
876
883
|
count: band.members.length,
|
|
877
884
|
statuses: { working: w, idle: i, offline: o },
|
|
878
885
|
x: minX - GROUP_PAD,
|
|
@@ -977,7 +984,7 @@ export function TopoGraph({ sessions, sseSessions, renameSignal }: TopoGraphProp
|
|
|
977
984
|
groupKeys,
|
|
978
985
|
// #111: group boxes are a grid-layout feature only — radially scattered
|
|
979
986
|
// ring nodes can't be cleanly boxed. Ring keeps the #83 prefix hue.
|
|
980
|
-
groupBoxes: [] as { key: string; count: number; statuses: { working: number; idle: number; offline: number }; x: number; y: number; w: number; h: number }[],
|
|
987
|
+
groupBoxes: [] as { key: string; isOrphan?: boolean; count: number; statuses: { working: number; idle: number; offline: number }; x: number; y: number; w: number; h: number }[],
|
|
981
988
|
// ring fits within VIEWBOX_H by construction (offlineRadius=325 + centre at y=330)
|
|
982
989
|
gridContentBottom: 0,
|
|
983
990
|
};
|
|
@@ -4906,16 +4913,39 @@ export function TopoGraph({ sessions, sseSessions, renameSignal }: TopoGraphProp
|
|
|
4906
4913
|
ease-out' alongside the existing fill/ls/fw/opacity
|
|
4907
4914
|
200ms tweens. */
|
|
4908
4915
|
data-group-label-glow={isPinned ? 'true' : 'false'}
|
|
4916
|
+
/* Round 499 / Loop — orphan band "其他" label gets
|
|
4917
|
+
fontStyle: italic to visually distinguish the
|
|
4918
|
+
catchall from real prefix-group bands. Pre-R499
|
|
4919
|
+
the orphan box label rendered identically to
|
|
4920
|
+
prefix-group labels (Hero D fontSize=9, fw=700,
|
|
4921
|
+
opacity 0.55 rest), so users had to read the
|
|
4922
|
+
literal text "其他" to identify the catchall. R499
|
|
4923
|
+
adds a pure-typography differentiation: italic
|
|
4924
|
+
signals "this is the misc bucket, not a real
|
|
4925
|
+
named group" while preserving full opacity
|
|
4926
|
+
affordance on hover/pin — the orphan box stays
|
|
4927
|
+
equally inspectable, just typographically marked
|
|
4928
|
+
as a different category. No geometry change
|
|
4929
|
+
(italic shifts glyph slant within the same bbox),
|
|
4930
|
+
no opacity loss, no behavior change. Sibling to
|
|
4931
|
+
R432 letter-spacing 3-tier + R457 pin fw-lift +
|
|
4932
|
+
R479 pin drop-shadow at the group-label scope.
|
|
4933
|
+
Falls under 配色 / 节点视觉 themes per the prompt;
|
|
4934
|
+
advances the "信息密度" axis by encoding
|
|
4935
|
+
category-distinction into a single typography
|
|
4936
|
+
channel without adding visual chrome. */
|
|
4909
4937
|
style={{
|
|
4910
4938
|
transition: 'fill 200ms ease-out, letter-spacing 200ms ease-out, font-weight 200ms ease-out, opacity 200ms ease-out, filter 200ms ease-out',
|
|
4911
4939
|
letterSpacing: isPinned ? '0.5px' :
|
|
4912
4940
|
isHovered ? '0.25px' : '0px',
|
|
4941
|
+
fontStyle: box.isOrphan ? 'italic' : undefined,
|
|
4913
4942
|
filter: isPinned
|
|
4914
4943
|
? `drop-shadow(0 0 3px ${pal.legendAccent}80)`
|
|
4915
4944
|
: undefined,
|
|
4916
4945
|
}}
|
|
4917
4946
|
data-group-label={box.key}
|
|
4918
4947
|
data-group-label-pinned={isPinned ? 'true' : 'false'}
|
|
4948
|
+
data-group-label-orphan={box.isOrphan ? 'true' : 'false'}
|
|
4919
4949
|
>
|
|
4920
4950
|
{box.key}
|
|
4921
4951
|
{/* Round 19 / Loop: member-count chip. Inline tspan stays
|
|
@@ -8044,6 +8074,43 @@ export function TopoGraph({ sessions, sseSessions, renameSignal }: TopoGraphProp
|
|
|
8044
8074
|
R211 fill 300ms + R305 letter-spacing 200ms
|
|
8045
8075
|
transition list preserved; only the
|
|
8046
8076
|
conditional gets a middle case. */}
|
|
8077
|
+
{/* Round 500 / Loop — milestone round, opens
|
|
8078
|
+
per-node alias drop-shadow polish. Extends the
|
|
8079
|
+
R476-R481 drop-shadow visual-polish family to a
|
|
8080
|
+
7th anchor: hovered alias text gains a soft
|
|
8081
|
+
status-coloured text-glow. Pre-R500 hover on
|
|
8082
|
+
a node triggered card-lift (R26 translateY) +
|
|
8083
|
+
card-stroke (R242 tint) + alias letter-spacing
|
|
8084
|
+
(R427 0.3px tier) but the alias TEXT itself had
|
|
8085
|
+
no paint-axis cue beyond fill (R211). R500 adds
|
|
8086
|
+
a drop-shadow on the text glyph itself, so the
|
|
8087
|
+
identity glyph itself lights up under attention
|
|
8088
|
+
— matching the R476 idiom (hub-digit emerald
|
|
8089
|
+
glow on hover) at the per-node identity scope.
|
|
8090
|
+
2px blur radius at 50% alpha — subtler than the
|
|
8091
|
+
R476 hub-digit (3px at 60%) because the alias
|
|
8092
|
+
text is smaller and more numerous (1 per node)
|
|
8093
|
+
so an aggressive glow would multiply into
|
|
8094
|
+
visual noise. Status-coloured (status.text) so
|
|
8095
|
+
the glow inherits the node's working/idle/
|
|
8096
|
+
offline palette — green/cyan/gray respectively.
|
|
8097
|
+
Drop-shadow visual-polish family — 7 anchors:
|
|
8098
|
+
R476 hub digit hover-gated emerald
|
|
8099
|
+
R477 legend pin-ring pin-gated row.fill
|
|
8100
|
+
R478 recent-row pip fresh-gated cyan
|
|
8101
|
+
R479 group-label text pin-gated cyan
|
|
8102
|
+
R480 hot-lane edge hot-gated amber
|
|
8103
|
+
R481 zoom-state minimap zoom-gated cyan
|
|
8104
|
+
R500 node alias text hover-gated status.text ← this round
|
|
8105
|
+
Filter is paint-only; bbox unchanged; overlap-
|
|
8106
|
+
test invariants hold (R51 selector gated to
|
|
8107
|
+
g[data-node] descendants with strokeWidth
|
|
8108
|
+
sentinels; text element doesn't carry stroke).
|
|
8109
|
+
transition list extends to include 'filter
|
|
8110
|
+
200ms ease-out' alongside the existing fill
|
|
8111
|
+
300ms + letter-spacing 200ms tweens.
|
|
8112
|
+
data-node-alias-glow attr surfaces the hover
|
|
8113
|
+
gate for tests. */}
|
|
8047
8114
|
<text
|
|
8048
8115
|
x="0" y="1" textAnchor="middle"
|
|
8049
8116
|
fill={status.text}
|
|
@@ -8051,11 +8118,15 @@ export function TopoGraph({ sessions, sseSessions, renameSignal }: TopoGraphProp
|
|
|
8051
8118
|
data-node-alias-text={session.alias}
|
|
8052
8119
|
data-node-alias-chat-target={chatAlias === session.alias ? 'true' : 'false'}
|
|
8053
8120
|
data-node-alias-hovered={hoveredAlias === session.alias ? 'true' : 'false'}
|
|
8121
|
+
data-node-alias-glow={!reducedMotion && hoveredAlias === session.alias ? 'true' : 'false'}
|
|
8054
8122
|
style={{
|
|
8055
|
-
transition: 'fill 300ms ease-out, letter-spacing 200ms ease-out',
|
|
8123
|
+
transition: 'fill 300ms ease-out, letter-spacing 200ms ease-out, filter 200ms ease-out',
|
|
8056
8124
|
letterSpacing:
|
|
8057
8125
|
chatAlias === session.alias ? '0.5px' :
|
|
8058
8126
|
hoveredAlias === session.alias ? '0.3px' : '0px',
|
|
8127
|
+
filter: !reducedMotion && hoveredAlias === session.alias
|
|
8128
|
+
? `drop-shadow(0 0 2px ${status.text}80)`
|
|
8129
|
+
: undefined,
|
|
8059
8130
|
}}
|
|
8060
8131
|
>
|
|
8061
8132
|
{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);
|