@sleep2agi/agent-network-dashboard 0.5.3-preview.63 → 0.5.3-preview.65
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 +2 -2
- package/.next/server/chunks/ssr/agent-network-dashboard_09kk21a._.js.map +1 -1
- package/.next/server/chunks/ssr/agent-network-dashboard_app_01jhlxz._.js +1 -1
- package/.next/server/chunks/ssr/agent-network-dashboard_app_01jhlxz._.js.map +1 -1
- package/.next/server/chunks/ssr/agent-network-dashboard_app_09d29my._.js +1 -1
- package/.next/server/chunks/ssr/agent-network-dashboard_app_09d29my._.js.map +1 -1
- package/.next/server/middleware-build-manifest.js +3 -3
- package/.next/server/pages/404.html +1 -1
- package/.next/server/pages/500.html +1 -1
- package/.next/static/chunks/{0-dtvojz9-gsa.js → 06vyer1tqqx.j.js} +1 -1
- package/.next/static/chunks/{0wqkrak2kvtfy.js → 0g0x--w-5..e7.js} +2 -2
- package/.next/static/chunks/{0u84lvj2d~wc1.js → 0n81v61d_4oc7.js} +1 -1
- package/.next/static/chunks/{0iumpndh3ydsx.js → 12a8.iez7d6-s.js} +1 -1
- package/.next/trace +2 -2
- package/.next/trace-build +1 -1
- package/app/components/TopoGraph.tsx +91 -3
- package/package.json +1 -1
- package/scripts/topo-orphan-label-opacity-test.mjs +98 -0
- package/scripts/topo-panel-title-glow-test.mjs +111 -0
- /package/.next/static/{Vlju3sXMYTardVKfQ4o3v → caJGDEJfdQAgCYpZJXaQB}/_buildManifest.js +0 -0
- /package/.next/static/{Vlju3sXMYTardVKfQ4o3v → caJGDEJfdQAgCYpZJXaQB}/_clientMiddlewareManifest.js +0 -0
- /package/.next/static/{Vlju3sXMYTardVKfQ4o3v → caJGDEJfdQAgCYpZJXaQB}/_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.63"],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.65"],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,70286,e=>{"use strict";e.s(["DASHBOARD_VERSION",0,"0.5.3-preview.
|
|
1
|
+
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,70286,e=>{"use strict";e.s(["DASHBOARD_VERSION",0,"0.5.3-preview.65"],70286)},48941,e=>{"use strict";var t=e.i(22381),r=e.i(23910),a=e.i(70286);e.s(["default",0,function(){let[e,s]=(0,r.useState)("login"),[n,o]=(0,r.useState)(""),[i,l]=(0,r.useState)(""),[c,d]=(0,r.useState)(!1),[x,g]=(0,r.useState)(""),[h,m]=(0,r.useState)(!1),u=async t=>{t.preventDefault(),m(!0),g("");try{let t=await fetch("/api/auth/v3",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:e,username:n,password:i})}),r=await t.json();if(r.ok){r.token&&sessionStorage.setItem("anet_v3_auth",JSON.stringify({user:r.user,token:r.token,networks:r.networks||[],currentNetwork:r.network_id||r.networks?.[0]?.network_id||""})),window.location.assign("/");return}g(r.error||"Login failed")}catch{g("Connection failed")}m(!1)};return(0,t.jsxs)("main",{className:"min-h-screen bg-[#0a0a1a] text-gray-100 font-mono flex items-center justify-center relative overflow-hidden px-4 py-10 sm:py-16",children:[(0,t.jsx)("div",{className:"absolute inset-0 pointer-events-none anet-login-bg","aria-hidden":!0}),(0,t.jsxs)("div",{className:"relative w-full max-w-sm",children:[(0,t.jsxs)("div",{className:"text-center mb-7",children:[(0,t.jsx)("div",{className:"inline-flex items-center justify-center w-16 h-16 mb-4 rounded-2xl bg-[#111128] border border-[#2a2a4a] anet-login-mark",children:(0,t.jsxs)("svg",{className:"w-9 h-9",viewBox:"0 0 32 32","aria-hidden":!0,children:[(0,t.jsx)("circle",{cx:"16",cy:"16",r:"10",fill:"none",stroke:"currentColor",strokeWidth:"1.5",opacity:"0.25",className:"text-cyan-400 anet-login-mark-ring"}),(0,t.jsx)("line",{x1:"16",y1:"10",x2:"10",y2:"20",stroke:"currentColor",strokeWidth:"1",opacity:"0.5",className:"text-cyan-400 anet-login-mark-edge"}),(0,t.jsx)("line",{x1:"16",y1:"10",x2:"22",y2:"20",stroke:"currentColor",strokeWidth:"1",opacity:"0.5",className:"text-cyan-400 anet-login-mark-edge"}),(0,t.jsx)("line",{x1:"10",y1:"20",x2:"22",y2:"20",stroke:"currentColor",strokeWidth:"1",opacity:"0.5",className:"text-cyan-400 anet-login-mark-edge"}),(0,t.jsx)("circle",{cx:"16",cy:"10",r:"3",fill:"currentColor",className:"text-cyan-400 anet-login-mark-node-a"}),(0,t.jsx)("circle",{cx:"10",cy:"20",r:"3",fill:"currentColor",className:"text-green-400 anet-login-mark-node-b"}),(0,t.jsx)("circle",{cx:"22",cy:"20",r:"3",fill:"currentColor",className:"text-violet-400 anet-login-mark-node-c"})]})}),(0,t.jsx)("h1",{className:"text-[22px] sm:text-2xl font-semibold text-white tracking-tight",children:"Agent Network"}),(0,t.jsx)("p",{className:"text-[13px] text-gray-500 mt-1.5 leading-snug",children:"login"===e?(0,t.jsxs)(t.Fragment,{children:["Welcome back · ",(0,t.jsx)("span",{className:"text-gray-600",children:"Tasks · Mesh · Messages"})]}):(0,t.jsxs)(t.Fragment,{children:["Create your account · ",(0,t.jsx)("span",{className:"text-gray-600",children:"Free preview · no credit card"})]})})]}),(0,t.jsx)("div",{className:"flex rounded-lg border border-[#2a2a4a] bg-[#111128] p-1 mb-4",children:["login","register"].map(r=>(0,t.jsx)("button",{type:"button",onClick:()=>{s(r),g("")},className:`flex-1 rounded-md px-3 py-2 text-sm transition-colors ${e===r?"bg-cyan-500/10 text-cyan-300":"text-gray-500 hover:text-gray-200"}`,children:"login"===r?"Sign in":"Register"},r))}),(0,t.jsxs)("form",{onSubmit:u,className:"border border-[#2a2a4a] bg-[#111128]/80 backdrop-blur-sm rounded-xl p-6 shadow-2xl shadow-black/30",children:[(0,t.jsx)("label",{htmlFor:"username",className:"block text-xs text-gray-500 mb-2 uppercase tracking-wider",children:"Username"}),(0,t.jsx)("input",{id:"username",type:"text",value:n,onChange:e=>o(e.target.value),autoFocus:!0,placeholder:"Enter username",className:"w-full bg-[#0a0a15] border border-[#2a2a4a] rounded-lg px-4 py-3 text-sm text-white placeholder-gray-600 focus:border-cyan-500/50 focus:ring-1 focus:ring-cyan-500/20 focus:outline-none transition-all mb-4"}),(0,t.jsx)("label",{htmlFor:"password",className:"block text-xs text-gray-500 mb-2 uppercase tracking-wider",children:"Password"}),(0,t.jsxs)("div",{className:"relative",children:[(0,t.jsx)("input",{id:"password",type:c?"text":"password",value:i,onChange:e=>l(e.target.value),placeholder:"Enter password",className:"w-full bg-[#0a0a15] border border-[#2a2a4a] rounded-lg px-4 pr-11 py-3 text-sm text-white placeholder-gray-600 focus:border-cyan-500/50 focus:ring-1 focus:ring-cyan-500/20 focus:outline-none transition-all"}),(0,t.jsx)("button",{type:"button",onClick:()=>d(e=>!e),tabIndex:-1,"aria-label":c?"Hide password":"Show password",className:"absolute inset-y-0 right-0 flex items-center px-3 text-gray-600 hover:text-gray-300 transition-colors",children:c?(0,t.jsxs)("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,t.jsx)("path",{d:"M17.94 17.94A10.07 10.07 0 0 1 12 20c-7 0-11-8-11-8a18.45 18.45 0 0 1 5.06-5.94M9.9 4.24A9.12 9.12 0 0 1 12 4c7 0 11 8 11 8a18.5 18.5 0 0 1-2.16 3.19m-6.72-1.07a3 3 0 1 1-4.24-4.24"}),(0,t.jsx)("line",{x1:"1",y1:"1",x2:"23",y2:"23"})]}):(0,t.jsxs)("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,t.jsx)("path",{d:"M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z"}),(0,t.jsx)("circle",{cx:"12",cy:"12",r:"3"})]})})]}),x&&(0,t.jsx)("div",{className:"mt-3 text-sm text-red-300 bg-red-500/5 border border-red-500/10 rounded-lg px-3 py-2",children:x}),(0,t.jsxs)("button",{type:"submit",disabled:h||!i||!n.trim(),className:"mt-5 w-full flex items-center justify-center gap-2 px-4 py-3 bg-gradient-to-r from-cyan-600 to-blue-600 hover:from-cyan-500 hover:to-blue-500 disabled:from-gray-800 disabled:to-gray-800 disabled:text-gray-600 text-white text-sm font-medium rounded-lg transition-all shadow-lg shadow-cyan-500/10 hover:shadow-cyan-500/20 disabled:shadow-none",children:[h&&(0,t.jsxs)("svg",{"aria-hidden":!0,className:"w-4 h-4 animate-spin",viewBox:"0 0 24 24",fill:"none",children:[(0,t.jsx)("circle",{cx:"12",cy:"12",r:"10",stroke:"currentColor",strokeWidth:"3",opacity:"0.25"}),(0,t.jsx)("path",{d:"M4 12a8 8 0 018-8",stroke:"currentColor",strokeWidth:"3",strokeLinecap:"round"})]}),(0,t.jsx)("span",{children:h?"login"===e?"Signing in…":"Registering…":"login"===e?"Sign in":"Create account"})]})]}),(0,t.jsxs)("p",{className:"text-center text-[11px] text-gray-700 mt-6",children:["Sleep2AGI · Apache-2.0 · ",(0,t.jsx)("a",{href:"https://anet.sh",className:"hover:text-gray-500 transition-colors",children:"anet.sh"}),(0,t.jsx)("span",{className:"mx-1 text-gray-800",children:"·"}),(0,t.jsxs)("span",{className:"font-mono",title:"@sleep2agi/agent-network-dashboard",children:["v",a.DASHBOARD_VERSION]})]})]})]})}])}]);
|
package/.next/trace
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
[{"name":"generate-buildid","duration":258,"timestamp":218945661026,"id":4,"parentId":1,"tags":{},"startTime":1779026917907,"traceId":"abde27f57174a42e"},{"name":"load-custom-routes","duration":468,"timestamp":218945661448,"id":5,"parentId":1,"tags":{},"startTime":1779026917908,"traceId":"abde27f57174a42e"},{"name":"create-dist-dir","duration":6021,"timestamp":218945662063,"id":6,"parentId":1,"tags":{},"startTime":1779026917908,"traceId":"abde27f57174a42e"},{"name":"clean","duration":36759,"timestamp":218945668878,"id":7,"parentId":1,"tags":{},"startTime":1779026917915,"traceId":"abde27f57174a42e"},{"name":"discover-routes","duration":26007,"timestamp":218945794691,"id":8,"parentId":1,"tags":{},"startTime":1779026918041,"traceId":"abde27f57174a42e"},{"name":"create-root-mapping","duration":145,"timestamp":218945820766,"id":9,"parentId":1,"tags":{},"startTime":1779026918067,"traceId":"abde27f57174a42e"},{"name":"generate-route-types","duration":20504,"timestamp":218945823666,"id":10,"parentId":1,"tags":{},"startTime":1779026918070,"traceId":"abde27f57174a42e"},{"name":"public-dir-conflict-check","duration":99,"timestamp":218945844259,"id":11,"parentId":1,"tags":{},"startTime":1779026918091,"traceId":"abde27f57174a42e"},{"name":"generate-routes-manifest","duration":5470,"timestamp":218945844478,"id":12,"parentId":1,"tags":{},"startTime":1779026918091,"traceId":"abde27f57174a42e"},{"name":"run-turbopack","duration":5888634,"timestamp":218945862404,"id":14,"parentId":1,"tags":{},"startTime":1779026918109,"traceId":"abde27f57174a42e"},{"name":"turbopack-build-events","duration":104,"timestamp":218946166498,"id":15,"parentId":1,"tags":{},"startTime":1779026918413,"traceId":"abde27f57174a42e"},{"name":"run-typescript","duration":9459453,"timestamp":218951759885,"id":16,"parentId":1,"tags":{},"startTime":1779026924006,"traceId":"abde27f57174a42e"},{"name":"generate-required-server-files","duration":2372,"timestamp":218961220436,"id":18,"parentId":1,"tags":{},"startTime":1779026933467,"traceId":"abde27f57174a42e"},{"name":"check-static-error-page","duration":12517,"timestamp":218961371171,"id":20,"parentId":19,"tags":{},"startTime":1779026933617,"traceId":"abde27f57174a42e"},{"name":"is-page-static","duration":598495,"timestamp":218961386390,"id":65,"parentId":22,"tags":{},"startTime":1779026933633,"traceId":"abde27f57174a42e"},{"name":"check-page","duration":611694,"timestamp":218961373587,"id":22,"parentId":19,"tags":{"page":"/_global-error"},"startTime":1779026933620,"traceId":"abde27f57174a42e"},{"name":"is-page-static","duration":640069,"timestamp":218961386622,"id":68,"parentId":27,"tags":{},"startTime":1779026933633,"traceId":"abde27f57174a42e"},{"name":"check-page","duration":650091,"timestamp":218961376707,"id":27,"parentId":19,"tags":{"page":"/api/auth/v3"},"startTime":1779026933623,"traceId":"abde27f57174a42e"},{"name":"is-page-static","duration":654156,"timestamp":218961386555,"id":67,"parentId":26,"tags":{},"startTime":1779026933633,"traceId":"abde27f57174a42e"},{"name":"check-page","duration":664208,"timestamp":218961376586,"id":26,"parentId":19,"tags":{"page":"/api/auth/logout"},"startTime":1779026933623,"traceId":"abde27f57174a42e"},{"name":"is-page-static","duration":659691,"timestamp":218961387806,"id":70,"parentId":29,"tags":{},"startTime":1779026933634,"traceId":"abde27f57174a42e"},{"name":"check-page","duration":670577,"timestamp":218961376986,"id":29,"parentId":19,"tags":{"page":"/api/hub/auth"},"startTime":1779026933623,"traceId":"abde27f57174a42e"},{"name":"is-page-static","duration":661828,"timestamp":218961386705,"id":69,"parentId":28,"tags":{},"startTime":1779026933633,"traceId":"abde27f57174a42e"},{"name":"check-page","duration":671765,"timestamp":218961376835,"id":28,"parentId":19,"tags":{"page":"/api/hub/audit-log"},"startTime":1779026933623,"traceId":"abde27f57174a42e"},{"name":"is-page-static","duration":668015,"timestamp":218961386485,"id":66,"parentId":25,"tags":{},"startTime":1779026933633,"traceId":"abde27f57174a42e"},{"name":"check-page","duration":678139,"timestamp":218961376415,"id":25,"parentId":19,"tags":{"page":"/api/auth/login"},"startTime":1779026933623,"traceId":"abde27f57174a42e"},{"name":"is-page-static","duration":674453,"timestamp":218961386120,"id":64,"parentId":21,"tags":{},"startTime":1779026933632,"traceId":"abde27f57174a42e"},{"name":"check-page","duration":688153,"timestamp":218961372476,"id":21,"parentId":19,"tags":{"page":"/_not-found"},"startTime":1779026933619,"traceId":"abde27f57174a42e"},{"name":"is-page-static","duration":672403,"timestamp":218961388412,"id":76,"parentId":36,"tags":{},"startTime":1779026933635,"traceId":"abde27f57174a42e"},{"name":"check-page","duration":682701,"timestamp":218961378169,"id":36,"parentId":19,"tags":{"page":"/api/hub/networks"},"startTime":1779026933624,"traceId":"abde27f57174a42e"},{"name":"is-page-static","duration":674851,"timestamp":218961388349,"id":74,"parentId":34,"tags":{},"startTime":1779026933635,"traceId":"abde27f57174a42e"},{"name":"check-page","duration":685547,"timestamp":218961377705,"id":34,"parentId":19,"tags":{"page":"/api/hub/license"},"startTime":1779026933624,"traceId":"abde27f57174a42e"},{"name":"is-page-static","duration":677205,"timestamp":218961388106,"id":72,"parentId":32,"tags":{},"startTime":1779026933634,"traceId":"abde27f57174a42e"},{"name":"check-page","duration":687812,"timestamp":218961377539,"id":32,"parentId":19,"tags":{"page":"/api/hub/health"},"startTime":1779026933624,"traceId":"abde27f57174a42e"},{"name":"is-page-static","duration":702906,"timestamp":218961388270,"id":73,"parentId":33,"tags":{},"startTime":1779026933635,"traceId":"abde27f57174a42e"},{"name":"check-page","duration":714599,"timestamp":218961377628,"id":33,"parentId":19,"tags":{"page":"/api/hub/inbox"},"startTime":1779026933624,"traceId":"abde27f57174a42e"},{"name":"is-page-static","duration":704273,"timestamp":218961388384,"id":75,"parentId":35,"tags":{},"startTime":1779026933635,"traceId":"abde27f57174a42e"},{"name":"check-page","duration":714917,"timestamp":218961377784,"id":35,"parentId":19,"tags":{"page":"/api/hub/messages"},"startTime":1779026933624,"traceId":"abde27f57174a42e"},{"name":"is-page-static","duration":708489,"timestamp":218961388471,"id":79,"parentId":39,"tags":{},"startTime":1779026933635,"traceId":"abde27f57174a42e"},{"name":"check-page","duration":718557,"timestamp":218961378463,"id":39,"parentId":19,"tags":{"page":"/api/hub/send"},"startTime":1779026933625,"traceId":"abde27f57174a42e"},{"name":"is-page-static","duration":708724,"timestamp":218961388485,"id":80,"parentId":40,"tags":{},"startTime":1779026933635,"traceId":"abde27f57174a42e"},{"name":"check-page","duration":718708,"timestamp":218961378530,"id":40,"parentId":19,"tags":{"page":"/api/hub/server-logs"},"startTime":1779026933625,"traceId":"abde27f57174a42e"},{"name":"is-page-static","duration":731294,"timestamp":218961388456,"id":78,"parentId":38,"tags":{},"startTime":1779026933635,"traceId":"abde27f57174a42e"},{"name":"check-page","duration":741413,"timestamp":218961378401,"id":38,"parentId":19,"tags":{"page":"/api/hub/register"},"startTime":1779026933625,"traceId":"abde27f57174a42e"},{"name":"is-page-static","duration":734382,"timestamp":218961388019,"id":71,"parentId":30,"tags":{},"startTime":1779026933634,"traceId":"abde27f57174a42e"},{"name":"check-page","duration":745273,"timestamp":218961377178,"id":30,"parentId":19,"tags":{"page":"/api/hub/broadcast"},"startTime":1779026933623,"traceId":"abde27f57174a42e"},{"name":"is-page-static","duration":736264,"timestamp":218961388535,"id":84,"parentId":46,"tags":{},"startTime":1779026933635,"traceId":"abde27f57174a42e"},{"name":"check-page","duration":745502,"timestamp":218961379373,"id":46,"parentId":19,"tags":{"page":"/api/hub/status"},"startTime":1779026933626,"traceId":"abde27f57174a42e"},{"name":"is-page-static","duration":736571,"timestamp":218961388508,"id":82,"parentId":44,"tags":{},"startTime":1779026933635,"traceId":"abde27f57174a42e"},{"name":"check-page","duration":745956,"timestamp":218961379163,"id":44,"parentId":19,"tags":{"page":"/api/hub/session"},"startTime":1779026933625,"traceId":"abde27f57174a42e"},{"name":"is-page-static","duration":763390,"timestamp":218961388495,"id":81,"parentId":42,"tags":{},"startTime":1779026933635,"traceId":"abde27f57174a42e"},{"name":"check-page","duration":773180,"timestamp":218961378782,"id":42,"parentId":19,"tags":{"page":"/api/hub/server/[hostname]/health"},"startTime":1779026933625,"traceId":"abde27f57174a42e"},{"name":"is-page-static","duration":763575,"timestamp":218961388570,"id":87,"parentId":49,"tags":{},"startTime":1779026933635,"traceId":"abde27f57174a42e"},{"name":"check-page","duration":772517,"timestamp":218961379669,"id":49,"parentId":19,"tags":{"page":"/api/hub/tmux"},"startTime":1779026933626,"traceId":"abde27f57174a42e"},{"name":"is-page-static","duration":763756,"timestamp":218961388580,"id":88,"parentId":50,"tags":{},"startTime":1779026933635,"traceId":"abde27f57174a42e"},{"name":"check-page","duration":772616,"timestamp":218961379756,"id":50,"parentId":19,"tags":{"page":"/api/hub/tokens"},"startTime":1779026933626,"traceId":"abde27f57174a42e"},{"name":"is-page-static","duration":763953,"timestamp":218961388543,"id":85,"parentId":47,"tags":{},"startTime":1779026933635,"traceId":"abde27f57174a42e"},{"name":"check-page","duration":773056,"timestamp":218961379468,"id":47,"parentId":19,"tags":{"page":"/api/hub/task-events"},"startTime":1779026933626,"traceId":"abde27f57174a42e"},{"name":"is-page-static","duration":764433,"timestamp":218961388521,"id":83,"parentId":45,"tags":{},"startTime":1779026933635,"traceId":"abde27f57174a42e"},{"name":"check-page","duration":773712,"timestamp":218961379284,"id":45,"parentId":19,"tags":{"page":"/api/hub/stats"},"startTime":1779026933626,"traceId":"abde27f57174a42e"},{"name":"is-page-static","duration":764617,"timestamp":218961388557,"id":86,"parentId":48,"tags":{},"startTime":1779026933635,"traceId":"abde27f57174a42e"},{"name":"check-page","duration":773650,"timestamp":218961379555,"id":48,"parentId":19,"tags":{"page":"/api/hub/tasks"},"startTime":1779026933626,"traceId":"abde27f57174a42e"},{"name":"is-page-static","duration":768630,"timestamp":218961391866,"id":90,"parentId":24,"tags":{},"startTime":1779026933638,"traceId":"abde27f57174a42e"},{"name":"check-page","duration":786561,"timestamp":218961373977,"id":24,"parentId":19,"tags":{"page":"/api/anet/config"},"startTime":1779026933620,"traceId":"abde27f57174a42e"},{"name":"is-page-static","duration":766916,"timestamp":218961395306,"id":93,"parentId":43,"tags":{},"startTime":1779026933642,"traceId":"abde27f57174a42e"},{"name":"check-page","duration":783374,"timestamp":218961378891,"id":43,"parentId":19,"tags":{"page":"/api/hub/servers"},"startTime":1779026933625,"traceId":"abde27f57174a42e"},{"name":"is-page-static","duration":773863,"timestamp":218961388597,"id":89,"parentId":51,"tags":{},"startTime":1779026933635,"traceId":"abde27f57174a42e"},{"name":"check-page","duration":782663,"timestamp":218961379840,"id":51,"parentId":19,"tags":{"page":"/favicon.ico"},"startTime":1779026933626,"traceId":"abde27f57174a42e"},{"name":"is-page-static","duration":770956,"timestamp":218961393079,"id":91,"parentId":31,"tags":{},"startTime":1779026933639,"traceId":"abde27f57174a42e"},{"name":"check-page","duration":786751,"timestamp":218961377326,"id":31,"parentId":19,"tags":{"page":"/api/hub/events"},"startTime":1779026933624,"traceId":"abde27f57174a42e"},{"name":"is-page-static","duration":776293,"timestamp":218961388443,"id":77,"parentId":37,"tags":{},"startTime":1779026933635,"traceId":"abde27f57174a42e"},{"name":"check-page","duration":786463,"timestamp":218961378308,"id":37,"parentId":19,"tags":{"page":"/api/hub/nodes"},"startTime":1779026933625,"traceId":"abde27f57174a42e"},{"name":"is-page-static","duration":772433,"timestamp":218961393922,"id":92,"parentId":41,"tags":{},"startTime":1779026933640,"traceId":"abde27f57174a42e"},{"name":"check-page","duration":787802,"timestamp":218961378592,"id":41,"parentId":19,"tags":{"page":"/api/hub/server/[hostname]/agents"},"startTime":1779026933625,"traceId":"abde27f57174a42e"},{"name":"is-page-static","duration":779461,"timestamp":218961397688,"id":99,"parentId":56,"tags":{},"startTime":1779026933644,"traceId":"abde27f57174a42e"},{"name":"check-page","duration":796096,"timestamp":218961381108,"id":56,"parentId":19,"tags":{"page":"/nodes"},"startTime":1779026933627,"traceId":"abde27f57174a42e"},{"name":"is-page-static","duration":784531,"timestamp":218961397822,"id":101,"parentId":59,"tags":{},"startTime":1779026933644,"traceId":"abde27f57174a42e"},{"name":"check-page","duration":800039,"timestamp":218961382363,"id":59,"parentId":19,"tags":{"page":"/settings/networks"},"startTime":1779026933629,"traceId":"abde27f57174a42e"},{"name":"is-page-static","duration":793566,"timestamp":218961397843,"id":102,"parentId":61,"tags":{},"startTime":1779026933644,"traceId":"abde27f57174a42e"},{"name":"check-page","duration":808424,"timestamp":218961383054,"id":61,"parentId":19,"tags":{"page":"/settings/tokens"},"startTime":1779026933629,"traceId":"abde27f57174a42e"},{"name":"is-page-static","duration":811750,"timestamp":218961397870,"id":103,"parentId":62,"tags":{},"startTime":1779026933644,"traceId":"abde27f57174a42e"},{"name":"check-page","duration":826461,"timestamp":218961383228,"id":62,"parentId":19,"tags":{"page":"/tasks/[id]"},"startTime":1779026933630,"traceId":"abde27f57174a42e"},{"name":"is-page-static","duration":817310,"timestamp":218961397605,"id":94,"parentId":23,"tags":{},"startTime":1779026933644,"traceId":"abde27f57174a42e"},{"name":"check-page","duration":841183,"timestamp":218961373786,"id":23,"parentId":19,"tags":{"page":"/admin"},"startTime":1779026933620,"traceId":"abde27f57174a42e"},{"name":"is-page-static","duration":817248,"timestamp":218961397880,"id":104,"parentId":63,"tags":{},"startTime":1779026933644,"traceId":"abde27f57174a42e"},{"name":"check-page","duration":831766,"timestamp":218961383403,"id":63,"parentId":19,"tags":{"page":"/tasks"},"startTime":1779026933630,"traceId":"abde27f57174a42e"},{"name":"is-page-static","duration":822350,"timestamp":218961397674,"id":98,"parentId":55,"tags":{},"startTime":1779026933644,"traceId":"abde27f57174a42e"},{"name":"check-page","duration":839229,"timestamp":218961380844,"id":55,"parentId":19,"tags":{"page":"/node"},"startTime":1779026933627,"traceId":"abde27f57174a42e"},{"name":"is-page-static","duration":819710,"timestamp":218961403543,"id":105,"parentId":60,"tags":{},"startTime":1779026933650,"traceId":"abde27f57174a42e"},{"name":"check-page","duration":840732,"timestamp":218961382570,"id":60,"parentId":19,"tags":{"page":"/settings"},"startTime":1779026933629,"traceId":"abde27f57174a42e"},{"name":"is-page-static","duration":812028,"timestamp":218961412491,"id":106,"parentId":57,"tags":{},"startTime":1779026933659,"traceId":"abde27f57174a42e"},{"name":"check-page","duration":843022,"timestamp":218961381526,"id":57,"parentId":19,"tags":{"page":"/"},"startTime":1779026933628,"traceId":"abde27f57174a42e"},{"name":"is-page-static","duration":830672,"timestamp":218961397635,"id":95,"parentId":52,"tags":{},"startTime":1779026933644,"traceId":"abde27f57174a42e"},{"name":"check-page","duration":848068,"timestamp":218961380274,"id":52,"parentId":19,"tags":{"page":"/login"},"startTime":1779026933627,"traceId":"abde27f57174a42e"},{"name":"is-page-static","duration":831919,"timestamp":218961397661,"id":97,"parentId":54,"tags":{},"startTime":1779026933644,"traceId":"abde27f57174a42e"},{"name":"check-page","duration":848978,"timestamp":218961380622,"id":54,"parentId":19,"tags":{"page":"/messages"},"startTime":1779026933627,"traceId":"abde27f57174a42e"},{"name":"is-page-static","duration":834726,"timestamp":218961397698,"id":100,"parentId":58,"tags":{},"startTime":1779026933644,"traceId":"abde27f57174a42e"},{"name":"check-page","duration":850337,"timestamp":218961382121,"id":58,"parentId":19,"tags":{"page":"/server-logs"},"startTime":1779026933628,"traceId":"abde27f57174a42e"},{"name":"is-page-static","duration":835960,"timestamp":218961397650,"id":96,"parentId":53,"tags":{},"startTime":1779026933644,"traceId":"abde27f57174a42e"},{"name":"check-page","duration":853178,"timestamp":218961380454,"id":53,"parentId":19,"tags":{"page":"/logs"},"startTime":1779026933627,"traceId":"abde27f57174a42e"},{"name":"static-check","duration":863506,"timestamp":218961370167,"id":19,"parentId":1,"tags":{},"startTime":1779026933616,"traceId":"abde27f57174a42e"}]
|
|
2
|
-
[{"name":"write-routes-manifest","duration":
|
|
1
|
+
[{"name":"generate-buildid","duration":275,"timestamp":219647790876,"id":4,"parentId":1,"tags":{},"startTime":1779027620037,"traceId":"d895f6a46563fde5"},{"name":"load-custom-routes","duration":522,"timestamp":219647791289,"id":5,"parentId":1,"tags":{},"startTime":1779027620038,"traceId":"d895f6a46563fde5"},{"name":"create-dist-dir","duration":818,"timestamp":219647791870,"id":6,"parentId":1,"tags":{},"startTime":1779027620038,"traceId":"d895f6a46563fde5"},{"name":"clean","duration":33786,"timestamp":219647793454,"id":7,"parentId":1,"tags":{},"startTime":1779027620040,"traceId":"d895f6a46563fde5"},{"name":"discover-routes","duration":12707,"timestamp":219647916727,"id":8,"parentId":1,"tags":{},"startTime":1779027620163,"traceId":"d895f6a46563fde5"},{"name":"create-root-mapping","duration":128,"timestamp":219647929499,"id":9,"parentId":1,"tags":{},"startTime":1779027620176,"traceId":"d895f6a46563fde5"},{"name":"generate-route-types","duration":33888,"timestamp":219647932173,"id":10,"parentId":1,"tags":{},"startTime":1779027620178,"traceId":"d895f6a46563fde5"},{"name":"public-dir-conflict-check","duration":99,"timestamp":219647966143,"id":11,"parentId":1,"tags":{},"startTime":1779027620212,"traceId":"d895f6a46563fde5"},{"name":"generate-routes-manifest","duration":5060,"timestamp":219647966358,"id":12,"parentId":1,"tags":{},"startTime":1779027620213,"traceId":"d895f6a46563fde5"},{"name":"run-turbopack","duration":6538233,"timestamp":219647977138,"id":14,"parentId":1,"tags":{},"startTime":1779027620223,"traceId":"d895f6a46563fde5"},{"name":"turbopack-build-events","duration":91,"timestamp":219648297187,"id":15,"parentId":1,"tags":{},"startTime":1779027620543,"traceId":"d895f6a46563fde5"},{"name":"run-typescript","duration":10026086,"timestamp":219654540931,"id":16,"parentId":1,"tags":{},"startTime":1779027626787,"traceId":"d895f6a46563fde5"},{"name":"generate-required-server-files","duration":2799,"timestamp":219664568312,"id":18,"parentId":1,"tags":{},"startTime":1779027636815,"traceId":"d895f6a46563fde5"},{"name":"check-static-error-page","duration":19812,"timestamp":219664736274,"id":20,"parentId":19,"tags":{},"startTime":1779027636983,"traceId":"d895f6a46563fde5"},{"name":"is-page-static","duration":559234,"timestamp":219664759922,"id":65,"parentId":22,"tags":{},"startTime":1779027637006,"traceId":"d895f6a46563fde5"},{"name":"check-page","duration":579876,"timestamp":219664739445,"id":22,"parentId":19,"tags":{"page":"/_global-error"},"startTime":1779027636986,"traceId":"d895f6a46563fde5"},{"name":"is-page-static","duration":583234,"timestamp":219664760324,"id":68,"parentId":27,"tags":{},"startTime":1779027637007,"traceId":"d895f6a46563fde5"},{"name":"check-page","duration":599412,"timestamp":219664744253,"id":27,"parentId":19,"tags":{"page":"/api/auth/v3"},"startTime":1779027636991,"traceId":"d895f6a46563fde5"},{"name":"is-page-static","duration":611650,"timestamp":219664760934,"id":72,"parentId":32,"tags":{},"startTime":1779027637007,"traceId":"d895f6a46563fde5"},{"name":"check-page","duration":626591,"timestamp":219664746085,"id":32,"parentId":19,"tags":{"page":"/api/hub/health"},"startTime":1779027636992,"traceId":"d895f6a46563fde5"},{"name":"is-page-static","duration":618321,"timestamp":219664761116,"id":73,"parentId":33,"tags":{},"startTime":1779027637007,"traceId":"d895f6a46563fde5"},{"name":"check-page","duration":633154,"timestamp":219664746348,"id":33,"parentId":19,"tags":{"page":"/api/hub/inbox"},"startTime":1779027636993,"traceId":"d895f6a46563fde5"},{"name":"is-page-static","duration":621354,"timestamp":219664760436,"id":69,"parentId":28,"tags":{},"startTime":1779027637007,"traceId":"d895f6a46563fde5"},{"name":"check-page","duration":637318,"timestamp":219664744551,"id":28,"parentId":19,"tags":{"page":"/api/hub/audit-log"},"startTime":1779027636991,"traceId":"d895f6a46563fde5"},{"name":"is-page-static","duration":627886,"timestamp":219664761198,"id":74,"parentId":34,"tags":{},"startTime":1779027637007,"traceId":"d895f6a46563fde5"},{"name":"check-page","duration":642521,"timestamp":219664746622,"id":34,"parentId":19,"tags":{"page":"/api/hub/license"},"startTime":1779027636993,"traceId":"d895f6a46563fde5"},{"name":"is-page-static","duration":628755,"timestamp":219664760699,"id":70,"parentId":29,"tags":{},"startTime":1779027637007,"traceId":"d895f6a46563fde5"},{"name":"check-page","duration":644667,"timestamp":219664744831,"id":29,"parentId":19,"tags":{"page":"/api/hub/auth"},"startTime":1779027636991,"traceId":"d895f6a46563fde5"},{"name":"is-page-static","duration":630260,"timestamp":219664761226,"id":75,"parentId":35,"tags":{},"startTime":1779027637007,"traceId":"d895f6a46563fde5"},{"name":"check-page","duration":644560,"timestamp":219664746969,"id":35,"parentId":19,"tags":{"page":"/api/hub/messages"},"startTime":1779027636993,"traceId":"d895f6a46563fde5"},{"name":"is-page-static","duration":636881,"timestamp":219664759615,"id":64,"parentId":21,"tags":{},"startTime":1779027637006,"traceId":"d895f6a46563fde5"},{"name":"check-page","duration":658713,"timestamp":219664737833,"id":21,"parentId":19,"tags":{"page":"/_not-found"},"startTime":1779027636984,"traceId":"d895f6a46563fde5"},{"name":"is-page-static","duration":635514,"timestamp":219664761240,"id":76,"parentId":36,"tags":{},"startTime":1779027637008,"traceId":"d895f6a46563fde5"},{"name":"check-page","duration":648718,"timestamp":219664748077,"id":36,"parentId":19,"tags":{"page":"/api/hub/networks"},"startTime":1779027636994,"traceId":"d895f6a46563fde5"},{"name":"is-page-static","duration":650787,"timestamp":219664761306,"id":80,"parentId":40,"tags":{},"startTime":1779027637008,"traceId":"d895f6a46563fde5"},{"name":"check-page","duration":663180,"timestamp":219664748978,"id":40,"parentId":19,"tags":{"page":"/api/hub/server-logs"},"startTime":1779027636995,"traceId":"d895f6a46563fde5"},{"name":"is-page-static","duration":661933,"timestamp":219664761283,"id":78,"parentId":38,"tags":{},"startTime":1779027637008,"traceId":"d895f6a46563fde5"},{"name":"check-page","duration":674565,"timestamp":219664748705,"id":38,"parentId":19,"tags":{"page":"/api/hub/register"},"startTime":1779027636995,"traceId":"d895f6a46563fde5"},{"name":"is-page-static","duration":668223,"timestamp":219664761319,"id":81,"parentId":42,"tags":{},"startTime":1779027637008,"traceId":"d895f6a46563fde5"},{"name":"check-page","duration":680228,"timestamp":219664749392,"id":42,"parentId":19,"tags":{"page":"/api/hub/server/[hostname]/health"},"startTime":1779027636996,"traceId":"d895f6a46563fde5"},{"name":"is-page-static","duration":669116,"timestamp":219664761266,"id":77,"parentId":37,"tags":{},"startTime":1779027637008,"traceId":"d895f6a46563fde5"},{"name":"check-page","duration":682020,"timestamp":219664748411,"id":37,"parentId":19,"tags":{"page":"/api/hub/nodes"},"startTime":1779027636995,"traceId":"d895f6a46563fde5"},{"name":"is-page-static","duration":673458,"timestamp":219664761341,"id":83,"parentId":45,"tags":{},"startTime":1779027637008,"traceId":"d895f6a46563fde5"},{"name":"check-page","duration":684806,"timestamp":219664750058,"id":45,"parentId":19,"tags":{"page":"/api/hub/stats"},"startTime":1779027636996,"traceId":"d895f6a46563fde5"},{"name":"is-page-static","duration":675221,"timestamp":219664760864,"id":71,"parentId":30,"tags":{},"startTime":1779027637007,"traceId":"d895f6a46563fde5"},{"name":"check-page","duration":690902,"timestamp":219664745224,"id":30,"parentId":19,"tags":{"page":"/api/hub/broadcast"},"startTime":1779027636991,"traceId":"d895f6a46563fde5"},{"name":"is-page-static","duration":683433,"timestamp":219664761332,"id":82,"parentId":44,"tags":{},"startTime":1779027637008,"traceId":"d895f6a46563fde5"},{"name":"check-page","duration":694938,"timestamp":219664749890,"id":44,"parentId":19,"tags":{"page":"/api/hub/session"},"startTime":1779027636996,"traceId":"d895f6a46563fde5"},{"name":"is-page-static","duration":684850,"timestamp":219664760200,"id":67,"parentId":26,"tags":{},"startTime":1779027637006,"traceId":"d895f6a46563fde5"},{"name":"check-page","duration":701123,"timestamp":219664743968,"id":26,"parentId":19,"tags":{"page":"/api/auth/logout"},"startTime":1779027636990,"traceId":"d895f6a46563fde5"},{"name":"is-page-static","duration":683884,"timestamp":219664761354,"id":84,"parentId":46,"tags":{},"startTime":1779027637008,"traceId":"d895f6a46563fde5"},{"name":"check-page","duration":695079,"timestamp":219664750193,"id":46,"parentId":19,"tags":{"page":"/api/hub/status"},"startTime":1779027636996,"traceId":"d895f6a46563fde5"},{"name":"is-page-static","duration":684027,"timestamp":219664761371,"id":85,"parentId":47,"tags":{},"startTime":1779027637008,"traceId":"d895f6a46563fde5"},{"name":"check-page","duration":693543,"timestamp":219664751885,"id":47,"parentId":19,"tags":{"page":"/api/hub/task-events"},"startTime":1779027636998,"traceId":"d895f6a46563fde5"},{"name":"is-page-static","duration":690091,"timestamp":219664761392,"id":87,"parentId":49,"tags":{},"startTime":1779027637008,"traceId":"d895f6a46563fde5"},{"name":"check-page","duration":699312,"timestamp":219664752216,"id":49,"parentId":19,"tags":{"page":"/api/hub/tmux"},"startTime":1779027636998,"traceId":"d895f6a46563fde5"},{"name":"is-page-static","duration":684359,"timestamp":219664767785,"id":90,"parentId":24,"tags":{},"startTime":1779027637014,"traceId":"d895f6a46563fde5"},{"name":"check-page","duration":712154,"timestamp":219664740032,"id":24,"parentId":19,"tags":{"page":"/api/anet/config"},"startTime":1779027636986,"traceId":"d895f6a46563fde5"},{"name":"is-page-static","duration":691248,"timestamp":219664761418,"id":89,"parentId":51,"tags":{},"startTime":1779027637008,"traceId":"d895f6a46563fde5"},{"name":"check-page","duration":700281,"timestamp":219664752429,"id":51,"parentId":19,"tags":{"page":"/favicon.ico"},"startTime":1779027636999,"traceId":"d895f6a46563fde5"},{"name":"is-page-static","duration":684755,"timestamp":219664772924,"id":91,"parentId":31,"tags":{},"startTime":1779027637019,"traceId":"d895f6a46563fde5"},{"name":"check-page","duration":712199,"timestamp":219664745526,"id":31,"parentId":19,"tags":{"page":"/api/hub/events"},"startTime":1779027636992,"traceId":"d895f6a46563fde5"},{"name":"is-page-static","duration":696522,"timestamp":219664761379,"id":86,"parentId":48,"tags":{},"startTime":1779027637008,"traceId":"d895f6a46563fde5"},{"name":"check-page","duration":705872,"timestamp":219664752066,"id":48,"parentId":19,"tags":{"page":"/api/hub/tasks"},"startTime":1779027636998,"traceId":"d895f6a46563fde5"},{"name":"is-page-static","duration":698050,"timestamp":219664760087,"id":66,"parentId":25,"tags":{},"startTime":1779027637006,"traceId":"d895f6a46563fde5"},{"name":"check-page","duration":714537,"timestamp":219664743638,"id":25,"parentId":19,"tags":{"page":"/api/auth/login"},"startTime":1779027636990,"traceId":"d895f6a46563fde5"},{"name":"is-page-static","duration":683147,"timestamp":219664775169,"id":93,"parentId":43,"tags":{},"startTime":1779027637021,"traceId":"d895f6a46563fde5"},{"name":"check-page","duration":708785,"timestamp":219664749565,"id":43,"parentId":19,"tags":{"page":"/api/hub/servers"},"startTime":1779027636996,"traceId":"d895f6a46563fde5"},{"name":"is-page-static","duration":695302,"timestamp":219664773814,"id":92,"parentId":41,"tags":{},"startTime":1779027637020,"traceId":"d895f6a46563fde5"},{"name":"check-page","duration":720054,"timestamp":219664749112,"id":41,"parentId":19,"tags":{"page":"/api/hub/server/[hostname]/agents"},"startTime":1779027636995,"traceId":"d895f6a46563fde5"},{"name":"is-page-static","duration":708956,"timestamp":219664761404,"id":88,"parentId":50,"tags":{},"startTime":1779027637008,"traceId":"d895f6a46563fde5"},{"name":"check-page","duration":718073,"timestamp":219664752327,"id":50,"parentId":19,"tags":{"page":"/api/hub/tokens"},"startTime":1779027636999,"traceId":"d895f6a46563fde5"},{"name":"is-page-static","duration":749600,"timestamp":219664761292,"id":79,"parentId":39,"tags":{},"startTime":1779027637008,"traceId":"d895f6a46563fde5"},{"name":"check-page","duration":762295,"timestamp":219664748852,"id":39,"parentId":19,"tags":{"page":"/api/hub/send"},"startTime":1779027636995,"traceId":"d895f6a46563fde5"},{"name":"is-page-static","duration":735261,"timestamp":219664779521,"id":94,"parentId":23,"tags":{},"startTime":1779027637026,"traceId":"d895f6a46563fde5"},{"name":"check-page","duration":775112,"timestamp":219664739738,"id":23,"parentId":19,"tags":{"page":"/admin"},"startTime":1779027636986,"traceId":"d895f6a46563fde5"},{"name":"is-page-static","duration":745945,"timestamp":219664779619,"id":100,"parentId":58,"tags":{},"startTime":1779027637026,"traceId":"d895f6a46563fde5"},{"name":"check-page","duration":771060,"timestamp":219664754564,"id":58,"parentId":19,"tags":{"page":"/server-logs"},"startTime":1779027637001,"traceId":"d895f6a46563fde5"},{"name":"is-page-static","duration":749249,"timestamp":219664779750,"id":101,"parentId":59,"tags":{},"startTime":1779027637026,"traceId":"d895f6a46563fde5"},{"name":"check-page","duration":774299,"timestamp":219664754784,"id":59,"parentId":19,"tags":{"page":"/settings/networks"},"startTime":1779027637001,"traceId":"d895f6a46563fde5"},{"name":"is-page-static","duration":753293,"timestamp":219664779769,"id":102,"parentId":61,"tags":{},"startTime":1779027637026,"traceId":"d895f6a46563fde5"},{"name":"check-page","duration":777643,"timestamp":219664755472,"id":61,"parentId":19,"tags":{"page":"/settings/tokens"},"startTime":1779027637002,"traceId":"d895f6a46563fde5"},{"name":"is-page-static","duration":760627,"timestamp":219664779581,"id":97,"parentId":54,"tags":{},"startTime":1779027637026,"traceId":"d895f6a46563fde5"},{"name":"check-page","duration":787065,"timestamp":219664753208,"id":54,"parentId":19,"tags":{"page":"/messages"},"startTime":1779027636999,"traceId":"d895f6a46563fde5"},{"name":"is-page-static","duration":760980,"timestamp":219664779591,"id":98,"parentId":55,"tags":{},"startTime":1779027637026,"traceId":"d895f6a46563fde5"},{"name":"check-page","duration":787184,"timestamp":219664753429,"id":55,"parentId":19,"tags":{"page":"/node"},"startTime":1779027637000,"traceId":"d895f6a46563fde5"},{"name":"is-page-static","duration":761061,"timestamp":219664779798,"id":104,"parentId":63,"tags":{},"startTime":1779027637026,"traceId":"d895f6a46563fde5"},{"name":"check-page","duration":785103,"timestamp":219664755792,"id":63,"parentId":19,"tags":{"page":"/tasks"},"startTime":1779027637002,"traceId":"d895f6a46563fde5"},{"name":"is-page-static","duration":764480,"timestamp":219664779784,"id":103,"parentId":62,"tags":{},"startTime":1779027637026,"traceId":"d895f6a46563fde5"},{"name":"check-page","duration":788676,"timestamp":219664755630,"id":62,"parentId":19,"tags":{"page":"/tasks/[id]"},"startTime":1779027637002,"traceId":"d895f6a46563fde5"},{"name":"is-page-static","duration":755436,"timestamp":219664789606,"id":105,"parentId":60,"tags":{},"startTime":1779027637036,"traceId":"d895f6a46563fde5"},{"name":"check-page","duration":790056,"timestamp":219664755022,"id":60,"parentId":19,"tags":{"page":"/settings"},"startTime":1779027637001,"traceId":"d895f6a46563fde5"},{"name":"is-page-static","duration":765617,"timestamp":219664779551,"id":95,"parentId":52,"tags":{},"startTime":1779027637026,"traceId":"d895f6a46563fde5"},{"name":"check-page","duration":792393,"timestamp":219664752811,"id":52,"parentId":19,"tags":{"page":"/login"},"startTime":1779027636999,"traceId":"d895f6a46563fde5"},{"name":"is-page-static","duration":767506,"timestamp":219664779607,"id":99,"parentId":56,"tags":{},"startTime":1779027637026,"traceId":"d895f6a46563fde5"},{"name":"check-page","duration":793493,"timestamp":219664753653,"id":56,"parentId":19,"tags":{"page":"/nodes"},"startTime":1779027637000,"traceId":"d895f6a46563fde5"},{"name":"is-page-static","duration":740880,"timestamp":219664807424,"id":106,"parentId":57,"tags":{},"startTime":1779027637054,"traceId":"d895f6a46563fde5"},{"name":"check-page","duration":794406,"timestamp":219664753923,"id":57,"parentId":19,"tags":{"page":"/"},"startTime":1779027637000,"traceId":"d895f6a46563fde5"},{"name":"is-page-static","duration":785134,"timestamp":219664779567,"id":96,"parentId":53,"tags":{},"startTime":1779027637026,"traceId":"d895f6a46563fde5"},{"name":"check-page","duration":811723,"timestamp":219664753026,"id":53,"parentId":19,"tags":{"page":"/logs"},"startTime":1779027636999,"traceId":"d895f6a46563fde5"},{"name":"static-check","duration":829677,"timestamp":219664735126,"id":19,"parentId":1,"tags":{},"startTime":1779027636981,"traceId":"d895f6a46563fde5"}]
|
|
2
|
+
[{"name":"write-routes-manifest","duration":501,"timestamp":219665575852,"id":108,"parentId":1,"tags":{},"startTime":1779027637822,"traceId":"d895f6a46563fde5"},{"name":"load-dotenv","duration":46,"timestamp":219665587374,"id":111,"parentId":110,"tags":{},"startTime":1779027637834,"traceId":"d895f6a46563fde5"},{"name":"run-export-path-map","duration":781,"timestamp":219665590857,"id":112,"parentId":110,"tags":{},"startTime":1779027637837,"traceId":"d895f6a46563fde5"},{"name":"next-export","duration":611096,"timestamp":219665586183,"id":110,"parentId":1,"tags":{},"startTime":1779027637832,"traceId":"d895f6a46563fde5"},{"name":"move-exported-app-not-found-","duration":562,"timestamp":219666200765,"id":113,"parentId":109,"tags":{},"startTime":1779027638447,"traceId":"d895f6a46563fde5"},{"name":"move-exported-app-global-error-","duration":536,"timestamp":219666201437,"id":114,"parentId":109,"tags":{},"startTime":1779027638448,"traceId":"d895f6a46563fde5"},{"name":"static-generation","duration":623757,"timestamp":219665580353,"id":109,"parentId":1,"tags":{},"startTime":1779027637827,"traceId":"d895f6a46563fde5"},{"name":"write-routes-manifest","duration":459,"timestamp":219666204338,"id":115,"parentId":1,"tags":{},"startTime":1779027638451,"traceId":"d895f6a46563fde5"},{"name":"print-tree-view","duration":4846,"timestamp":219666213774,"id":116,"parentId":1,"tags":{},"startTime":1779027638460,"traceId":"d895f6a46563fde5"},{"name":"write-route-bundle-stats","duration":15727,"timestamp":219666218654,"id":117,"parentId":1,"tags":{},"startTime":1779027638465,"traceId":"d895f6a46563fde5"},{"name":"telemetry-flush","duration":23060,"timestamp":219666234409,"id":118,"parentId":1,"tags":{},"startTime":1779027638481,"traceId":"d895f6a46563fde5"},{"name":"next-build","duration":18517306,"timestamp":219647740195,"id":1,"tags":{"buildMode":"default","version":"16.2.3","bundler":"turbopack","has-custom-webpack-config":"false","use-build-worker":"true"},"startTime":1779027619986,"traceId":"d895f6a46563fde5"}]
|
package/.next/trace-build
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
[{"name":"run-turbopack","duration":
|
|
1
|
+
[{"name":"run-turbopack","duration":6538233,"timestamp":219647977138,"id":14,"parentId":1,"tags":{},"startTime":1779027620223,"traceId":"d895f6a46563fde5"},{"name":"turbopack-build-events","duration":91,"timestamp":219648297187,"id":15,"parentId":1,"tags":{},"startTime":1779027620543,"traceId":"d895f6a46563fde5"},{"name":"run-typescript","duration":10026086,"timestamp":219654540931,"id":16,"parentId":1,"tags":{},"startTime":1779027626787,"traceId":"d895f6a46563fde5"},{"name":"static-check","duration":829677,"timestamp":219664735126,"id":19,"parentId":1,"tags":{},"startTime":1779027636981,"traceId":"d895f6a46563fde5"},{"name":"static-generation","duration":623757,"timestamp":219665580353,"id":109,"parentId":1,"tags":{},"startTime":1779027637827,"traceId":"d895f6a46563fde5"},{"name":"telemetry-flush","duration":23060,"timestamp":219666234409,"id":118,"parentId":1,"tags":{},"startTime":1779027638481,"traceId":"d895f6a46563fde5"},{"name":"next-build","duration":18517306,"timestamp":219647740195,"id":1,"tags":{"buildMode":"default","version":"16.2.3","bundler":"turbopack","has-custom-webpack-config":"false","use-build-worker":"true"},"startTime":1779027619986,"traceId":"d895f6a46563fde5"}]
|
|
@@ -5533,7 +5533,44 @@ export function TopoGraph({ sessions, sseSessions, renameSignal }: TopoGraphProp
|
|
|
5533
5533
|
fontSize="9"
|
|
5534
5534
|
fontFamily="monospace"
|
|
5535
5535
|
fontWeight={isPinned ? '800' : '700'}
|
|
5536
|
-
|
|
5536
|
+
/* Round 551 / Loop — category-differentiation family
|
|
5537
|
+
4th anchor. Orphan band ("其他" catchall) rest-state
|
|
5538
|
+
LABEL opacity drops 0.55 → 0.4 (~27% relative dim),
|
|
5539
|
+
mirroring R506's rect fillOpacity drop pattern at
|
|
5540
|
+
the label-paint tier. Adds a 4th independent
|
|
5541
|
+
channel to the orphan visual signature at rest:
|
|
5542
|
+
R499 fontStyle italic (typography style)
|
|
5543
|
+
R503 '3 6' dash pattern (rect stroke)
|
|
5544
|
+
R506 lower rect fill-opacity (rect fill)
|
|
5545
|
+
R551 lower label opacity (label paint) ← this round
|
|
5546
|
+
Four independent channels (typography style +
|
|
5547
|
+
stroke pattern + rect fill density + label paint
|
|
5548
|
+
density) collectively encode the catchall semantic
|
|
5549
|
+
at rest — orphan band reads as "misc bucket, less
|
|
5550
|
+
attention-deserving" through every available paint
|
|
5551
|
+
channel, no chrome / color / geometry change.
|
|
5552
|
+
Pin and hover branches UNCHANGED — orphan label
|
|
5553
|
+
restores to full opacity 1 on inspection, same as
|
|
5554
|
+
prefix groups. The differentiation lives ONLY in
|
|
5555
|
+
the unsolicited rest state. The ~27% drop (0.55 →
|
|
5556
|
+
0.4) is dimmer than R506's ~40% (rect could
|
|
5557
|
+
tolerate it; small 9px text needs more residual
|
|
5558
|
+
paint to stay legible) — orphan label stays
|
|
5559
|
+
readable when scanning, just clearly quieter.
|
|
5560
|
+
Pure paint axis; bbox unchanged; R51 SVG sentinel
|
|
5561
|
+
safety untouched (overlap-test gates to g[data-
|
|
5562
|
+
node], this group-label is invisible to it).
|
|
5563
|
+
transition list (R55/R432/R457/R479: fill, ls,
|
|
5564
|
+
fw, filter all 200ms) already eases opacity since
|
|
5565
|
+
`opacity 300ms ease-out` lives in the parent <text>
|
|
5566
|
+
CSS — wait, only filter/ls/fw/fill 200ms are
|
|
5567
|
+
listed. Need to add 'opacity 200ms ease-out' for
|
|
5568
|
+
smooth orphan opacity flip on pin/hover transitions
|
|
5569
|
+
(currently opacity 0.55 → 1 was snapping).
|
|
5570
|
+
data-group-label-opacity attr exposes the resolved
|
|
5571
|
+
value for tests. */
|
|
5572
|
+
opacity={isPinned || isHovered ? 1 : box.isOrphan ? 0.4 : 0.55}
|
|
5573
|
+
data-group-label-opacity={isPinned || isHovered ? 1 : box.isOrphan ? 0.4 : 0.55}
|
|
5537
5574
|
data-group-label-hovered={isHovered && !isPinned ? 'true' : 'false'}
|
|
5538
5575
|
data-group-label-font-weight={isPinned ? '800' : '700'}
|
|
5539
5576
|
/* Round 479 / Loop — extend drop-shadow visual-polish
|
|
@@ -9689,7 +9726,48 @@ export function TopoGraph({ sessions, sseSessions, renameSignal }: TopoGraphProp
|
|
|
9689
9726
|
200ms ease-out' alongside R345's ls + R55's fill
|
|
9690
9727
|
200ms. data-recent-panel-title-fw exposes the
|
|
9691
9728
|
resolved weight for tests. */}
|
|
9692
|
-
|
|
9729
|
+
{/* Round 550 / Loop — drop-shadow visual-polish family
|
|
9730
|
+
extends to a 14th anchor: the recent-panel header
|
|
9731
|
+
title gains a soft pal.legendAccent glow when the
|
|
9732
|
+
panel has an active row (activeEdgeKey). Pre-R550
|
|
9733
|
+
the title's state-flip on active was 2-axis (R482
|
|
9734
|
+
fw 700→800 + R345 ls 0.3→0.4 when panel-hovered);
|
|
9735
|
+
R550 adds the paint axis so the title brightens
|
|
9736
|
+
paint-wise alongside the typographic tightening when
|
|
9737
|
+
a row inside its panel is locked.
|
|
9738
|
+
|
|
9739
|
+
Hue: pal.legendAccent + hex alpha '80' (~50%) — same
|
|
9740
|
+
strength as R479 group-label pin-glow at the parent
|
|
9741
|
+
panel-title scope. 2px blur reads soft; cyan accent
|
|
9742
|
+
ties the title visually to the active row's pin
|
|
9743
|
+
colour (cyber: cyan-300 / light: teal-600). Hex+alpha
|
|
9744
|
+
concat safe — pal.legendAccent is '#67e8f9' (cyber)
|
|
9745
|
+
or '#0d9488' (light), both 6-digit hex (banked R541:
|
|
9746
|
+
hex sources use hex+alpha; only hsl/color()/dynamic
|
|
9747
|
+
sources need color-mix).
|
|
9748
|
+
|
|
9749
|
+
Drop-shadow visual-polish family extension (14
|
|
9750
|
+
anchors now):
|
|
9751
|
+
R476 hub digit hover-gated emerald
|
|
9752
|
+
R477 legend pin-ring pin-gated row.fill
|
|
9753
|
+
R478 recent-row pip freshness cyan
|
|
9754
|
+
R479 group-label text pin-gated cyan
|
|
9755
|
+
R532-R536 hub-cluster glow QUINTET
|
|
9756
|
+
R537 legend swatch hover/pin row.fill
|
|
9757
|
+
R538 group-label hover-precedence
|
|
9758
|
+
R540 edge-badge text pin-gated cyan
|
|
9759
|
+
R543-R546 pin-active pill 4-variant arc
|
|
9760
|
+
R550 recent-panel title pin-gated cyan ← this round
|
|
9761
|
+
R550 legend-panel title pin-gated cyan ← sibling (next text below)
|
|
9762
|
+
|
|
9763
|
+
filter is paint-only; bbox unchanged; overlap-test
|
|
9764
|
+
invariants hold. transition list extends to include
|
|
9765
|
+
'filter 200ms ease-out' alongside R345 ls + R482 fw
|
|
9766
|
+
+ R55 fill 200ms — one motion-coherent 3-axis active-
|
|
9767
|
+
state lift.
|
|
9768
|
+
data-recent-panel-title-glow attr exposes the gate
|
|
9769
|
+
state for tests. */}
|
|
9770
|
+
<text x="13" y="21" fill={pal.legendHeadline} fontSize="12" fontFamily="monospace" fontWeight={activeEdgeKey ? '800' : '700'} letterSpacing={hoveredPanel === 'recent' ? '0.4' : '0.3'} style={{ transition: 'fill 200ms ease-out, letter-spacing 200ms ease-out, font-weight 200ms ease-out, filter 200ms ease-out', filter: activeEdgeKey ? `drop-shadow(0 0 2px ${pal.legendAccent}80)` : undefined }} data-recent-panel-title data-recent-panel-title-fw={activeEdgeKey ? '800' : '700'} data-recent-panel-title-active={activeEdgeKey ? 'true' : 'false'} data-recent-panel-title-glow={activeEdgeKey ? 'true' : 'false'}>recent signal</text>
|
|
9693
9771
|
{/* R96: header count now matches what the rows show. Pre-R96
|
|
9694
9772
|
this read "X msgs" off the raw messages array, but the
|
|
9695
9773
|
rows below render DEDUPED flowLinks — so a fleet with 10
|
|
@@ -11028,7 +11106,17 @@ export function TopoGraph({ sessions, sseSessions, renameSignal }: TopoGraphProp
|
|
|
11028
11106
|
data-legend-panel-title-fw + -active exposed for tests. */}
|
|
11029
11107
|
{/* R345 sibling — legend panel title same hover letter-
|
|
11030
11108
|
spacing tween 0.3 → 0.4 on panel hover. */}
|
|
11031
|
-
|
|
11109
|
+
{/* Round 550 sibling — legend-panel header title mirrors
|
|
11110
|
+
the recent-panel title above: drop-shadow glow on
|
|
11111
|
+
pin-gated active state (pinnedStatus). Same hue
|
|
11112
|
+
(pal.legendAccent + hex alpha 80), same 2px blur,
|
|
11113
|
+
same 200ms ease-out cadence. Family lifts to 15
|
|
11114
|
+
anchors with this sibling (counted as R550-sibling
|
|
11115
|
+
for accounting parity with R532-R536 hub-cluster
|
|
11116
|
+
glow quintet pattern — two co-shipping anchors
|
|
11117
|
+
under a single round number).
|
|
11118
|
+
data-legend-panel-title-glow attr added. */}
|
|
11119
|
+
<text x="13" y="21" fill={pal.legendHeadline} fontSize="12" fontFamily="monospace" fontWeight={pinnedStatus ? '800' : '700'} letterSpacing={hoveredPanel === 'legend' ? '0.4' : '0.3'} style={{ transition: 'fill 200ms ease-out, letter-spacing 200ms ease-out, font-weight 200ms ease-out, filter 200ms ease-out', filter: pinnedStatus ? `drop-shadow(0 0 2px ${pal.legendAccent}80)` : undefined }} data-legend-panel-title data-legend-panel-title-fw={pinnedStatus ? '800' : '700'} data-legend-panel-title-active={pinnedStatus ? 'true' : 'false'} data-legend-panel-title-glow={pinnedStatus ? 'true' : 'false'}>legend</text>
|
|
11032
11120
|
{/* Round 257 / Loop: legend panel header count picks up the
|
|
11033
11121
|
symmetric 13L/13R inner-padding pattern from the recent-
|
|
11034
11122
|
signal panel. Pre-R257 the legend header was 13px from
|
package/package.json
CHANGED
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
/* Round 551 verification: orphan band ("其他") rest-state LABEL opacity
|
|
2
|
+
* drops 0.55 → 0.4. 4th channel in the category-differentiation family
|
|
3
|
+
* (R499 italic, R503 dash, R506 rect fill, R551 label paint).
|
|
4
|
+
*
|
|
5
|
+
* Needs an orphan group to exist. The cluster-by-prefix logic creates
|
|
6
|
+
* an orphan band whenever there are sessions without a recognizable
|
|
7
|
+
* prefix (alias with no separator). Mock with a mix: 6 sessions with
|
|
8
|
+
* "alpha-" prefix (groups together) + 2 sessions with no separator
|
|
9
|
+
* (orphan).
|
|
10
|
+
*
|
|
11
|
+
* Test phases:
|
|
12
|
+
* 1. confirm grid layout active
|
|
13
|
+
* 2. locate orphan group-label vs prefix group-label
|
|
14
|
+
* 3. orphan rest opacity = 0.4, opacity attr surfaces value
|
|
15
|
+
* 4. prefix-group rest opacity = 0.55 (unchanged)
|
|
16
|
+
* 5. source-side regex confirms wiring
|
|
17
|
+
*/
|
|
18
|
+
import { chromium } from 'playwright';
|
|
19
|
+
import { readFileSync } from 'node:fs';
|
|
20
|
+
|
|
21
|
+
const TOKEN = JSON.parse(readFileSync('/home/vansin/.anet/config.json', 'utf8')).token;
|
|
22
|
+
const fresh = new Date(Date.now() - 60 * 1000).toISOString();
|
|
23
|
+
|
|
24
|
+
const browser = await chromium.launch({ headless: true });
|
|
25
|
+
const ctx = await browser.newContext({ viewport: { width: 1500, height: 1200 } });
|
|
26
|
+
await ctx.addCookies([{ name: 'anet_dashboard_session', value: `v3:${TOKEN}`, domain: '127.0.0.1', path: '/' }]);
|
|
27
|
+
await ctx.addInitScript(() => {
|
|
28
|
+
try {
|
|
29
|
+
localStorage.setItem('anet-theme', 'cyber');
|
|
30
|
+
localStorage.setItem('anet-topo-layout', 'grid');
|
|
31
|
+
sessionStorage.setItem('anet_v3_auth', '1');
|
|
32
|
+
} catch {}
|
|
33
|
+
});
|
|
34
|
+
// Mock: 6 alpha-prefix sessions (prefix group) + 3 standalone (orphan band).
|
|
35
|
+
await ctx.route('**/api/hub/status*', async (route) => {
|
|
36
|
+
const r = await route.fetch();
|
|
37
|
+
const b = await r.json();
|
|
38
|
+
const nid = (b.sessions || [])[0]?.network_id || 'default';
|
|
39
|
+
const mk = (alias, status = 'idle') => ({
|
|
40
|
+
alias, status, model: 'claude-opus-4', runtime: 'claude-code-cli',
|
|
41
|
+
network_id: nid, project_dir: null,
|
|
42
|
+
created_at: fresh, updated_at: fresh, last_seen_at: fresh,
|
|
43
|
+
});
|
|
44
|
+
await route.fulfill({ response: r, json: { ...b, sessions: [
|
|
45
|
+
mk('alpha·1'), mk('alpha·2'), mk('alpha·3'),
|
|
46
|
+
mk('alpha·4'), mk('alpha·5'), mk('alpha·6'),
|
|
47
|
+
mk('foo'), mk('bar'), mk('baz'),
|
|
48
|
+
] } });
|
|
49
|
+
});
|
|
50
|
+
await ctx.route('**/api/hub/messages*', (r) => r.fulfill({ json: { messages: [] } }));
|
|
51
|
+
await ctx.route('**/api/hub/tasks*', (r) => r.fulfill({ json: { tasks: [] } }));
|
|
52
|
+
const page = await ctx.newPage();
|
|
53
|
+
await page.goto('http://127.0.0.1:3000/', { waitUntil: 'networkidle' });
|
|
54
|
+
await page.waitForSelector('[data-group-label]', { timeout: 15000 });
|
|
55
|
+
await page.waitForTimeout(500);
|
|
56
|
+
|
|
57
|
+
const groups = await page.evaluate(() => {
|
|
58
|
+
const els = Array.from(document.querySelectorAll('[data-group-label]'));
|
|
59
|
+
return els.map(el => ({
|
|
60
|
+
key: el.getAttribute('data-group-label'),
|
|
61
|
+
orphan: el.getAttribute('data-group-label-orphan') === 'true',
|
|
62
|
+
opacityAttr: el.getAttribute('data-group-label-opacity'),
|
|
63
|
+
computedOpacity: getComputedStyle(el).opacity,
|
|
64
|
+
pinned: el.getAttribute('data-group-label-pinned') === 'true',
|
|
65
|
+
hovered: el.getAttribute('data-group-label-hovered') === 'true',
|
|
66
|
+
}));
|
|
67
|
+
});
|
|
68
|
+
|
|
69
|
+
await browser.close();
|
|
70
|
+
|
|
71
|
+
const orphan = groups.find(g => g.orphan);
|
|
72
|
+
const prefix = groups.find(g => !g.orphan);
|
|
73
|
+
|
|
74
|
+
const src = readFileSync('/home/vansin/agent-network-dashboard/app/components/TopoGraph.tsx', 'utf8');
|
|
75
|
+
const sourceWired =
|
|
76
|
+
/opacity=\{isPinned \|\| isHovered \? 1 : box\.isOrphan \? 0\.4 : 0\.55\}/.test(src);
|
|
77
|
+
const sourceAttrWired =
|
|
78
|
+
/data-group-label-opacity=\{isPinned \|\| isHovered \? 1 : box\.isOrphan \? 0\.4 : 0\.55\}/.test(src);
|
|
79
|
+
|
|
80
|
+
const results = {
|
|
81
|
+
orphan_present: !!orphan,
|
|
82
|
+
prefix_present: !!prefix,
|
|
83
|
+
orphan_attr_0_4: orphan?.opacityAttr === '0.4',
|
|
84
|
+
orphan_computed_0_4: orphan ? Math.abs(parseFloat(orphan.computedOpacity) - 0.4) < 0.001 : false,
|
|
85
|
+
prefix_attr_0_55: prefix?.opacityAttr === '0.55',
|
|
86
|
+
prefix_computed_0_55: prefix ? Math.abs(parseFloat(prefix.computedOpacity) - 0.55) < 0.001 : false,
|
|
87
|
+
orphan_rest_state: orphan ? !orphan.pinned && !orphan.hovered : false,
|
|
88
|
+
prefix_rest_state: prefix ? !prefix.pinned && !prefix.hovered : false,
|
|
89
|
+
source_wired: sourceWired,
|
|
90
|
+
source_attr_wired: sourceAttrWired,
|
|
91
|
+
};
|
|
92
|
+
const ok = Object.values(results).every(Boolean);
|
|
93
|
+
console.log(`${ok ? '✅' : '❌'} R551 orphan label opacity 0.55→0.4 (category-differentiation 4th channel):`,
|
|
94
|
+
JSON.stringify(results, null, 2),
|
|
95
|
+
'\n orphan:', JSON.stringify(orphan),
|
|
96
|
+
'\n prefix:', JSON.stringify(prefix),
|
|
97
|
+
'\n all groups:', JSON.stringify(groups, null, 2));
|
|
98
|
+
process.exit(ok ? 0 : 1);
|