@sleep2agi/agent-network-dashboard 0.4.6-preview.271 → 0.4.6-preview.273
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 +2 -2
- package/.next/server/chunks/ssr/agent-network-dashboard_09kk21a._.js.map +1 -1
- package/.next/server/chunks/ssr/agent-network-dashboard_app_01jhlxz._.js +1 -1
- package/.next/server/chunks/ssr/agent-network-dashboard_app_01jhlxz._.js.map +1 -1
- package/.next/server/chunks/ssr/agent-network-dashboard_app_09d29my._.js +1 -1
- package/.next/server/chunks/ssr/agent-network-dashboard_app_09d29my._.js.map +1 -1
- package/.next/server/middleware-build-manifest.js +3 -3
- package/.next/server/pages/404.html +1 -1
- package/.next/server/pages/500.html +1 -1
- package/.next/static/chunks/{10irw4noos.9c.js → 06vrf5h1n.gb-.js} +2 -2
- package/.next/static/chunks/{0krph-mr~j~-i.js → 0~93i03.56p.v.js} +1 -1
- package/.next/static/chunks/{0iqr11y9s-xgx.js → 12kl5dbej_zj1.js} +1 -1
- package/.next/trace +2 -2
- package/.next/trace-build +1 -1
- package/app/components/TopoGraph.tsx +43 -4
- package/package.json +1 -1
- package/scripts/topo-panel-title-fill-ease-test.mjs +91 -0
- package/scripts/topo-top-rail-theme-ease-test.mjs +89 -0
- /package/.next/static/{1RSKMzmY8kvB-f37IJbmE → ysCYES1Ed8ugot_cvPNIw}/_buildManifest.js +0 -0
- /package/.next/static/{1RSKMzmY8kvB-f37IJbmE → ysCYES1Ed8ugot_cvPNIw}/_clientMiddlewareManifest.js +0 -0
- /package/.next/static/{1RSKMzmY8kvB-f37IJbmE → ysCYES1Ed8ugot_cvPNIw}/_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.271"],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.273"],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.273"],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":301,"timestamp":98941767147,"id":4,"parentId":1,"tags":{},"startTime":1778906914013,"traceId":"591eb3581e10e4a1"},{"name":"load-custom-routes","duration":713,"timestamp":98941767606,"id":5,"parentId":1,"tags":{},"startTime":1778906914014,"traceId":"591eb3581e10e4a1"},{"name":"create-dist-dir","duration":840,"timestamp":98941768387,"id":6,"parentId":1,"tags":{},"startTime":1778906914015,"traceId":"591eb3581e10e4a1"},{"name":"clean","duration":31303,"timestamp":98941769922,"id":7,"parentId":1,"tags":{},"startTime":1778906914016,"traceId":"591eb3581e10e4a1"},{"name":"discover-routes","duration":22849,"timestamp":98941885434,"id":8,"parentId":1,"tags":{},"startTime":1778906914132,"traceId":"591eb3581e10e4a1"},{"name":"create-root-mapping","duration":121,"timestamp":98941908348,"id":9,"parentId":1,"tags":{},"startTime":1778906914155,"traceId":"591eb3581e10e4a1"},{"name":"generate-route-types","duration":22008,"timestamp":98941910974,"id":10,"parentId":1,"tags":{},"startTime":1778906914157,"traceId":"591eb3581e10e4a1"},{"name":"public-dir-conflict-check","duration":100,"timestamp":98941933089,"id":11,"parentId":1,"tags":{},"startTime":1778906914179,"traceId":"591eb3581e10e4a1"},{"name":"generate-routes-manifest","duration":5469,"timestamp":98941933319,"id":12,"parentId":1,"tags":{},"startTime":1778906914180,"traceId":"591eb3581e10e4a1"},{"name":"run-turbopack","duration":5832384,"timestamp":98941944470,"id":14,"parentId":1,"tags":{},"startTime":1778906914191,"traceId":"591eb3581e10e4a1"},{"name":"turbopack-build-events","duration":133,"timestamp":98942238916,"id":15,"parentId":1,"tags":{},"startTime":1778906914485,"traceId":"591eb3581e10e4a1"},{"name":"run-typescript","duration":9037369,"timestamp":98947785984,"id":16,"parentId":1,"tags":{},"startTime":1778906920032,"traceId":"591eb3581e10e4a1"},{"name":"generate-required-server-files","duration":2468,"timestamp":98956824571,"id":18,"parentId":1,"tags":{},"startTime":1778906929071,"traceId":"591eb3581e10e4a1"},{"name":"check-static-error-page","duration":11863,"timestamp":98957005556,"id":20,"parentId":19,"tags":{},"startTime":1778906929252,"traceId":"591eb3581e10e4a1"},{"name":"is-page-static","duration":416443,"timestamp":98957019798,"id":63,"parentId":22,"tags":{},"startTime":1778906929266,"traceId":"591eb3581e10e4a1"},{"name":"check-page","duration":428390,"timestamp":98957008023,"id":22,"parentId":19,"tags":{"page":"/_global-error"},"startTime":1778906929254,"traceId":"591eb3581e10e4a1"},{"name":"is-page-static","duration":537062,"timestamp":98957020548,"id":69,"parentId":30,"tags":{},"startTime":1778906929267,"traceId":"591eb3581e10e4a1"},{"name":"check-page","duration":546674,"timestamp":98957011041,"id":30,"parentId":19,"tags":{"page":"/api/hub/broadcast"},"startTime":1778906929257,"traceId":"591eb3581e10e4a1"},{"name":"is-page-static","duration":547173,"timestamp":98957019904,"id":64,"parentId":25,"tags":{},"startTime":1778906929266,"traceId":"591eb3581e10e4a1"},{"name":"check-page","duration":556692,"timestamp":98957010459,"id":25,"parentId":19,"tags":{"page":"/api/auth/login"},"startTime":1778906929257,"traceId":"591eb3581e10e4a1"},{"name":"is-page-static","duration":549857,"timestamp":98957020105,"id":66,"parentId":27,"tags":{},"startTime":1778906929266,"traceId":"591eb3581e10e4a1"},{"name":"check-page","duration":559329,"timestamp":98957010711,"id":27,"parentId":19,"tags":{"page":"/api/auth/v3"},"startTime":1778906929257,"traceId":"591eb3581e10e4a1"},{"name":"is-page-static","duration":551475,"timestamp":98957020283,"id":67,"parentId":28,"tags":{},"startTime":1778906929267,"traceId":"591eb3581e10e4a1"},{"name":"check-page","duration":561013,"timestamp":98957010819,"id":28,"parentId":19,"tags":{"page":"/api/hub/audit-log"},"startTime":1778906929257,"traceId":"591eb3581e10e4a1"},{"name":"is-page-static","duration":555270,"timestamp":98957022416,"id":71,"parentId":33,"tags":{},"startTime":1778906929269,"traceId":"591eb3581e10e4a1"},{"name":"check-page","duration":566271,"timestamp":98957011476,"id":33,"parentId":19,"tags":{"page":"/api/hub/inbox"},"startTime":1778906929258,"traceId":"591eb3581e10e4a1"},{"name":"is-page-static","duration":555355,"timestamp":98957022584,"id":73,"parentId":35,"tags":{},"startTime":1778906929269,"traceId":"591eb3581e10e4a1"},{"name":"check-page","duration":566318,"timestamp":98957011666,"id":35,"parentId":19,"tags":{"page":"/api/hub/messages"},"startTime":1778906929258,"traceId":"591eb3581e10e4a1"},{"name":"is-page-static","duration":558342,"timestamp":98957020014,"id":65,"parentId":26,"tags":{},"startTime":1778906929266,"traceId":"591eb3581e10e4a1"},{"name":"check-page","duration":567796,"timestamp":98957010605,"id":26,"parentId":19,"tags":{"page":"/api/auth/logout"},"startTime":1778906929257,"traceId":"591eb3581e10e4a1"},{"name":"is-page-static","duration":564678,"timestamp":98957020743,"id":70,"parentId":32,"tags":{},"startTime":1778906929267,"traceId":"591eb3581e10e4a1"},{"name":"check-page","duration":574123,"timestamp":98957011359,"id":32,"parentId":19,"tags":{"page":"/api/hub/health"},"startTime":1778906929258,"traceId":"591eb3581e10e4a1"},{"name":"is-page-static","duration":569125,"timestamp":98957020392,"id":68,"parentId":29,"tags":{},"startTime":1778906929267,"traceId":"591eb3581e10e4a1"},{"name":"check-page","duration":578639,"timestamp":98957010919,"id":29,"parentId":19,"tags":{"page":"/api/hub/auth"},"startTime":1778906929257,"traceId":"591eb3581e10e4a1"},{"name":"is-page-static","duration":570142,"timestamp":98957022811,"id":77,"parentId":39,"tags":{},"startTime":1778906929269,"traceId":"591eb3581e10e4a1"},{"name":"check-page","duration":580546,"timestamp":98957012452,"id":39,"parentId":19,"tags":{"page":"/api/hub/send"},"startTime":1778906929259,"traceId":"591eb3581e10e4a1"},{"name":"is-page-static","duration":572502,"timestamp":98957022827,"id":78,"parentId":40,"tags":{},"startTime":1778906929269,"traceId":"591eb3581e10e4a1"},{"name":"check-page","duration":582818,"timestamp":98957012554,"id":40,"parentId":19,"tags":{"page":"/api/hub/server-logs"},"startTime":1778906929259,"traceId":"591eb3581e10e4a1"},{"name":"is-page-static","duration":581638,"timestamp":98957019482,"id":62,"parentId":21,"tags":{},"startTime":1778906929266,"traceId":"591eb3581e10e4a1"},{"name":"check-page","duration":594406,"timestamp":98957006756,"id":21,"parentId":19,"tags":{"page":"/_not-found"},"startTime":1778906929253,"traceId":"591eb3581e10e4a1"},{"name":"is-page-static","duration":578518,"timestamp":98957022798,"id":76,"parentId":38,"tags":{},"startTime":1778906929269,"traceId":"591eb3581e10e4a1"},{"name":"check-page","duration":588976,"timestamp":98957012367,"id":38,"parentId":19,"tags":{"page":"/api/hub/register"},"startTime":1778906929259,"traceId":"591eb3581e10e4a1"},{"name":"is-page-static","duration":578918,"timestamp":98957022542,"id":72,"parentId":34,"tags":{},"startTime":1778906929269,"traceId":"591eb3581e10e4a1"},{"name":"check-page","duration":589915,"timestamp":98957011568,"id":34,"parentId":19,"tags":{"page":"/api/hub/license"},"startTime":1778906929258,"traceId":"591eb3581e10e4a1"},{"name":"is-page-static","duration":587312,"timestamp":98957022899,"id":82,"parentId":44,"tags":{},"startTime":1778906929269,"traceId":"591eb3581e10e4a1"},{"name":"check-page","duration":597179,"timestamp":98957013086,"id":44,"parentId":19,"tags":{"page":"/api/hub/status"},"startTime":1778906929259,"traceId":"591eb3581e10e4a1"},{"name":"is-page-static","duration":594012,"timestamp":98957022927,"id":84,"parentId":46,"tags":{},"startTime":1778906929269,"traceId":"591eb3581e10e4a1"},{"name":"check-page","duration":603737,"timestamp":98957013294,"id":46,"parentId":19,"tags":{"page":"/api/hub/tasks"},"startTime":1778906929260,"traceId":"591eb3581e10e4a1"},{"name":"is-page-static","duration":596743,"timestamp":98957022858,"id":79,"parentId":41,"tags":{},"startTime":1778906929269,"traceId":"591eb3581e10e4a1"},{"name":"check-page","duration":606993,"timestamp":98957012653,"id":41,"parentId":19,"tags":{"page":"/api/hub/servers"},"startTime":1778906929259,"traceId":"591eb3581e10e4a1"},{"name":"is-page-static","duration":603783,"timestamp":98957022730,"id":74,"parentId":36,"tags":{},"startTime":1778906929269,"traceId":"591eb3581e10e4a1"},{"name":"check-page","duration":614443,"timestamp":98957012119,"id":36,"parentId":19,"tags":{"page":"/api/hub/networks"},"startTime":1778906929258,"traceId":"591eb3581e10e4a1"},{"name":"is-page-static","duration":603738,"timestamp":98957022946,"id":85,"parentId":47,"tags":{},"startTime":1778906929269,"traceId":"591eb3581e10e4a1"},{"name":"check-page","duration":613280,"timestamp":98957013434,"id":47,"parentId":19,"tags":{"page":"/api/hub/tmux"},"startTime":1778906929260,"traceId":"591eb3581e10e4a1"},{"name":"is-page-static","duration":603856,"timestamp":98957022961,"id":86,"parentId":48,"tags":{},"startTime":1778906929269,"traceId":"591eb3581e10e4a1"},{"name":"check-page","duration":613310,"timestamp":98957013548,"id":48,"parentId":19,"tags":{"page":"/api/hub/tokens"},"startTime":1778906929260,"traceId":"591eb3581e10e4a1"},{"name":"is-page-static","duration":604083,"timestamp":98957022873,"id":80,"parentId":42,"tags":{},"startTime":1778906929269,"traceId":"591eb3581e10e4a1"},{"name":"check-page","duration":614162,"timestamp":98957012819,"id":42,"parentId":19,"tags":{"page":"/api/hub/session"},"startTime":1778906929259,"traceId":"591eb3581e10e4a1"},{"name":"is-page-static","duration":612489,"timestamp":98957022777,"id":75,"parentId":37,"tags":{},"startTime":1778906929269,"traceId":"591eb3581e10e4a1"},{"name":"check-page","duration":623051,"timestamp":98957012267,"id":37,"parentId":19,"tags":{"page":"/api/hub/nodes"},"startTime":1778906929259,"traceId":"591eb3581e10e4a1"},{"name":"is-page-static","duration":607170,"timestamp":98957029076,"id":89,"parentId":31,"tags":{},"startTime":1778906929275,"traceId":"591eb3581e10e4a1"},{"name":"check-page","duration":625163,"timestamp":98957011133,"id":31,"parentId":19,"tags":{"page":"/api/hub/events"},"startTime":1778906929257,"traceId":"591eb3581e10e4a1"},{"name":"is-page-static","duration":621611,"timestamp":98957022915,"id":83,"parentId":45,"tags":{},"startTime":1778906929269,"traceId":"591eb3581e10e4a1"},{"name":"check-page","duration":631406,"timestamp":98957013178,"id":45,"parentId":19,"tags":{"page":"/api/hub/task-events"},"startTime":1778906929259,"traceId":"591eb3581e10e4a1"},{"name":"is-page-static","duration":621436,"timestamp":98957027799,"id":88,"parentId":24,"tags":{},"startTime":1778906929274,"traceId":"591eb3581e10e4a1"},{"name":"check-page","duration":640843,"timestamp":98957008441,"id":24,"parentId":19,"tags":{"page":"/api/anet/config"},"startTime":1778906929255,"traceId":"591eb3581e10e4a1"},{"name":"is-page-static","duration":628063,"timestamp":98957022977,"id":87,"parentId":49,"tags":{},"startTime":1778906929269,"traceId":"591eb3581e10e4a1"},{"name":"check-page","duration":636164,"timestamp":98957014924,"id":49,"parentId":19,"tags":{"page":"/favicon.ico"},"startTime":1778906929261,"traceId":"591eb3581e10e4a1"},{"name":"is-page-static","duration":651195,"timestamp":98957022885,"id":81,"parentId":43,"tags":{},"startTime":1778906929269,"traceId":"591eb3581e10e4a1"},{"name":"check-page","duration":661181,"timestamp":98957012969,"id":43,"parentId":19,"tags":{"page":"/api/hub/stats"},"startTime":1778906929259,"traceId":"591eb3581e10e4a1"},{"name":"is-page-static","duration":650222,"timestamp":98957031709,"id":96,"parentId":56,"tags":{},"startTime":1778906929278,"traceId":"591eb3581e10e4a1"},{"name":"check-page","duration":665569,"timestamp":98957016422,"id":56,"parentId":19,"tags":{"page":"/server-logs"},"startTime":1778906929263,"traceId":"591eb3581e10e4a1"},{"name":"is-page-static","duration":656977,"timestamp":98957031724,"id":97,"parentId":57,"tags":{},"startTime":1778906929278,"traceId":"591eb3581e10e4a1"},{"name":"check-page","duration":672173,"timestamp":98957016578,"id":57,"parentId":19,"tags":{"page":"/settings/networks"},"startTime":1778906929263,"traceId":"591eb3581e10e4a1"},{"name":"is-page-static","duration":664174,"timestamp":98957031649,"id":92,"parentId":51,"tags":{},"startTime":1778906929278,"traceId":"591eb3581e10e4a1"},{"name":"check-page","duration":680490,"timestamp":98957015406,"id":51,"parentId":19,"tags":{"page":"/logs"},"startTime":1778906929262,"traceId":"591eb3581e10e4a1"},{"name":"is-page-static","duration":664423,"timestamp":98957031682,"id":94,"parentId":53,"tags":{},"startTime":1778906929278,"traceId":"591eb3581e10e4a1"},{"name":"check-page","duration":680481,"timestamp":98957015662,"id":53,"parentId":19,"tags":{"page":"/node"},"startTime":1778906929262,"traceId":"591eb3581e10e4a1"},{"name":"is-page-static","duration":664561,"timestamp":98957031739,"id":98,"parentId":59,"tags":{},"startTime":1778906929278,"traceId":"591eb3581e10e4a1"},{"name":"check-page","duration":679315,"timestamp":98957017033,"id":59,"parentId":19,"tags":{"page":"/settings/tokens"},"startTime":1778906929263,"traceId":"591eb3581e10e4a1"},{"name":"is-page-static","duration":662519,"timestamp":98957042830,"id":101,"parentId":55,"tags":{},"startTime":1778906929289,"traceId":"591eb3581e10e4a1"},{"name":"check-page","duration":689412,"timestamp":98957015983,"id":55,"parentId":19,"tags":{"page":"/"},"startTime":1778906929262,"traceId":"591eb3581e10e4a1"},{"name":"is-page-static","duration":673713,"timestamp":98957031775,"id":100,"parentId":61,"tags":{},"startTime":1778906929278,"traceId":"591eb3581e10e4a1"},{"name":"check-page","duration":688279,"timestamp":98957017241,"id":61,"parentId":19,"tags":{"page":"/tasks"},"startTime":1778906929264,"traceId":"591eb3581e10e4a1"},{"name":"is-page-static","duration":676983,"timestamp":98957031697,"id":95,"parentId":54,"tags":{},"startTime":1778906929278,"traceId":"591eb3581e10e4a1"},{"name":"check-page","duration":692930,"timestamp":98957015804,"id":54,"parentId":19,"tags":{"page":"/nodes"},"startTime":1778906929262,"traceId":"591eb3581e10e4a1"},{"name":"is-page-static","duration":677523,"timestamp":98957031666,"id":93,"parentId":52,"tags":{},"startTime":1778906929278,"traceId":"591eb3581e10e4a1"},{"name":"check-page","duration":693707,"timestamp":98957015521,"id":52,"parentId":19,"tags":{"page":"/messages"},"startTime":1778906929262,"traceId":"591eb3581e10e4a1"},{"name":"is-page-static","duration":678151,"timestamp":98957031755,"id":99,"parentId":60,"tags":{},"startTime":1778906929278,"traceId":"591eb3581e10e4a1"},{"name":"check-page","duration":692814,"timestamp":98957017144,"id":60,"parentId":19,"tags":{"page":"/tasks/[id]"},"startTime":1778906929263,"traceId":"591eb3581e10e4a1"},{"name":"is-page-static","duration":659091,"timestamp":98957051598,"id":102,"parentId":58,"tags":{},"startTime":1778906929298,"traceId":"591eb3581e10e4a1"},{"name":"check-page","duration":694021,"timestamp":98957016704,"id":58,"parentId":19,"tags":{"page":"/settings"},"startTime":1778906929263,"traceId":"591eb3581e10e4a1"},{"name":"is-page-static","duration":679173,"timestamp":98957031603,"id":90,"parentId":23,"tags":{},"startTime":1778906929278,"traceId":"591eb3581e10e4a1"},{"name":"check-page","duration":702543,"timestamp":98957008253,"id":23,"parentId":19,"tags":{"page":"/admin"},"startTime":1778906929255,"traceId":"591eb3581e10e4a1"},{"name":"is-page-static","duration":683691,"timestamp":98957031636,"id":91,"parentId":50,"tags":{},"startTime":1778906929278,"traceId":"591eb3581e10e4a1"},{"name":"check-page","duration":700067,"timestamp":98957015287,"id":50,"parentId":19,"tags":{"page":"/login"},"startTime":1778906929262,"traceId":"591eb3581e10e4a1"},{"name":"static-check","duration":710718,"timestamp":98957004673,"id":19,"parentId":1,"tags":{},"startTime":1778906929251,"traceId":"591eb3581e10e4a1"},{"name":"write-routes-manifest","duration":485,"timestamp":98957723662,"id":104,"parentId":1,"tags":{},"startTime":1778906929970,"traceId":"591eb3581e10e4a1"},{"name":"load-dotenv","duration":47,"timestamp":98957734845,"id":107,"parentId":106,"tags":{},"startTime":1778906929981,"traceId":"591eb3581e10e4a1"},{"name":"run-export-path-map","duration":504,"timestamp":98957738379,"id":108,"parentId":106,"tags":{},"startTime":1778906929985,"traceId":"591eb3581e10e4a1"},{"name":"next-export","duration":558713,"timestamp":98957733429,"id":106,"parentId":1,"tags":{},"startTime":1778906929980,"traceId":"591eb3581e10e4a1"}]
|
|
2
|
-
[{"name":"move-exported-app-not-found-","duration":
|
|
1
|
+
[{"name":"generate-buildid","duration":290,"timestamp":99585347847,"id":4,"parentId":1,"tags":{},"startTime":1778907557594,"traceId":"7a8110d06d353707"},{"name":"load-custom-routes","duration":446,"timestamp":99585348274,"id":5,"parentId":1,"tags":{},"startTime":1778907557595,"traceId":"7a8110d06d353707"},{"name":"create-dist-dir","duration":719,"timestamp":99585348758,"id":6,"parentId":1,"tags":{},"startTime":1778907557595,"traceId":"7a8110d06d353707"},{"name":"clean","duration":31834,"timestamp":99585350225,"id":7,"parentId":1,"tags":{},"startTime":1778907557597,"traceId":"7a8110d06d353707"},{"name":"discover-routes","duration":8888,"timestamp":99585468081,"id":8,"parentId":1,"tags":{},"startTime":1778907557714,"traceId":"7a8110d06d353707"},{"name":"create-root-mapping","duration":120,"timestamp":99585477059,"id":9,"parentId":1,"tags":{},"startTime":1778907557723,"traceId":"7a8110d06d353707"},{"name":"generate-route-types","duration":35019,"timestamp":99585479660,"id":10,"parentId":1,"tags":{},"startTime":1778907557726,"traceId":"7a8110d06d353707"},{"name":"public-dir-conflict-check","duration":98,"timestamp":99585514768,"id":11,"parentId":1,"tags":{},"startTime":1778907557761,"traceId":"7a8110d06d353707"},{"name":"generate-routes-manifest","duration":5121,"timestamp":99585514999,"id":12,"parentId":1,"tags":{},"startTime":1778907557761,"traceId":"7a8110d06d353707"},{"name":"run-turbopack","duration":5773485,"timestamp":99585525275,"id":14,"parentId":1,"tags":{},"startTime":1778907557772,"traceId":"7a8110d06d353707"},{"name":"turbopack-build-events","duration":99,"timestamp":99585814315,"id":15,"parentId":1,"tags":{},"startTime":1778907558061,"traceId":"7a8110d06d353707"},{"name":"run-typescript","duration":9277517,"timestamp":99591308726,"id":16,"parentId":1,"tags":{},"startTime":1778907563555,"traceId":"7a8110d06d353707"},{"name":"generate-required-server-files","duration":2074,"timestamp":99600587301,"id":18,"parentId":1,"tags":{},"startTime":1778907572834,"traceId":"7a8110d06d353707"},{"name":"check-static-error-page","duration":9814,"timestamp":99600779481,"id":20,"parentId":19,"tags":{},"startTime":1778907573026,"traceId":"7a8110d06d353707"},{"name":"is-page-static","duration":447284,"timestamp":99600791543,"id":63,"parentId":22,"tags":{},"startTime":1778907573038,"traceId":"7a8110d06d353707"},{"name":"check-page","duration":457238,"timestamp":99600781758,"id":22,"parentId":19,"tags":{"page":"/_global-error"},"startTime":1778907573028,"traceId":"7a8110d06d353707"},{"name":"is-page-static","duration":553997,"timestamp":99600792387,"id":69,"parentId":30,"tags":{},"startTime":1778907573039,"traceId":"7a8110d06d353707"},{"name":"check-page","duration":561961,"timestamp":99600784523,"id":30,"parentId":19,"tags":{"page":"/api/hub/broadcast"},"startTime":1778907573031,"traceId":"7a8110d06d353707"},{"name":"is-page-static","duration":562054,"timestamp":99600792549,"id":70,"parentId":32,"tags":{},"startTime":1778907573039,"traceId":"7a8110d06d353707"},{"name":"check-page","duration":569888,"timestamp":99600784790,"id":32,"parentId":19,"tags":{"page":"/api/hub/health"},"startTime":1778907573031,"traceId":"7a8110d06d353707"},{"name":"is-page-static","duration":563981,"timestamp":99600791831,"id":66,"parentId":27,"tags":{},"startTime":1778907573038,"traceId":"7a8110d06d353707"},{"name":"check-page","duration":571604,"timestamp":99600784267,"id":27,"parentId":19,"tags":{"page":"/api/auth/v3"},"startTime":1778907573031,"traceId":"7a8110d06d353707"},{"name":"is-page-static","duration":563952,"timestamp":99600792619,"id":71,"parentId":33,"tags":{},"startTime":1778907573039,"traceId":"7a8110d06d353707"},{"name":"check-page","duration":571748,"timestamp":99600784874,"id":33,"parentId":19,"tags":{"page":"/api/hub/inbox"},"startTime":1778907573031,"traceId":"7a8110d06d353707"},{"name":"is-page-static","duration":565577,"timestamp":99600791641,"id":64,"parentId":25,"tags":{},"startTime":1778907573038,"traceId":"7a8110d06d353707"},{"name":"check-page","duration":573216,"timestamp":99600784057,"id":25,"parentId":19,"tags":{"page":"/api/auth/login"},"startTime":1778907573030,"traceId":"7a8110d06d353707"},{"name":"is-page-static","duration":567061,"timestamp":99600792702,"id":72,"parentId":34,"tags":{},"startTime":1778907573039,"traceId":"7a8110d06d353707"},{"name":"check-page","duration":574822,"timestamp":99600784979,"id":34,"parentId":19,"tags":{"page":"/api/hub/license"},"startTime":1778907573031,"traceId":"7a8110d06d353707"},{"name":"is-page-static","duration":568102,"timestamp":99600792732,"id":73,"parentId":35,"tags":{},"startTime":1778907573039,"traceId":"7a8110d06d353707"},{"name":"check-page","duration":575781,"timestamp":99600785094,"id":35,"parentId":19,"tags":{"page":"/api/hub/messages"},"startTime":1778907573031,"traceId":"7a8110d06d353707"},{"name":"is-page-static","duration":570154,"timestamp":99600792843,"id":74,"parentId":36,"tags":{},"startTime":1778907573039,"traceId":"7a8110d06d353707"},{"name":"check-page","duration":577627,"timestamp":99600785450,"id":36,"parentId":19,"tags":{"page":"/api/hub/networks"},"startTime":1778907573032,"traceId":"7a8110d06d353707"},{"name":"is-page-static","duration":572501,"timestamp":99600792908,"id":76,"parentId":38,"tags":{},"startTime":1778907573039,"traceId":"7a8110d06d353707"},{"name":"check-page","duration":579791,"timestamp":99600785657,"id":38,"parentId":19,"tags":{"page":"/api/hub/register"},"startTime":1778907573032,"traceId":"7a8110d06d353707"},{"name":"is-page-static","duration":576980,"timestamp":99600792934,"id":78,"parentId":40,"tags":{},"startTime":1778907573039,"traceId":"7a8110d06d353707"},{"name":"check-page","duration":584175,"timestamp":99600785781,"id":40,"parentId":19,"tags":{"page":"/api/hub/server-logs"},"startTime":1778907573032,"traceId":"7a8110d06d353707"},{"name":"is-page-static","duration":581558,"timestamp":99600792894,"id":75,"parentId":37,"tags":{},"startTime":1778907573039,"traceId":"7a8110d06d353707"},{"name":"check-page","duration":588923,"timestamp":99600785571,"id":37,"parentId":19,"tags":{"page":"/api/hub/nodes"},"startTime":1778907573032,"traceId":"7a8110d06d353707"},{"name":"is-page-static","duration":582758,"timestamp":99600792946,"id":79,"parentId":41,"tags":{},"startTime":1778907573039,"traceId":"7a8110d06d353707"},{"name":"check-page","duration":589910,"timestamp":99600785838,"id":41,"parentId":19,"tags":{"page":"/api/hub/servers"},"startTime":1778907573032,"traceId":"7a8110d06d353707"},{"name":"is-page-static","duration":586129,"timestamp":99600791257,"id":62,"parentId":21,"tags":{},"startTime":1778907573038,"traceId":"7a8110d06d353707"},{"name":"check-page","duration":596779,"timestamp":99600780652,"id":21,"parentId":19,"tags":{"page":"/_not-found"},"startTime":1778907573027,"traceId":"7a8110d06d353707"},{"name":"is-page-static","duration":586876,"timestamp":99600792966,"id":81,"parentId":43,"tags":{},"startTime":1778907573039,"traceId":"7a8110d06d353707"},{"name":"check-page","duration":593910,"timestamp":99600785986,"id":43,"parentId":19,"tags":{"page":"/api/hub/stats"},"startTime":1778907573032,"traceId":"7a8110d06d353707"},{"name":"is-page-static","duration":589216,"timestamp":99600792954,"id":80,"parentId":42,"tags":{},"startTime":1778907573039,"traceId":"7a8110d06d353707"},{"name":"check-page","duration":596288,"timestamp":99600785921,"id":42,"parentId":19,"tags":{"page":"/api/hub/session"},"startTime":1778907573032,"traceId":"7a8110d06d353707"},{"name":"is-page-static","duration":594200,"timestamp":99600792987,"id":83,"parentId":45,"tags":{},"startTime":1778907573039,"traceId":"7a8110d06d353707"},{"name":"check-page","duration":601071,"timestamp":99600786170,"id":45,"parentId":19,"tags":{"page":"/api/hub/task-events"},"startTime":1778907573032,"traceId":"7a8110d06d353707"},{"name":"is-page-static","duration":594484,"timestamp":99600792921,"id":77,"parentId":39,"tags":{},"startTime":1778907573039,"traceId":"7a8110d06d353707"},{"name":"check-page","duration":601719,"timestamp":99600785719,"id":39,"parentId":19,"tags":{"page":"/api/hub/send"},"startTime":1778907573032,"traceId":"7a8110d06d353707"},{"name":"is-page-static","duration":597736,"timestamp":99600791720,"id":65,"parentId":26,"tags":{},"startTime":1778907573038,"traceId":"7a8110d06d353707"},{"name":"check-page","duration":605309,"timestamp":99600784188,"id":26,"parentId":19,"tags":{"page":"/api/auth/logout"},"startTime":1778907573030,"traceId":"7a8110d06d353707"},{"name":"is-page-static","duration":597194,"timestamp":99600793027,"id":85,"parentId":47,"tags":{},"startTime":1778907573039,"traceId":"7a8110d06d353707"},{"name":"check-page","duration":603935,"timestamp":99600786323,"id":47,"parentId":19,"tags":{"page":"/api/hub/tmux"},"startTime":1778907573033,"traceId":"7a8110d06d353707"},{"name":"is-page-static","duration":598443,"timestamp":99600792248,"id":68,"parentId":29,"tags":{},"startTime":1778907573039,"traceId":"7a8110d06d353707"},{"name":"check-page","duration":606300,"timestamp":99600784430,"id":29,"parentId":19,"tags":{"page":"/api/hub/auth"},"startTime":1778907573031,"traceId":"7a8110d06d353707"},{"name":"is-page-static","duration":600865,"timestamp":99600793048,"id":87,"parentId":49,"tags":{},"startTime":1778907573039,"traceId":"7a8110d06d353707"},{"name":"check-page","duration":607502,"timestamp":99600786453,"id":49,"parentId":19,"tags":{"page":"/favicon.ico"},"startTime":1778907573033,"traceId":"7a8110d06d353707"},{"name":"is-page-static","duration":598941,"timestamp":99600796847,"id":88,"parentId":24,"tags":{},"startTime":1778907573043,"traceId":"7a8110d06d353707"},{"name":"check-page","duration":613654,"timestamp":99600782177,"id":24,"parentId":19,"tags":{"page":"/api/anet/config"},"startTime":1778907573028,"traceId":"7a8110d06d353707"},{"name":"is-page-static","duration":597794,"timestamp":99600798278,"id":89,"parentId":31,"tags":{},"startTime":1778907573045,"traceId":"7a8110d06d353707"},{"name":"check-page","duration":611508,"timestamp":99600784600,"id":31,"parentId":19,"tags":{"page":"/api/hub/events"},"startTime":1778907573031,"traceId":"7a8110d06d353707"},{"name":"is-page-static","duration":604853,"timestamp":99600792999,"id":84,"parentId":46,"tags":{},"startTime":1778907573039,"traceId":"7a8110d06d353707"},{"name":"check-page","duration":611668,"timestamp":99600786238,"id":46,"parentId":19,"tags":{"page":"/api/hub/tasks"},"startTime":1778907573033,"traceId":"7a8110d06d353707"},{"name":"is-page-static","duration":610137,"timestamp":99600793039,"id":86,"parentId":48,"tags":{},"startTime":1778907573039,"traceId":"7a8110d06d353707"},{"name":"check-page","duration":616829,"timestamp":99600786388,"id":48,"parentId":19,"tags":{"page":"/api/hub/tokens"},"startTime":1778907573033,"traceId":"7a8110d06d353707"},{"name":"is-page-static","duration":618391,"timestamp":99600792096,"id":67,"parentId":28,"tags":{},"startTime":1778907573038,"traceId":"7a8110d06d353707"},{"name":"check-page","duration":626170,"timestamp":99600784361,"id":28,"parentId":19,"tags":{"page":"/api/hub/audit-log"},"startTime":1778907573031,"traceId":"7a8110d06d353707"},{"name":"is-page-static","duration":668269,"timestamp":99600800628,"id":91,"parentId":50,"tags":{},"startTime":1778907573047,"traceId":"7a8110d06d353707"},{"name":"check-page","duration":682313,"timestamp":99600786825,"id":50,"parentId":19,"tags":{"page":"/login"},"startTime":1778907573033,"traceId":"7a8110d06d353707"},{"name":"is-page-static","duration":672653,"timestamp":99600800666,"id":94,"parentId":53,"tags":{},"startTime":1778907573047,"traceId":"7a8110d06d353707"},{"name":"check-page","duration":686064,"timestamp":99600787329,"id":53,"parentId":19,"tags":{"page":"/node"},"startTime":1778907573034,"traceId":"7a8110d06d353707"},{"name":"is-page-static","duration":676518,"timestamp":99600800688,"id":96,"parentId":56,"tags":{},"startTime":1778907573047,"traceId":"7a8110d06d353707"},{"name":"check-page","duration":689110,"timestamp":99600788150,"id":56,"parentId":19,"tags":{"page":"/server-logs"},"startTime":1778907573034,"traceId":"7a8110d06d353707"},{"name":"is-page-static","duration":677285,"timestamp":99600800653,"id":93,"parentId":52,"tags":{},"startTime":1778907573047,"traceId":"7a8110d06d353707"},{"name":"check-page","duration":690839,"timestamp":99600787147,"id":52,"parentId":19,"tags":{"page":"/messages"},"startTime":1778907573033,"traceId":"7a8110d06d353707"},{"name":"is-page-static","duration":680922,"timestamp":99600800701,"id":97,"parentId":57,"tags":{},"startTime":1778907573047,"traceId":"7a8110d06d353707"},{"name":"check-page","duration":693326,"timestamp":99600788347,"id":57,"parentId":19,"tags":{"page":"/settings/networks"},"startTime":1778907573035,"traceId":"7a8110d06d353707"},{"name":"is-page-static","duration":685525,"timestamp":99600800598,"id":90,"parentId":23,"tags":{},"startTime":1778907573047,"traceId":"7a8110d06d353707"},{"name":"check-page","duration":704233,"timestamp":99600781963,"id":23,"parentId":19,"tags":{"page":"/admin"},"startTime":1778907573028,"traceId":"7a8110d06d353707"},{"name":"is-page-static","duration":688872,"timestamp":99600800744,"id":100,"parentId":61,"tags":{},"startTime":1778907573047,"traceId":"7a8110d06d353707"},{"name":"check-page","duration":700598,"timestamp":99600789062,"id":61,"parentId":19,"tags":{"page":"/tasks"},"startTime":1778907573035,"traceId":"7a8110d06d353707"},{"name":"is-page-static","duration":689698,"timestamp":99600800714,"id":98,"parentId":59,"tags":{},"startTime":1778907573047,"traceId":"7a8110d06d353707"},{"name":"check-page","duration":701646,"timestamp":99600788808,"id":59,"parentId":19,"tags":{"page":"/settings/tokens"},"startTime":1778907573035,"traceId":"7a8110d06d353707"},{"name":"is-page-static","duration":687222,"timestamp":99600806290,"id":101,"parentId":58,"tags":{},"startTime":1778907573053,"traceId":"7a8110d06d353707"},{"name":"check-page","duration":705051,"timestamp":99600788504,"id":58,"parentId":19,"tags":{"page":"/settings"},"startTime":1778907573035,"traceId":"7a8110d06d353707"},{"name":"is-page-static","duration":694254,"timestamp":99600800726,"id":99,"parentId":60,"tags":{},"startTime":1778907573047,"traceId":"7a8110d06d353707"},{"name":"check-page","duration":706117,"timestamp":99600788929,"id":60,"parentId":19,"tags":{"page":"/tasks/[id]"},"startTime":1778907573035,"traceId":"7a8110d06d353707"},{"name":"is-page-static","duration":682084,"timestamp":99600815267,"id":102,"parentId":55,"tags":{},"startTime":1778907573062,"traceId":"7a8110d06d353707"},{"name":"check-page","duration":709685,"timestamp":99600787704,"id":55,"parentId":19,"tags":{"page":"/"},"startTime":1778907573034,"traceId":"7a8110d06d353707"},{"name":"is-page-static","duration":708198,"timestamp":99600792979,"id":82,"parentId":44,"tags":{},"startTime":1778907573039,"traceId":"7a8110d06d353707"},{"name":"check-page","duration":715141,"timestamp":99600786075,"id":44,"parentId":19,"tags":{"page":"/api/hub/status"},"startTime":1778907573032,"traceId":"7a8110d06d353707"},{"name":"is-page-static","duration":702129,"timestamp":99600800639,"id":92,"parentId":51,"tags":{},"startTime":1778907573047,"traceId":"7a8110d06d353707"},{"name":"check-page","duration":715828,"timestamp":99600786979,"id":51,"parentId":19,"tags":{"page":"/logs"},"startTime":1778907573033,"traceId":"7a8110d06d353707"},{"name":"is-page-static","duration":715713,"timestamp":99600800679,"id":95,"parentId":54,"tags":{},"startTime":1778907573047,"traceId":"7a8110d06d353707"},{"name":"check-page","duration":728936,"timestamp":99600787505,"id":54,"parentId":19,"tags":{"page":"/nodes"},"startTime":1778907573034,"traceId":"7a8110d06d353707"},{"name":"static-check","duration":737740,"timestamp":99600778736,"id":19,"parentId":1,"tags":{},"startTime":1778907573025,"traceId":"7a8110d06d353707"},{"name":"write-routes-manifest","duration":545,"timestamp":99601529788,"id":104,"parentId":1,"tags":{},"startTime":1778907573776,"traceId":"7a8110d06d353707"},{"name":"load-dotenv","duration":49,"timestamp":99601554474,"id":107,"parentId":106,"tags":{},"startTime":1778907573801,"traceId":"7a8110d06d353707"},{"name":"run-export-path-map","duration":804,"timestamp":99601557623,"id":108,"parentId":106,"tags":{},"startTime":1778907573804,"traceId":"7a8110d06d353707"},{"name":"next-export","duration":621648,"timestamp":99601553065,"id":106,"parentId":1,"tags":{},"startTime":1778907573799,"traceId":"7a8110d06d353707"}]
|
|
2
|
+
[{"name":"move-exported-app-not-found-","duration":2767,"timestamp":99602180589,"id":109,"parentId":105,"tags":{},"startTime":1778907574427,"traceId":"7a8110d06d353707"},{"name":"move-exported-app-global-error-","duration":892,"timestamp":99602183497,"id":110,"parentId":105,"tags":{},"startTime":1778907574430,"traceId":"7a8110d06d353707"},{"name":"static-generation","duration":650329,"timestamp":99601536738,"id":105,"parentId":1,"tags":{},"startTime":1778907573783,"traceId":"7a8110d06d353707"},{"name":"write-routes-manifest","duration":433,"timestamp":99602187241,"id":111,"parentId":1,"tags":{},"startTime":1778907574434,"traceId":"7a8110d06d353707"},{"name":"print-tree-view","duration":5077,"timestamp":99602201375,"id":112,"parentId":1,"tags":{},"startTime":1778907574448,"traceId":"7a8110d06d353707"},{"name":"write-route-bundle-stats","duration":19102,"timestamp":99602206490,"id":113,"parentId":1,"tags":{},"startTime":1778907574453,"traceId":"7a8110d06d353707"},{"name":"telemetry-flush","duration":18399,"timestamp":99602225637,"id":114,"parentId":1,"tags":{},"startTime":1778907574472,"traceId":"7a8110d06d353707"},{"name":"next-build","duration":16948272,"timestamp":99585295795,"id":1,"tags":{"buildMode":"default","version":"16.2.3","bundler":"turbopack","has-custom-webpack-config":"false","use-build-worker":"true"},"startTime":1778907557542,"traceId":"7a8110d06d353707"}]
|
package/.next/trace-build
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
[{"name":"run-turbopack","duration":
|
|
1
|
+
[{"name":"run-turbopack","duration":5773485,"timestamp":99585525275,"id":14,"parentId":1,"tags":{},"startTime":1778907557772,"traceId":"7a8110d06d353707"},{"name":"turbopack-build-events","duration":99,"timestamp":99585814315,"id":15,"parentId":1,"tags":{},"startTime":1778907558061,"traceId":"7a8110d06d353707"},{"name":"run-typescript","duration":9277517,"timestamp":99591308726,"id":16,"parentId":1,"tags":{},"startTime":1778907563555,"traceId":"7a8110d06d353707"},{"name":"static-check","duration":737740,"timestamp":99600778736,"id":19,"parentId":1,"tags":{},"startTime":1778907573025,"traceId":"7a8110d06d353707"},{"name":"static-generation","duration":650329,"timestamp":99601536738,"id":105,"parentId":1,"tags":{},"startTime":1778907573783,"traceId":"7a8110d06d353707"},{"name":"telemetry-flush","duration":18399,"timestamp":99602225637,"id":114,"parentId":1,"tags":{},"startTime":1778907574472,"traceId":"7a8110d06d353707"},{"name":"next-build","duration":16948272,"timestamp":99585295795,"id":1,"tags":{"buildMode":"default","version":"16.2.3","bundler":"turbopack","has-custom-webpack-config":"false","use-build-worker":"true"},"startTime":1778907557542,"traceId":"7a8110d06d353707"}]
|
|
@@ -2506,7 +2506,27 @@ export function TopoGraph({ sessions, sseSessions, renameSignal }: TopoGraphProp
|
|
|
2506
2506
|
transition: 'background-color 200ms ease-out, border-color 200ms ease-out, box-shadow 200ms ease-out',
|
|
2507
2507
|
}}
|
|
2508
2508
|
>
|
|
2509
|
-
|
|
2509
|
+
{/* Round 265 / Loop: top-rail (1px-tall colored line at the top
|
|
2510
|
+
of the canvas wrapper) picks up theme-toggle transition.
|
|
2511
|
+
Pre-R265 the className `bg-gradient-to-r ${pal.topRail
|
|
2512
|
+
Gradient}` was theme-conditional — cyber `via-cyan-400/70`
|
|
2513
|
+
↔ light `via-emerald-500/40` — but no inline transition,
|
|
2514
|
+
so the rail SNAPPED on theme flip while the wrapper bg
|
|
2515
|
+
(R254) + border (R254) + shadow (R263) all eased. The top-
|
|
2516
|
+
rail is the THIN BRIGHT LINE that visually anchors the
|
|
2517
|
+
canvas top edge — its hard color flip was a small but real
|
|
2518
|
+
theme-snap that broke the otherwise-eased canvas envelope.
|
|
2519
|
+
transition: background-image catches the className-driven
|
|
2520
|
+
gradient swap; Chrome ≥ 89 / Safari ≥ 14.1 / FF ≥ 96
|
|
2521
|
+
interpolate linear-gradients with matching stop structures
|
|
2522
|
+
(both gradients are `from-transparent via-X to-transparent`
|
|
2523
|
+
→ same 3-stop layout). data-topo-top-rail makes the probe
|
|
2524
|
+
deterministic. */}
|
|
2525
|
+
<div
|
|
2526
|
+
className={`absolute inset-x-0 top-0 h-px bg-gradient-to-r ${pal.topRailGradient}`}
|
|
2527
|
+
data-topo-top-rail
|
|
2528
|
+
style={{ transition: 'background-image 200ms ease-out' }}
|
|
2529
|
+
/>
|
|
2510
2530
|
|
|
2511
2531
|
{/* Round 158 / Loop: give the canvas SVG itself an accessible
|
|
2512
2532
|
name + role description. R151-R157 added a11y to every
|
|
@@ -5436,7 +5456,16 @@ export function TopoGraph({ sessions, sseSessions, renameSignal }: TopoGraphProp
|
|
|
5436
5456
|
}}
|
|
5437
5457
|
data-topo-panel-elevation="recent"
|
|
5438
5458
|
/>
|
|
5439
|
-
|
|
5459
|
+
{/* Round 266 / Loop: panel title fill picks up theme-toggle
|
|
5460
|
+
transition. Pre-R266 the title "recent signal" had
|
|
5461
|
+
fill={pal.legendHeadline} (cyber #e5e7eb ↔ light
|
|
5462
|
+
#0f172a) without any inline transition — so the BIGGEST
|
|
5463
|
+
text in the recent-signal panel (fontSize 12 fontWeight
|
|
5464
|
+
700) hard-flipped color on theme toggle while the panel
|
|
5465
|
+
rect (R247) and every row inside (various) eased.
|
|
5466
|
+
Sibling treatment to the legend panel title at line
|
|
5467
|
+
~6195 — the panel-pair's titles now ease together. */}
|
|
5468
|
+
<text x="13" y="21" fill={pal.legendHeadline} fontSize="12" fontFamily="monospace" fontWeight="700" style={{ transition: 'fill 200ms ease-out' }} data-recent-panel-title>recent signal</text>
|
|
5440
5469
|
{/* R96: header count now matches what the rows show. Pre-R96
|
|
5441
5470
|
this read "X msgs" off the raw messages array, but the
|
|
5442
5471
|
rows below render DEDUPED flowLinks — so a fleet with 10
|
|
@@ -6172,7 +6201,12 @@ export function TopoGraph({ sessions, sseSessions, renameSignal }: TopoGraphProp
|
|
|
6172
6201
|
font + position vocabulary so the two side panels feel
|
|
6173
6202
|
paired. Title text at x=13 y=21; total fleet count
|
|
6174
6203
|
right-aligned at x=215 y=21 in the accent colour. */}
|
|
6175
|
-
|
|
6204
|
+
{/* Round 266 / Loop: legend panel title fill picks up theme-
|
|
6205
|
+
toggle transition — sibling treatment to the recent-
|
|
6206
|
+
signal panel title at line ~5459. Pre-R266 both panel
|
|
6207
|
+
titles hard-flipped color on theme toggle while their
|
|
6208
|
+
surrounding chrome eased; R266 closes both at once. */}
|
|
6209
|
+
<text x="13" y="21" fill={pal.legendHeadline} fontSize="12" fontFamily="monospace" fontWeight="700" style={{ transition: 'fill 200ms ease-out' }} data-legend-panel-title>legend</text>
|
|
6176
6210
|
{/* Round 257 / Loop: legend panel header count picks up the
|
|
6177
6211
|
symmetric 13L/13R inner-padding pattern from the recent-
|
|
6178
6212
|
signal panel. Pre-R257 the legend header was 13px from
|
|
@@ -6189,7 +6223,12 @@ export function TopoGraph({ sessions, sseSessions, renameSignal }: TopoGraphProp
|
|
|
6189
6223
|
('M140,80 Q164,56 196,80') and would visibly tighten
|
|
6190
6224
|
against the arrow tip if moved further left. Header
|
|
6191
6225
|
count has no such pairing; it stands alone. */}
|
|
6192
|
-
|
|
6226
|
+
{/* Round 266 / Loop: legend count fill (pal.legendAccent
|
|
6227
|
+
— cyber #67e8f9 cyan ↔ light #10b981 emerald) picks up
|
|
6228
|
+
theme-toggle transition. Pre-R266 the count snapped
|
|
6229
|
+
color on theme flip; R266 eases it alongside the panel
|
|
6230
|
+
title (sibling text in the same header band). */}
|
|
6231
|
+
<text x="211" y="21" textAnchor="end" fill={pal.legendAccent} fontSize="10" fontFamily="monospace" data-legend-panel-count style={{ transition: 'fill 200ms ease-out' }}>{sessions.length} node{sessions.length === 1 ? '' : 's'}</text>
|
|
6193
6232
|
{(() => {
|
|
6194
6233
|
const idleCount = onlineNodes.length - workingCount;
|
|
6195
6234
|
// R106: rows shift +8 px (was y0=24, 48, 72 → 32, 56, 80)
|
package/package.json
CHANGED
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
/* Round 266 verification: corner panel titles + legend count text
|
|
2
|
+
* pick up theme-toggle fill transitions.
|
|
3
|
+
*
|
|
4
|
+
* Pre-R266 three texts in the corner panel headers snapped fill on
|
|
5
|
+
* theme toggle:
|
|
6
|
+
* "recent signal" fill=pal.legendHeadline (cyber #e5e7eb ↔ light #0f172a)
|
|
7
|
+
* "legend" fill=pal.legendHeadline (same)
|
|
8
|
+
* "{N} nodes" fill=pal.legendAccent (cyber #67e8f9 ↔ light #10b981)
|
|
9
|
+
*
|
|
10
|
+
* The panel rect chrome eased (R247), the rows eased (various), but
|
|
11
|
+
* the BIGGEST text in each panel header hard-flipped color on theme
|
|
12
|
+
* toggle. R266 adds `transition: fill 200ms ease-out` to all three.
|
|
13
|
+
*
|
|
14
|
+
* Test scope:
|
|
15
|
+
* 1. Recent-signal title element present at [data-recent-panel-title].
|
|
16
|
+
* 2. Legend title element present at [data-legend-panel-title].
|
|
17
|
+
* 3. Legend count element present at [data-legend-panel-count].
|
|
18
|
+
* 4. Each inline transition contains `fill 200ms` (or 0.2s).
|
|
19
|
+
* 5. R265 top-rail still has its background-image transition (regression).
|
|
20
|
+
*/
|
|
21
|
+
import { chromium } from 'playwright';
|
|
22
|
+
import { readFileSync } from 'node:fs';
|
|
23
|
+
|
|
24
|
+
const TOKEN = JSON.parse(readFileSync('/home/vansin/.anet/config.json', 'utf8')).token;
|
|
25
|
+
const browser = await chromium.launch({ headless: true });
|
|
26
|
+
const ctx = await browser.newContext({ viewport: { width: 1500, height: 1500 } });
|
|
27
|
+
await ctx.addCookies([{ name: 'anet_dashboard_session', value: `v3:${TOKEN}`, domain: '127.0.0.1', path: '/' }]);
|
|
28
|
+
await ctx.addInitScript(() => {
|
|
29
|
+
try { localStorage.setItem('anet-theme', 'cyber'); sessionStorage.setItem('anet_v3_auth', '1'); } catch {}
|
|
30
|
+
});
|
|
31
|
+
const fresh = new Date(Date.now() - 60 * 1000).toISOString();
|
|
32
|
+
await ctx.route('**/api/hub/status*', async (route) => {
|
|
33
|
+
const r = await route.fetch();
|
|
34
|
+
const b = await r.json();
|
|
35
|
+
const nid = (b.sessions || [])[0]?.network_id || 'default';
|
|
36
|
+
const mk = (alias) => ({
|
|
37
|
+
alias, status: 'working', model: 'claude-opus-4', runtime: 'claude-code-cli',
|
|
38
|
+
network_id: nid, project_dir: null,
|
|
39
|
+
created_at: fresh, updated_at: fresh, last_seen_at: fresh,
|
|
40
|
+
});
|
|
41
|
+
await route.fulfill({ response: r, json: { ...b, sessions: [
|
|
42
|
+
mk('alpha'), mk('beta'), mk('gamma'), mk('delta'),
|
|
43
|
+
] } });
|
|
44
|
+
});
|
|
45
|
+
await ctx.route('**/api/hub/messages*', (r) => r.fulfill({ json: { messages: [] } }));
|
|
46
|
+
await ctx.route('**/api/hub/tasks*', (r) => r.fulfill({ json: { tasks: [] } }));
|
|
47
|
+
|
|
48
|
+
const page = await ctx.newPage();
|
|
49
|
+
await page.goto('http://127.0.0.1:3000/', { waitUntil: 'domcontentloaded' });
|
|
50
|
+
await page.waitForFunction(() => document.querySelectorAll('g[data-node]').length === 4, { timeout: 30000 });
|
|
51
|
+
await page.waitForSelector('[data-recent-panel-title]', { timeout: 10000 });
|
|
52
|
+
await page.waitForSelector('[data-legend-panel-title]', { timeout: 10000 });
|
|
53
|
+
await page.waitForSelector('[data-legend-panel-count]', { timeout: 10000 });
|
|
54
|
+
await page.waitForSelector('[data-topo-top-rail]', { timeout: 10000 });
|
|
55
|
+
await page.waitForTimeout(300);
|
|
56
|
+
|
|
57
|
+
const probe = await page.evaluate(() => {
|
|
58
|
+
const recentTitle = document.querySelector('[data-recent-panel-title]');
|
|
59
|
+
const legendTitle = document.querySelector('[data-legend-panel-title]');
|
|
60
|
+
const legendCount = document.querySelector('[data-legend-panel-count]');
|
|
61
|
+
const topRail = document.querySelector('[data-topo-top-rail]');
|
|
62
|
+
return {
|
|
63
|
+
recentTitleTransition: recentTitle ? recentTitle.style.transition : null,
|
|
64
|
+
legendTitleTransition: legendTitle ? legendTitle.style.transition : null,
|
|
65
|
+
legendCountTransition: legendCount ? legendCount.style.transition : null,
|
|
66
|
+
topRailTransition: topRail ? topRail.style.transition : null,
|
|
67
|
+
};
|
|
68
|
+
});
|
|
69
|
+
await browser.close();
|
|
70
|
+
|
|
71
|
+
const has = (s, prop) => new RegExp(`${prop}\\s+(?:200ms|0\\.2s)`).test(s || '');
|
|
72
|
+
|
|
73
|
+
const results = {
|
|
74
|
+
recent_title_present: probe.recentTitleTransition !== null,
|
|
75
|
+
recent_title_has_fill_200: has(probe.recentTitleTransition, 'fill'),
|
|
76
|
+
|
|
77
|
+
legend_title_present: probe.legendTitleTransition !== null,
|
|
78
|
+
legend_title_has_fill_200: has(probe.legendTitleTransition, 'fill'),
|
|
79
|
+
|
|
80
|
+
legend_count_present: probe.legendCountTransition !== null,
|
|
81
|
+
legend_count_has_fill_200: has(probe.legendCountTransition, 'fill'),
|
|
82
|
+
|
|
83
|
+
r265_top_rail_bg_image_200: has(probe.topRailTransition, 'background-image'),
|
|
84
|
+
};
|
|
85
|
+
const ok = Object.values(results).every(Boolean);
|
|
86
|
+
console.log(`${ok ? '✅' : '❌'} panel title fill ease:`, JSON.stringify(results),
|
|
87
|
+
'\n recent title:', probe.recentTitleTransition,
|
|
88
|
+
'\n legend title:', probe.legendTitleTransition,
|
|
89
|
+
'\n legend count:', probe.legendCountTransition,
|
|
90
|
+
'\n top rail: ', probe.topRailTransition);
|
|
91
|
+
process.exit(ok ? 0 : 1);
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
/* Round 265 verification: canvas top-rail gradient gains theme-toggle
|
|
2
|
+
* transition — closes the last canvas-envelope theme-snap.
|
|
3
|
+
*
|
|
4
|
+
* Pre-R265 the top-rail was:
|
|
5
|
+
* <div className={`absolute inset-x-0 top-0 h-px bg-gradient-to-r ${pal.topRailGradient}`} />
|
|
6
|
+
*
|
|
7
|
+
* pal.topRailGradient is theme-conditional:
|
|
8
|
+
* cyber: 'from-transparent via-cyan-400/70 to-transparent'
|
|
9
|
+
* light: 'from-transparent via-emerald-500/40 to-transparent'
|
|
10
|
+
*
|
|
11
|
+
* On theme toggle the className swap changes the gradient color but no
|
|
12
|
+
* inline transition existed — so the 1px-tall bright line at the
|
|
13
|
+
* canvas top edge SNAPPED while the wrapper bg (R254), border (R254),
|
|
14
|
+
* and shadow (R263) all eased. Small visible holdover.
|
|
15
|
+
*
|
|
16
|
+
* R265 adds `transition: background-image 200ms ease-out`. CSS
|
|
17
|
+
* gradient interpolation works on browsers ≥ Chrome 89 / Safari 14.1 /
|
|
18
|
+
* FF 96 when both gradients share matching stop structure — both
|
|
19
|
+
* gradients here are `from-transparent via-X to-transparent`
|
|
20
|
+
* (identical 3-stop layout).
|
|
21
|
+
*
|
|
22
|
+
* Test scope:
|
|
23
|
+
* 1. Top-rail element present at `[data-topo-top-rail]`.
|
|
24
|
+
* 2. Inline transition contains `background-image` at 200ms (or 0.2s).
|
|
25
|
+
* 3. Computed backgroundImage is a non-empty linear-gradient (not
|
|
26
|
+
* 'none' / empty — confirms the className gradient applied).
|
|
27
|
+
* 4. R263 wrapper box-shadow transition still in place (regression).
|
|
28
|
+
*/
|
|
29
|
+
import { chromium } from 'playwright';
|
|
30
|
+
import { readFileSync } from 'node:fs';
|
|
31
|
+
|
|
32
|
+
const TOKEN = JSON.parse(readFileSync('/home/vansin/.anet/config.json', 'utf8')).token;
|
|
33
|
+
const browser = await chromium.launch({ headless: true });
|
|
34
|
+
const ctx = await browser.newContext({ viewport: { width: 1500, height: 1500 } });
|
|
35
|
+
await ctx.addCookies([{ name: 'anet_dashboard_session', value: `v3:${TOKEN}`, domain: '127.0.0.1', path: '/' }]);
|
|
36
|
+
await ctx.addInitScript(() => {
|
|
37
|
+
try { localStorage.setItem('anet-theme', 'cyber'); sessionStorage.setItem('anet_v3_auth', '1'); } catch {}
|
|
38
|
+
});
|
|
39
|
+
const fresh = new Date(Date.now() - 60 * 1000).toISOString();
|
|
40
|
+
await ctx.route('**/api/hub/status*', async (route) => {
|
|
41
|
+
const r = await route.fetch();
|
|
42
|
+
const b = await r.json();
|
|
43
|
+
const nid = (b.sessions || [])[0]?.network_id || 'default';
|
|
44
|
+
const mk = (alias) => ({
|
|
45
|
+
alias, status: 'working', model: 'claude-opus-4', runtime: 'claude-code-cli',
|
|
46
|
+
network_id: nid, project_dir: null,
|
|
47
|
+
created_at: fresh, updated_at: fresh, last_seen_at: fresh,
|
|
48
|
+
});
|
|
49
|
+
await route.fulfill({ response: r, json: { ...b, sessions: [
|
|
50
|
+
mk('alpha'), mk('beta'), mk('gamma'), mk('delta'),
|
|
51
|
+
] } });
|
|
52
|
+
});
|
|
53
|
+
await ctx.route('**/api/hub/messages*', (r) => r.fulfill({ json: { messages: [] } }));
|
|
54
|
+
await ctx.route('**/api/hub/tasks*', (r) => r.fulfill({ json: { tasks: [] } }));
|
|
55
|
+
|
|
56
|
+
const page = await ctx.newPage();
|
|
57
|
+
await page.goto('http://127.0.0.1:3000/', { waitUntil: 'domcontentloaded' });
|
|
58
|
+
await page.waitForFunction(() => document.querySelectorAll('g[data-node]').length === 4, { timeout: 30000 });
|
|
59
|
+
await page.waitForSelector('[data-topo-top-rail]', { timeout: 10000 });
|
|
60
|
+
await page.waitForSelector('[data-topo-wrapper]', { timeout: 10000 });
|
|
61
|
+
await page.waitForTimeout(300);
|
|
62
|
+
|
|
63
|
+
const probe = await page.evaluate(() => {
|
|
64
|
+
const rail = document.querySelector('[data-topo-top-rail]');
|
|
65
|
+
const wrapper = document.querySelector('[data-topo-wrapper]');
|
|
66
|
+
return {
|
|
67
|
+
railTransition: rail ? rail.style.transition : null,
|
|
68
|
+
railBackgroundImage: rail ? window.getComputedStyle(rail).backgroundImage : null,
|
|
69
|
+
wrapperTransition: wrapper ? wrapper.style.transition : null,
|
|
70
|
+
};
|
|
71
|
+
});
|
|
72
|
+
await browser.close();
|
|
73
|
+
|
|
74
|
+
const has = (s, prop) => new RegExp(`${prop}\\s+(?:200ms|0\\.2s)`).test(s || '');
|
|
75
|
+
|
|
76
|
+
const results = {
|
|
77
|
+
rail_present: probe.railTransition !== null,
|
|
78
|
+
rail_transition_has_bg_image_200: has(probe.railTransition, 'background-image'),
|
|
79
|
+
rail_has_non_empty_gradient: probe.railBackgroundImage != null
|
|
80
|
+
&& probe.railBackgroundImage !== 'none'
|
|
81
|
+
&& probe.railBackgroundImage.includes('linear-gradient'),
|
|
82
|
+
r263_wrapper_has_box_shadow_200: has(probe.wrapperTransition, 'box-shadow'),
|
|
83
|
+
};
|
|
84
|
+
const ok = Object.values(results).every(Boolean);
|
|
85
|
+
console.log(`${ok ? '✅' : '❌'} top-rail theme ease:`, JSON.stringify(results),
|
|
86
|
+
'\n rail transition: ', probe.railTransition,
|
|
87
|
+
'\n rail backgroundImage: ', probe.railBackgroundImage,
|
|
88
|
+
'\n wrapper transition: ', probe.wrapperTransition);
|
|
89
|
+
process.exit(ok ? 0 : 1);
|
|
File without changes
|
/package/.next/static/{1RSKMzmY8kvB-f37IJbmE → ysCYES1Ed8ugot_cvPNIw}/_clientMiddlewareManifest.js
RENAMED
|
File without changes
|
|
File without changes
|