@sleep2agi/agent-network-dashboard 0.4.6-preview.281 → 0.4.6-preview.283
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 +4 -4
- 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/agent-network-dashboard_09kk21a._.js +3 -3
- package/.next/server/chunks/ssr/agent-network-dashboard_09kk21a._.js.map +1 -1
- package/.next/server/chunks/ssr/agent-network-dashboard_app_01jhlxz._.js +1 -1
- package/.next/server/chunks/ssr/agent-network-dashboard_app_01jhlxz._.js.map +1 -1
- package/.next/server/chunks/ssr/agent-network-dashboard_app_09d29my._.js +1 -1
- package/.next/server/chunks/ssr/agent-network-dashboard_app_09d29my._.js.map +1 -1
- package/.next/server/middleware-build-manifest.js +3 -3
- package/.next/server/pages/404.html +1 -1
- package/.next/server/pages/500.html +1 -1
- package/.next/static/chunks/{0c_eg6lxw~36i.js → 0770ctmo-jd~3.js} +3 -3
- package/.next/static/chunks/{0qnfuwkukbu01.js → 12ih-cxmgr09g.js} +1 -1
- package/.next/static/chunks/{11ilooy_9niy-.js → 13ku0uxsx2o6i.js} +1 -1
- package/.next/trace +2 -2
- package/.next/trace-build +1 -1
- package/app/components/TopoGraph.tsx +42 -2
- package/package.json +1 -1
- package/scripts/topo-freshness-conditional-render-test.mjs +92 -0
- package/scripts/topo-orbit-particles-retired-test.mjs +91 -0
- package/scripts/topo-freshness-text-color-coherence-test.mjs +0 -97
- package/scripts/topo-orbit-busyness-test.mjs +0 -96
- package/scripts/topo-orbit-opacity-bucket-test.mjs +0 -124
- /package/.next/static/{gjUOBeB2JqesZ_cSX14ph → gPw1YGsDb6psvirUWKGfQ}/_buildManifest.js +0 -0
- /package/.next/static/{gjUOBeB2JqesZ_cSX14ph → gPw1YGsDb6psvirUWKGfQ}/_clientMiddlewareManifest.js +0 -0
- /package/.next/static/{gjUOBeB2JqesZ_cSX14ph → gPw1YGsDb6psvirUWKGfQ}/_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.4.6-preview.281"],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.4.6-preview.283"],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.4.6-preview.
|
|
1
|
+
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,70286,e=>{"use strict";e.s(["DASHBOARD_VERSION",0,"0.4.6-preview.283"],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":293,"timestamp":102710662510,"id":4,"parentId":1,"tags":{},"startTime":1778910682909,"traceId":"5d318d8829a1732c"},{"name":"load-custom-routes","duration":479,"timestamp":102710662961,"id":5,"parentId":1,"tags":{},"startTime":1778910682909,"traceId":"5d318d8829a1732c"},{"name":"create-dist-dir","duration":703,"timestamp":102710663481,"id":6,"parentId":1,"tags":{},"startTime":1778910682910,"traceId":"5d318d8829a1732c"},{"name":"clean","duration":29333,"timestamp":102710664847,"id":7,"parentId":1,"tags":{},"startTime":1778910682911,"traceId":"5d318d8829a1732c"},{"name":"discover-routes","duration":9181,"timestamp":102710774429,"id":8,"parentId":1,"tags":{},"startTime":1778910683021,"traceId":"5d318d8829a1732c"},{"name":"create-root-mapping","duration":197,"timestamp":102710783693,"id":9,"parentId":1,"tags":{},"startTime":1778910683030,"traceId":"5d318d8829a1732c"},{"name":"generate-route-types","duration":43440,"timestamp":102710786368,"id":10,"parentId":1,"tags":{},"startTime":1778910683033,"traceId":"5d318d8829a1732c"},{"name":"public-dir-conflict-check","duration":130,"timestamp":102710829926,"id":11,"parentId":1,"tags":{},"startTime":1778910683076,"traceId":"5d318d8829a1732c"},{"name":"generate-routes-manifest","duration":5508,"timestamp":102710830186,"id":12,"parentId":1,"tags":{},"startTime":1778910683076,"traceId":"5d318d8829a1732c"},{"name":"run-turbopack","duration":5548643,"timestamp":102710842055,"id":14,"parentId":1,"tags":{},"startTime":1778910683088,"traceId":"5d318d8829a1732c"},{"name":"turbopack-build-events","duration":76,"timestamp":102711164434,"id":15,"parentId":1,"tags":{},"startTime":1778910683411,"traceId":"5d318d8829a1732c"},{"name":"run-typescript","duration":8871247,"timestamp":102716399180,"id":16,"parentId":1,"tags":{},"startTime":1778910688645,"traceId":"5d318d8829a1732c"},{"name":"generate-required-server-files","duration":3009,"timestamp":102725271766,"id":18,"parentId":1,"tags":{},"startTime":1778910697518,"traceId":"5d318d8829a1732c"},{"name":"check-static-error-page","duration":14626,"timestamp":102725451761,"id":20,"parentId":19,"tags":{},"startTime":1778910697698,"traceId":"5d318d8829a1732c"},{"name":"is-page-static","duration":437688,"timestamp":102725469170,"id":63,"parentId":22,"tags":{},"startTime":1778910697715,"traceId":"5d318d8829a1732c"},{"name":"check-page","duration":452167,"timestamp":102725454892,"id":22,"parentId":19,"tags":{"page":"/_global-error"},"startTime":1778910697701,"traceId":"5d318d8829a1732c"},{"name":"is-page-static","duration":520472,"timestamp":102725470765,"id":67,"parentId":28,"tags":{},"startTime":1778910697717,"traceId":"5d318d8829a1732c"},{"name":"check-page","duration":532916,"timestamp":102725458430,"id":28,"parentId":19,"tags":{"page":"/api/hub/audit-log"},"startTime":1778910697705,"traceId":"5d318d8829a1732c"},{"name":"is-page-static","duration":533243,"timestamp":102725468753,"id":62,"parentId":21,"tags":{},"startTime":1778910697715,"traceId":"5d318d8829a1732c"},{"name":"check-page","duration":548762,"timestamp":102725453317,"id":21,"parentId":19,"tags":{"page":"/_not-found"},"startTime":1778910697700,"traceId":"5d318d8829a1732c"},{"name":"is-page-static","duration":538365,"timestamp":102725471288,"id":70,"parentId":32,"tags":{},"startTime":1778910697718,"traceId":"5d318d8829a1732c"},{"name":"check-page","duration":550568,"timestamp":102725459153,"id":32,"parentId":19,"tags":{"page":"/api/hub/health"},"startTime":1778910697705,"traceId":"5d318d8829a1732c"},{"name":"is-page-static","duration":543600,"timestamp":102725470341,"id":65,"parentId":26,"tags":{},"startTime":1778910697717,"traceId":"5d318d8829a1732c"},{"name":"check-page","duration":556051,"timestamp":102725458189,"id":26,"parentId":19,"tags":{"page":"/api/auth/logout"},"startTime":1778910697704,"traceId":"5d318d8829a1732c"},{"name":"is-page-static","duration":548273,"timestamp":102725471094,"id":69,"parentId":30,"tags":{},"startTime":1778910697717,"traceId":"5d318d8829a1732c"},{"name":"check-page","duration":560700,"timestamp":102725458728,"id":30,"parentId":19,"tags":{"page":"/api/hub/broadcast"},"startTime":1778910697705,"traceId":"5d318d8829a1732c"},{"name":"is-page-static","duration":548282,"timestamp":102725471459,"id":73,"parentId":35,"tags":{},"startTime":1778910697718,"traceId":"5d318d8829a1732c"},{"name":"check-page","duration":560295,"timestamp":102725459501,"id":35,"parentId":19,"tags":{"page":"/api/hub/messages"},"startTime":1778910697706,"traceId":"5d318d8829a1732c"},{"name":"is-page-static","duration":575604,"timestamp":102725471427,"id":72,"parentId":34,"tags":{},"startTime":1778910697718,"traceId":"5d318d8829a1732c"},{"name":"check-page","duration":587721,"timestamp":102725459389,"id":34,"parentId":19,"tags":{"page":"/api/hub/license"},"startTime":1778910697706,"traceId":"5d318d8829a1732c"},{"name":"is-page-static","duration":578763,"timestamp":102725470512,"id":66,"parentId":27,"tags":{},"startTime":1778910697717,"traceId":"5d318d8829a1732c"},{"name":"check-page","duration":591038,"timestamp":102725458316,"id":27,"parentId":19,"tags":{"page":"/api/auth/v3"},"startTime":1778910697705,"traceId":"5d318d8829a1732c"},{"name":"is-page-static","duration":580078,"timestamp":102725471622,"id":76,"parentId":38,"tags":{},"startTime":1778910697718,"traceId":"5d318d8829a1732c"},{"name":"check-page","duration":591391,"timestamp":102725460369,"id":38,"parentId":19,"tags":{"page":"/api/hub/register"},"startTime":1778910697707,"traceId":"5d318d8829a1732c"},{"name":"is-page-static","duration":593661,"timestamp":102725471605,"id":75,"parentId":37,"tags":{},"startTime":1778910697718,"traceId":"5d318d8829a1732c"},{"name":"check-page","duration":605139,"timestamp":102725460196,"id":37,"parentId":19,"tags":{"page":"/api/hub/nodes"},"startTime":1778910697706,"traceId":"5d318d8829a1732c"},{"name":"is-page-static","duration":593866,"timestamp":102725471648,"id":78,"parentId":40,"tags":{},"startTime":1778910697718,"traceId":"5d318d8829a1732c"},{"name":"check-page","duration":604974,"timestamp":102725460584,"id":40,"parentId":19,"tags":{"page":"/api/hub/server-logs"},"startTime":1778910697707,"traceId":"5d318d8829a1732c"},{"name":"is-page-static","duration":594154,"timestamp":102725471577,"id":74,"parentId":36,"tags":{},"startTime":1778910697718,"traceId":"5d318d8829a1732c"},{"name":"check-page","duration":605796,"timestamp":102725459978,"id":36,"parentId":19,"tags":{"page":"/api/hub/networks"},"startTime":1778910697706,"traceId":"5d318d8829a1732c"},{"name":"is-page-static","duration":595203,"timestamp":102725470925,"id":68,"parentId":29,"tags":{},"startTime":1778910697717,"traceId":"5d318d8829a1732c"},{"name":"check-page","duration":607591,"timestamp":102725458574,"id":29,"parentId":19,"tags":{"page":"/api/hub/auth"},"startTime":1778910697705,"traceId":"5d318d8829a1732c"},{"name":"is-page-static","duration":602473,"timestamp":102725469300,"id":64,"parentId":25,"tags":{},"startTime":1778910697716,"traceId":"5d318d8829a1732c"},{"name":"check-page","duration":613821,"timestamp":102725457998,"id":25,"parentId":19,"tags":{"page":"/api/auth/login"},"startTime":1778910697704,"traceId":"5d318d8829a1732c"},{"name":"is-page-static","duration":600773,"timestamp":102725471692,"id":82,"parentId":44,"tags":{},"startTime":1778910697718,"traceId":"5d318d8829a1732c"},{"name":"check-page","duration":611512,"timestamp":102725460994,"id":44,"parentId":19,"tags":{"page":"/api/hub/status"},"startTime":1778910697707,"traceId":"5d318d8829a1732c"},{"name":"is-page-static","duration":605256,"timestamp":102725471705,"id":83,"parentId":45,"tags":{},"startTime":1778910697718,"traceId":"5d318d8829a1732c"},{"name":"check-page","duration":615917,"timestamp":102725461121,"id":45,"parentId":19,"tags":{"page":"/api/hub/task-events"},"startTime":1778910697707,"traceId":"5d318d8829a1732c"},{"name":"is-page-static","duration":606114,"timestamp":102725471670,"id":80,"parentId":42,"tags":{},"startTime":1778910697718,"traceId":"5d318d8829a1732c"},{"name":"check-page","duration":617056,"timestamp":102725460771,"id":42,"parentId":19,"tags":{"page":"/api/hub/session"},"startTime":1778910697707,"traceId":"5d318d8829a1732c"},{"name":"is-page-static","duration":607935,"timestamp":102725471716,"id":84,"parentId":46,"tags":{},"startTime":1778910697718,"traceId":"5d318d8829a1732c"},{"name":"check-page","duration":618467,"timestamp":102725461228,"id":46,"parentId":19,"tags":{"page":"/api/hub/tasks"},"startTime":1778910697708,"traceId":"5d318d8829a1732c"},{"name":"is-page-static","duration":611764,"timestamp":102725471740,"id":86,"parentId":48,"tags":{},"startTime":1778910697718,"traceId":"5d318d8829a1732c"},{"name":"check-page","duration":620667,"timestamp":102725462888,"id":48,"parentId":19,"tags":{"page":"/api/hub/tokens"},"startTime":1778910697709,"traceId":"5d318d8829a1732c"},{"name":"is-page-static","duration":612621,"timestamp":102725471756,"id":87,"parentId":49,"tags":{},"startTime":1778910697718,"traceId":"5d318d8829a1732c"},{"name":"check-page","duration":621403,"timestamp":102725463021,"id":49,"parentId":19,"tags":{"page":"/favicon.ico"},"startTime":1778910697709,"traceId":"5d318d8829a1732c"},{"name":"is-page-static","duration":615098,"timestamp":102725471683,"id":81,"parentId":43,"tags":{},"startTime":1778910697718,"traceId":"5d318d8829a1732c"},{"name":"check-page","duration":625939,"timestamp":102725460885,"id":43,"parentId":19,"tags":{"page":"/api/hub/stats"},"startTime":1778910697707,"traceId":"5d318d8829a1732c"},{"name":"is-page-static","duration":616390,"timestamp":102725471635,"id":77,"parentId":39,"tags":{},"startTime":1778910697718,"traceId":"5d318d8829a1732c"},{"name":"check-page","duration":627587,"timestamp":102725460488,"id":39,"parentId":19,"tags":{"page":"/api/hub/send"},"startTime":1778910697707,"traceId":"5d318d8829a1732c"},{"name":"is-page-static","duration":618545,"timestamp":102725471657,"id":79,"parentId":41,"tags":{},"startTime":1778910697718,"traceId":"5d318d8829a1732c"},{"name":"check-page","duration":629572,"timestamp":102725460676,"id":41,"parentId":19,"tags":{"page":"/api/hub/servers"},"startTime":1778910697707,"traceId":"5d318d8829a1732c"},{"name":"is-page-static","duration":614180,"timestamp":102725476196,"id":89,"parentId":31,"tags":{},"startTime":1778910697722,"traceId":"5d318d8829a1732c"},{"name":"check-page","duration":631565,"timestamp":102725458849,"id":31,"parentId":19,"tags":{"page":"/api/hub/events"},"startTime":1778910697705,"traceId":"5d318d8829a1732c"},{"name":"is-page-static","duration":622124,"timestamp":102725475069,"id":88,"parentId":24,"tags":{},"startTime":1778910697721,"traceId":"5d318d8829a1732c"},{"name":"check-page","duration":641815,"timestamp":102725455434,"id":24,"parentId":19,"tags":{"page":"/api/anet/config"},"startTime":1778910697702,"traceId":"5d318d8829a1732c"},{"name":"is-page-static","duration":635327,"timestamp":102725471731,"id":85,"parentId":47,"tags":{},"startTime":1778910697718,"traceId":"5d318d8829a1732c"},{"name":"check-page","duration":645751,"timestamp":102725461357,"id":47,"parentId":19,"tags":{"page":"/api/hub/tmux"},"startTime":1778910697708,"traceId":"5d318d8829a1732c"},{"name":"is-page-static","duration":635890,"timestamp":102725471354,"id":71,"parentId":33,"tags":{},"startTime":1778910697718,"traceId":"5d318d8829a1732c"},{"name":"check-page","duration":647991,"timestamp":102725459283,"id":33,"parentId":19,"tags":{"page":"/api/hub/inbox"},"startTime":1778910697706,"traceId":"5d318d8829a1732c"},{"name":"is-page-static","duration":645048,"timestamp":102725478650,"id":96,"parentId":56,"tags":{},"startTime":1778910697725,"traceId":"5d318d8829a1732c"},{"name":"check-page","duration":658717,"timestamp":102725465038,"id":56,"parentId":19,"tags":{"page":"/server-logs"},"startTime":1778910697711,"traceId":"5d318d8829a1732c"},{"name":"is-page-static","duration":654309,"timestamp":102725478659,"id":97,"parentId":57,"tags":{},"startTime":1778910697725,"traceId":"5d318d8829a1732c"},{"name":"check-page","duration":667799,"timestamp":102725465246,"id":57,"parentId":19,"tags":{"page":"/settings/networks"},"startTime":1778910697712,"traceId":"5d318d8829a1732c"},{"name":"is-page-static","duration":661596,"timestamp":102725478671,"id":98,"parentId":59,"tags":{},"startTime":1778910697725,"traceId":"5d318d8829a1732c"},{"name":"check-page","duration":674497,"timestamp":102725465828,"id":59,"parentId":19,"tags":{"page":"/settings/tokens"},"startTime":1778910697712,"traceId":"5d318d8829a1732c"},{"name":"is-page-static","duration":672425,"timestamp":102725478559,"id":90,"parentId":23,"tags":{},"startTime":1778910697725,"traceId":"5d318d8829a1732c"},{"name":"check-page","duration":696589,"timestamp":102725455185,"id":23,"parentId":19,"tags":{"page":"/admin"},"startTime":1778910697701,"traceId":"5d318d8829a1732c"},{"name":"is-page-static","duration":675768,"timestamp":102725478686,"id":99,"parentId":60,"tags":{},"startTime":1778910697725,"traceId":"5d318d8829a1732c"},{"name":"check-page","duration":688554,"timestamp":102725465986,"id":60,"parentId":19,"tags":{"page":"/tasks/[id]"},"startTime":1778910697712,"traceId":"5d318d8829a1732c"},{"name":"is-page-static","duration":680742,"timestamp":102725478702,"id":100,"parentId":61,"tags":{},"startTime":1778910697725,"traceId":"5d318d8829a1732c"},{"name":"check-page","duration":693353,"timestamp":102725466142,"id":61,"parentId":19,"tags":{"page":"/tasks"},"startTime":1778910697712,"traceId":"5d318d8829a1732c"},{"name":"is-page-static","duration":684959,"timestamp":102725478617,"id":93,"parentId":52,"tags":{},"startTime":1778910697725,"traceId":"5d318d8829a1732c"},{"name":"check-page","duration":699857,"timestamp":102725463763,"id":52,"parentId":19,"tags":{"page":"/messages"},"startTime":1778910697710,"traceId":"5d318d8829a1732c"},{"name":"is-page-static","duration":678837,"timestamp":102725485843,"id":101,"parentId":58,"tags":{},"startTime":1778910697732,"traceId":"5d318d8829a1732c"},{"name":"check-page","duration":699302,"timestamp":102725465418,"id":58,"parentId":19,"tags":{"page":"/settings"},"startTime":1778910697712,"traceId":"5d318d8829a1732c"},{"name":"is-page-static","duration":665311,"timestamp":102725501310,"id":102,"parentId":55,"tags":{},"startTime":1778910697748,"traceId":"5d318d8829a1732c"},{"name":"check-page","duration":702206,"timestamp":102725464450,"id":55,"parentId":19,"tags":{"page":"/"},"startTime":1778910697711,"traceId":"5d318d8829a1732c"},{"name":"is-page-static","duration":691167,"timestamp":102725478604,"id":92,"parentId":51,"tags":{},"startTime":1778910697725,"traceId":"5d318d8829a1732c"},{"name":"check-page","duration":706194,"timestamp":102725463608,"id":51,"parentId":19,"tags":{"page":"/logs"},"startTime":1778910697710,"traceId":"5d318d8829a1732c"},{"name":"is-page-static","duration":700169,"timestamp":102725478626,"id":94,"parentId":53,"tags":{},"startTime":1778910697725,"traceId":"5d318d8829a1732c"},{"name":"check-page","duration":714854,"timestamp":102725463979,"id":53,"parentId":19,"tags":{"page":"/node"},"startTime":1778910697710,"traceId":"5d318d8829a1732c"},{"name":"is-page-static","duration":700379,"timestamp":102725478637,"id":95,"parentId":54,"tags":{},"startTime":1778910697725,"traceId":"5d318d8829a1732c"},{"name":"check-page","duration":714820,"timestamp":102725464216,"id":54,"parentId":19,"tags":{"page":"/nodes"},"startTime":1778910697710,"traceId":"5d318d8829a1732c"},{"name":"is-page-static","duration":703259,"timestamp":102725478589,"id":91,"parentId":50,"tags":{},"startTime":1778910697725,"traceId":"5d318d8829a1732c"},{"name":"check-page","duration":718435,"timestamp":102725463444,"id":50,"parentId":19,"tags":{"page":"/login"},"startTime":1778910697710,"traceId":"5d318d8829a1732c"},{"name":"static-check","duration":731294,"timestamp":102725450621,"id":19,"parentId":1,"tags":{},"startTime":1778910697697,"traceId":"5d318d8829a1732c"},{"name":"write-routes-manifest","duration":421,"timestamp":102726188469,"id":104,"parentId":1,"tags":{},"startTime":1778910698435,"traceId":"5d318d8829a1732c"},{"name":"load-dotenv","duration":41,"timestamp":102726199811,"id":107,"parentId":106,"tags":{},"startTime":1778910698446,"traceId":"5d318d8829a1732c"},{"name":"run-export-path-map","duration":519,"timestamp":102726203128,"id":108,"parentId":106,"tags":{},"startTime":1778910698449,"traceId":"5d318d8829a1732c"},{"name":"next-export","duration":591496,"timestamp":102726198634,"id":106,"parentId":1,"tags":{},"startTime":1778910698445,"traceId":"5d318d8829a1732c"}]
|
|
2
|
-
[{"name":"move-exported-app-not-found-","duration":
|
|
1
|
+
[{"name":"generate-buildid","duration":368,"timestamp":103457171728,"id":4,"parentId":1,"tags":{},"startTime":1778911429418,"traceId":"a352f1ba0c3857a9"},{"name":"load-custom-routes","duration":522,"timestamp":103457172293,"id":5,"parentId":1,"tags":{},"startTime":1778911429419,"traceId":"a352f1ba0c3857a9"},{"name":"create-dist-dir","duration":805,"timestamp":103457172862,"id":6,"parentId":1,"tags":{},"startTime":1778911429419,"traceId":"a352f1ba0c3857a9"},{"name":"clean","duration":31761,"timestamp":103457174494,"id":7,"parentId":1,"tags":{},"startTime":1778911429421,"traceId":"a352f1ba0c3857a9"},{"name":"discover-routes","duration":9694,"timestamp":103457282085,"id":8,"parentId":1,"tags":{},"startTime":1778911429528,"traceId":"a352f1ba0c3857a9"},{"name":"create-root-mapping","duration":119,"timestamp":103457291834,"id":9,"parentId":1,"tags":{},"startTime":1778911429538,"traceId":"a352f1ba0c3857a9"},{"name":"generate-route-types","duration":42115,"timestamp":103457294307,"id":10,"parentId":1,"tags":{},"startTime":1778911429541,"traceId":"a352f1ba0c3857a9"},{"name":"public-dir-conflict-check","duration":98,"timestamp":103457336516,"id":11,"parentId":1,"tags":{},"startTime":1778911429583,"traceId":"a352f1ba0c3857a9"},{"name":"generate-routes-manifest","duration":4983,"timestamp":103457336737,"id":12,"parentId":1,"tags":{},"startTime":1778911429583,"traceId":"a352f1ba0c3857a9"},{"name":"run-turbopack","duration":5656644,"timestamp":103457347501,"id":14,"parentId":1,"tags":{},"startTime":1778911429594,"traceId":"a352f1ba0c3857a9"},{"name":"turbopack-build-events","duration":119,"timestamp":103457634819,"id":15,"parentId":1,"tags":{},"startTime":1778911429881,"traceId":"a352f1ba0c3857a9"},{"name":"run-typescript","duration":9334696,"timestamp":103463017041,"id":16,"parentId":1,"tags":{},"startTime":1778911435263,"traceId":"a352f1ba0c3857a9"},{"name":"generate-required-server-files","duration":2254,"timestamp":103472352862,"id":18,"parentId":1,"tags":{},"startTime":1778911444599,"traceId":"a352f1ba0c3857a9"},{"name":"check-static-error-page","duration":11205,"timestamp":103472537981,"id":20,"parentId":19,"tags":{},"startTime":1778911444784,"traceId":"a352f1ba0c3857a9"},{"name":"is-page-static","duration":430248,"timestamp":103472551615,"id":63,"parentId":22,"tags":{},"startTime":1778911444798,"traceId":"a352f1ba0c3857a9"},{"name":"check-page","duration":441646,"timestamp":103472540430,"id":22,"parentId":19,"tags":{"page":"/_global-error"},"startTime":1778911444787,"traceId":"a352f1ba0c3857a9"},{"name":"is-page-static","duration":548836,"timestamp":103472552196,"id":67,"parentId":28,"tags":{},"startTime":1778911444798,"traceId":"a352f1ba0c3857a9"},{"name":"check-page","duration":557851,"timestamp":103472543331,"id":28,"parentId":19,"tags":{"page":"/api/hub/audit-log"},"startTime":1778911444790,"traceId":"a352f1ba0c3857a9"},{"name":"is-page-static","duration":551910,"timestamp":103472551255,"id":62,"parentId":21,"tags":{},"startTime":1778911444798,"traceId":"a352f1ba0c3857a9"},{"name":"check-page","duration":564024,"timestamp":103472539198,"id":21,"parentId":19,"tags":{"page":"/_not-found"},"startTime":1778911444785,"traceId":"a352f1ba0c3857a9"},{"name":"is-page-static","duration":554025,"timestamp":103472552630,"id":70,"parentId":32,"tags":{},"startTime":1778911444799,"traceId":"a352f1ba0c3857a9"},{"name":"check-page","duration":562828,"timestamp":103472543884,"id":32,"parentId":19,"tags":{"page":"/api/hub/health"},"startTime":1778911444790,"traceId":"a352f1ba0c3857a9"},{"name":"is-page-static","duration":558928,"timestamp":103472552463,"id":69,"parentId":30,"tags":{},"startTime":1778911444799,"traceId":"a352f1ba0c3857a9"},{"name":"check-page","duration":567910,"timestamp":103472543549,"id":30,"parentId":19,"tags":{"page":"/api/hub/broadcast"},"startTime":1778911444790,"traceId":"a352f1ba0c3857a9"},{"name":"is-page-static","duration":581047,"timestamp":103472551946,"id":66,"parentId":27,"tags":{},"startTime":1778911444798,"traceId":"a352f1ba0c3857a9"},{"name":"check-page","duration":589845,"timestamp":103472543245,"id":27,"parentId":19,"tags":{"page":"/api/auth/v3"},"startTime":1778911444790,"traceId":"a352f1ba0c3857a9"},{"name":"is-page-static","duration":584054,"timestamp":103472552760,"id":72,"parentId":34,"tags":{},"startTime":1778911444799,"traceId":"a352f1ba0c3857a9"},{"name":"check-page","duration":592782,"timestamp":103472544102,"id":34,"parentId":19,"tags":{"page":"/api/hub/license"},"startTime":1778911444790,"traceId":"a352f1ba0c3857a9"},{"name":"is-page-static","duration":588752,"timestamp":103472552884,"id":74,"parentId":36,"tags":{},"startTime":1778911444799,"traceId":"a352f1ba0c3857a9"},{"name":"check-page","duration":597180,"timestamp":103472544514,"id":36,"parentId":19,"tags":{"page":"/api/hub/networks"},"startTime":1778911444791,"traceId":"a352f1ba0c3857a9"},{"name":"is-page-static","duration":589167,"timestamp":103472552788,"id":73,"parentId":35,"tags":{},"startTime":1778911444799,"traceId":"a352f1ba0c3857a9"},{"name":"check-page","duration":597833,"timestamp":103472544188,"id":35,"parentId":19,"tags":{"page":"/api/hub/messages"},"startTime":1778911444790,"traceId":"a352f1ba0c3857a9"},{"name":"is-page-static","duration":596991,"timestamp":103472551736,"id":64,"parentId":25,"tags":{},"startTime":1778911444798,"traceId":"a352f1ba0c3857a9"},{"name":"check-page","duration":605758,"timestamp":103472543025,"id":25,"parentId":19,"tags":{"page":"/api/auth/login"},"startTime":1778911444789,"traceId":"a352f1ba0c3857a9"},{"name":"is-page-static","duration":599373,"timestamp":103472551835,"id":65,"parentId":26,"tags":{},"startTime":1778911444798,"traceId":"a352f1ba0c3857a9"},{"name":"check-page","duration":608093,"timestamp":103472543162,"id":26,"parentId":19,"tags":{"page":"/api/auth/logout"},"startTime":1778911444789,"traceId":"a352f1ba0c3857a9"},{"name":"is-page-static","duration":613278,"timestamp":103472552924,"id":75,"parentId":37,"tags":{},"startTime":1778911444799,"traceId":"a352f1ba0c3857a9"},{"name":"check-page","duration":621645,"timestamp":103472544626,"id":37,"parentId":19,"tags":{"page":"/api/hub/nodes"},"startTime":1778911444791,"traceId":"a352f1ba0c3857a9"},{"name":"is-page-static","duration":614628,"timestamp":103472552947,"id":77,"parentId":39,"tags":{},"startTime":1778911444799,"traceId":"a352f1ba0c3857a9"},{"name":"check-page","duration":622857,"timestamp":103472544775,"id":39,"parentId":19,"tags":{"page":"/api/hub/send"},"startTime":1778911444791,"traceId":"a352f1ba0c3857a9"},{"name":"is-page-static","duration":621426,"timestamp":103472552990,"id":81,"parentId":43,"tags":{},"startTime":1778911444799,"traceId":"a352f1ba0c3857a9"},{"name":"check-page","duration":629368,"timestamp":103472545101,"id":43,"parentId":19,"tags":{"page":"/api/hub/stats"},"startTime":1778911444791,"traceId":"a352f1ba0c3857a9"},{"name":"is-page-static","duration":621648,"timestamp":103472552981,"id":80,"parentId":42,"tags":{},"startTime":1778911444799,"traceId":"a352f1ba0c3857a9"},{"name":"check-page","duration":629659,"timestamp":103472544997,"id":42,"parentId":19,"tags":{"page":"/api/hub/session"},"startTime":1778911444791,"traceId":"a352f1ba0c3857a9"},{"name":"is-page-static","duration":623966,"timestamp":103472552938,"id":76,"parentId":38,"tags":{},"startTime":1778911444799,"traceId":"a352f1ba0c3857a9"},{"name":"check-page","duration":632237,"timestamp":103472544716,"id":38,"parentId":19,"tags":{"page":"/api/hub/register"},"startTime":1778911444791,"traceId":"a352f1ba0c3857a9"},{"name":"is-page-static","duration":624794,"timestamp":103472552341,"id":68,"parentId":29,"tags":{},"startTime":1778911444799,"traceId":"a352f1ba0c3857a9"},{"name":"check-page","duration":633770,"timestamp":103472543406,"id":29,"parentId":19,"tags":{"page":"/api/hub/auth"},"startTime":1778911444790,"traceId":"a352f1ba0c3857a9"},{"name":"is-page-static","duration":624446,"timestamp":103472552957,"id":78,"parentId":40,"tags":{},"startTime":1778911444799,"traceId":"a352f1ba0c3857a9"},{"name":"check-page","duration":632629,"timestamp":103472544850,"id":40,"parentId":19,"tags":{"page":"/api/hub/server-logs"},"startTime":1778911444791,"traceId":"a352f1ba0c3857a9"},{"name":"is-page-static","duration":626396,"timestamp":103472552999,"id":82,"parentId":44,"tags":{},"startTime":1778911444803,"traceId":"a352f1ba0c3857a9"},{"name":"check-page","duration":634269,"timestamp":103472545163,"id":44,"parentId":19,"tags":{"page":"/api/hub/status"},"startTime":1778911444791,"traceId":"a352f1ba0c3857a9"},{"name":"is-page-static","duration":624836,"timestamp":103472556488,"id":83,"parentId":45,"tags":{},"startTime":1778911444803,"traceId":"a352f1ba0c3857a9"},{"name":"check-page","duration":636151,"timestamp":103472545228,"id":45,"parentId":19,"tags":{"page":"/api/hub/task-events"},"startTime":1778911444792,"traceId":"a352f1ba0c3857a9"},{"name":"is-page-static","duration":625242,"timestamp":103472558090,"id":86,"parentId":48,"tags":{},"startTime":1778911444804,"traceId":"a352f1ba0c3857a9"},{"name":"check-page","duration":637936,"timestamp":103472545443,"id":48,"parentId":19,"tags":{"page":"/api/hub/tokens"},"startTime":1778911444792,"traceId":"a352f1ba0c3857a9"},{"name":"is-page-static","duration":621219,"timestamp":103472565578,"id":88,"parentId":24,"tags":{},"startTime":1778911444812,"traceId":"a352f1ba0c3857a9"},{"name":"check-page","duration":645880,"timestamp":103472540968,"id":24,"parentId":19,"tags":{"page":"/api/anet/config"},"startTime":1778911444787,"traceId":"a352f1ba0c3857a9"},{"name":"is-page-static","duration":623896,"timestamp":103472566731,"id":89,"parentId":31,"tags":{},"startTime":1778911444813,"traceId":"a352f1ba0c3857a9"},{"name":"check-page","duration":647000,"timestamp":103472543674,"id":31,"parentId":19,"tags":{"page":"/api/hub/events"},"startTime":1778911444790,"traceId":"a352f1ba0c3857a9"},{"name":"is-page-static","duration":641474,"timestamp":103472558105,"id":87,"parentId":49,"tags":{},"startTime":1778911444804,"traceId":"a352f1ba0c3857a9"},{"name":"check-page","duration":654129,"timestamp":103472545508,"id":49,"parentId":19,"tags":{"page":"/favicon.ico"},"startTime":1778911444792,"traceId":"a352f1ba0c3857a9"},{"name":"is-page-static","duration":650723,"timestamp":103472552970,"id":79,"parentId":41,"tags":{},"startTime":1778911444799,"traceId":"a352f1ba0c3857a9"},{"name":"check-page","duration":658818,"timestamp":103472544926,"id":41,"parentId":19,"tags":{"page":"/api/hub/servers"},"startTime":1778911444791,"traceId":"a352f1ba0c3857a9"},{"name":"is-page-static","duration":647849,"timestamp":103472556511,"id":84,"parentId":46,"tags":{},"startTime":1778911444803,"traceId":"a352f1ba0c3857a9"},{"name":"check-page","duration":659112,"timestamp":103472545294,"id":46,"parentId":19,"tags":{"page":"/api/hub/tasks"},"startTime":1778911444792,"traceId":"a352f1ba0c3857a9"},{"name":"is-page-static","duration":651850,"timestamp":103472552691,"id":71,"parentId":33,"tags":{},"startTime":1778911444799,"traceId":"a352f1ba0c3857a9"},{"name":"check-page","duration":660592,"timestamp":103472543983,"id":33,"parentId":19,"tags":{"page":"/api/hub/inbox"},"startTime":1778911444790,"traceId":"a352f1ba0c3857a9"},{"name":"is-page-static","duration":657300,"timestamp":103472558071,"id":85,"parentId":47,"tags":{},"startTime":1778911444804,"traceId":"a352f1ba0c3857a9"},{"name":"check-page","duration":670049,"timestamp":103472545381,"id":47,"parentId":19,"tags":{"page":"/api/hub/tmux"},"startTime":1778911444792,"traceId":"a352f1ba0c3857a9"},{"name":"is-page-static","duration":645468,"timestamp":103472570139,"id":95,"parentId":54,"tags":{},"startTime":1778911444816,"traceId":"a352f1ba0c3857a9"},{"name":"check-page","duration":667950,"timestamp":103472547697,"id":54,"parentId":19,"tags":{"page":"/nodes"},"startTime":1778911444794,"traceId":"a352f1ba0c3857a9"},{"name":"is-page-static","duration":653303,"timestamp":103472570165,"id":97,"parentId":57,"tags":{},"startTime":1778911444816,"traceId":"a352f1ba0c3857a9"},{"name":"check-page","duration":675122,"timestamp":103472548404,"id":57,"parentId":19,"tags":{"page":"/settings/networks"},"startTime":1778911444795,"traceId":"a352f1ba0c3857a9"},{"name":"is-page-static","duration":661118,"timestamp":103472570174,"id":98,"parentId":59,"tags":{},"startTime":1778911444816,"traceId":"a352f1ba0c3857a9"},{"name":"check-page","duration":682557,"timestamp":103472548787,"id":59,"parentId":19,"tags":{"page":"/settings/tokens"},"startTime":1778911444795,"traceId":"a352f1ba0c3857a9"},{"name":"is-page-static","duration":676918,"timestamp":103472570192,"id":99,"parentId":60,"tags":{},"startTime":1778911444816,"traceId":"a352f1ba0c3857a9"},{"name":"check-page","duration":698304,"timestamp":103472548879,"id":60,"parentId":19,"tags":{"page":"/tasks/[id]"},"startTime":1778911444795,"traceId":"a352f1ba0c3857a9"},{"name":"is-page-static","duration":677809,"timestamp":103472570061,"id":90,"parentId":23,"tags":{},"startTime":1778911444816,"traceId":"a352f1ba0c3857a9"},{"name":"check-page","duration":707259,"timestamp":103472540703,"id":23,"parentId":19,"tags":{"page":"/admin"},"startTime":1778911444787,"traceId":"a352f1ba0c3857a9"},{"name":"is-page-static","duration":684382,"timestamp":103472570211,"id":100,"parentId":61,"tags":{},"startTime":1778911444816,"traceId":"a352f1ba0c3857a9"},{"name":"check-page","duration":705667,"timestamp":103472548984,"id":61,"parentId":19,"tags":{"page":"/tasks"},"startTime":1778911444795,"traceId":"a352f1ba0c3857a9"},{"name":"is-page-static","duration":680626,"timestamp":103472575954,"id":101,"parentId":58,"tags":{},"startTime":1778911444822,"traceId":"a352f1ba0c3857a9"},{"name":"check-page","duration":708107,"timestamp":103472548520,"id":58,"parentId":19,"tags":{"page":"/settings"},"startTime":1778911444795,"traceId":"a352f1ba0c3857a9"},{"name":"is-page-static","duration":688341,"timestamp":103472570102,"id":92,"parentId":51,"tags":{},"startTime":1778911444816,"traceId":"a352f1ba0c3857a9"},{"name":"check-page","duration":711186,"timestamp":103472547313,"id":51,"parentId":19,"tags":{"page":"/logs"},"startTime":1778911444794,"traceId":"a352f1ba0c3857a9"},{"name":"is-page-static","duration":671981,"timestamp":103472588689,"id":102,"parentId":55,"tags":{},"startTime":1778911444835,"traceId":"a352f1ba0c3857a9"},{"name":"check-page","duration":712852,"timestamp":103472547853,"id":55,"parentId":19,"tags":{"page":"/"},"startTime":1778911444794,"traceId":"a352f1ba0c3857a9"},{"name":"is-page-static","duration":694213,"timestamp":103472570088,"id":91,"parentId":50,"tags":{},"startTime":1778911444816,"traceId":"a352f1ba0c3857a9"},{"name":"check-page","duration":717191,"timestamp":103472547153,"id":50,"parentId":19,"tags":{"page":"/login"},"startTime":1778911444793,"traceId":"a352f1ba0c3857a9"},{"name":"is-page-static","duration":694312,"timestamp":103472570130,"id":94,"parentId":53,"tags":{},"startTime":1778911444816,"traceId":"a352f1ba0c3857a9"},{"name":"check-page","duration":716911,"timestamp":103472547562,"id":53,"parentId":19,"tags":{"page":"/node"},"startTime":1778911444794,"traceId":"a352f1ba0c3857a9"},{"name":"is-page-static","duration":704592,"timestamp":103472570116,"id":93,"parentId":52,"tags":{},"startTime":1778911444816,"traceId":"a352f1ba0c3857a9"},{"name":"check-page","duration":727328,"timestamp":103472547428,"id":52,"parentId":19,"tags":{"page":"/messages"},"startTime":1778911444794,"traceId":"a352f1ba0c3857a9"},{"name":"is-page-static","duration":708152,"timestamp":103472570151,"id":96,"parentId":56,"tags":{},"startTime":1778911444816,"traceId":"a352f1ba0c3857a9"},{"name":"check-page","duration":730090,"timestamp":103472548256,"id":56,"parentId":19,"tags":{"page":"/server-logs"},"startTime":1778911444795,"traceId":"a352f1ba0c3857a9"},{"name":"static-check","duration":741178,"timestamp":103472537206,"id":19,"parentId":1,"tags":{},"startTime":1778911444783,"traceId":"a352f1ba0c3857a9"},{"name":"write-routes-manifest","duration":419,"timestamp":103473286663,"id":104,"parentId":1,"tags":{},"startTime":1778911445533,"traceId":"a352f1ba0c3857a9"},{"name":"load-dotenv","duration":57,"timestamp":103473298060,"id":107,"parentId":106,"tags":{},"startTime":1778911445544,"traceId":"a352f1ba0c3857a9"},{"name":"run-export-path-map","duration":588,"timestamp":103473302291,"id":108,"parentId":106,"tags":{},"startTime":1778911445549,"traceId":"a352f1ba0c3857a9"},{"name":"next-export","duration":567937,"timestamp":103473296483,"id":106,"parentId":1,"tags":{},"startTime":1778911445543,"traceId":"a352f1ba0c3857a9"}]
|
|
2
|
+
[{"name":"move-exported-app-not-found-","duration":2098,"timestamp":103473868264,"id":109,"parentId":105,"tags":{},"startTime":1778911446115,"traceId":"a352f1ba0c3857a9"},{"name":"move-exported-app-global-error-","duration":486,"timestamp":103473870449,"id":110,"parentId":105,"tags":{},"startTime":1778911446117,"traceId":"a352f1ba0c3857a9"},{"name":"static-generation","duration":582127,"timestamp":103473290547,"id":105,"parentId":1,"tags":{},"startTime":1778911445537,"traceId":"a352f1ba0c3857a9"},{"name":"write-routes-manifest","duration":400,"timestamp":103473872825,"id":111,"parentId":1,"tags":{},"startTime":1778911446119,"traceId":"a352f1ba0c3857a9"},{"name":"print-tree-view","duration":4682,"timestamp":103473888725,"id":112,"parentId":1,"tags":{},"startTime":1778911446135,"traceId":"a352f1ba0c3857a9"},{"name":"write-route-bundle-stats","duration":12210,"timestamp":103473893439,"id":113,"parentId":1,"tags":{},"startTime":1778911446140,"traceId":"a352f1ba0c3857a9"},{"name":"telemetry-flush","duration":29717,"timestamp":103473905674,"id":114,"parentId":1,"tags":{},"startTime":1778911446152,"traceId":"a352f1ba0c3857a9"},{"name":"next-build","duration":16823323,"timestamp":103457112093,"id":1,"tags":{"buildMode":"default","version":"16.2.3","bundler":"turbopack","has-custom-webpack-config":"false","use-build-worker":"true"},"startTime":1778911429358,"traceId":"a352f1ba0c3857a9"}]
|
package/.next/trace-build
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
[{"name":"run-turbopack","duration":
|
|
1
|
+
[{"name":"run-turbopack","duration":5656644,"timestamp":103457347501,"id":14,"parentId":1,"tags":{},"startTime":1778911429594,"traceId":"a352f1ba0c3857a9"},{"name":"turbopack-build-events","duration":119,"timestamp":103457634819,"id":15,"parentId":1,"tags":{},"startTime":1778911429881,"traceId":"a352f1ba0c3857a9"},{"name":"run-typescript","duration":9334696,"timestamp":103463017041,"id":16,"parentId":1,"tags":{},"startTime":1778911435263,"traceId":"a352f1ba0c3857a9"},{"name":"static-check","duration":741178,"timestamp":103472537206,"id":19,"parentId":1,"tags":{},"startTime":1778911444783,"traceId":"a352f1ba0c3857a9"},{"name":"static-generation","duration":582127,"timestamp":103473290547,"id":105,"parentId":1,"tags":{},"startTime":1778911445537,"traceId":"a352f1ba0c3857a9"},{"name":"telemetry-flush","duration":29717,"timestamp":103473905674,"id":114,"parentId":1,"tags":{},"startTime":1778911446152,"traceId":"a352f1ba0c3857a9"},{"name":"next-build","duration":16823323,"timestamp":103457112093,"id":1,"tags":{"buildMode":"default","version":"16.2.3","bundler":"turbopack","has-custom-webpack-config":"false","use-build-worker":"true"},"startTime":1778911429358,"traceId":"a352f1ba0c3857a9"}]
|
|
@@ -131,6 +131,26 @@ function FreshnessChip({ sessions }: { sessions: unknown }) {
|
|
|
131
131
|
const colorClass = stale
|
|
132
132
|
? "bg-amber-500/10 text-amber-300 border-amber-500/20"
|
|
133
133
|
: "bg-gray-500/10 text-gray-400 border-gray-500/20";
|
|
134
|
+
/* Round 275 / Loop: simplification per Vincent 5214/5215-5217 visual
|
|
135
|
+
audit (clutter cleanup for Twitter screenshot). Pre-R275 the chip
|
|
136
|
+
ALWAYS rendered — "live · 5s" gray-on-gray at rest, "lag · 15s"
|
|
137
|
+
amber when stale. The fresh state is an "everything's fine"
|
|
138
|
+
affirmation that's implicit elsewhere on the canvas (counts
|
|
139
|
+
updating, flows animating). Adding a permanent chip to the chip-
|
|
140
|
+
row's right end for that affirmation is added visual chrome
|
|
141
|
+
without proportional info value.
|
|
142
|
+
|
|
143
|
+
R275 converts the chip to a CONDITIONAL warning indicator: render
|
|
144
|
+
only when stale (sec > 10). Fresh state → null (chip absent). The
|
|
145
|
+
amber stale chip still appears as a warning when SWR lags, so
|
|
146
|
+
users see the problem signal; the fresh state implicitly relies
|
|
147
|
+
on other liveness signals (recent-signal panel rows, edge
|
|
148
|
+
animations, count updates).
|
|
149
|
+
|
|
150
|
+
Net effect: chip-row at rest has 1 fewer chip (cleaner Twitter
|
|
151
|
+
screenshot, less right-edge chrome), but signals appear on
|
|
152
|
+
stale-onset to direct attention. */
|
|
153
|
+
if (!stale) return null;
|
|
134
154
|
return (
|
|
135
155
|
<span
|
|
136
156
|
className={`${baseClass} ${colorClass}`}
|
|
@@ -2934,8 +2954,28 @@ export function TopoGraph({ sessions, sseSessions, renameSignal }: TopoGraphProp
|
|
|
2934
2954
|
simultaneously without competing. Same bucket
|
|
2935
2955
|
thresholds (0 / 1-2 / 3-5 / 6+) the R84 block uses
|
|
2936
2956
|
at line ~2702 so the two cadences stay in sync if
|
|
2937
|
-
a future refactor shifts buckets.
|
|
2938
|
-
|
|
2957
|
+
a future refactor shifts buckets.
|
|
2958
|
+
|
|
2959
|
+
Round 276 / Loop: orbit particles DISABLED by default
|
|
2960
|
+
per Vincent 5214/5215-5217 visual-audit relay
|
|
2961
|
+
(clutter cleanup for Twitter screenshot). The 4
|
|
2962
|
+
particles encode workingCount busyness via speed
|
|
2963
|
+
(R131) + opacity (R216) — but that signal is
|
|
2964
|
+
ALREADY conveyed by:
|
|
2965
|
+
· hub halo opacity breath (R244, R84)
|
|
2966
|
+
· hub digit workingCount text (R130)
|
|
2967
|
+
· pressure-bar working/idle/offline ratio (R31)
|
|
2968
|
+
So orbit particles are info-redundant decoration:
|
|
2969
|
+
they don't add new signal, just add visual noise at
|
|
2970
|
+
the canvas outer edge. R276 gates the render block
|
|
2971
|
+
with `false &&` so the code stays (commented context
|
|
2972
|
+
+ tests preserved for hypothetical rollback) but
|
|
2973
|
+
nothing renders. R131 busy-bucket constant + R216
|
|
2974
|
+
opacity-bucket constant are dead code post-R276 —
|
|
2975
|
+
acceptable since the family was R50/R131/R216 and
|
|
2976
|
+
R276 retires the family entirely. Net: 4 fewer
|
|
2977
|
+
moving dots on canvas. */}
|
|
2978
|
+
{false && !isLight && (() => {
|
|
2939
2979
|
const busy = workingCount === 0 ? 0
|
|
2940
2980
|
: workingCount <= 2 ? 1
|
|
2941
2981
|
: workingCount <= 5 ? 2
|
package/package.json
CHANGED
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
/* Round 275 verification: FreshnessChip converts from always-render
|
|
2
|
+
* to conditional render (only when stale) — chip-row simplification
|
|
3
|
+
* per Vincent 5214/5215-5217 visual audit ask ("乱" cleanup for
|
|
4
|
+
* Twitter screenshot).
|
|
5
|
+
*
|
|
6
|
+
* Pre-R275 the chip ALWAYS rendered:
|
|
7
|
+
* fresh: gray + "live · {sec}s" (always-present "I'm fine" chip)
|
|
8
|
+
* stale: amber + "lag · {sec}s" (R272 prefix swap)
|
|
9
|
+
*
|
|
10
|
+
* Post-R275:
|
|
11
|
+
* fresh: chip absent (null)
|
|
12
|
+
* stale: amber + "lag · {sec}s" (warning indicator only)
|
|
13
|
+
*
|
|
14
|
+
* Net effect: chip-row at rest has 1 fewer chip — cleaner Twitter
|
|
15
|
+
* screenshot, less right-edge chrome. Stale state still alerts via
|
|
16
|
+
* conditional appearance (amber "lag" warning chip).
|
|
17
|
+
*
|
|
18
|
+
* R272 prefix-swap intent (live↔lag) still in code; only the lag side
|
|
19
|
+
* is rendered now. Fresh state implicitly relies on other liveness
|
|
20
|
+
* signals (recent-signal panel rows, edge animations, count updates).
|
|
21
|
+
*
|
|
22
|
+
* Test scope:
|
|
23
|
+
* 1. At fresh state (default page load, 0s elapsed), chip element
|
|
24
|
+
* is NOT present in DOM. R275 simplification verified.
|
|
25
|
+
* 2. R273 Layout toggle Grid inactive has hover:text-cyan-300
|
|
26
|
+
* (regression).
|
|
27
|
+
* 3. R274 legend per-row count has tabular-nums (regression).
|
|
28
|
+
* 4. Source code regression: FreshnessChip body still contains the
|
|
29
|
+
* "lag" / "live" ternary — verified by reading the bundled JS
|
|
30
|
+
* isn't worth the effort; trust the source diff + this fresh-
|
|
31
|
+
* absence test as proof R275 applied.
|
|
32
|
+
*/
|
|
33
|
+
import { chromium } from 'playwright';
|
|
34
|
+
import { readFileSync } from 'node:fs';
|
|
35
|
+
|
|
36
|
+
const TOKEN = JSON.parse(readFileSync('/home/vansin/.anet/config.json', 'utf8')).token;
|
|
37
|
+
const browser = await chromium.launch({ headless: true });
|
|
38
|
+
const ctx = await browser.newContext({ viewport: { width: 1500, height: 1500 } });
|
|
39
|
+
await ctx.addCookies([{ name: 'anet_dashboard_session', value: `v3:${TOKEN}`, domain: '127.0.0.1', path: '/' }]);
|
|
40
|
+
await ctx.addInitScript(() => {
|
|
41
|
+
try { localStorage.setItem('anet-theme', 'cyber'); sessionStorage.setItem('anet_v3_auth', '1'); } catch {}
|
|
42
|
+
});
|
|
43
|
+
const fresh = new Date(Date.now() - 60 * 1000).toISOString();
|
|
44
|
+
await ctx.route('**/api/hub/status*', async (route) => {
|
|
45
|
+
const r = await route.fetch();
|
|
46
|
+
const b = await r.json();
|
|
47
|
+
const nid = (b.sessions || [])[0]?.network_id || 'default';
|
|
48
|
+
const mk = (alias) => ({
|
|
49
|
+
alias, status: 'working', model: 'claude-opus-4', runtime: 'claude-code-cli',
|
|
50
|
+
network_id: nid, project_dir: null,
|
|
51
|
+
created_at: fresh, updated_at: fresh, last_seen_at: fresh,
|
|
52
|
+
});
|
|
53
|
+
await route.fulfill({ response: r, json: { ...b, sessions: [
|
|
54
|
+
mk('alpha'), mk('beta'), mk('gamma'), mk('delta'),
|
|
55
|
+
] } });
|
|
56
|
+
});
|
|
57
|
+
await ctx.route('**/api/hub/messages*', (r) => r.fulfill({ json: { messages: [] } }));
|
|
58
|
+
await ctx.route('**/api/hub/tasks*', (r) => r.fulfill({ json: { tasks: [] } }));
|
|
59
|
+
|
|
60
|
+
const page = await ctx.newPage();
|
|
61
|
+
await page.goto('http://127.0.0.1:3000/', { waitUntil: 'domcontentloaded' });
|
|
62
|
+
await page.waitForFunction(() => document.querySelectorAll('g[data-node]').length === 4, { timeout: 30000 });
|
|
63
|
+
await page.waitForSelector('[data-topo-chrome-layout="grid"]', { timeout: 10000 });
|
|
64
|
+
await page.waitForSelector('[data-legend-count="working"]', { timeout: 10000 });
|
|
65
|
+
// Give the page time to settle so FreshnessChip mount cycle is stable.
|
|
66
|
+
// Note: we are NOT waiting for [data-freshness-chip] — that selector
|
|
67
|
+
// should NOT match in fresh state (chip absent). Use a short fixed
|
|
68
|
+
// wait instead.
|
|
69
|
+
await page.waitForTimeout(500);
|
|
70
|
+
|
|
71
|
+
const probe = await page.evaluate(() => {
|
|
72
|
+
const freshnessChip = document.querySelector('[data-freshness-chip]');
|
|
73
|
+
const grid = document.querySelector('[data-topo-chrome-layout="grid"]');
|
|
74
|
+
const legendCount = document.querySelector('[data-legend-count="working"]');
|
|
75
|
+
return {
|
|
76
|
+
chipPresentAtFresh: freshnessChip !== null,
|
|
77
|
+
gridClasses: grid ? grid.className.toString() : null,
|
|
78
|
+
legendCountFVN: legendCount ? window.getComputedStyle(legendCount).fontVariantNumeric : null,
|
|
79
|
+
};
|
|
80
|
+
});
|
|
81
|
+
await browser.close();
|
|
82
|
+
|
|
83
|
+
const results = {
|
|
84
|
+
chip_absent_at_fresh: probe.chipPresentAtFresh === false,
|
|
85
|
+
r273_grid_has_cyan_hover_text: (probe.gridClasses || '').includes('hover:text-cyan-300'),
|
|
86
|
+
r274_legend_count_tabular: probe.legendCountFVN != null && probe.legendCountFVN.includes('tabular-nums'),
|
|
87
|
+
};
|
|
88
|
+
const ok = Object.values(results).every(Boolean);
|
|
89
|
+
console.log(`${ok ? '✅' : '❌'} freshness conditional render:`, JSON.stringify(results),
|
|
90
|
+
'\n chip present at fresh:', probe.chipPresentAtFresh, '(expected: false)',
|
|
91
|
+
'\n legend count FVN:', probe.legendCountFVN);
|
|
92
|
+
process.exit(ok ? 0 : 1);
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
/* Round 276 verification: outer-ring orbit particles retired by default.
|
|
2
|
+
*
|
|
3
|
+
* R50 introduced 4 cyan particles orbiting r=330 (outer ring edge) at
|
|
4
|
+
* 16s revolution. R131 added busy-bucket speed (workingCount → 16/14/
|
|
5
|
+
* 12/10s). R216 added busy-bucket opacity (0.5/0.7/0.85/1.0).
|
|
6
|
+
*
|
|
7
|
+
* Pre-R276 the orbit family rendered 4 <g data-topo-orbit-bucket=...>
|
|
8
|
+
* groups whenever the canvas was non-light theme. Each particle was a
|
|
9
|
+
* 2.2-2.8 px cyan circle with animateTransform rotation, opacity gated
|
|
10
|
+
* by busy bucket.
|
|
11
|
+
*
|
|
12
|
+
* The orbit family encoded workingCount busyness via speed + opacity,
|
|
13
|
+
* but that signal was ALREADY conveyed by:
|
|
14
|
+
* · hub halo opacity breath (R244 / R84)
|
|
15
|
+
* · hub digit workingCount text (R130)
|
|
16
|
+
* · pressure-bar working/idle/offline ratio (R31)
|
|
17
|
+
*
|
|
18
|
+
* Info-redundant decoration. For a static Twitter screenshot, 4 small
|
|
19
|
+
* dots at the canvas outer edge contributed to "乱" without
|
|
20
|
+
* proportional signal. R276 gates the render block with `false &&` so
|
|
21
|
+
* the code remains in place (commented context + rollback-friendly)
|
|
22
|
+
* but nothing renders.
|
|
23
|
+
*
|
|
24
|
+
* Test scope:
|
|
25
|
+
* 1. No element matches `[data-topo-orbit-bucket]` in DOM (orbit
|
|
26
|
+
* particles absent).
|
|
27
|
+
* 2. No element matches `[data-topo-orbit-opacity]` (R216 attr).
|
|
28
|
+
* 3. R275 freshness chip still absent at fresh state (regression —
|
|
29
|
+
* simplification family continues).
|
|
30
|
+
* 4. R273 Layout toggle Grid inactive has hover:text-cyan-300
|
|
31
|
+
* (regression).
|
|
32
|
+
*/
|
|
33
|
+
import { chromium } from 'playwright';
|
|
34
|
+
import { readFileSync } from 'node:fs';
|
|
35
|
+
|
|
36
|
+
const TOKEN = JSON.parse(readFileSync('/home/vansin/.anet/config.json', 'utf8')).token;
|
|
37
|
+
const browser = await chromium.launch({ headless: true });
|
|
38
|
+
const ctx = await browser.newContext({ viewport: { width: 1500, height: 1500 } });
|
|
39
|
+
await ctx.addCookies([{ name: 'anet_dashboard_session', value: `v3:${TOKEN}`, domain: '127.0.0.1', path: '/' }]);
|
|
40
|
+
await ctx.addInitScript(() => {
|
|
41
|
+
try { localStorage.setItem('anet-theme', 'cyber'); sessionStorage.setItem('anet_v3_auth', '1'); } catch {}
|
|
42
|
+
});
|
|
43
|
+
const fresh = new Date(Date.now() - 60 * 1000).toISOString();
|
|
44
|
+
await ctx.route('**/api/hub/status*', async (route) => {
|
|
45
|
+
const r = await route.fetch();
|
|
46
|
+
const b = await r.json();
|
|
47
|
+
const nid = (b.sessions || [])[0]?.network_id || 'default';
|
|
48
|
+
const mk = (alias) => ({
|
|
49
|
+
alias, status: 'working', model: 'claude-opus-4', runtime: 'claude-code-cli',
|
|
50
|
+
network_id: nid, project_dir: null,
|
|
51
|
+
created_at: fresh, updated_at: fresh, last_seen_at: fresh,
|
|
52
|
+
});
|
|
53
|
+
await route.fulfill({ response: r, json: { ...b, sessions: [
|
|
54
|
+
mk('alpha'), mk('beta'), mk('gamma'), mk('delta'),
|
|
55
|
+
] } });
|
|
56
|
+
});
|
|
57
|
+
await ctx.route('**/api/hub/messages*', (r) => r.fulfill({ json: { messages: [] } }));
|
|
58
|
+
await ctx.route('**/api/hub/tasks*', (r) => r.fulfill({ json: { tasks: [] } }));
|
|
59
|
+
|
|
60
|
+
const page = await ctx.newPage();
|
|
61
|
+
await page.goto('http://127.0.0.1:3000/', { waitUntil: 'domcontentloaded' });
|
|
62
|
+
await page.waitForFunction(() => document.querySelectorAll('g[data-node]').length === 4, { timeout: 30000 });
|
|
63
|
+
await page.waitForSelector('[data-topo-chrome-layout="grid"]', { timeout: 10000 });
|
|
64
|
+
await page.waitForTimeout(500);
|
|
65
|
+
|
|
66
|
+
const probe = await page.evaluate(() => {
|
|
67
|
+
const orbits = document.querySelectorAll('[data-topo-orbit-bucket]');
|
|
68
|
+
const orbitsOpacity = document.querySelectorAll('[data-topo-orbit-opacity]');
|
|
69
|
+
const freshnessChip = document.querySelector('[data-freshness-chip]');
|
|
70
|
+
const grid = document.querySelector('[data-topo-chrome-layout="grid"]');
|
|
71
|
+
return {
|
|
72
|
+
orbitCount: orbits.length,
|
|
73
|
+
orbitOpacityCount: orbitsOpacity.length,
|
|
74
|
+
freshnessPresent: freshnessChip !== null,
|
|
75
|
+
gridClasses: grid ? grid.className.toString() : null,
|
|
76
|
+
};
|
|
77
|
+
});
|
|
78
|
+
await browser.close();
|
|
79
|
+
|
|
80
|
+
const results = {
|
|
81
|
+
orbit_bucket_absent: probe.orbitCount === 0,
|
|
82
|
+
orbit_opacity_absent: probe.orbitOpacityCount === 0,
|
|
83
|
+
r275_freshness_absent_at_fresh: probe.freshnessPresent === false,
|
|
84
|
+
r273_grid_has_cyan_hover_text: (probe.gridClasses || '').includes('hover:text-cyan-300'),
|
|
85
|
+
};
|
|
86
|
+
const ok = Object.values(results).every(Boolean);
|
|
87
|
+
console.log(`${ok ? '✅' : '❌'} orbit particles retired:`, JSON.stringify(results),
|
|
88
|
+
'\n orbit count (expect 0):', probe.orbitCount,
|
|
89
|
+
'\n orbit-opacity count (expect 0):', probe.orbitOpacityCount,
|
|
90
|
+
'\n freshness chip absent (R275):', !probe.freshnessPresent);
|
|
91
|
+
process.exit(ok ? 0 : 1);
|