@sleep2agi/agent-network-dashboard 0.4.6-preview.283 → 0.4.6-preview.285
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 +1 -1
- package/.next/server/chunks/ssr/agent-network-dashboard_09kk21a._.js.map +1 -1
- package/.next/server/chunks/ssr/agent-network-dashboard_app_01jhlxz._.js +1 -1
- package/.next/server/chunks/ssr/agent-network-dashboard_app_01jhlxz._.js.map +1 -1
- package/.next/server/chunks/ssr/agent-network-dashboard_app_09d29my._.js +1 -1
- package/.next/server/chunks/ssr/agent-network-dashboard_app_09d29my._.js.map +1 -1
- package/.next/server/middleware-build-manifest.js +3 -3
- package/.next/server/pages/404.html +1 -1
- package/.next/server/pages/500.html +1 -1
- package/.next/static/chunks/{0770ctmo-jd~3.js → 00-nc7g-hqsat.js} +3 -3
- package/.next/static/chunks/{13ku0uxsx2o6i.js → 06bp-k~o~6spf.js} +1 -1
- package/.next/static/chunks/{12ih-cxmgr09g.js → 07z52_2x.wi84.js} +1 -1
- package/.next/trace +2 -2
- package/.next/trace-build +1 -1
- package/app/components/TopoGraph.tsx +65 -17
- package/package.json +1 -1
- package/scripts/topo-legend-compress-test.mjs +107 -0
- package/scripts/topo-working-halo-breath-retired-test.mjs +99 -0
- package/scripts/topo-halo-breath-ease-test.mjs +0 -92
- package/scripts/topo-halo-breath-stagger-test.mjs +0 -89
- package/scripts/topo-working-halo-breath-test.mjs +0 -86
- /package/.next/static/{gPw1YGsDb6psvirUWKGfQ → u9Cwn8Wi8dRb7UmkteBWa}/_buildManifest.js +0 -0
- /package/.next/static/{gPw1YGsDb6psvirUWKGfQ → u9Cwn8Wi8dRb7UmkteBWa}/_clientMiddlewareManifest.js +0 -0
- /package/.next/static/{gPw1YGsDb6psvirUWKGfQ → u9Cwn8Wi8dRb7UmkteBWa}/_ssgManifest.js +0 -0
|
@@ -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.285"],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]})]})]})]})}])}]);
|
|
@@ -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.283"],70286)},65610,e=>{"use strict";var s=e.i(22381),a=e.i(23910),t=e.i(56839),r=e.i(59276),n=e.i(70286);e.s(["default",0,function(){let{config:e}=(0,r.useAnetConfig)(),{health:l}=(0,r.useHealth)(),{license:i}=(0,r.useLicense)(),[c,d]=(0,a.useState)(""),[o,x]=(0,a.useState)(""),[m,h]=(0,a.useState)(""),[g,u]=(0,a.useState)(""),[p,N]=(0,a.useState)(""),b="flex flex-col gap-1 sm:flex-row sm:items-start sm:justify-between",j="break-all sm:max-w-[320px] sm:text-right";return(0,s.jsxs)("div",{className:"min-h-screen bg-[#0a0a1a] text-gray-100 p-4 sm:p-6 font-mono",children:[(0,s.jsx)("h1",{className:"text-2xl font-bold text-white mb-3 lg:ml-0 ml-10",children:"Settings"}),(0,s.jsx)("nav",{className:"mb-8 flex flex-wrap gap-1 text-xs",children:[{href:"#connection",label:"Connection"},{href:"#account",label:"Account"},{href:"#resources",label:"Resources"}].map(e=>(0,s.jsx)("a",{href:e.href,className:"rounded-md px-2.5 py-1 text-gray-500 hover:text-cyan-300 hover:bg-cyan-500/10 transition-colors",children:e.label},e.href))}),(0,s.jsxs)("div",{className:"max-w-2xl space-y-10",children:[(0,s.jsxs)("div",{id:"connection",className:"space-y-4 scroll-mt-6",children:[(0,s.jsxs)("div",{className:"flex items-center gap-2 px-1",children:[(0,s.jsx)("div",{className:"text-[11px] uppercase tracking-[0.14em] text-gray-400 font-semibold",children:"Connection"}),(0,s.jsx)("div",{className:"flex-1 h-px bg-[#2a2a4a]"})]}),(0,s.jsxs)("section",{className:"bg-[#111128] border border-[#2a2a4a] rounded-xl p-5",children:[(0,s.jsx)("h2",{className:"text-sm font-semibold text-gray-300 mb-4",children:"CommHub Connection"}),(0,s.jsxs)("div",{className:"space-y-3 text-sm",children:[(0,s.jsxs)("div",{className:b,children:[(0,s.jsx)("span",{className:"text-gray-500 shrink-0",children:"Hub URL"}),(0,s.jsx)("span",{className:`text-cyan-300 ${j}`,children:e?.hub||"not configured"})]}),(0,s.jsxs)("div",{className:b,children:[(0,s.jsx)("span",{className:"text-gray-500",children:"Config Source"}),(0,s.jsx)("span",{className:`text-gray-300 ${j}`,children:e?.source==="file"?"Local file (~/.anet/config.json)":e?.source==="runtime-env"?"Vercel env vars":"Missing"})]}),(0,s.jsxs)("div",{className:b,children:[(0,s.jsx)("span",{className:"text-gray-500",children:"Auth Token"}),(0,s.jsx)("span",{className:`${e?.tokenConfigured?"text-green-400":"text-red-400"} ${j}`,children:e?.tokenConfigured?`Configured (${e.tokenPreview})`:"Not configured"})]}),(0,s.jsxs)("div",{className:b,children:[(0,s.jsx)("span",{className:"text-gray-500",children:"Server Auth"}),(0,s.jsx)("span",{className:`${l?.auth==="enabled"?"text-green-400":"text-yellow-400"} sm:text-right`,children:l?.auth||"--"})]}),e?.error&&(0,s.jsx)("div",{className:"border-t border-[#2a2a4a] pt-3 text-xs text-gray-600",children:e.error})]})]}),(0,s.jsxs)("section",{className:"bg-[#111128] border border-[#2a2a4a] rounded-xl p-5",children:[(0,s.jsx)("h2",{className:"text-sm font-semibold text-gray-300 mb-4",children:"Server Info"}),(0,s.jsxs)("div",{className:"space-y-3 text-sm",children:[(0,s.jsxs)("div",{className:b,children:[(0,s.jsx)("span",{className:"text-gray-500",children:"Version"}),(0,s.jsx)("span",{className:`text-gray-300 ${j}`,children:l?.version||"--"})]}),(0,s.jsxs)("div",{className:b,children:[(0,s.jsx)("span",{className:"text-gray-500",children:"Sessions"}),(0,s.jsx)("span",{className:`text-gray-300 ${j}`,children:l?.sessions??"--"})]}),(0,s.jsxs)("div",{className:b,children:[(0,s.jsxs)("span",{className:"text-gray-500",children:["SSE streams ",(0,s.jsx)("span",{className:"text-gray-600",children:"· server"})]}),(0,s.jsx)("span",{className:`text-gray-300 ${j}`,children:l?.sse_connections??"--"})]}),(0,s.jsxs)("div",{className:b,children:[(0,s.jsx)("span",{className:"text-gray-500",children:"Uptime"}),(0,s.jsx)("span",{className:`text-gray-300 ${j}`,children:l?.uptime?`${Math.floor(l.uptime/3600)}h ${Math.floor(l.uptime%3600/60)}m`:"--"})]})]})]}),(0,s.jsxs)("section",{className:"bg-[#111128] border border-[#2a2a4a] rounded-xl p-5",children:[(0,s.jsx)("h2",{className:"text-sm font-semibold text-gray-300 mb-4",children:"Dashboard"}),(0,s.jsxs)("div",{className:"space-y-3 text-sm",children:[(0,s.jsxs)("div",{className:b,children:[(0,s.jsx)("span",{className:"text-gray-500",children:"Version"}),(0,s.jsx)("span",{className:`text-gray-300 font-mono ${j}`,title:"From package.json @sleep2agi/agent-network-dashboard",children:n.DASHBOARD_VERSION})]}),(0,s.jsxs)("div",{className:b,children:[(0,s.jsx)("span",{className:"text-gray-500",children:"Data Layer"}),(0,s.jsx)("span",{className:`text-gray-300 ${j}`,children:"SWR (5s refresh, 3s dedup)"})]}),(0,s.jsxs)("div",{className:b,children:[(0,s.jsx)("span",{className:"text-gray-500",children:"Pages"}),(0,s.jsx)("span",{className:`text-gray-300 ${j}`,children:"Overview, Tasks, Nodes, Messages, Networks, Audit, Server Logs, Admin, Settings"})]})]})]})]}),(0,s.jsxs)("div",{id:"account",className:"space-y-4 scroll-mt-6",children:[(0,s.jsxs)("div",{className:"flex items-center gap-2 px-1",children:[(0,s.jsx)("div",{className:"text-[11px] uppercase tracking-[0.14em] text-gray-400 font-semibold",children:"Account"}),(0,s.jsx)("div",{className:"flex-1 h-px bg-[#2a2a4a]"})]}),(0,s.jsxs)("section",{className:"bg-[#111128] border border-[#2a2a4a] rounded-xl p-5",children:[(0,s.jsxs)("h2",{className:"text-sm font-semibold text-gray-300 mb-4 flex items-center gap-2",children:["License",i?.license&&(0,s.jsxs)("span",{className:`inline-flex items-center gap-1.5 text-[10px] font-medium px-2 py-0.5 rounded-full border ${"pro"===i.license.type?"text-green-300 bg-green-500/10 border-green-500/30":i.license.days_left<=7?"text-red-300 bg-red-500/10 border-red-500/30":"text-amber-300 bg-amber-500/10 border-amber-500/30"}`,children:[(0,s.jsx)("span",{"aria-hidden":!0,className:"w-1.5 h-1.5 rounded-full bg-current"}),i.license.type,i.license.days_left?` \xb7 ${i.license.days_left}d left`:""]})]}),i?.license?(0,s.jsxs)("div",{className:"space-y-3 text-sm",children:[i.license.days_left<=7&&(0,s.jsxs)("div",{className:b,children:[(0,s.jsx)("span",{className:"text-red-400 font-medium",children:"⚠ Expiring soon"}),(0,s.jsxs)("span",{className:"text-red-400",children:[i.license.days_left," days left"]})]}),(0,s.jsxs)("div",{className:b,children:[(0,s.jsx)("span",{className:"text-gray-500",children:"Expires"}),(0,s.jsx)("span",{className:`text-gray-300 ${j}`,children:i.license.expires_at})]}),i.limits&&(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)("div",{className:b,children:[(0,s.jsx)("span",{className:"text-gray-500",children:"Max Agents"}),(0,s.jsx)("span",{className:`text-gray-300 ${j}`,children:i.limits.max_agents})]}),(0,s.jsxs)("div",{className:b,children:[(0,s.jsx)("span",{className:"text-gray-500",children:"Max Networks"}),(0,s.jsx)("span",{className:`text-gray-300 ${j}`,children:i.limits.max_networks})]}),(0,s.jsxs)("div",{className:b,children:[(0,s.jsx)("span",{className:"text-gray-500",children:"Tasks/Day"}),(0,s.jsx)("span",{className:`text-gray-300 ${j}`,children:i.limits.max_tasks_day})]})]}),(0,s.jsxs)("div",{className:"pt-3 border-t border-[#2a2a4a]",children:[(0,s.jsxs)("div",{className:"flex gap-2",children:[(0,s.jsx)("input",{type:"text",value:c,onChange:e=>d(e.target.value),placeholder:"anet-XXXX-XXXX-XXXX-XXXX",className:"flex-1 bg-[#0a0a15] border border-[#2a2a4a] rounded px-3 py-2 text-xs text-white placeholder-gray-600 focus:outline-none"}),(0,s.jsx)("button",{onClick:async()=>{if(!c.trim())return;let e=await fetch("/api/hub/license",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({key:c})}),s=await e.json();x(s.ok?`Activated: ${s.type}`:`Failed: ${s.error}`),s.ok&&d(""),setTimeout(()=>x(""),5e3)},className:"px-3 py-2 bg-cyan-600 hover:bg-cyan-500 text-white text-xs rounded transition-colors",children:"Activate"})]}),o&&(0,s.jsx)("div",{className:`mt-2 text-xs ${o.startsWith("Failed")?"text-red-400":"text-green-400"}`,children:o})]})]}):(0,s.jsx)("div",{className:"text-xs text-gray-600",children:"License info not available"})]}),(0,s.jsxs)("section",{className:"bg-[#111128] border border-[#2a2a4a] rounded-xl p-5",children:[(0,s.jsx)("h2",{className:"text-sm font-semibold text-gray-300 mb-4",children:"Change Password"}),(0,s.jsxs)("div",{className:"space-y-3",children:[(0,s.jsx)("input",{type:"password",value:m,onChange:e=>h(e.target.value),placeholder:"Current password",className:"w-full bg-[#0a0a15] border border-[#2a2a4a] rounded-lg px-3 py-2 text-sm text-white placeholder-gray-600 focus:border-cyan-500/50 focus:outline-none"}),(0,s.jsx)("input",{type:"password",value:g,onChange:e=>u(e.target.value),placeholder:"New password",className:"w-full bg-[#0a0a15] border border-[#2a2a4a] rounded-lg px-3 py-2 text-sm text-white placeholder-gray-600 focus:border-cyan-500/50 focus:outline-none"}),(0,s.jsx)("button",{onClick:async()=>{if(!m||!g)return;let e=sessionStorage.getItem("anet_v3_auth");if(!e)return void N("Not logged in with V3 auth");let{token:s}=JSON.parse(e),a=await fetch("/api/hub/auth",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"change_password",token:s,current_password:m,new_password:g})}),t=await a.json();if(N(t.ok?"Password changed":`Failed: ${t.error}`),t.ok){if(t.token){let s=JSON.parse(e);sessionStorage.setItem("anet_v3_auth",JSON.stringify({...s,token:t.token}))}h(""),u("")}setTimeout(()=>N(""),5e3)},disabled:!m||!g,className:"px-4 py-2 bg-cyan-600 hover:bg-cyan-500 disabled:bg-gray-800 disabled:text-gray-600 text-white text-sm rounded-lg transition-colors",children:"Change Password"})]}),p&&(0,s.jsx)("div",{className:`mt-2 text-xs ${p.startsWith("Failed")?"text-red-400":"text-green-400"}`,children:p})]}),(0,s.jsxs)("section",{className:"bg-[#111128] border border-[#2a2a4a] rounded-xl p-5",children:[(0,s.jsx)("h2",{className:"text-sm font-semibold text-gray-300 mb-4",children:"Sign out"}),(0,s.jsx)("p",{className:"text-xs text-gray-500 mb-3",children:"Signing out clears your dashboard session cookie. You'll return to the login page."}),(0,s.jsx)("button",{onClick:async()=>{await fetch("/api/auth/logout",{method:"POST"}).catch(()=>{}),window.location.assign("/login")},className:"px-4 py-2 bg-transparent hover:bg-[#1a1a2a] text-gray-300 text-sm rounded-lg border border-[#2a2a4a] hover:border-[#3a3a5a] transition-colors",children:"Sign out"})]})]}),(0,s.jsxs)("div",{id:"resources",className:"space-y-4 scroll-mt-6",children:[(0,s.jsxs)("div",{className:"flex items-center gap-2 px-1",children:[(0,s.jsx)("div",{className:"text-[11px] uppercase tracking-[0.14em] text-gray-400 font-semibold",children:"Resources"}),(0,s.jsx)("div",{className:"flex-1 h-px bg-[#2a2a4a]"})]}),(0,s.jsxs)("div",{className:"grid grid-cols-1 sm:grid-cols-2 gap-4",children:[(0,s.jsxs)(t.default,{href:"/settings/tokens",className:"bg-[#111128] border border-[#2a2a4a] rounded-xl p-5 hover:border-cyan-500/30 transition-colors",children:[(0,s.jsx)("h2",{className:"text-sm font-semibold text-gray-300",children:"API Tokens"}),(0,s.jsx)("p",{className:"text-xs text-gray-500 mt-2",children:"Create and manage tokens for CLI access."}),(0,s.jsx)("span",{className:"text-xs text-cyan-400 mt-3 inline-block",children:"Manage →"})]}),(0,s.jsxs)(t.default,{href:"/settings/networks",className:"bg-[#111128] border border-[#2a2a4a] rounded-xl p-5 hover:border-cyan-500/30 transition-colors",children:[(0,s.jsx)("h2",{className:"text-sm font-semibold text-gray-300",children:"Networks"}),(0,s.jsx)("p",{className:"text-xs text-gray-500 mt-2",children:"Create, manage, and delete agent networks."}),(0,s.jsx)("span",{className:"text-xs text-cyan-400 mt-3 inline-block",children:"Manage →"})]})]})]})]})]})}])}]);
|
|
1
|
+
(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.285"],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 →"})]})]})]})]})]})}])}]);
|
package/.next/trace
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
[{"name":"generate-buildid","duration":368,"timestamp":103457171728,"id":4,"parentId":1,"tags":{},"startTime":1778911429418,"traceId":"a352f1ba0c3857a9"},{"name":"load-custom-routes","duration":522,"timestamp":103457172293,"id":5,"parentId":1,"tags":{},"startTime":1778911429419,"traceId":"a352f1ba0c3857a9"},{"name":"create-dist-dir","duration":805,"timestamp":103457172862,"id":6,"parentId":1,"tags":{},"startTime":1778911429419,"traceId":"a352f1ba0c3857a9"},{"name":"clean","duration":31761,"timestamp":103457174494,"id":7,"parentId":1,"tags":{},"startTime":1778911429421,"traceId":"a352f1ba0c3857a9"},{"name":"discover-routes","duration":9694,"timestamp":103457282085,"id":8,"parentId":1,"tags":{},"startTime":1778911429528,"traceId":"a352f1ba0c3857a9"},{"name":"create-root-mapping","duration":119,"timestamp":103457291834,"id":9,"parentId":1,"tags":{},"startTime":1778911429538,"traceId":"a352f1ba0c3857a9"},{"name":"generate-route-types","duration":42115,"timestamp":103457294307,"id":10,"parentId":1,"tags":{},"startTime":1778911429541,"traceId":"a352f1ba0c3857a9"},{"name":"public-dir-conflict-check","duration":98,"timestamp":103457336516,"id":11,"parentId":1,"tags":{},"startTime":1778911429583,"traceId":"a352f1ba0c3857a9"},{"name":"generate-routes-manifest","duration":4983,"timestamp":103457336737,"id":12,"parentId":1,"tags":{},"startTime":1778911429583,"traceId":"a352f1ba0c3857a9"},{"name":"run-turbopack","duration":5656644,"timestamp":103457347501,"id":14,"parentId":1,"tags":{},"startTime":1778911429594,"traceId":"a352f1ba0c3857a9"},{"name":"turbopack-build-events","duration":119,"timestamp":103457634819,"id":15,"parentId":1,"tags":{},"startTime":1778911429881,"traceId":"a352f1ba0c3857a9"},{"name":"run-typescript","duration":9334696,"timestamp":103463017041,"id":16,"parentId":1,"tags":{},"startTime":1778911435263,"traceId":"a352f1ba0c3857a9"},{"name":"generate-required-server-files","duration":2254,"timestamp":103472352862,"id":18,"parentId":1,"tags":{},"startTime":1778911444599,"traceId":"a352f1ba0c3857a9"},{"name":"check-static-error-page","duration":11205,"timestamp":103472537981,"id":20,"parentId":19,"tags":{},"startTime":1778911444784,"traceId":"a352f1ba0c3857a9"},{"name":"is-page-static","duration":430248,"timestamp":103472551615,"id":63,"parentId":22,"tags":{},"startTime":1778911444798,"traceId":"a352f1ba0c3857a9"},{"name":"check-page","duration":441646,"timestamp":103472540430,"id":22,"parentId":19,"tags":{"page":"/_global-error"},"startTime":1778911444787,"traceId":"a352f1ba0c3857a9"},{"name":"is-page-static","duration":548836,"timestamp":103472552196,"id":67,"parentId":28,"tags":{},"startTime":1778911444798,"traceId":"a352f1ba0c3857a9"},{"name":"check-page","duration":557851,"timestamp":103472543331,"id":28,"parentId":19,"tags":{"page":"/api/hub/audit-log"},"startTime":1778911444790,"traceId":"a352f1ba0c3857a9"},{"name":"is-page-static","duration":551910,"timestamp":103472551255,"id":62,"parentId":21,"tags":{},"startTime":1778911444798,"traceId":"a352f1ba0c3857a9"},{"name":"check-page","duration":564024,"timestamp":103472539198,"id":21,"parentId":19,"tags":{"page":"/_not-found"},"startTime":1778911444785,"traceId":"a352f1ba0c3857a9"},{"name":"is-page-static","duration":554025,"timestamp":103472552630,"id":70,"parentId":32,"tags":{},"startTime":1778911444799,"traceId":"a352f1ba0c3857a9"},{"name":"check-page","duration":562828,"timestamp":103472543884,"id":32,"parentId":19,"tags":{"page":"/api/hub/health"},"startTime":1778911444790,"traceId":"a352f1ba0c3857a9"},{"name":"is-page-static","duration":558928,"timestamp":103472552463,"id":69,"parentId":30,"tags":{},"startTime":1778911444799,"traceId":"a352f1ba0c3857a9"},{"name":"check-page","duration":567910,"timestamp":103472543549,"id":30,"parentId":19,"tags":{"page":"/api/hub/broadcast"},"startTime":1778911444790,"traceId":"a352f1ba0c3857a9"},{"name":"is-page-static","duration":581047,"timestamp":103472551946,"id":66,"parentId":27,"tags":{},"startTime":1778911444798,"traceId":"a352f1ba0c3857a9"},{"name":"check-page","duration":589845,"timestamp":103472543245,"id":27,"parentId":19,"tags":{"page":"/api/auth/v3"},"startTime":1778911444790,"traceId":"a352f1ba0c3857a9"},{"name":"is-page-static","duration":584054,"timestamp":103472552760,"id":72,"parentId":34,"tags":{},"startTime":1778911444799,"traceId":"a352f1ba0c3857a9"},{"name":"check-page","duration":592782,"timestamp":103472544102,"id":34,"parentId":19,"tags":{"page":"/api/hub/license"},"startTime":1778911444790,"traceId":"a352f1ba0c3857a9"},{"name":"is-page-static","duration":588752,"timestamp":103472552884,"id":74,"parentId":36,"tags":{},"startTime":1778911444799,"traceId":"a352f1ba0c3857a9"},{"name":"check-page","duration":597180,"timestamp":103472544514,"id":36,"parentId":19,"tags":{"page":"/api/hub/networks"},"startTime":1778911444791,"traceId":"a352f1ba0c3857a9"},{"name":"is-page-static","duration":589167,"timestamp":103472552788,"id":73,"parentId":35,"tags":{},"startTime":1778911444799,"traceId":"a352f1ba0c3857a9"},{"name":"check-page","duration":597833,"timestamp":103472544188,"id":35,"parentId":19,"tags":{"page":"/api/hub/messages"},"startTime":1778911444790,"traceId":"a352f1ba0c3857a9"},{"name":"is-page-static","duration":596991,"timestamp":103472551736,"id":64,"parentId":25,"tags":{},"startTime":1778911444798,"traceId":"a352f1ba0c3857a9"},{"name":"check-page","duration":605758,"timestamp":103472543025,"id":25,"parentId":19,"tags":{"page":"/api/auth/login"},"startTime":1778911444789,"traceId":"a352f1ba0c3857a9"},{"name":"is-page-static","duration":599373,"timestamp":103472551835,"id":65,"parentId":26,"tags":{},"startTime":1778911444798,"traceId":"a352f1ba0c3857a9"},{"name":"check-page","duration":608093,"timestamp":103472543162,"id":26,"parentId":19,"tags":{"page":"/api/auth/logout"},"startTime":1778911444789,"traceId":"a352f1ba0c3857a9"},{"name":"is-page-static","duration":613278,"timestamp":103472552924,"id":75,"parentId":37,"tags":{},"startTime":1778911444799,"traceId":"a352f1ba0c3857a9"},{"name":"check-page","duration":621645,"timestamp":103472544626,"id":37,"parentId":19,"tags":{"page":"/api/hub/nodes"},"startTime":1778911444791,"traceId":"a352f1ba0c3857a9"},{"name":"is-page-static","duration":614628,"timestamp":103472552947,"id":77,"parentId":39,"tags":{},"startTime":1778911444799,"traceId":"a352f1ba0c3857a9"},{"name":"check-page","duration":622857,"timestamp":103472544775,"id":39,"parentId":19,"tags":{"page":"/api/hub/send"},"startTime":1778911444791,"traceId":"a352f1ba0c3857a9"},{"name":"is-page-static","duration":621426,"timestamp":103472552990,"id":81,"parentId":43,"tags":{},"startTime":1778911444799,"traceId":"a352f1ba0c3857a9"},{"name":"check-page","duration":629368,"timestamp":103472545101,"id":43,"parentId":19,"tags":{"page":"/api/hub/stats"},"startTime":1778911444791,"traceId":"a352f1ba0c3857a9"},{"name":"is-page-static","duration":621648,"timestamp":103472552981,"id":80,"parentId":42,"tags":{},"startTime":1778911444799,"traceId":"a352f1ba0c3857a9"},{"name":"check-page","duration":629659,"timestamp":103472544997,"id":42,"parentId":19,"tags":{"page":"/api/hub/session"},"startTime":1778911444791,"traceId":"a352f1ba0c3857a9"},{"name":"is-page-static","duration":623966,"timestamp":103472552938,"id":76,"parentId":38,"tags":{},"startTime":1778911444799,"traceId":"a352f1ba0c3857a9"},{"name":"check-page","duration":632237,"timestamp":103472544716,"id":38,"parentId":19,"tags":{"page":"/api/hub/register"},"startTime":1778911444791,"traceId":"a352f1ba0c3857a9"},{"name":"is-page-static","duration":624794,"timestamp":103472552341,"id":68,"parentId":29,"tags":{},"startTime":1778911444799,"traceId":"a352f1ba0c3857a9"},{"name":"check-page","duration":633770,"timestamp":103472543406,"id":29,"parentId":19,"tags":{"page":"/api/hub/auth"},"startTime":1778911444790,"traceId":"a352f1ba0c3857a9"},{"name":"is-page-static","duration":624446,"timestamp":103472552957,"id":78,"parentId":40,"tags":{},"startTime":1778911444799,"traceId":"a352f1ba0c3857a9"},{"name":"check-page","duration":632629,"timestamp":103472544850,"id":40,"parentId":19,"tags":{"page":"/api/hub/server-logs"},"startTime":1778911444791,"traceId":"a352f1ba0c3857a9"},{"name":"is-page-static","duration":626396,"timestamp":103472552999,"id":82,"parentId":44,"tags":{},"startTime":1778911444803,"traceId":"a352f1ba0c3857a9"},{"name":"check-page","duration":634269,"timestamp":103472545163,"id":44,"parentId":19,"tags":{"page":"/api/hub/status"},"startTime":1778911444791,"traceId":"a352f1ba0c3857a9"},{"name":"is-page-static","duration":624836,"timestamp":103472556488,"id":83,"parentId":45,"tags":{},"startTime":1778911444803,"traceId":"a352f1ba0c3857a9"},{"name":"check-page","duration":636151,"timestamp":103472545228,"id":45,"parentId":19,"tags":{"page":"/api/hub/task-events"},"startTime":1778911444792,"traceId":"a352f1ba0c3857a9"},{"name":"is-page-static","duration":625242,"timestamp":103472558090,"id":86,"parentId":48,"tags":{},"startTime":1778911444804,"traceId":"a352f1ba0c3857a9"},{"name":"check-page","duration":637936,"timestamp":103472545443,"id":48,"parentId":19,"tags":{"page":"/api/hub/tokens"},"startTime":1778911444792,"traceId":"a352f1ba0c3857a9"},{"name":"is-page-static","duration":621219,"timestamp":103472565578,"id":88,"parentId":24,"tags":{},"startTime":1778911444812,"traceId":"a352f1ba0c3857a9"},{"name":"check-page","duration":645880,"timestamp":103472540968,"id":24,"parentId":19,"tags":{"page":"/api/anet/config"},"startTime":1778911444787,"traceId":"a352f1ba0c3857a9"},{"name":"is-page-static","duration":623896,"timestamp":103472566731,"id":89,"parentId":31,"tags":{},"startTime":1778911444813,"traceId":"a352f1ba0c3857a9"},{"name":"check-page","duration":647000,"timestamp":103472543674,"id":31,"parentId":19,"tags":{"page":"/api/hub/events"},"startTime":1778911444790,"traceId":"a352f1ba0c3857a9"},{"name":"is-page-static","duration":641474,"timestamp":103472558105,"id":87,"parentId":49,"tags":{},"startTime":1778911444804,"traceId":"a352f1ba0c3857a9"},{"name":"check-page","duration":654129,"timestamp":103472545508,"id":49,"parentId":19,"tags":{"page":"/favicon.ico"},"startTime":1778911444792,"traceId":"a352f1ba0c3857a9"},{"name":"is-page-static","duration":650723,"timestamp":103472552970,"id":79,"parentId":41,"tags":{},"startTime":1778911444799,"traceId":"a352f1ba0c3857a9"},{"name":"check-page","duration":658818,"timestamp":103472544926,"id":41,"parentId":19,"tags":{"page":"/api/hub/servers"},"startTime":1778911444791,"traceId":"a352f1ba0c3857a9"},{"name":"is-page-static","duration":647849,"timestamp":103472556511,"id":84,"parentId":46,"tags":{},"startTime":1778911444803,"traceId":"a352f1ba0c3857a9"},{"name":"check-page","duration":659112,"timestamp":103472545294,"id":46,"parentId":19,"tags":{"page":"/api/hub/tasks"},"startTime":1778911444792,"traceId":"a352f1ba0c3857a9"},{"name":"is-page-static","duration":651850,"timestamp":103472552691,"id":71,"parentId":33,"tags":{},"startTime":1778911444799,"traceId":"a352f1ba0c3857a9"},{"name":"check-page","duration":660592,"timestamp":103472543983,"id":33,"parentId":19,"tags":{"page":"/api/hub/inbox"},"startTime":1778911444790,"traceId":"a352f1ba0c3857a9"},{"name":"is-page-static","duration":657300,"timestamp":103472558071,"id":85,"parentId":47,"tags":{},"startTime":1778911444804,"traceId":"a352f1ba0c3857a9"},{"name":"check-page","duration":670049,"timestamp":103472545381,"id":47,"parentId":19,"tags":{"page":"/api/hub/tmux"},"startTime":1778911444792,"traceId":"a352f1ba0c3857a9"},{"name":"is-page-static","duration":645468,"timestamp":103472570139,"id":95,"parentId":54,"tags":{},"startTime":1778911444816,"traceId":"a352f1ba0c3857a9"},{"name":"check-page","duration":667950,"timestamp":103472547697,"id":54,"parentId":19,"tags":{"page":"/nodes"},"startTime":1778911444794,"traceId":"a352f1ba0c3857a9"},{"name":"is-page-static","duration":653303,"timestamp":103472570165,"id":97,"parentId":57,"tags":{},"startTime":1778911444816,"traceId":"a352f1ba0c3857a9"},{"name":"check-page","duration":675122,"timestamp":103472548404,"id":57,"parentId":19,"tags":{"page":"/settings/networks"},"startTime":1778911444795,"traceId":"a352f1ba0c3857a9"},{"name":"is-page-static","duration":661118,"timestamp":103472570174,"id":98,"parentId":59,"tags":{},"startTime":1778911444816,"traceId":"a352f1ba0c3857a9"},{"name":"check-page","duration":682557,"timestamp":103472548787,"id":59,"parentId":19,"tags":{"page":"/settings/tokens"},"startTime":1778911444795,"traceId":"a352f1ba0c3857a9"},{"name":"is-page-static","duration":676918,"timestamp":103472570192,"id":99,"parentId":60,"tags":{},"startTime":1778911444816,"traceId":"a352f1ba0c3857a9"},{"name":"check-page","duration":698304,"timestamp":103472548879,"id":60,"parentId":19,"tags":{"page":"/tasks/[id]"},"startTime":1778911444795,"traceId":"a352f1ba0c3857a9"},{"name":"is-page-static","duration":677809,"timestamp":103472570061,"id":90,"parentId":23,"tags":{},"startTime":1778911444816,"traceId":"a352f1ba0c3857a9"},{"name":"check-page","duration":707259,"timestamp":103472540703,"id":23,"parentId":19,"tags":{"page":"/admin"},"startTime":1778911444787,"traceId":"a352f1ba0c3857a9"},{"name":"is-page-static","duration":684382,"timestamp":103472570211,"id":100,"parentId":61,"tags":{},"startTime":1778911444816,"traceId":"a352f1ba0c3857a9"},{"name":"check-page","duration":705667,"timestamp":103472548984,"id":61,"parentId":19,"tags":{"page":"/tasks"},"startTime":1778911444795,"traceId":"a352f1ba0c3857a9"},{"name":"is-page-static","duration":680626,"timestamp":103472575954,"id":101,"parentId":58,"tags":{},"startTime":1778911444822,"traceId":"a352f1ba0c3857a9"},{"name":"check-page","duration":708107,"timestamp":103472548520,"id":58,"parentId":19,"tags":{"page":"/settings"},"startTime":1778911444795,"traceId":"a352f1ba0c3857a9"},{"name":"is-page-static","duration":688341,"timestamp":103472570102,"id":92,"parentId":51,"tags":{},"startTime":1778911444816,"traceId":"a352f1ba0c3857a9"},{"name":"check-page","duration":711186,"timestamp":103472547313,"id":51,"parentId":19,"tags":{"page":"/logs"},"startTime":1778911444794,"traceId":"a352f1ba0c3857a9"},{"name":"is-page-static","duration":671981,"timestamp":103472588689,"id":102,"parentId":55,"tags":{},"startTime":1778911444835,"traceId":"a352f1ba0c3857a9"},{"name":"check-page","duration":712852,"timestamp":103472547853,"id":55,"parentId":19,"tags":{"page":"/"},"startTime":1778911444794,"traceId":"a352f1ba0c3857a9"},{"name":"is-page-static","duration":694213,"timestamp":103472570088,"id":91,"parentId":50,"tags":{},"startTime":1778911444816,"traceId":"a352f1ba0c3857a9"},{"name":"check-page","duration":717191,"timestamp":103472547153,"id":50,"parentId":19,"tags":{"page":"/login"},"startTime":1778911444793,"traceId":"a352f1ba0c3857a9"},{"name":"is-page-static","duration":694312,"timestamp":103472570130,"id":94,"parentId":53,"tags":{},"startTime":1778911444816,"traceId":"a352f1ba0c3857a9"},{"name":"check-page","duration":716911,"timestamp":103472547562,"id":53,"parentId":19,"tags":{"page":"/node"},"startTime":1778911444794,"traceId":"a352f1ba0c3857a9"},{"name":"is-page-static","duration":704592,"timestamp":103472570116,"id":93,"parentId":52,"tags":{},"startTime":1778911444816,"traceId":"a352f1ba0c3857a9"},{"name":"check-page","duration":727328,"timestamp":103472547428,"id":52,"parentId":19,"tags":{"page":"/messages"},"startTime":1778911444794,"traceId":"a352f1ba0c3857a9"},{"name":"is-page-static","duration":708152,"timestamp":103472570151,"id":96,"parentId":56,"tags":{},"startTime":1778911444816,"traceId":"a352f1ba0c3857a9"},{"name":"check-page","duration":730090,"timestamp":103472548256,"id":56,"parentId":19,"tags":{"page":"/server-logs"},"startTime":1778911444795,"traceId":"a352f1ba0c3857a9"},{"name":"static-check","duration":741178,"timestamp":103472537206,"id":19,"parentId":1,"tags":{},"startTime":1778911444783,"traceId":"a352f1ba0c3857a9"},{"name":"write-routes-manifest","duration":419,"timestamp":103473286663,"id":104,"parentId":1,"tags":{},"startTime":1778911445533,"traceId":"a352f1ba0c3857a9"},{"name":"load-dotenv","duration":57,"timestamp":103473298060,"id":107,"parentId":106,"tags":{},"startTime":1778911445544,"traceId":"a352f1ba0c3857a9"},{"name":"run-export-path-map","duration":588,"timestamp":103473302291,"id":108,"parentId":106,"tags":{},"startTime":1778911445549,"traceId":"a352f1ba0c3857a9"},{"name":"next-export","duration":567937,"timestamp":103473296483,"id":106,"parentId":1,"tags":{},"startTime":1778911445543,"traceId":"a352f1ba0c3857a9"}]
|
|
2
|
-
[{"name":"move-exported-app-not-found-","duration":
|
|
1
|
+
[{"name":"generate-buildid","duration":308,"timestamp":104219645062,"id":4,"parentId":1,"tags":{},"startTime":1778912191891,"traceId":"b61ad9ed1f07e53a"},{"name":"load-custom-routes","duration":538,"timestamp":104219645526,"id":5,"parentId":1,"tags":{},"startTime":1778912191892,"traceId":"b61ad9ed1f07e53a"},{"name":"create-dist-dir","duration":767,"timestamp":104219646112,"id":6,"parentId":1,"tags":{},"startTime":1778912191892,"traceId":"b61ad9ed1f07e53a"},{"name":"clean","duration":32382,"timestamp":104219647709,"id":7,"parentId":1,"tags":{},"startTime":1778912191894,"traceId":"b61ad9ed1f07e53a"},{"name":"discover-routes","duration":13729,"timestamp":104219761893,"id":8,"parentId":1,"tags":{},"startTime":1778912192008,"traceId":"b61ad9ed1f07e53a"},{"name":"create-root-mapping","duration":126,"timestamp":104219775681,"id":9,"parentId":1,"tags":{},"startTime":1778912192022,"traceId":"b61ad9ed1f07e53a"},{"name":"generate-route-types","duration":35441,"timestamp":104219778297,"id":10,"parentId":1,"tags":{},"startTime":1778912192025,"traceId":"b61ad9ed1f07e53a"},{"name":"public-dir-conflict-check","duration":116,"timestamp":104219813841,"id":11,"parentId":1,"tags":{},"startTime":1778912192060,"traceId":"b61ad9ed1f07e53a"},{"name":"generate-routes-manifest","duration":4756,"timestamp":104219814122,"id":12,"parentId":1,"tags":{},"startTime":1778912192060,"traceId":"b61ad9ed1f07e53a"},{"name":"run-turbopack","duration":5406962,"timestamp":104219825071,"id":14,"parentId":1,"tags":{},"startTime":1778912192071,"traceId":"b61ad9ed1f07e53a"},{"name":"turbopack-build-events","duration":151,"timestamp":104220108878,"id":15,"parentId":1,"tags":{},"startTime":1778912192355,"traceId":"b61ad9ed1f07e53a"},{"name":"run-typescript","duration":8984953,"timestamp":104225243546,"id":16,"parentId":1,"tags":{},"startTime":1778912197490,"traceId":"b61ad9ed1f07e53a"},{"name":"generate-required-server-files","duration":2547,"timestamp":104234229563,"id":18,"parentId":1,"tags":{},"startTime":1778912206476,"traceId":"b61ad9ed1f07e53a"},{"name":"check-static-error-page","duration":14566,"timestamp":104234396636,"id":20,"parentId":19,"tags":{},"startTime":1778912206643,"traceId":"b61ad9ed1f07e53a"},{"name":"is-page-static","duration":420256,"timestamp":104234414637,"id":63,"parentId":22,"tags":{},"startTime":1778912206661,"traceId":"b61ad9ed1f07e53a"},{"name":"check-page","duration":435232,"timestamp":104234399891,"id":22,"parentId":19,"tags":{"page":"/_global-error"},"startTime":1778912206646,"traceId":"b61ad9ed1f07e53a"},{"name":"is-page-static","duration":520602,"timestamp":104234414904,"id":65,"parentId":26,"tags":{},"startTime":1778912206661,"traceId":"b61ad9ed1f07e53a"},{"name":"check-page","duration":532198,"timestamp":104234403416,"id":26,"parentId":19,"tags":{"page":"/api/auth/logout"},"startTime":1778912206650,"traceId":"b61ad9ed1f07e53a"},{"name":"is-page-static","duration":520644,"timestamp":104234415346,"id":67,"parentId":28,"tags":{},"startTime":1778912206662,"traceId":"b61ad9ed1f07e53a"},{"name":"check-page","duration":532377,"timestamp":104234403683,"id":28,"parentId":19,"tags":{"page":"/api/hub/audit-log"},"startTime":1778912206650,"traceId":"b61ad9ed1f07e53a"},{"name":"is-page-static","duration":535354,"timestamp":104234415920,"id":71,"parentId":33,"tags":{},"startTime":1778912206662,"traceId":"b61ad9ed1f07e53a"},{"name":"check-page","duration":546758,"timestamp":104234404576,"id":33,"parentId":19,"tags":{"page":"/api/hub/inbox"},"startTime":1778912206651,"traceId":"b61ad9ed1f07e53a"},{"name":"is-page-static","duration":535631,"timestamp":104234415847,"id":70,"parentId":32,"tags":{},"startTime":1778912206662,"traceId":"b61ad9ed1f07e53a"},{"name":"check-page","duration":547094,"timestamp":104234404415,"id":32,"parentId":19,"tags":{"page":"/api/hub/health"},"startTime":1778912206651,"traceId":"b61ad9ed1f07e53a"},{"name":"is-page-static","duration":536879,"timestamp":104234414779,"id":64,"parentId":25,"tags":{},"startTime":1778912206661,"traceId":"b61ad9ed1f07e53a"},{"name":"check-page","duration":548488,"timestamp":104234403205,"id":25,"parentId":19,"tags":{"page":"/api/auth/login"},"startTime":1778912206649,"traceId":"b61ad9ed1f07e53a"},{"name":"is-page-static","duration":536311,"timestamp":104234415658,"id":69,"parentId":30,"tags":{},"startTime":1778912206662,"traceId":"b61ad9ed1f07e53a"},{"name":"check-page","duration":548073,"timestamp":104234403949,"id":30,"parentId":19,"tags":{"page":"/api/hub/broadcast"},"startTime":1778912206650,"traceId":"b61ad9ed1f07e53a"},{"name":"is-page-static","duration":544686,"timestamp":104234416074,"id":73,"parentId":35,"tags":{},"startTime":1778912206662,"traceId":"b61ad9ed1f07e53a"},{"name":"check-page","duration":555974,"timestamp":104234404841,"id":35,"parentId":19,"tags":{"page":"/api/hub/messages"},"startTime":1778912206651,"traceId":"b61ad9ed1f07e53a"},{"name":"is-page-static","duration":557165,"timestamp":104234414233,"id":62,"parentId":21,"tags":{},"startTime":1778912206661,"traceId":"b61ad9ed1f07e53a"},{"name":"check-page","duration":573176,"timestamp":104234398287,"id":21,"parentId":19,"tags":{"page":"/_not-found"},"startTime":1778912206645,"traceId":"b61ad9ed1f07e53a"},{"name":"is-page-static","duration":558453,"timestamp":104234416041,"id":72,"parentId":34,"tags":{},"startTime":1778912206662,"traceId":"b61ad9ed1f07e53a"},{"name":"check-page","duration":569847,"timestamp":104234404703,"id":34,"parentId":19,"tags":{"page":"/api/hub/license"},"startTime":1778912206651,"traceId":"b61ad9ed1f07e53a"},{"name":"is-page-static","duration":560970,"timestamp":104234416251,"id":76,"parentId":38,"tags":{},"startTime":1778912206663,"traceId":"b61ad9ed1f07e53a"},{"name":"check-page","duration":571497,"timestamp":104234405777,"id":38,"parentId":19,"tags":{"page":"/api/hub/register"},"startTime":1778912206652,"traceId":"b61ad9ed1f07e53a"},{"name":"is-page-static","duration":566662,"timestamp":104234416293,"id":79,"parentId":41,"tags":{},"startTime":1778912206663,"traceId":"b61ad9ed1f07e53a"},{"name":"check-page","duration":576894,"timestamp":104234406142,"id":41,"parentId":19,"tags":{"page":"/api/hub/servers"},"startTime":1778912206652,"traceId":"b61ad9ed1f07e53a"},{"name":"is-page-static","duration":567029,"timestamp":104234416199,"id":74,"parentId":36,"tags":{},"startTime":1778912206662,"traceId":"b61ad9ed1f07e53a"},{"name":"check-page","duration":577853,"timestamp":104234405405,"id":36,"parentId":19,"tags":{"page":"/api/hub/networks"},"startTime":1778912206652,"traceId":"b61ad9ed1f07e53a"},{"name":"is-page-static","duration":570907,"timestamp":104234415060,"id":66,"parentId":27,"tags":{},"startTime":1778912206661,"traceId":"b61ad9ed1f07e53a"},{"name":"check-page","duration":582469,"timestamp":104234403561,"id":27,"parentId":19,"tags":{"page":"/api/auth/v3"},"startTime":1778912206650,"traceId":"b61ad9ed1f07e53a"},{"name":"is-page-static","duration":570884,"timestamp":104234416303,"id":80,"parentId":42,"tags":{},"startTime":1778912206663,"traceId":"b61ad9ed1f07e53a"},{"name":"check-page","duration":580973,"timestamp":104234406255,"id":42,"parentId":19,"tags":{"page":"/api/hub/session"},"startTime":1778912206653,"traceId":"b61ad9ed1f07e53a"},{"name":"is-page-static","duration":571547,"timestamp":104234416279,"id":78,"parentId":40,"tags":{},"startTime":1778912206663,"traceId":"b61ad9ed1f07e53a"},{"name":"check-page","duration":581838,"timestamp":104234406033,"id":40,"parentId":19,"tags":{"page":"/api/hub/server-logs"},"startTime":1778912206652,"traceId":"b61ad9ed1f07e53a"},{"name":"is-page-static","duration":574449,"timestamp":104234415512,"id":68,"parentId":29,"tags":{},"startTime":1778912206662,"traceId":"b61ad9ed1f07e53a"},{"name":"check-page","duration":586244,"timestamp":104234403790,"id":29,"parentId":19,"tags":{"page":"/api/hub/auth"},"startTime":1778912206650,"traceId":"b61ad9ed1f07e53a"},{"name":"is-page-static","duration":576349,"timestamp":104234416344,"id":83,"parentId":45,"tags":{},"startTime":1778912206663,"traceId":"b61ad9ed1f07e53a"},{"name":"check-page","duration":586185,"timestamp":104234406560,"id":45,"parentId":19,"tags":{"page":"/api/hub/task-events"},"startTime":1778912206653,"traceId":"b61ad9ed1f07e53a"},{"name":"is-page-static","duration":576748,"timestamp":104234416359,"id":84,"parentId":46,"tags":{},"startTime":1778912206663,"traceId":"b61ad9ed1f07e53a"},{"name":"check-page","duration":586495,"timestamp":104234406662,"id":46,"parentId":19,"tags":{"page":"/api/hub/tasks"},"startTime":1778912206653,"traceId":"b61ad9ed1f07e53a"},{"name":"is-page-static","duration":579685,"timestamp":104234416233,"id":75,"parentId":37,"tags":{},"startTime":1778912206663,"traceId":"b61ad9ed1f07e53a"},{"name":"check-page","duration":590365,"timestamp":104234405614,"id":37,"parentId":19,"tags":{"page":"/api/hub/nodes"},"startTime":1778912206652,"traceId":"b61ad9ed1f07e53a"},{"name":"is-page-static","duration":579742,"timestamp":104234416391,"id":86,"parentId":48,"tags":{},"startTime":1778912206663,"traceId":"b61ad9ed1f07e53a"},{"name":"check-page","duration":589254,"timestamp":104234406913,"id":48,"parentId":19,"tags":{"page":"/api/hub/tokens"},"startTime":1778912206653,"traceId":"b61ad9ed1f07e53a"},{"name":"is-page-static","duration":579916,"timestamp":104234416375,"id":85,"parentId":47,"tags":{},"startTime":1778912206663,"traceId":"b61ad9ed1f07e53a"},{"name":"check-page","duration":589514,"timestamp":104234406801,"id":47,"parentId":19,"tags":{"page":"/api/hub/tmux"},"startTime":1778912206653,"traceId":"b61ad9ed1f07e53a"},{"name":"is-page-static","duration":584112,"timestamp":104234416316,"id":81,"parentId":43,"tags":{},"startTime":1778912206663,"traceId":"b61ad9ed1f07e53a"},{"name":"check-page","duration":594112,"timestamp":104234406358,"id":43,"parentId":19,"tags":{"page":"/api/hub/stats"},"startTime":1778912206653,"traceId":"b61ad9ed1f07e53a"},{"name":"is-page-static","duration":576356,"timestamp":104234429141,"id":89,"parentId":31,"tags":{},"startTime":1778912206675,"traceId":"b61ad9ed1f07e53a"},{"name":"check-page","duration":604956,"timestamp":104234404107,"id":31,"parentId":19,"tags":{"page":"/api/hub/events"},"startTime":1778912206650,"traceId":"b61ad9ed1f07e53a"},{"name":"is-page-static","duration":593062,"timestamp":104234416402,"id":87,"parentId":49,"tags":{},"startTime":1778912206663,"traceId":"b61ad9ed1f07e53a"},{"name":"check-page","duration":602449,"timestamp":104234407060,"id":49,"parentId":19,"tags":{"page":"/favicon.ico"},"startTime":1778912206653,"traceId":"b61ad9ed1f07e53a"},{"name":"is-page-static","duration":597693,"timestamp":104234416332,"id":82,"parentId":44,"tags":{},"startTime":1778912206663,"traceId":"b61ad9ed1f07e53a"},{"name":"check-page","duration":607604,"timestamp":104234406462,"id":44,"parentId":19,"tags":{"page":"/api/hub/status"},"startTime":1778912206653,"traceId":"b61ad9ed1f07e53a"},{"name":"is-page-static","duration":593831,"timestamp":104234423860,"id":88,"parentId":24,"tags":{},"startTime":1778912206670,"traceId":"b61ad9ed1f07e53a"},{"name":"check-page","duration":617275,"timestamp":104234400457,"id":24,"parentId":19,"tags":{"page":"/api/anet/config"},"startTime":1778912206647,"traceId":"b61ad9ed1f07e53a"},{"name":"is-page-static","duration":640786,"timestamp":104234416265,"id":77,"parentId":39,"tags":{},"startTime":1778912206663,"traceId":"b61ad9ed1f07e53a"},{"name":"check-page","duration":651242,"timestamp":104234405891,"id":39,"parentId":19,"tags":{"page":"/api/hub/send"},"startTime":1778912206652,"traceId":"b61ad9ed1f07e53a"},{"name":"is-page-static","duration":637603,"timestamp":104234431781,"id":96,"parentId":56,"tags":{},"startTime":1778912206678,"traceId":"b61ad9ed1f07e53a"},{"name":"check-page","duration":659978,"timestamp":104234409477,"id":56,"parentId":19,"tags":{"page":"/server-logs"},"startTime":1778912206656,"traceId":"b61ad9ed1f07e53a"},{"name":"is-page-static","duration":637972,"timestamp":104234431732,"id":93,"parentId":52,"tags":{},"startTime":1778912206678,"traceId":"b61ad9ed1f07e53a"},{"name":"check-page","duration":661855,"timestamp":104234407892,"id":52,"parentId":19,"tags":{"page":"/messages"},"startTime":1778912206654,"traceId":"b61ad9ed1f07e53a"},{"name":"is-page-static","duration":638803,"timestamp":104234431716,"id":92,"parentId":51,"tags":{},"startTime":1778912206678,"traceId":"b61ad9ed1f07e53a"},{"name":"check-page","duration":662871,"timestamp":104234407700,"id":51,"parentId":19,"tags":{"page":"/logs"},"startTime":1778912206654,"traceId":"b61ad9ed1f07e53a"},{"name":"is-page-static","duration":647271,"timestamp":104234431797,"id":97,"parentId":57,"tags":{},"startTime":1778912206678,"traceId":"b61ad9ed1f07e53a"},{"name":"check-page","duration":669380,"timestamp":104234409740,"id":57,"parentId":19,"tags":{"page":"/settings/networks"},"startTime":1778912206656,"traceId":"b61ad9ed1f07e53a"},{"name":"is-page-static","duration":648767,"timestamp":104234431813,"id":98,"parentId":59,"tags":{},"startTime":1778912206678,"traceId":"b61ad9ed1f07e53a"},{"name":"check-page","duration":670148,"timestamp":104234410493,"id":59,"parentId":19,"tags":{"page":"/settings/tokens"},"startTime":1778912206657,"traceId":"b61ad9ed1f07e53a"},{"name":"is-page-static","duration":651008,"timestamp":104234431849,"id":100,"parentId":61,"tags":{},"startTime":1778912206678,"traceId":"b61ad9ed1f07e53a"},{"name":"check-page","duration":672051,"timestamp":104234410845,"id":61,"parentId":19,"tags":{"page":"/tasks"},"startTime":1778912206657,"traceId":"b61ad9ed1f07e53a"},{"name":"is-page-static","duration":653475,"timestamp":104234431829,"id":99,"parentId":60,"tags":{},"startTime":1778912206678,"traceId":"b61ad9ed1f07e53a"},{"name":"check-page","duration":674687,"timestamp":104234410671,"id":60,"parentId":19,"tags":{"page":"/tasks/[id]"},"startTime":1778912206657,"traceId":"b61ad9ed1f07e53a"},{"name":"is-page-static","duration":654877,"timestamp":104234431768,"id":95,"parentId":54,"tags":{},"startTime":1778912206678,"traceId":"b61ad9ed1f07e53a"},{"name":"check-page","duration":678227,"timestamp":104234408458,"id":54,"parentId":19,"tags":{"page":"/nodes"},"startTime":1778912206655,"traceId":"b61ad9ed1f07e53a"},{"name":"is-page-static","duration":644808,"timestamp":104234443492,"id":101,"parentId":58,"tags":{},"startTime":1778912206690,"traceId":"b61ad9ed1f07e53a"},{"name":"check-page","duration":678360,"timestamp":104234409984,"id":58,"parentId":19,"tags":{"page":"/settings"},"startTime":1778912206656,"traceId":"b61ad9ed1f07e53a"},{"name":"is-page-static","duration":657822,"timestamp":104234431748,"id":94,"parentId":53,"tags":{},"startTime":1778912206678,"traceId":"b61ad9ed1f07e53a"},{"name":"check-page","duration":681438,"timestamp":104234408177,"id":53,"parentId":19,"tags":{"page":"/node"},"startTime":1778912206654,"traceId":"b61ad9ed1f07e53a"},{"name":"is-page-static","duration":636031,"timestamp":104234453667,"id":102,"parentId":55,"tags":{},"startTime":1778912206700,"traceId":"b61ad9ed1f07e53a"},{"name":"check-page","duration":680960,"timestamp":104234408761,"id":55,"parentId":19,"tags":{"page":"/"},"startTime":1778912206655,"traceId":"b61ad9ed1f07e53a"},{"name":"is-page-static","duration":660877,"timestamp":104234431703,"id":91,"parentId":50,"tags":{},"startTime":1778912206678,"traceId":"b61ad9ed1f07e53a"},{"name":"check-page","duration":685115,"timestamp":104234407503,"id":50,"parentId":19,"tags":{"page":"/login"},"startTime":1778912206654,"traceId":"b61ad9ed1f07e53a"},{"name":"is-page-static","duration":662022,"timestamp":104234431668,"id":90,"parentId":23,"tags":{},"startTime":1778912206678,"traceId":"b61ad9ed1f07e53a"},{"name":"check-page","duration":693560,"timestamp":104234400211,"id":23,"parentId":19,"tags":{"page":"/admin"},"startTime":1778912206646,"traceId":"b61ad9ed1f07e53a"},{"name":"static-check","duration":698184,"timestamp":104234395641,"id":19,"parentId":1,"tags":{},"startTime":1778912206642,"traceId":"b61ad9ed1f07e53a"},{"name":"write-routes-manifest","duration":498,"timestamp":104235100644,"id":104,"parentId":1,"tags":{},"startTime":1778912207347,"traceId":"b61ad9ed1f07e53a"},{"name":"load-dotenv","duration":50,"timestamp":104235113520,"id":107,"parentId":106,"tags":{},"startTime":1778912207360,"traceId":"b61ad9ed1f07e53a"},{"name":"run-export-path-map","duration":778,"timestamp":104235116965,"id":108,"parentId":106,"tags":{},"startTime":1778912207363,"traceId":"b61ad9ed1f07e53a"},{"name":"next-export","duration":573168,"timestamp":104235111649,"id":106,"parentId":1,"tags":{},"startTime":1778912207358,"traceId":"b61ad9ed1f07e53a"}]
|
|
2
|
+
[{"name":"move-exported-app-not-found-","duration":2138,"timestamp":104235688366,"id":109,"parentId":105,"tags":{},"startTime":1778912207935,"traceId":"b61ad9ed1f07e53a"},{"name":"move-exported-app-global-error-","duration":594,"timestamp":104235690589,"id":110,"parentId":105,"tags":{},"startTime":1778912207937,"traceId":"b61ad9ed1f07e53a"},{"name":"static-generation","duration":588300,"timestamp":104235104753,"id":105,"parentId":1,"tags":{},"startTime":1778912207351,"traceId":"b61ad9ed1f07e53a"},{"name":"write-routes-manifest","duration":344,"timestamp":104235693217,"id":111,"parentId":1,"tags":{},"startTime":1778912207939,"traceId":"b61ad9ed1f07e53a"},{"name":"print-tree-view","duration":4109,"timestamp":104235701348,"id":112,"parentId":1,"tags":{},"startTime":1778912207948,"traceId":"b61ad9ed1f07e53a"},{"name":"write-route-bundle-stats","duration":18779,"timestamp":104235705487,"id":113,"parentId":1,"tags":{},"startTime":1778912207952,"traceId":"b61ad9ed1f07e53a"},{"name":"telemetry-flush","duration":29408,"timestamp":104235724297,"id":114,"parentId":1,"tags":{},"startTime":1778912207971,"traceId":"b61ad9ed1f07e53a"},{"name":"next-build","duration":16161842,"timestamp":104219591890,"id":1,"tags":{"buildMode":"default","version":"16.2.3","bundler":"turbopack","has-custom-webpack-config":"false","use-build-worker":"true"},"startTime":1778912191838,"traceId":"b61ad9ed1f07e53a"}]
|
package/.next/trace-build
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
[{"name":"run-turbopack","duration":
|
|
1
|
+
[{"name":"run-turbopack","duration":5406962,"timestamp":104219825071,"id":14,"parentId":1,"tags":{},"startTime":1778912192071,"traceId":"b61ad9ed1f07e53a"},{"name":"turbopack-build-events","duration":151,"timestamp":104220108878,"id":15,"parentId":1,"tags":{},"startTime":1778912192355,"traceId":"b61ad9ed1f07e53a"},{"name":"run-typescript","duration":8984953,"timestamp":104225243546,"id":16,"parentId":1,"tags":{},"startTime":1778912197490,"traceId":"b61ad9ed1f07e53a"},{"name":"static-check","duration":698184,"timestamp":104234395641,"id":19,"parentId":1,"tags":{},"startTime":1778912206642,"traceId":"b61ad9ed1f07e53a"},{"name":"static-generation","duration":588300,"timestamp":104235104753,"id":105,"parentId":1,"tags":{},"startTime":1778912207351,"traceId":"b61ad9ed1f07e53a"},{"name":"telemetry-flush","duration":29408,"timestamp":104235724297,"id":114,"parentId":1,"tags":{},"startTime":1778912207971,"traceId":"b61ad9ed1f07e53a"},{"name":"next-build","duration":16161842,"timestamp":104219591890,"id":1,"tags":{"buildMode":"default","version":"16.2.3","bundler":"turbopack","has-custom-webpack-config":"false","use-build-worker":"true"},"startTime":1778912191838,"traceId":"b61ad9ed1f07e53a"}]
|
|
@@ -4921,19 +4921,44 @@ export function TopoGraph({ sessions, sseSessions, renameSignal }: TopoGraphProp
|
|
|
4921
4921
|
: undefined
|
|
4922
4922
|
}
|
|
4923
4923
|
>
|
|
4924
|
-
{/* Round
|
|
4925
|
-
|
|
4926
|
-
|
|
4927
|
-
|
|
4928
|
-
|
|
4929
|
-
|
|
4930
|
-
|
|
4931
|
-
|
|
4932
|
-
|
|
4933
|
-
|
|
4934
|
-
|
|
4935
|
-
|
|
4936
|
-
|
|
4924
|
+
{/* Round 278 / Loop: per-node working halo breath
|
|
4925
|
+
(R112+R226+R244 family) RETIRED per Vincent
|
|
4926
|
+
5214/5215-5217 simplification ask (减法 cut #4
|
|
4927
|
+
after R275 chip-row, R276 orbit, R277 legend).
|
|
4928
|
+
|
|
4929
|
+
The breath was: each working agent's halo pulses
|
|
4930
|
+
0.73→0.92→0.73 (cyber 0.53→0.78→0.53) at 3 s
|
|
4931
|
+
cycle, R226-staggered per-node, R244-eased. For
|
|
4932
|
+
a 4-working fleet that's 4 simultaneous SMIL
|
|
4933
|
+
breaths competing with the hub-halo breath
|
|
4934
|
+
(R244 hub) for the "fleet busyness" visual
|
|
4935
|
+
signal.
|
|
4936
|
+
|
|
4937
|
+
The signal is info-redundant: the hub-halo
|
|
4938
|
+
breath ALREADY conveys "the network is alive
|
|
4939
|
+
and busy"; per-node halo breath duplicates it
|
|
4940
|
+
at 4× volume. Plus working nodes are ALREADY
|
|
4941
|
+
distinguished by their halo color (status.halo
|
|
4942
|
+
green/teal/slate via R12 trio) — the static
|
|
4943
|
+
halo carries identity, the moving breath was
|
|
4944
|
+
decorative motion on top.
|
|
4945
|
+
|
|
4946
|
+
R278 gates the SMIL animate with `false &&` so
|
|
4947
|
+
the code remains for rollback. Halo opacity
|
|
4948
|
+
stays at the BASE (non-breathing) values via
|
|
4949
|
+
the parent circle's `opacity` attr (0.85/0.65/
|
|
4950
|
+
0.4/0.25 from R12 + isOnline gate). Working
|
|
4951
|
+
nodes still show green halos; they just don't
|
|
4952
|
+
pulse.
|
|
4953
|
+
|
|
4954
|
+
Net: -4 SMIL animations on canvas for typical
|
|
4955
|
+
4-working fleet. Combined with R276 orbit
|
|
4956
|
+
retirement (-4) and the hub halo breath kept
|
|
4957
|
+
as the SOLE "fleet busyness" motion signal,
|
|
4958
|
+
the canvas reads quieter. R226 + R244 per-node
|
|
4959
|
+
stagger / ease constants are dead code post-
|
|
4960
|
+
R278 (acceptable — family retires together). */}
|
|
4961
|
+
{false && !reducedMotion && session.status === 'working' && (
|
|
4937
4962
|
<animate
|
|
4938
4963
|
attributeName="opacity"
|
|
4939
4964
|
values={isLight ? '0.73;0.92;0.73' : '0.53;0.78;0.53'}
|
|
@@ -6277,7 +6302,7 @@ export function TopoGraph({ sessions, sseSessions, renameSignal }: TopoGraphProp
|
|
|
6277
6302
|
(no snap on cyber↔light switch). Same 200ms cadence
|
|
6278
6303
|
across the panel pair. */}
|
|
6279
6304
|
<rect
|
|
6280
|
-
x="0" y="0" width="224" height="
|
|
6305
|
+
x="0" y="0" width="224" height="88" rx="8"
|
|
6281
6306
|
fill={pal.legendBox.fill}
|
|
6282
6307
|
stroke={pal.legendBox.stroke}
|
|
6283
6308
|
opacity={isLight ? 0.97 : 0.92}
|
|
@@ -6330,8 +6355,25 @@ export function TopoGraph({ sessions, sseSessions, renameSignal }: TopoGraphProp
|
|
|
6330
6355
|
// to clear the new header row. R57 panel rect grew 96 →
|
|
6331
6356
|
// 104 to seat them.
|
|
6332
6357
|
const rows = [
|
|
6358
|
+
/* Round 277 / Loop: legend panel compress 104 → 88 (matches
|
|
6359
|
+
recent-signal panel height post-R256) per Vincent
|
|
6360
|
+
5214/5215-5217 simplification ask. Row stride drops
|
|
6361
|
+
24 → 18: row 1 working anchored at y0=32 (unchanged so
|
|
6362
|
+
R271 hitbox-swatch-center test at y=21 still passes);
|
|
6363
|
+
row 2 idle y0=56→50 (-6); row 3 offline y0=80→68 (-12).
|
|
6364
|
+
Flow-arrow swatch path (line ~6607) tracks new offline
|
|
6365
|
+
cy from y=80 to y=68. Net: legend panel takes ~15%
|
|
6366
|
+
less vertical chrome, panel pair (recent-signal+
|
|
6367
|
+
legend) now share same height = symmetric corner
|
|
6368
|
+
pair. Tests still pass: R257/R266/R269/R274 probe
|
|
6369
|
+
x attrs, fill transitions, text content — none
|
|
6370
|
+
sensitive to y0 stride. R271 probes working row
|
|
6371
|
+
hitbox y=21 (row.y0-11 with row.y0=32), unchanged.
|
|
6372
|
+
Corner-to-center distance increases (panel ends
|
|
6373
|
+
higher, further from center) — geometric ring-clear
|
|
6374
|
+
improves slightly. */
|
|
6333
6375
|
{ key: 'working' as const, y0: 32, y1: 36, fill: isLight ? '#059669' : '#22c55e', label: 'working node', count: workingCount },
|
|
6334
|
-
{ key: 'idle' as const, y0:
|
|
6376
|
+
{ key: 'idle' as const, y0: 50, y1: 54, fill: isLight ? '#0d9488' : '#2dd4bf', label: 'online idle', count: idleCount },
|
|
6335
6377
|
/* Round 269 / Loop: " / " → " · " delimiter unification.
|
|
6336
6378
|
R138 swept the recent-signal row separators from
|
|
6337
6379
|
ASCII " / " to typographic " · " (matching filter
|
|
@@ -6340,7 +6382,7 @@ export function TopoGraph({ sessions, sseSessions, renameSignal }: TopoGraphProp
|
|
|
6340
6382
|
LAST hardcoded " / " holdover in TopoGraph. Same
|
|
6341
6383
|
monospace cell width (no layout shift), completes
|
|
6342
6384
|
the R138 delimiter sweep. */
|
|
6343
|
-
{ key: 'offline' as const, y0:
|
|
6385
|
+
{ key: 'offline' as const, y0: 68, y1: 72, fill: isLight ? '#94a3b8' : '#6b7280', label: 'offline · no SSE', count: offlineNodes.length },
|
|
6344
6386
|
];
|
|
6345
6387
|
return rows;
|
|
6346
6388
|
})().map(row => {
|
|
@@ -6604,7 +6646,13 @@ export function TopoGraph({ sessions, sseSessions, renameSignal }: TopoGraphProp
|
|
|
6604
6646
|
{/* Round 254 / Loop: legend flow-arrow swatch stroke
|
|
6605
6647
|
transition for theme toggle (cyber #67e8f9 ↔ light
|
|
6606
6648
|
#10b981). Last theme-driven legend element snap. */}
|
|
6607
|
-
|
|
6649
|
+
{/* Round 277 / Loop: flow-arrow path tracks new offline-row
|
|
6650
|
+
cy=68 after the legend panel compress (was 80 pre-R277).
|
|
6651
|
+
Endpoints follow the offline row to keep the swatch
|
|
6652
|
+
logically tied to the row it demonstrates; control point
|
|
6653
|
+
proportionally shifts so apex stays mid-arc between
|
|
6654
|
+
rows 2 and 3. */}
|
|
6655
|
+
<path d="M140,68 Q164,44 196,68" fill="none" stroke={pal.flowEdge} strokeWidth="3" markerEnd="url(#topo-arrow)" data-legend-flow-arrow style={{ pointerEvents: 'none', transition: 'stroke 200ms ease-out' }} />
|
|
6608
6656
|
</g>
|
|
6609
6657
|
</svg>
|
|
6610
6658
|
|
package/package.json
CHANGED
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
/* Round 277 verification: legend panel compress 104 → 88, matching the
|
|
2
|
+
* recent-signal panel's height post-R256. Row stride 24 → 18.
|
|
3
|
+
*
|
|
4
|
+
* Pre-R277:
|
|
5
|
+
* Panel: 224×104, rx=8
|
|
6
|
+
* Row 1 (working): y0=32, y1=36
|
|
7
|
+
* Row 2 (idle): y0=56, y1=60
|
|
8
|
+
* Row 3 (offline): y0=80, y1=84
|
|
9
|
+
* Flow-arrow: M140,80 Q164,56 196,80 (endpoints y=80)
|
|
10
|
+
*
|
|
11
|
+
* Post-R277:
|
|
12
|
+
* Panel: 224×88, rx=8
|
|
13
|
+
* Row 1 (working): y0=32, y1=36 (anchored — R271 hitbox y=21 invariant)
|
|
14
|
+
* Row 2 (idle): y0=50, y1=54 (-6)
|
|
15
|
+
* Row 3 (offline): y0=68, y1=72 (-12)
|
|
16
|
+
* Flow-arrow: M140,68 Q164,44 196,68 (tracks new offline cy)
|
|
17
|
+
*
|
|
18
|
+
* Net: legend panel takes ~15% less vertical chrome; panel pair
|
|
19
|
+
* (recent-signal 88 + legend 88) now share the same height. Third
|
|
20
|
+
* 减法 cut after R275 (FreshnessChip conditional) + R276 (orbit
|
|
21
|
+
* particles retired).
|
|
22
|
+
*
|
|
23
|
+
* Test scope:
|
|
24
|
+
* 1. Legend panel rect height === 88.
|
|
25
|
+
* 2. Recent-signal panel rect height === 88 (regression — R256 invariant).
|
|
26
|
+
* 3. Working row hitbox y === 21 (R271 invariant: row.y0=32 unchanged).
|
|
27
|
+
* 4. Flow-arrow path starts with "M140,68" (tracks new offline cy=68).
|
|
28
|
+
* 5. R275 freshness chip absent at fresh (regression).
|
|
29
|
+
* 6. R276 orbit particles absent (regression).
|
|
30
|
+
*/
|
|
31
|
+
import { chromium } from 'playwright';
|
|
32
|
+
import { readFileSync } from 'node:fs';
|
|
33
|
+
|
|
34
|
+
const TOKEN = JSON.parse(readFileSync('/home/vansin/.anet/config.json', 'utf8')).token;
|
|
35
|
+
const browser = await chromium.launch({ headless: true });
|
|
36
|
+
const ctx = await browser.newContext({ viewport: { width: 1500, height: 1500 } });
|
|
37
|
+
await ctx.addCookies([{ name: 'anet_dashboard_session', value: `v3:${TOKEN}`, domain: '127.0.0.1', path: '/' }]);
|
|
38
|
+
await ctx.addInitScript(() => {
|
|
39
|
+
try { localStorage.setItem('anet-theme', 'cyber'); sessionStorage.setItem('anet_v3_auth', '1'); } catch {}
|
|
40
|
+
});
|
|
41
|
+
const fresh = new Date(Date.now() - 60 * 1000).toISOString();
|
|
42
|
+
await ctx.route('**/api/hub/status*', async (route) => {
|
|
43
|
+
const r = await route.fetch();
|
|
44
|
+
const b = await r.json();
|
|
45
|
+
const nid = (b.sessions || [])[0]?.network_id || 'default';
|
|
46
|
+
const mk = (alias) => ({
|
|
47
|
+
alias, status: 'working', model: 'claude-opus-4', runtime: 'claude-code-cli',
|
|
48
|
+
network_id: nid, project_dir: null,
|
|
49
|
+
created_at: fresh, updated_at: fresh, last_seen_at: fresh,
|
|
50
|
+
});
|
|
51
|
+
await route.fulfill({ response: r, json: { ...b, sessions: [
|
|
52
|
+
mk('alpha'), mk('beta'), mk('gamma'), mk('delta'),
|
|
53
|
+
] } });
|
|
54
|
+
});
|
|
55
|
+
await ctx.route('**/api/hub/messages*', (r) => r.fulfill({ json: { messages: [] } }));
|
|
56
|
+
await ctx.route('**/api/hub/tasks*', (r) => r.fulfill({ json: { tasks: [] } }));
|
|
57
|
+
|
|
58
|
+
const page = await ctx.newPage();
|
|
59
|
+
await page.goto('http://127.0.0.1:3000/', { waitUntil: 'domcontentloaded' });
|
|
60
|
+
await page.waitForFunction(() => document.querySelectorAll('g[data-node]').length === 4, { timeout: 30000 });
|
|
61
|
+
await page.waitForSelector('[data-topo-panel="legend"]', { timeout: 10000 });
|
|
62
|
+
await page.waitForSelector('[data-topo-panel="recent"]', { timeout: 10000 });
|
|
63
|
+
await page.waitForSelector('[data-legend-status="working"] rect', { timeout: 10000 });
|
|
64
|
+
await page.waitForSelector('[data-legend-flow-arrow]', { timeout: 10000 });
|
|
65
|
+
await page.waitForTimeout(300);
|
|
66
|
+
|
|
67
|
+
// Hover working row to materialize the tinted hitbox rect for the
|
|
68
|
+
// y=21 invariant check (R271). Without hover the rect carries the
|
|
69
|
+
// same y attr but tint fills are transparent.
|
|
70
|
+
await page.locator('[data-legend-status="working"]').hover();
|
|
71
|
+
await page.waitForTimeout(150);
|
|
72
|
+
|
|
73
|
+
const probe = await page.evaluate(() => {
|
|
74
|
+
const legendG = document.querySelector('[data-topo-panel="legend"]');
|
|
75
|
+
const recentG = document.querySelector('[data-topo-panel="recent"]');
|
|
76
|
+
const workingRow = document.querySelector('[data-legend-status="working"]');
|
|
77
|
+
const workingHitbox = workingRow ? workingRow.querySelector('rect') : null;
|
|
78
|
+
const flowArrow = document.querySelector('[data-legend-flow-arrow]');
|
|
79
|
+
const freshnessChip = document.querySelector('[data-freshness-chip]');
|
|
80
|
+
const orbits = document.querySelectorAll('[data-topo-orbit-bucket]');
|
|
81
|
+
return {
|
|
82
|
+
legendHeight: legendG?.querySelector('rect')?.getAttribute('height') ?? null,
|
|
83
|
+
recentHeight: recentG?.querySelector('rect')?.getAttribute('height') ?? null,
|
|
84
|
+
workingHitboxY: workingHitbox ? +workingHitbox.getAttribute('y') : null,
|
|
85
|
+
flowArrowD: flowArrow ? flowArrow.getAttribute('d') : null,
|
|
86
|
+
freshnessPresent: freshnessChip !== null,
|
|
87
|
+
orbitCount: orbits.length,
|
|
88
|
+
};
|
|
89
|
+
});
|
|
90
|
+
await browser.close();
|
|
91
|
+
|
|
92
|
+
const results = {
|
|
93
|
+
legend_height_88: probe.legendHeight === '88',
|
|
94
|
+
recent_height_88_regression: probe.recentHeight === '88',
|
|
95
|
+
r271_working_hitbox_y_21: probe.workingHitboxY === 21,
|
|
96
|
+
flow_arrow_starts_at_y68: probe.flowArrowD === 'M140,68 Q164,44 196,68',
|
|
97
|
+
r275_freshness_absent: probe.freshnessPresent === false,
|
|
98
|
+
r276_orbit_absent: probe.orbitCount === 0,
|
|
99
|
+
};
|
|
100
|
+
const ok = Object.values(results).every(Boolean);
|
|
101
|
+
console.log(`${ok ? '✅' : '❌'} legend compress:`, JSON.stringify(results),
|
|
102
|
+
'\n legend height:', probe.legendHeight,
|
|
103
|
+
'\n recent height:', probe.recentHeight,
|
|
104
|
+
'\n working hitbox y:', probe.workingHitboxY,
|
|
105
|
+
'\n flow arrow d:', probe.flowArrowD,
|
|
106
|
+
'\n orbit count:', probe.orbitCount);
|
|
107
|
+
process.exit(ok ? 0 : 1);
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
/* Round 278 verification: working halo breath SMIL retired (R112 +
|
|
2
|
+
* R226 + R244 family) — 减法 cut #4.
|
|
3
|
+
*
|
|
4
|
+
* Pre-R278 each working node's halo <circle r=radius+8> contained a
|
|
5
|
+
* <animate attributeName="opacity" ...> child that pulsed
|
|
6
|
+
* 0.73→0.92→0.73 (cyber 0.53→0.78→0.53) at 3s cycle, R226-staggered
|
|
7
|
+
* per-node by (nodeIdx * 0.37) % 3, R244 spline-eased.
|
|
8
|
+
*
|
|
9
|
+
* For a 4-working fleet that's 4 simultaneous SMIL breaths competing
|
|
10
|
+
* with the hub-halo breath (R244 hub) for the "fleet busyness" visual
|
|
11
|
+
* signal. The signal is info-redundant: hub-halo breath already
|
|
12
|
+
* conveys "alive and busy"; per-node halo breath duplicates at 4×
|
|
13
|
+
* volume. Working nodes are also distinguished by their halo COLOR
|
|
14
|
+
* (R12 status trio green halo), so identity stays without motion.
|
|
15
|
+
*
|
|
16
|
+
* Post-R278 the SMIL animate is gated `false &&` — halo opacity stays
|
|
17
|
+
* at the base value via the parent circle's opacity attr (no breath).
|
|
18
|
+
* Working node halos visible but static.
|
|
19
|
+
*
|
|
20
|
+
* Test scope:
|
|
21
|
+
* 1. No `<animate>` child inside working node halos (the
|
|
22
|
+
* <circle r=radius+8 ...>). Probe by looking for animate inside
|
|
23
|
+
* circles tagged data-node-halo-breath='on'.
|
|
24
|
+
* 2. Halo circles still PRESENT (info preserved — just static).
|
|
25
|
+
* 3. R275 freshness chip absent at fresh (regression).
|
|
26
|
+
* 4. R276 orbit particles absent (regression).
|
|
27
|
+
* 5. R277 legend panel height === 88 (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-node-halo-breath]', { timeout: 10000 });
|
|
60
|
+
await page.waitForSelector('[data-topo-panel="legend"]', { timeout: 10000 });
|
|
61
|
+
await page.waitForTimeout(300);
|
|
62
|
+
|
|
63
|
+
const probe = await page.evaluate(() => {
|
|
64
|
+
// Working node halos — they should still exist (info preserved)
|
|
65
|
+
// but should NOT contain <animate> children (SMIL retired).
|
|
66
|
+
const halos = document.querySelectorAll('[data-node-halo-breath="on"]');
|
|
67
|
+
let animateChildCount = 0;
|
|
68
|
+
halos.forEach((h) => {
|
|
69
|
+
animateChildCount += h.querySelectorAll('animate').length;
|
|
70
|
+
});
|
|
71
|
+
const freshnessChip = document.querySelector('[data-freshness-chip]');
|
|
72
|
+
const orbits = document.querySelectorAll('[data-topo-orbit-bucket]');
|
|
73
|
+
const legendG = document.querySelector('[data-topo-panel="legend"]');
|
|
74
|
+
const legendH = legendG?.querySelector('rect')?.getAttribute('height') ?? null;
|
|
75
|
+
return {
|
|
76
|
+
haloCount: halos.length,
|
|
77
|
+
haloAnimateCount: animateChildCount,
|
|
78
|
+
freshnessPresent: freshnessChip !== null,
|
|
79
|
+
orbitCount: orbits.length,
|
|
80
|
+
legendHeight: legendH,
|
|
81
|
+
};
|
|
82
|
+
});
|
|
83
|
+
await browser.close();
|
|
84
|
+
|
|
85
|
+
const results = {
|
|
86
|
+
halos_still_present: probe.haloCount >= 4,
|
|
87
|
+
halo_animate_count_zero: probe.haloAnimateCount === 0,
|
|
88
|
+
r275_freshness_absent: probe.freshnessPresent === false,
|
|
89
|
+
r276_orbit_absent: probe.orbitCount === 0,
|
|
90
|
+
r277_legend_height_88: probe.legendHeight === '88',
|
|
91
|
+
};
|
|
92
|
+
const ok = Object.values(results).every(Boolean);
|
|
93
|
+
console.log(`${ok ? '✅' : '❌'} working halo breath retired:`, JSON.stringify(results),
|
|
94
|
+
'\n halo count (expect >=4):', probe.haloCount,
|
|
95
|
+
'\n halo <animate> children (expect 0):', probe.haloAnimateCount,
|
|
96
|
+
'\n freshness absent:', !probe.freshnessPresent,
|
|
97
|
+
'\n orbit count (expect 0):', probe.orbitCount,
|
|
98
|
+
'\n legend height:', probe.legendHeight);
|
|
99
|
+
process.exit(ok ? 0 : 1);
|