@sleep2agi/agent-network-dashboard 0.5.2-preview.9 → 0.5.2
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 +7 -7
- package/.next/fallback-build-manifest.json +3 -3
- package/.next/server/app/_global-error.html +1 -1
- package/.next/server/app/_global-error.rsc +1 -1
- package/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/_not-found.html +1 -1
- package/.next/server/app/_not-found.rsc +1 -1
- package/.next/server/app/_not-found.segments/_full.segment.rsc +1 -1
- package/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
- package/.next/server/app/_not-found.segments/_index.segment.rsc +1 -1
- package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
- package/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/admin.html +1 -1
- package/.next/server/app/admin.rsc +1 -1
- package/.next/server/app/admin.segments/_full.segment.rsc +1 -1
- package/.next/server/app/admin.segments/_head.segment.rsc +1 -1
- package/.next/server/app/admin.segments/_index.segment.rsc +1 -1
- package/.next/server/app/admin.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/admin.segments/admin/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/admin.segments/admin.segment.rsc +1 -1
- package/.next/server/app/index.html +2 -2
- package/.next/server/app/index.rsc +2 -2
- package/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
- package/.next/server/app/index.segments/_full.segment.rsc +2 -2
- package/.next/server/app/index.segments/_head.segment.rsc +1 -1
- package/.next/server/app/index.segments/_index.segment.rsc +1 -1
- package/.next/server/app/index.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/login/page_client-reference-manifest.js +1 -1
- package/.next/server/app/login.html +2 -2
- package/.next/server/app/login.rsc +2 -2
- package/.next/server/app/login.segments/_full.segment.rsc +2 -2
- package/.next/server/app/login.segments/_head.segment.rsc +1 -1
- package/.next/server/app/login.segments/_index.segment.rsc +1 -1
- package/.next/server/app/login.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/login.segments/login/__PAGE__.segment.rsc +2 -2
- package/.next/server/app/login.segments/login.segment.rsc +1 -1
- package/.next/server/app/logs.html +1 -1
- package/.next/server/app/logs.rsc +1 -1
- package/.next/server/app/logs.segments/_full.segment.rsc +1 -1
- package/.next/server/app/logs.segments/_head.segment.rsc +1 -1
- package/.next/server/app/logs.segments/_index.segment.rsc +1 -1
- package/.next/server/app/logs.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/logs.segments/logs/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/logs.segments/logs.segment.rsc +1 -1
- package/.next/server/app/messages.html +1 -1
- package/.next/server/app/messages.rsc +1 -1
- package/.next/server/app/messages.segments/_full.segment.rsc +1 -1
- package/.next/server/app/messages.segments/_head.segment.rsc +1 -1
- package/.next/server/app/messages.segments/_index.segment.rsc +1 -1
- package/.next/server/app/messages.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/messages.segments/messages/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/messages.segments/messages.segment.rsc +1 -1
- package/.next/server/app/node.html +1 -1
- package/.next/server/app/node.rsc +1 -1
- package/.next/server/app/node.segments/_full.segment.rsc +1 -1
- package/.next/server/app/node.segments/_head.segment.rsc +1 -1
- package/.next/server/app/node.segments/_index.segment.rsc +1 -1
- package/.next/server/app/node.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/node.segments/node/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/node.segments/node.segment.rsc +1 -1
- package/.next/server/app/nodes.html +1 -1
- package/.next/server/app/nodes.rsc +1 -1
- package/.next/server/app/nodes.segments/_full.segment.rsc +1 -1
- package/.next/server/app/nodes.segments/_head.segment.rsc +1 -1
- package/.next/server/app/nodes.segments/_index.segment.rsc +1 -1
- package/.next/server/app/nodes.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/nodes.segments/nodes/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/nodes.segments/nodes.segment.rsc +1 -1
- package/.next/server/app/page_client-reference-manifest.js +1 -1
- package/.next/server/app/server-logs.html +1 -1
- package/.next/server/app/server-logs.rsc +1 -1
- package/.next/server/app/server-logs.segments/_full.segment.rsc +1 -1
- package/.next/server/app/server-logs.segments/_head.segment.rsc +1 -1
- package/.next/server/app/server-logs.segments/_index.segment.rsc +1 -1
- package/.next/server/app/server-logs.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/server-logs.segments/server-logs/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/server-logs.segments/server-logs.segment.rsc +1 -1
- package/.next/server/app/settings/networks.html +1 -1
- package/.next/server/app/settings/networks.rsc +1 -1
- package/.next/server/app/settings/networks.segments/_full.segment.rsc +1 -1
- package/.next/server/app/settings/networks.segments/_head.segment.rsc +1 -1
- package/.next/server/app/settings/networks.segments/_index.segment.rsc +1 -1
- package/.next/server/app/settings/networks.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/settings/networks.segments/settings/networks/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/settings/networks.segments/settings/networks.segment.rsc +1 -1
- package/.next/server/app/settings/networks.segments/settings.segment.rsc +1 -1
- package/.next/server/app/settings/page_client-reference-manifest.js +1 -1
- package/.next/server/app/settings/tokens.html +1 -1
- package/.next/server/app/settings/tokens.rsc +1 -1
- package/.next/server/app/settings/tokens.segments/_full.segment.rsc +1 -1
- package/.next/server/app/settings/tokens.segments/_head.segment.rsc +1 -1
- package/.next/server/app/settings/tokens.segments/_index.segment.rsc +1 -1
- package/.next/server/app/settings/tokens.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/settings/tokens.segments/settings/tokens/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/settings/tokens.segments/settings/tokens.segment.rsc +1 -1
- package/.next/server/app/settings/tokens.segments/settings.segment.rsc +1 -1
- package/.next/server/app/settings.html +2 -2
- package/.next/server/app/settings.rsc +2 -2
- package/.next/server/app/settings.segments/_full.segment.rsc +2 -2
- package/.next/server/app/settings.segments/_head.segment.rsc +1 -1
- package/.next/server/app/settings.segments/_index.segment.rsc +1 -1
- package/.next/server/app/settings.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/settings.segments/settings/__PAGE__.segment.rsc +2 -2
- package/.next/server/app/settings.segments/settings.segment.rsc +1 -1
- package/.next/server/app/tasks.html +1 -1
- package/.next/server/app/tasks.rsc +1 -1
- package/.next/server/app/tasks.segments/_full.segment.rsc +1 -1
- package/.next/server/app/tasks.segments/_head.segment.rsc +1 -1
- package/.next/server/app/tasks.segments/_index.segment.rsc +1 -1
- package/.next/server/app/tasks.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/tasks.segments/tasks/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/tasks.segments/tasks.segment.rsc +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__0sv~g.o._.js +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__0sv~g.o._.js.map +1 -1
- package/.next/server/chunks/ssr/agent-network-dashboard_09kk21a._.js +3 -3
- package/.next/server/chunks/ssr/agent-network-dashboard_09kk21a._.js.map +1 -1
- package/.next/server/chunks/ssr/agent-network-dashboard_app_01jhlxz._.js +1 -1
- package/.next/server/chunks/ssr/agent-network-dashboard_app_01jhlxz._.js.map +1 -1
- package/.next/server/chunks/ssr/agent-network-dashboard_app_09d29my._.js +1 -1
- package/.next/server/chunks/ssr/agent-network-dashboard_app_09d29my._.js.map +1 -1
- package/.next/server/middleware-build-manifest.js +3 -3
- package/.next/server/pages/404.html +1 -1
- package/.next/server/pages/500.html +1 -1
- package/.next/static/chunks/{167vt72829uc..js → 0f8e_np0z2f~m.js} +1 -1
- package/.next/static/chunks/0u-~k4hsu~8wq.js +4 -0
- package/.next/static/chunks/13ro4cw~e4_99.js +1 -0
- package/.next/static/chunks/14c.ui5lbvctz.js +1 -0
- package/.next/trace +2 -2
- package/.next/trace-build +1 -1
- package/app/components/TopoGraph.tsx +242 -29
- package/package.json +1 -1
- package/screenshots/v0.10.4-150-orphans/after.png +0 -0
- package/scripts/p150-orphan-layout-screenshot.mjs +82 -0
- package/scripts/topo-edge-badge-hot-glow-test.mjs +101 -0
- package/scripts/topo-edge-particle-opacity-lift-test.mjs +109 -0
- package/scripts/topo-group-label-glow-test.mjs +104 -0
- package/scripts/topo-legend-panel-title-fw-test.mjs +95 -0
- package/scripts/topo-minimap-dot-lift-test.mjs +115 -0
- package/scripts/topo-minimap-zoom-glow-test.mjs +86 -0
- package/scripts/topo-orphan-band-test.mjs +106 -0
- package/scripts/topo-recent-panel-title-fw-test.mjs +106 -0
- package/scripts/topo-recent-row-ts-lift-test.mjs +97 -0
- package/.next/static/chunks/06zeyg88cp6h-.js +0 -1
- package/.next/static/chunks/0anxuadtbfxck.js +0 -1
- package/.next/static/chunks/0nw~q-jv9.x7v.js +0 -4
- /package/.next/static/{BgTBIeF-pfDSGSCiCttKZ → p5R7hozl9ewrkvLpgzAoX}/_buildManifest.js +0 -0
- /package/.next/static/{BgTBIeF-pfDSGSCiCttKZ → p5R7hozl9ewrkvLpgzAoX}/_clientMiddlewareManifest.js +0 -0
- /package/.next/static/{BgTBIeF-pfDSGSCiCttKZ → p5R7hozl9ewrkvLpgzAoX}/_ssgManifest.js +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,70286,e=>{"use strict";e.s(["DASHBOARD_VERSION",0,"0.5.2-preview.18"],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]})]})]})]})}])}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,59276,e=>{"use strict";var s=e.i(12629),a=e.i(11449);let t=async e=>{let s=await fetch(e);if(401===s.status)throw window.location.assign("/login"),Error("unauthorized");return s.json()},r={refreshInterval:5e3,dedupingInterval:3e3};function n(e,s){if(!s)return e;let a=e.includes("?")?"&":"?";return`${e}${a}network_id=${encodeURIComponent(s)}`}e.s(["useAnetConfig",0,function(){let{data:e}=(0,s.default)("/api/anet/config",t,{refreshInterval:3e4});return{config:e||null}},"useHealth",0,function(){let{data:e,error:a}=(0,s.default)("/api/hub/health",t,r);return{health:e||null,error:a}},"useLicense",0,function(){let{data:e,error:a}=(0,s.default)("/api/hub/license",t,{refreshInterval:6e4});return{license:e?.ok?e:null,error:a}},"useMessages",0,function(e=100){let{networkId:l}=(0,a.useNetworkId)(),{data:i,error:c,isLoading:d}=(0,s.default)(n(`/api/hub/messages?limit=${e}`,l),t,r);return{messages:i?.messages||[],error:c,isLoading:d}},"useSessions",0,function(){let{networkId:e}=(0,a.useNetworkId)(),{data:l,error:i,isLoading:c}=(0,s.default)(n("/api/hub/status",e),t,r);return{sessions:l?.sessions||[],hint:l?._hint,error:i,isLoading:c}},"useStats",0,function(){let{networkId:e}=(0,a.useNetworkId)(),{data:l,error:i}=(0,s.default)(n("/api/hub/stats",e),t,r);return{stats:l?.ok?l:null,error:i}},"useTasks",0,function(e){let{networkId:l}=(0,a.useNetworkId)(),i=new URLSearchParams({limit:"100",...e}).toString(),{data:c,error:d,isLoading:o}=(0,s.default)(n(`/api/hub/tasks?${i}`,l),t,r);return{tasks:c?.tasks||[],count:c?.count??0,source:c?.source,error:d,isLoading:o}}])},70286,e=>{"use strict";e.s(["DASHBOARD_VERSION",0,"0.5.2-preview.18"],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":312,"timestamp":180105188789,"id":4,"parentId":1,"tags":{},"startTime":1778988077435,"traceId":"3ceed01ac8b0e137"},{"name":"load-custom-routes","duration":703,"timestamp":180105189260,"id":5,"parentId":1,"tags":{},"startTime":1778988077436,"traceId":"3ceed01ac8b0e137"},{"name":"create-dist-dir","duration":830,"timestamp":180105190049,"id":6,"parentId":1,"tags":{},"startTime":1778988077436,"traceId":"3ceed01ac8b0e137"},{"name":"clean","duration":35161,"timestamp":180105191741,"id":7,"parentId":1,"tags":{},"startTime":1778988077438,"traceId":"3ceed01ac8b0e137"},{"name":"discover-routes","duration":25139,"timestamp":180105310154,"id":8,"parentId":1,"tags":{},"startTime":1778988077556,"traceId":"3ceed01ac8b0e137"},{"name":"create-root-mapping","duration":192,"timestamp":180105335371,"id":9,"parentId":1,"tags":{},"startTime":1778988077582,"traceId":"3ceed01ac8b0e137"},{"name":"generate-route-types","duration":22245,"timestamp":180105338617,"id":10,"parentId":1,"tags":{},"startTime":1778988077585,"traceId":"3ceed01ac8b0e137"},{"name":"public-dir-conflict-check","duration":119,"timestamp":180105360946,"id":11,"parentId":1,"tags":{},"startTime":1778988077607,"traceId":"3ceed01ac8b0e137"},{"name":"generate-routes-manifest","duration":5356,"timestamp":180105361201,"id":12,"parentId":1,"tags":{},"startTime":1778988077607,"traceId":"3ceed01ac8b0e137"},{"name":"run-turbopack","duration":6284734,"timestamp":180105380920,"id":14,"parentId":1,"tags":{},"startTime":1778988077627,"traceId":"3ceed01ac8b0e137"},{"name":"turbopack-build-events","duration":142,"timestamp":180105701948,"id":15,"parentId":1,"tags":{},"startTime":1778988077948,"traceId":"3ceed01ac8b0e137"},{"name":"run-typescript","duration":9792064,"timestamp":180111681773,"id":16,"parentId":1,"tags":{},"startTime":1778988083928,"traceId":"3ceed01ac8b0e137"},{"name":"generate-required-server-files","duration":2326,"timestamp":180121475034,"id":18,"parentId":1,"tags":{},"startTime":1778988093721,"traceId":"3ceed01ac8b0e137"},{"name":"check-static-error-page","duration":12243,"timestamp":180121676243,"id":20,"parentId":19,"tags":{},"startTime":1778988093923,"traceId":"3ceed01ac8b0e137"},{"name":"is-page-static","duration":590502,"timestamp":180121692060,"id":65,"parentId":22,"tags":{},"startTime":1778988093938,"traceId":"3ceed01ac8b0e137"},{"name":"check-page","duration":604259,"timestamp":180121678483,"id":22,"parentId":19,"tags":{"page":"/_global-error"},"startTime":1778988093925,"traceId":"3ceed01ac8b0e137"},{"name":"is-page-static","duration":627733,"timestamp":180121692256,"id":67,"parentId":26,"tags":{},"startTime":1778988093939,"traceId":"3ceed01ac8b0e137"},{"name":"check-page","duration":640841,"timestamp":180121681216,"id":26,"parentId":19,"tags":{"page":"/api/auth/logout"},"startTime":1778988093927,"traceId":"3ceed01ac8b0e137"},{"name":"is-page-static","duration":635644,"timestamp":180121693453,"id":72,"parentId":32,"tags":{},"startTime":1778988093940,"traceId":"3ceed01ac8b0e137"},{"name":"check-page","duration":647077,"timestamp":180121682097,"id":32,"parentId":19,"tags":{"page":"/api/hub/health"},"startTime":1778988093928,"traceId":"3ceed01ac8b0e137"},{"name":"is-page-static","duration":695624,"timestamp":180121693610,"id":73,"parentId":33,"tags":{},"startTime":1778988093940,"traceId":"3ceed01ac8b0e137"},{"name":"check-page","duration":707133,"timestamp":180121682188,"id":33,"parentId":19,"tags":{"page":"/api/hub/inbox"},"startTime":1778988093928,"traceId":"3ceed01ac8b0e137"},{"name":"is-page-static","duration":706802,"timestamp":180121693692,"id":74,"parentId":34,"tags":{},"startTime":1778988093940,"traceId":"3ceed01ac8b0e137"},{"name":"check-page","duration":718316,"timestamp":180121682268,"id":34,"parentId":19,"tags":{"page":"/api/hub/license"},"startTime":1778988093929,"traceId":"3ceed01ac8b0e137"},{"name":"is-page-static","duration":711294,"timestamp":180121693720,"id":75,"parentId":35,"tags":{},"startTime":1778988093940,"traceId":"3ceed01ac8b0e137"},{"name":"check-page","duration":722743,"timestamp":180121682344,"id":35,"parentId":19,"tags":{"page":"/api/hub/messages"},"startTime":1778988093929,"traceId":"3ceed01ac8b0e137"},{"name":"is-page-static","duration":718092,"timestamp":180121690933,"id":64,"parentId":21,"tags":{},"startTime":1778988093937,"traceId":"3ceed01ac8b0e137"},{"name":"check-page","duration":731749,"timestamp":180121677347,"id":21,"parentId":19,"tags":{"page":"/_not-found"},"startTime":1778988093924,"traceId":"3ceed01ac8b0e137"},{"name":"is-page-static","duration":717814,"timestamp":180121693736,"id":76,"parentId":36,"tags":{},"startTime":1778988093940,"traceId":"3ceed01ac8b0e137"},{"name":"check-page","duration":728947,"timestamp":180121682658,"id":36,"parentId":19,"tags":{"page":"/api/hub/networks"},"startTime":1778988093929,"traceId":"3ceed01ac8b0e137"},{"name":"is-page-static","duration":721380,"timestamp":180121693793,"id":78,"parentId":38,"tags":{},"startTime":1778988093940,"traceId":"3ceed01ac8b0e137"},{"name":"check-page","duration":732350,"timestamp":180121682877,"id":38,"parentId":19,"tags":{"page":"/api/hub/register"},"startTime":1778988093929,"traceId":"3ceed01ac8b0e137"},{"name":"is-page-static","duration":722140,"timestamp":180121693394,"id":71,"parentId":30,"tags":{},"startTime":1778988093940,"traceId":"3ceed01ac8b0e137"},{"name":"check-page","duration":733822,"timestamp":180121681761,"id":30,"parentId":19,"tags":{"page":"/api/hub/broadcast"},"startTime":1778988093928,"traceId":"3ceed01ac8b0e137"},{"name":"is-page-static","duration":722913,"timestamp":180121692897,"id":69,"parentId":28,"tags":{},"startTime":1778988093939,"traceId":"3ceed01ac8b0e137"},{"name":"check-page","duration":734387,"timestamp":180121681470,"id":28,"parentId":19,"tags":{"page":"/api/hub/audit-log"},"startTime":1778988093928,"traceId":"3ceed01ac8b0e137"},{"name":"is-page-static","duration":732396,"timestamp":180121693802,"id":79,"parentId":39,"tags":{},"startTime":1778988093940,"traceId":"3ceed01ac8b0e137"},{"name":"check-page","duration":743303,"timestamp":180121682952,"id":39,"parentId":19,"tags":{"page":"/api/hub/send"},"startTime":1778988093929,"traceId":"3ceed01ac8b0e137"},{"name":"is-page-static","duration":733360,"timestamp":180121693232,"id":70,"parentId":29,"tags":{},"startTime":1778988093940,"traceId":"3ceed01ac8b0e137"},{"name":"check-page","duration":745058,"timestamp":180121681591,"id":29,"parentId":19,"tags":{"page":"/api/hub/auth"},"startTime":1778988093928,"traceId":"3ceed01ac8b0e137"},{"name":"is-page-static","duration":733061,"timestamp":180121693840,"id":82,"parentId":44,"tags":{},"startTime":1778988093940,"traceId":"3ceed01ac8b0e137"},{"name":"check-page","duration":743395,"timestamp":180121683548,"id":44,"parentId":19,"tags":{"page":"/api/hub/session"},"startTime":1778988093930,"traceId":"3ceed01ac8b0e137"},{"name":"is-page-static","duration":738162,"timestamp":180121693864,"id":84,"parentId":46,"tags":{},"startTime":1778988093940,"traceId":"3ceed01ac8b0e137"},{"name":"check-page","duration":748287,"timestamp":180121683789,"id":46,"parentId":19,"tags":{"page":"/api/hub/status"},"startTime":1778988093930,"traceId":"3ceed01ac8b0e137"},{"name":"is-page-static","duration":738469,"timestamp":180121693851,"id":83,"parentId":45,"tags":{},"startTime":1778988093940,"traceId":"3ceed01ac8b0e137"},{"name":"check-page","duration":748687,"timestamp":180121683676,"id":45,"parentId":19,"tags":{"page":"/api/hub/stats"},"startTime":1778988093930,"traceId":"3ceed01ac8b0e137"},{"name":"is-page-static","duration":742540,"timestamp":180121693876,"id":85,"parentId":47,"tags":{},"startTime":1778988093940,"traceId":"3ceed01ac8b0e137"},{"name":"check-page","duration":752553,"timestamp":180121683914,"id":47,"parentId":19,"tags":{"page":"/api/hub/task-events"},"startTime":1778988093930,"traceId":"3ceed01ac8b0e137"},{"name":"is-page-static","duration":756328,"timestamp":180121693899,"id":87,"parentId":49,"tags":{},"startTime":1778988093940,"traceId":"3ceed01ac8b0e137"},{"name":"check-page","duration":764785,"timestamp":180121685504,"id":49,"parentId":19,"tags":{"page":"/api/hub/tmux"},"startTime":1778988093932,"traceId":"3ceed01ac8b0e137"},{"name":"is-page-static","duration":757526,"timestamp":180121693818,"id":80,"parentId":40,"tags":{},"startTime":1778988093940,"traceId":"3ceed01ac8b0e137"},{"name":"check-page","duration":768365,"timestamp":180121683035,"id":40,"parentId":19,"tags":{"page":"/api/hub/server-logs"},"startTime":1778988093929,"traceId":"3ceed01ac8b0e137"},{"name":"is-page-static","duration":760768,"timestamp":180121693913,"id":88,"parentId":50,"tags":{},"startTime":1778988093940,"traceId":"3ceed01ac8b0e137"},{"name":"check-page","duration":769124,"timestamp":180121685599,"id":50,"parentId":19,"tags":{"page":"/api/hub/tokens"},"startTime":1778988093932,"traceId":"3ceed01ac8b0e137"},{"name":"is-page-static","duration":770145,"timestamp":180121693886,"id":86,"parentId":48,"tags":{},"startTime":1778988093940,"traceId":"3ceed01ac8b0e137"},{"name":"check-page","duration":780055,"timestamp":180121684045,"id":48,"parentId":19,"tags":{"page":"/api/hub/tasks"},"startTime":1778988093930,"traceId":"3ceed01ac8b0e137"},{"name":"is-page-static","duration":766098,"timestamp":180121705116,"id":90,"parentId":24,"tags":{},"startTime":1778988093951,"traceId":"3ceed01ac8b0e137"},{"name":"check-page","duration":792382,"timestamp":180121678889,"id":24,"parentId":19,"tags":{"page":"/api/anet/config"},"startTime":1778988093925,"traceId":"3ceed01ac8b0e137"},{"name":"is-page-static","duration":763225,"timestamp":180121710843,"id":91,"parentId":31,"tags":{},"startTime":1778988093957,"traceId":"3ceed01ac8b0e137"},{"name":"check-page","duration":792244,"timestamp":180121681880,"id":31,"parentId":19,"tags":{"page":"/api/hub/events"},"startTime":1778988093928,"traceId":"3ceed01ac8b0e137"},{"name":"is-page-static","duration":759140,"timestamp":180121726094,"id":93,"parentId":43,"tags":{},"startTime":1778988093972,"traceId":"3ceed01ac8b0e137"},{"name":"check-page","duration":802193,"timestamp":180121683367,"id":43,"parentId":19,"tags":{"page":"/api/hub/servers"},"startTime":1778988093930,"traceId":"3ceed01ac8b0e137"},{"name":"is-page-static","duration":792023,"timestamp":180121693831,"id":81,"parentId":42,"tags":{},"startTime":1778988093940,"traceId":"3ceed01ac8b0e137"},{"name":"check-page","duration":802649,"timestamp":180121683276,"id":42,"parentId":19,"tags":{"page":"/api/hub/server/[hostname]/health"},"startTime":1778988093930,"traceId":"3ceed01ac8b0e137"},{"name":"is-page-static","duration":790987,"timestamp":180121716646,"id":92,"parentId":41,"tags":{},"startTime":1778988093963,"traceId":"3ceed01ac8b0e137"},{"name":"check-page","duration":824602,"timestamp":180121683098,"id":41,"parentId":19,"tags":{"page":"/api/hub/server/[hostname]/agents"},"startTime":1778988093929,"traceId":"3ceed01ac8b0e137"},{"name":"is-page-static","duration":815596,"timestamp":180121692335,"id":68,"parentId":27,"tags":{},"startTime":1778988093939,"traceId":"3ceed01ac8b0e137"},{"name":"check-page","duration":826629,"timestamp":180121681341,"id":27,"parentId":19,"tags":{"page":"/api/auth/v3"},"startTime":1778988093928,"traceId":"3ceed01ac8b0e137"},{"name":"is-page-static","duration":815957,"timestamp":180121692180,"id":66,"parentId":25,"tags":{},"startTime":1778988093938,"traceId":"3ceed01ac8b0e137"},{"name":"check-page","duration":827137,"timestamp":180121681039,"id":25,"parentId":19,"tags":{"page":"/api/auth/login"},"startTime":1778988093927,"traceId":"3ceed01ac8b0e137"},{"name":"is-page-static","duration":817368,"timestamp":180121693927,"id":89,"parentId":51,"tags":{},"startTime":1778988093940,"traceId":"3ceed01ac8b0e137"},{"name":"check-page","duration":825694,"timestamp":180121685654,"id":51,"parentId":19,"tags":{"page":"/favicon.ico"},"startTime":1778988093932,"traceId":"3ceed01ac8b0e137"},{"name":"is-page-static","duration":842111,"timestamp":180121693776,"id":77,"parentId":37,"tags":{},"startTime":1778988093940,"traceId":"3ceed01ac8b0e137"},{"name":"check-page","duration":853335,"timestamp":180121682789,"id":37,"parentId":19,"tags":{"page":"/api/hub/nodes"},"startTime":1778988093929,"traceId":"3ceed01ac8b0e137"},{"name":"is-page-static","duration":813751,"timestamp":180121730529,"id":100,"parentId":58,"tags":{},"startTime":1778988093977,"traceId":"3ceed01ac8b0e137"},{"name":"check-page","duration":857347,"timestamp":180121686991,"id":58,"parentId":19,"tags":{"page":"/server-logs"},"startTime":1778988093933,"traceId":"3ceed01ac8b0e137"},{"name":"is-page-static","duration":821591,"timestamp":180121730658,"id":101,"parentId":59,"tags":{},"startTime":1778988093977,"traceId":"3ceed01ac8b0e137"},{"name":"check-page","duration":865090,"timestamp":180121687224,"id":59,"parentId":19,"tags":{"page":"/settings/networks"},"startTime":1778988093933,"traceId":"3ceed01ac8b0e137"},{"name":"is-page-static","duration":830888,"timestamp":180121730680,"id":102,"parentId":61,"tags":{},"startTime":1778988093977,"traceId":"3ceed01ac8b0e137"},{"name":"check-page","duration":874625,"timestamp":180121687861,"id":61,"parentId":19,"tags":{"page":"/settings/tokens"},"startTime":1778988093934,"traceId":"3ceed01ac8b0e137"},{"name":"is-page-static","duration":843166,"timestamp":180121730512,"id":99,"parentId":56,"tags":{},"startTime":1778988093977,"traceId":"3ceed01ac8b0e137"},{"name":"check-page","duration":887316,"timestamp":180121686443,"id":56,"parentId":19,"tags":{"page":"/nodes"},"startTime":1778988093933,"traceId":"3ceed01ac8b0e137"},{"name":"is-page-static","duration":852866,"timestamp":180121730457,"id":96,"parentId":53,"tags":{},"startTime":1778988093977,"traceId":"3ceed01ac8b0e137"},{"name":"check-page","duration":897336,"timestamp":180121686071,"id":53,"parentId":19,"tags":{"page":"/logs"},"startTime":1778988093932,"traceId":"3ceed01ac8b0e137"},{"name":"is-page-static","duration":852873,"timestamp":180121730714,"id":104,"parentId":63,"tags":{},"startTime":1778988093977,"traceId":"3ceed01ac8b0e137"},{"name":"check-page","duration":895398,"timestamp":180121688231,"id":63,"parentId":19,"tags":{"page":"/tasks"},"startTime":1778988093935,"traceId":"3ceed01ac8b0e137"},{"name":"is-page-static","duration":854593,"timestamp":180121730698,"id":103,"parentId":62,"tags":{},"startTime":1778988093977,"traceId":"3ceed01ac8b0e137"},{"name":"check-page","duration":897284,"timestamp":180121688060,"id":62,"parentId":19,"tags":{"page":"/tasks/[id]"},"startTime":1778988093934,"traceId":"3ceed01ac8b0e137"},{"name":"is-page-static","duration":855757,"timestamp":180121730438,"id":95,"parentId":52,"tags":{},"startTime":1778988093977,"traceId":"3ceed01ac8b0e137"},{"name":"check-page","duration":900307,"timestamp":180121685942,"id":52,"parentId":19,"tags":{"page":"/login"},"startTime":1778988093932,"traceId":"3ceed01ac8b0e137"},{"name":"is-page-static","duration":826593,"timestamp":180121765272,"id":106,"parentId":57,"tags":{},"startTime":1778988094012,"traceId":"3ceed01ac8b0e137"},{"name":"check-page","duration":905309,"timestamp":180121686600,"id":57,"parentId":19,"tags":{"page":"/"},"startTime":1778988093933,"traceId":"3ceed01ac8b0e137"},{"name":"is-page-static","duration":862275,"timestamp":180121730407,"id":94,"parentId":23,"tags":{},"startTime":1778988093977,"traceId":"3ceed01ac8b0e137"},{"name":"check-page","duration":914054,"timestamp":180121678678,"id":23,"parentId":19,"tags":{"page":"/admin"},"startTime":1778988093925,"traceId":"3ceed01ac8b0e137"},{"name":"is-page-static","duration":848254,"timestamp":180121746291,"id":105,"parentId":60,"tags":{},"startTime":1778988093993,"traceId":"3ceed01ac8b0e137"},{"name":"check-page","duration":907168,"timestamp":180121687418,"id":60,"parentId":19,"tags":{"page":"/settings"},"startTime":1778988093934,"traceId":"3ceed01ac8b0e137"},{"name":"is-page-static","duration":883774,"timestamp":180121730482,"id":97,"parentId":54,"tags":{},"startTime":1778988093977,"traceId":"3ceed01ac8b0e137"},{"name":"check-page","duration":928152,"timestamp":180121686177,"id":54,"parentId":19,"tags":{"page":"/messages"},"startTime":1778988093932,"traceId":"3ceed01ac8b0e137"},{"name":"is-page-static","duration":912441,"timestamp":180121730499,"id":98,"parentId":55,"tags":{},"startTime":1778988093977,"traceId":"3ceed01ac8b0e137"},{"name":"check-page","duration":956717,"timestamp":180121686309,"id":55,"parentId":19,"tags":{"page":"/node"},"startTime":1778988093933,"traceId":"3ceed01ac8b0e137"},{"name":"static-check","duration":967659,"timestamp":180121675416,"id":19,"parentId":1,"tags":{},"startTime":1778988093922,"traceId":"3ceed01ac8b0e137"}]
|
|
2
|
-
[{"name":"write-routes-manifest","duration":
|
|
1
|
+
[{"name":"generate-buildid","duration":428,"timestamp":184683465563,"id":4,"parentId":1,"tags":{},"startTime":1778992655712,"traceId":"cb09d0e131419336"},{"name":"load-custom-routes","duration":452,"timestamp":184683466178,"id":5,"parentId":1,"tags":{},"startTime":1778992655712,"traceId":"cb09d0e131419336"},{"name":"create-dist-dir","duration":690,"timestamp":184683466669,"id":6,"parentId":1,"tags":{},"startTime":1778992655713,"traceId":"cb09d0e131419336"},{"name":"clean","duration":32054,"timestamp":184683467995,"id":7,"parentId":1,"tags":{},"startTime":1778992655714,"traceId":"cb09d0e131419336"},{"name":"discover-routes","duration":10124,"timestamp":184683585124,"id":8,"parentId":1,"tags":{},"startTime":1778992655831,"traceId":"cb09d0e131419336"},{"name":"create-root-mapping","duration":120,"timestamp":184683595316,"id":9,"parentId":1,"tags":{},"startTime":1778992655842,"traceId":"cb09d0e131419336"},{"name":"generate-route-types","duration":27329,"timestamp":184683598522,"id":10,"parentId":1,"tags":{},"startTime":1778992655845,"traceId":"cb09d0e131419336"},{"name":"public-dir-conflict-check","duration":161,"timestamp":184683625979,"id":11,"parentId":1,"tags":{},"startTime":1778992655872,"traceId":"cb09d0e131419336"},{"name":"generate-routes-manifest","duration":8081,"timestamp":184683626344,"id":12,"parentId":1,"tags":{},"startTime":1778992655873,"traceId":"cb09d0e131419336"},{"name":"run-turbopack","duration":6719702,"timestamp":184683662294,"id":14,"parentId":1,"tags":{},"startTime":1778992655909,"traceId":"cb09d0e131419336"},{"name":"turbopack-build-events","duration":81,"timestamp":184683967107,"id":15,"parentId":1,"tags":{},"startTime":1778992656213,"traceId":"cb09d0e131419336"},{"name":"run-typescript","duration":10406516,"timestamp":184690390406,"id":16,"parentId":1,"tags":{},"startTime":1778992662637,"traceId":"cb09d0e131419336"},{"name":"generate-required-server-files","duration":3021,"timestamp":184700798199,"id":18,"parentId":1,"tags":{},"startTime":1778992673044,"traceId":"cb09d0e131419336"},{"name":"check-static-error-page","duration":22840,"timestamp":184701024217,"id":20,"parentId":19,"tags":{},"startTime":1778992673270,"traceId":"cb09d0e131419336"},{"name":"is-page-static","duration":623936,"timestamp":184701053231,"id":65,"parentId":22,"tags":{},"startTime":1778992673300,"traceId":"cb09d0e131419336"},{"name":"check-page","duration":649448,"timestamp":184701027893,"id":22,"parentId":19,"tags":{"page":"/_global-error"},"startTime":1778992673274,"traceId":"cb09d0e131419336"},{"name":"is-page-static","duration":678549,"timestamp":184701060154,"id":70,"parentId":29,"tags":{},"startTime":1778992673306,"traceId":"cb09d0e131419336"},{"name":"check-page","duration":706752,"timestamp":184701032060,"id":29,"parentId":19,"tags":{"page":"/api/hub/auth"},"startTime":1778992673278,"traceId":"cb09d0e131419336"},{"name":"is-page-static","duration":699507,"timestamp":184701052815,"id":64,"parentId":21,"tags":{},"startTime":1778992673299,"traceId":"cb09d0e131419336"},{"name":"check-page","duration":726539,"timestamp":184701025870,"id":21,"parentId":19,"tags":{"page":"/_not-found"},"startTime":1778992673272,"traceId":"cb09d0e131419336"},{"name":"is-page-static","duration":716151,"timestamp":184701060446,"id":72,"parentId":32,"tags":{},"startTime":1778992673307,"traceId":"cb09d0e131419336"},{"name":"check-page","duration":744050,"timestamp":184701032632,"id":32,"parentId":19,"tags":{"page":"/api/hub/health"},"startTime":1778992673279,"traceId":"cb09d0e131419336"},{"name":"is-page-static","duration":754695,"timestamp":184701053755,"id":69,"parentId":28,"tags":{},"startTime":1778992673300,"traceId":"cb09d0e131419336"},{"name":"check-page","duration":776618,"timestamp":184701031916,"id":28,"parentId":19,"tags":{"page":"/api/hub/audit-log"},"startTime":1778992673278,"traceId":"cb09d0e131419336"},{"name":"is-page-static","duration":755345,"timestamp":184701053403,"id":66,"parentId":25,"tags":{},"startTime":1778992673300,"traceId":"cb09d0e131419336"},{"name":"check-page","duration":777784,"timestamp":184701031487,"id":25,"parentId":19,"tags":{"page":"/api/auth/login"},"startTime":1778992673278,"traceId":"cb09d0e131419336"},{"name":"is-page-static","duration":748767,"timestamp":184701060713,"id":74,"parentId":34,"tags":{},"startTime":1778992673307,"traceId":"cb09d0e131419336"},{"name":"check-page","duration":776614,"timestamp":184701032911,"id":34,"parentId":19,"tags":{"page":"/api/hub/license"},"startTime":1778992673279,"traceId":"cb09d0e131419336"},{"name":"is-page-static","duration":759518,"timestamp":184701060767,"id":76,"parentId":36,"tags":{},"startTime":1778992673307,"traceId":"cb09d0e131419336"},{"name":"check-page","duration":784881,"timestamp":184701035463,"id":36,"parentId":19,"tags":{"page":"/api/hub/networks"},"startTime":1778992673282,"traceId":"cb09d0e131419336"},{"name":"is-page-static","duration":767629,"timestamp":184701060811,"id":77,"parentId":37,"tags":{},"startTime":1778992673307,"traceId":"cb09d0e131419336"},{"name":"check-page","duration":791603,"timestamp":184701036917,"id":37,"parentId":19,"tags":{"page":"/api/hub/nodes"},"startTime":1778992673283,"traceId":"cb09d0e131419336"},{"name":"is-page-static","duration":768208,"timestamp":184701060745,"id":75,"parentId":35,"tags":{},"startTime":1778992673307,"traceId":"cb09d0e131419336"},{"name":"check-page","duration":794103,"timestamp":184701034893,"id":35,"parentId":19,"tags":{"page":"/api/hub/messages"},"startTime":1778992673281,"traceId":"cb09d0e131419336"},{"name":"is-page-static","duration":777572,"timestamp":184701053524,"id":67,"parentId":26,"tags":{},"startTime":1778992673300,"traceId":"cb09d0e131419336"},{"name":"check-page","duration":799506,"timestamp":184701031659,"id":26,"parentId":19,"tags":{"page":"/api/auth/logout"},"startTime":1778992673278,"traceId":"cb09d0e131419336"},{"name":"is-page-static","duration":773975,"timestamp":184701060836,"id":78,"parentId":38,"tags":{},"startTime":1778992673307,"traceId":"cb09d0e131419336"},{"name":"check-page","duration":797689,"timestamp":184701037169,"id":38,"parentId":19,"tags":{"page":"/api/hub/register"},"startTime":1778992673283,"traceId":"cb09d0e131419336"},{"name":"is-page-static","duration":774957,"timestamp":184701060852,"id":79,"parentId":39,"tags":{},"startTime":1778992673307,"traceId":"cb09d0e131419336"},{"name":"check-page","duration":798578,"timestamp":184701037276,"id":39,"parentId":19,"tags":{"page":"/api/hub/send"},"startTime":1778992673284,"traceId":"cb09d0e131419336"},{"name":"is-page-static","duration":775343,"timestamp":184701060864,"id":80,"parentId":40,"tags":{},"startTime":1778992673307,"traceId":"cb09d0e131419336"},{"name":"check-page","duration":798867,"timestamp":184701037380,"id":40,"parentId":19,"tags":{"page":"/api/hub/server-logs"},"startTime":1778992673284,"traceId":"cb09d0e131419336"},{"name":"is-page-static","duration":779090,"timestamp":184701060895,"id":82,"parentId":44,"tags":{},"startTime":1778992673307,"traceId":"cb09d0e131419336"},{"name":"check-page","duration":798920,"timestamp":184701041138,"id":44,"parentId":19,"tags":{"page":"/api/hub/session"},"startTime":1778992673287,"traceId":"cb09d0e131419336"},{"name":"is-page-static","duration":779567,"timestamp":184701060923,"id":84,"parentId":46,"tags":{},"startTime":1778992673307,"traceId":"cb09d0e131419336"},{"name":"check-page","duration":799132,"timestamp":184701041401,"id":46,"parentId":19,"tags":{"page":"/api/hub/status"},"startTime":1778992673288,"traceId":"cb09d0e131419336"},{"name":"is-page-static","duration":787055,"timestamp":184701053643,"id":68,"parentId":27,"tags":{},"startTime":1778992673300,"traceId":"cb09d0e131419336"},{"name":"check-page","duration":808952,"timestamp":184701031792,"id":27,"parentId":19,"tags":{"page":"/api/auth/v3"},"startTime":1778992673278,"traceId":"cb09d0e131419336"},{"name":"is-page-static","duration":783386,"timestamp":184701060910,"id":83,"parentId":45,"tags":{},"startTime":1778992673307,"traceId":"cb09d0e131419336"},{"name":"check-page","duration":803109,"timestamp":184701041293,"id":45,"parentId":19,"tags":{"page":"/api/hub/stats"},"startTime":1778992673288,"traceId":"cb09d0e131419336"},{"name":"is-page-static","duration":784985,"timestamp":184701060939,"id":85,"parentId":47,"tags":{},"startTime":1778992673307,"traceId":"cb09d0e131419336"},{"name":"check-page","duration":802797,"timestamp":184701043175,"id":47,"parentId":19,"tags":{"page":"/api/hub/task-events"},"startTime":1778992673289,"traceId":"cb09d0e131419336"},{"name":"is-page-static","duration":788150,"timestamp":184701060954,"id":86,"parentId":48,"tags":{},"startTime":1778992673307,"traceId":"cb09d0e131419336"},{"name":"check-page","duration":805809,"timestamp":184701043339,"id":48,"parentId":19,"tags":{"page":"/api/hub/tasks"},"startTime":1778992673290,"traceId":"cb09d0e131419336"},{"name":"is-page-static","duration":788301,"timestamp":184701060980,"id":88,"parentId":50,"tags":{},"startTime":1778992673307,"traceId":"cb09d0e131419336"},{"name":"check-page","duration":805758,"timestamp":184701043555,"id":50,"parentId":19,"tags":{"page":"/api/hub/tokens"},"startTime":1778992673290,"traceId":"cb09d0e131419336"},{"name":"is-page-static","duration":789359,"timestamp":184701060995,"id":89,"parentId":51,"tags":{},"startTime":1778992673307,"traceId":"cb09d0e131419336"},{"name":"check-page","duration":806769,"timestamp":184701043635,"id":51,"parentId":19,"tags":{"page":"/favicon.ico"},"startTime":1778992673290,"traceId":"cb09d0e131419336"},{"name":"is-page-static","duration":770075,"timestamp":184701085266,"id":91,"parentId":31,"tags":{},"startTime":1778992673332,"traceId":"cb09d0e131419336"},{"name":"check-page","duration":823031,"timestamp":184701032355,"id":31,"parentId":19,"tags":{"page":"/api/hub/events"},"startTime":1778992673279,"traceId":"cb09d0e131419336"},{"name":"is-page-static","duration":794678,"timestamp":184701060879,"id":81,"parentId":42,"tags":{},"startTime":1778992673307,"traceId":"cb09d0e131419336"},{"name":"check-page","duration":815240,"timestamp":184701040362,"id":42,"parentId":19,"tags":{"page":"/api/hub/server/[hostname]/health"},"startTime":1778992673287,"traceId":"cb09d0e131419336"},{"name":"is-page-static","duration":773199,"timestamp":184701083074,"id":90,"parentId":24,"tags":{},"startTime":1778992673329,"traceId":"cb09d0e131419336"},{"name":"check-page","duration":827451,"timestamp":184701028864,"id":24,"parentId":19,"tags":{"page":"/api/anet/config"},"startTime":1778992673275,"traceId":"cb09d0e131419336"},{"name":"is-page-static","duration":769226,"timestamp":184701091282,"id":93,"parentId":43,"tags":{},"startTime":1778992673338,"traceId":"cb09d0e131419336"},{"name":"check-page","duration":820005,"timestamp":184701040545,"id":43,"parentId":19,"tags":{"page":"/api/hub/servers"},"startTime":1778992673287,"traceId":"cb09d0e131419336"},{"name":"is-page-static","duration":777204,"timestamp":184701086119,"id":92,"parentId":41,"tags":{},"startTime":1778992673332,"traceId":"cb09d0e131419336"},{"name":"check-page","duration":825903,"timestamp":184701037472,"id":41,"parentId":19,"tags":{"page":"/api/hub/server/[hostname]/agents"},"startTime":1778992673284,"traceId":"cb09d0e131419336"},{"name":"is-page-static","duration":829805,"timestamp":184701060373,"id":71,"parentId":30,"tags":{},"startTime":1778992673307,"traceId":"cb09d0e131419336"},{"name":"check-page","duration":858025,"timestamp":184701032236,"id":30,"parentId":19,"tags":{"page":"/api/hub/broadcast"},"startTime":1778992673279,"traceId":"cb09d0e131419336"},{"name":"is-page-static","duration":831258,"timestamp":184701060965,"id":87,"parentId":49,"tags":{},"startTime":1778992673307,"traceId":"cb09d0e131419336"},{"name":"check-page","duration":848823,"timestamp":184701043465,"id":49,"parentId":19,"tags":{"page":"/api/hub/tmux"},"startTime":1778992673290,"traceId":"cb09d0e131419336"},{"name":"is-page-static","duration":843605,"timestamp":184701060634,"id":73,"parentId":33,"tags":{},"startTime":1778992673307,"traceId":"cb09d0e131419336"},{"name":"check-page","duration":871544,"timestamp":184701032765,"id":33,"parentId":19,"tags":{"page":"/api/hub/inbox"},"startTime":1778992673279,"traceId":"cb09d0e131419336"},{"name":"is-page-static","duration":822278,"timestamp":184701094221,"id":100,"parentId":58,"tags":{},"startTime":1778992673340,"traceId":"cb09d0e131419336"},{"name":"check-page","duration":870916,"timestamp":184701045646,"id":58,"parentId":19,"tags":{"page":"/server-logs"},"startTime":1778992673292,"traceId":"cb09d0e131419336"},{"name":"is-page-static","duration":830027,"timestamp":184701094355,"id":101,"parentId":59,"tags":{},"startTime":1778992673341,"traceId":"cb09d0e131419336"},{"name":"check-page","duration":878573,"timestamp":184701045867,"id":59,"parentId":19,"tags":{"page":"/settings/networks"},"startTime":1778992673292,"traceId":"cb09d0e131419336"},{"name":"is-page-static","duration":831115,"timestamp":184701094159,"id":96,"parentId":53,"tags":{},"startTime":1778992673340,"traceId":"cb09d0e131419336"},{"name":"check-page","duration":881114,"timestamp":184701044231,"id":53,"parentId":19,"tags":{"page":"/logs"},"startTime":1778992673291,"traceId":"cb09d0e131419336"},{"name":"is-page-static","duration":831415,"timestamp":184701094145,"id":95,"parentId":52,"tags":{},"startTime":1778992673340,"traceId":"cb09d0e131419336"},{"name":"check-page","duration":881542,"timestamp":184701044064,"id":52,"parentId":19,"tags":{"page":"/login"},"startTime":1778992673290,"traceId":"cb09d0e131419336"},{"name":"is-page-static","duration":838619,"timestamp":184701094409,"id":104,"parentId":63,"tags":{},"startTime":1778992673341,"traceId":"cb09d0e131419336"},{"name":"check-page","duration":886291,"timestamp":184701046792,"id":63,"parentId":19,"tags":{"page":"/tasks"},"startTime":1778992673293,"traceId":"cb09d0e131419336"},{"name":"is-page-static","duration":842876,"timestamp":184701094381,"id":102,"parentId":61,"tags":{},"startTime":1778992673341,"traceId":"cb09d0e131419336"},{"name":"check-page","duration":890805,"timestamp":184701046496,"id":61,"parentId":19,"tags":{"page":"/settings/tokens"},"startTime":1778992673293,"traceId":"cb09d0e131419336"},{"name":"is-page-static","duration":835844,"timestamp":184701104994,"id":105,"parentId":60,"tags":{},"startTime":1778992673351,"traceId":"cb09d0e131419336"},{"name":"check-page","duration":894813,"timestamp":184701046066,"id":60,"parentId":19,"tags":{"page":"/settings"},"startTime":1778992673292,"traceId":"cb09d0e131419336"},{"name":"is-page-static","duration":847164,"timestamp":184701094394,"id":103,"parentId":62,"tags":{},"startTime":1778992673341,"traceId":"cb09d0e131419336"},{"name":"check-page","duration":894951,"timestamp":184701046644,"id":62,"parentId":19,"tags":{"page":"/tasks/[id]"},"startTime":1778992673293,"traceId":"cb09d0e131419336"},{"name":"is-page-static","duration":810909,"timestamp":184701134604,"id":106,"parentId":57,"tags":{},"startTime":1778992673381,"traceId":"cb09d0e131419336"},{"name":"check-page","duration":900470,"timestamp":184701045082,"id":57,"parentId":19,"tags":{"page":"/"},"startTime":1778992673291,"traceId":"cb09d0e131419336"},{"name":"is-page-static","duration":852154,"timestamp":184701094176,"id":97,"parentId":54,"tags":{},"startTime":1778992673340,"traceId":"cb09d0e131419336"},{"name":"check-page","duration":901990,"timestamp":184701044386,"id":54,"parentId":19,"tags":{"page":"/messages"},"startTime":1778992673291,"traceId":"cb09d0e131419336"},{"name":"is-page-static","duration":863332,"timestamp":184701094192,"id":98,"parentId":55,"tags":{},"startTime":1778992673340,"traceId":"cb09d0e131419336"},{"name":"check-page","duration":912982,"timestamp":184701044587,"id":55,"parentId":19,"tags":{"page":"/node"},"startTime":1778992673291,"traceId":"cb09d0e131419336"},{"name":"is-page-static","duration":865619,"timestamp":184701094209,"id":99,"parentId":56,"tags":{},"startTime":1778992673340,"traceId":"cb09d0e131419336"},{"name":"check-page","duration":915064,"timestamp":184701044801,"id":56,"parentId":19,"tags":{"page":"/nodes"},"startTime":1778992673291,"traceId":"cb09d0e131419336"},{"name":"is-page-static","duration":867933,"timestamp":184701094107,"id":94,"parentId":23,"tags":{},"startTime":1778992673340,"traceId":"cb09d0e131419336"},{"name":"check-page","duration":933843,"timestamp":184701028238,"id":23,"parentId":19,"tags":{"page":"/admin"},"startTime":1778992673275,"traceId":"cb09d0e131419336"},{"name":"static-check","duration":940046,"timestamp":184701022084,"id":19,"parentId":1,"tags":{},"startTime":1778992673269,"traceId":"cb09d0e131419336"}]
|
|
2
|
+
[{"name":"write-routes-manifest","duration":471,"timestamp":184701974117,"id":108,"parentId":1,"tags":{},"startTime":1778992674220,"traceId":"cb09d0e131419336"},{"name":"load-dotenv","duration":58,"timestamp":184701986855,"id":111,"parentId":110,"tags":{},"startTime":1778992674233,"traceId":"cb09d0e131419336"},{"name":"run-export-path-map","duration":891,"timestamp":184701990842,"id":112,"parentId":110,"tags":{},"startTime":1778992674237,"traceId":"cb09d0e131419336"},{"name":"next-export","duration":665031,"timestamp":184701985114,"id":110,"parentId":1,"tags":{},"startTime":1778992674231,"traceId":"cb09d0e131419336"},{"name":"move-exported-app-not-found-","duration":641,"timestamp":184702654060,"id":113,"parentId":109,"tags":{},"startTime":1778992674900,"traceId":"cb09d0e131419336"},{"name":"move-exported-app-global-error-","duration":427,"timestamp":184702654836,"id":114,"parentId":109,"tags":{},"startTime":1778992674901,"traceId":"cb09d0e131419336"},{"name":"static-generation","duration":679468,"timestamp":184701978329,"id":109,"parentId":1,"tags":{},"startTime":1778992674225,"traceId":"cb09d0e131419336"},{"name":"write-routes-manifest","duration":567,"timestamp":184702658096,"id":115,"parentId":1,"tags":{},"startTime":1778992674904,"traceId":"cb09d0e131419336"},{"name":"print-tree-view","duration":4729,"timestamp":184702671621,"id":116,"parentId":1,"tags":{},"startTime":1778992674918,"traceId":"cb09d0e131419336"},{"name":"write-route-bundle-stats","duration":15167,"timestamp":184702676385,"id":117,"parentId":1,"tags":{},"startTime":1778992674923,"traceId":"cb09d0e131419336"},{"name":"telemetry-flush","duration":29593,"timestamp":184702691584,"id":118,"parentId":1,"tags":{},"startTime":1778992674938,"traceId":"cb09d0e131419336"},{"name":"next-build","duration":19308593,"timestamp":184683412625,"id":1,"tags":{"buildMode":"default","version":"16.2.3","bundler":"turbopack","has-custom-webpack-config":"false","use-build-worker":"true"},"startTime":1778992655659,"traceId":"cb09d0e131419336"}]
|
package/.next/trace-build
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
[{"name":"run-turbopack","duration":
|
|
1
|
+
[{"name":"run-turbopack","duration":6719702,"timestamp":184683662294,"id":14,"parentId":1,"tags":{},"startTime":1778992655909,"traceId":"cb09d0e131419336"},{"name":"turbopack-build-events","duration":81,"timestamp":184683967107,"id":15,"parentId":1,"tags":{},"startTime":1778992656213,"traceId":"cb09d0e131419336"},{"name":"run-typescript","duration":10406516,"timestamp":184690390406,"id":16,"parentId":1,"tags":{},"startTime":1778992662637,"traceId":"cb09d0e131419336"},{"name":"static-check","duration":940046,"timestamp":184701022084,"id":19,"parentId":1,"tags":{},"startTime":1778992673269,"traceId":"cb09d0e131419336"},{"name":"static-generation","duration":679468,"timestamp":184701978329,"id":109,"parentId":1,"tags":{},"startTime":1778992674225,"traceId":"cb09d0e131419336"},{"name":"telemetry-flush","duration":29593,"timestamp":184702691584,"id":118,"parentId":1,"tags":{},"startTime":1778992674938,"traceId":"cb09d0e131419336"},{"name":"next-build","duration":19308593,"timestamp":184683412625,"id":1,"tags":{"buildMode":"default","version":"16.2.3","bundler":"turbopack","has-custom-webpack-config":"false","use-build-worker":"true"},"startTime":1778992655659,"traceId":"cb09d0e131419336"}]
|
|
@@ -759,28 +759,38 @@ export function TopoGraph({ sessions, sseSessions, renameSignal }: TopoGraphProp
|
|
|
759
759
|
else runs.push({ key: gk, members: [s] });
|
|
760
760
|
}
|
|
761
761
|
|
|
762
|
-
// Pass 1 — assign each run to a band
|
|
763
|
-
//
|
|
764
|
-
//
|
|
765
|
-
|
|
762
|
+
// Pass 1 — assign each run to a band.
|
|
763
|
+
//
|
|
764
|
+
// v0.10.4 #150 (Vincent /goal 5453): "不是一起的落单的怎么散落在中间了".
|
|
765
|
+
// Pre-#150 algo interleaved singletons between real groups as
|
|
766
|
+
// centred bands, so orphan nodes appeared scattered in the middle
|
|
767
|
+
// between cluster boxes. Vincent screenshot called this out as
|
|
768
|
+
// "layout 算法一点都不好". Fix: bundle ALL singletons into ONE
|
|
769
|
+
// band at the bottom of the grid + render an "其他" cluster box
|
|
770
|
+
// around them. Multi-member prefix groups still go first in
|
|
771
|
+
// alias order (existing #83/#111 behaviour). Net effect:
|
|
772
|
+
// row 0..N-1: real prefix groups (left-aligned, own cluster box)
|
|
773
|
+
// row N..M: single "其他" band collecting all orphans
|
|
774
|
+
// (left-aligned, single cluster box at bottom)
|
|
775
|
+
// No orphans → no orphan band → behaviour identical to pre-#150
|
|
776
|
+
// for fleets where every node has a prefix-group match.
|
|
777
|
+
type Band = { members: Session[]; startRow: number; centred: boolean; isGroup: boolean; isOrphan?: boolean };
|
|
766
778
|
const bands: Band[] = [];
|
|
767
779
|
let row = 0;
|
|
768
|
-
|
|
769
|
-
|
|
770
|
-
if (
|
|
771
|
-
bands.push({ members:
|
|
772
|
-
row += Math.ceil(
|
|
773
|
-
i++;
|
|
780
|
+
const orphanMembers: Session[] = [];
|
|
781
|
+
for (const run of runs) {
|
|
782
|
+
if (run.members.length >= 2) {
|
|
783
|
+
bands.push({ members: run.members, startRow: row, centred: false, isGroup: true });
|
|
784
|
+
row += Math.ceil(run.members.length / cols);
|
|
774
785
|
} else {
|
|
775
|
-
|
|
776
|
-
|
|
777
|
-
singles.push(runs[i].members[0]);
|
|
778
|
-
i++;
|
|
779
|
-
}
|
|
780
|
-
bands.push({ members: singles, startRow: row, centred: true, isGroup: false });
|
|
781
|
-
row += Math.ceil(singles.length / cols);
|
|
786
|
+
// single-member run → collect for the bottom orphan band
|
|
787
|
+
orphanMembers.push(...run.members);
|
|
782
788
|
}
|
|
783
789
|
}
|
|
790
|
+
if (orphanMembers.length > 0) {
|
|
791
|
+
bands.push({ members: orphanMembers, startRow: row, centred: false, isGroup: true, isOrphan: true });
|
|
792
|
+
row += Math.ceil(orphanMembers.length / cols);
|
|
793
|
+
}
|
|
784
794
|
const totalRows = Math.max(1, row);
|
|
785
795
|
// #112: the group label sits in a band ABOVE the topmost node, so the
|
|
786
796
|
// band must clear the node radius — GROUP_TOP is node-relative, never
|
|
@@ -852,8 +862,17 @@ export function TopoGraph({ sessions, sseSessions, renameSignal }: TopoGraphProp
|
|
|
852
862
|
else if (isOn) i++;
|
|
853
863
|
else o++;
|
|
854
864
|
}
|
|
865
|
+
// v0.10.4 #150 — orphan band (singletons bundled at bottom)
|
|
866
|
+
// renders with a "其他" cluster box; the box-key drives the
|
|
867
|
+
// R63 label render + R86 hover-pin keying + #99 tooltip
|
|
868
|
+
// member listing, so all the existing group-box machinery
|
|
869
|
+
// applies uniformly to the orphan bucket too.
|
|
855
870
|
return {
|
|
856
|
-
key: band.
|
|
871
|
+
key: band.isOrphan
|
|
872
|
+
? '其他'
|
|
873
|
+
: band.members.length
|
|
874
|
+
? groupKeys[band.members[0].alias]
|
|
875
|
+
: '',
|
|
857
876
|
count: band.members.length,
|
|
858
877
|
statuses: { working: w, idle: i, offline: o },
|
|
859
878
|
x: minX - GROUP_PAD,
|
|
@@ -4761,10 +4780,35 @@ export function TopoGraph({ sessions, sseSessions, renameSignal }: TopoGraphProp
|
|
|
4761
4780
|
opacity={isPinned || isHovered ? 1 : 0.55}
|
|
4762
4781
|
data-group-label-hovered={isHovered && !isPinned ? 'true' : 'false'}
|
|
4763
4782
|
data-group-label-font-weight={isPinned ? '800' : '700'}
|
|
4783
|
+
/* Round 479 / Loop — extend drop-shadow visual-polish
|
|
4784
|
+
family to a 4th anchor: group-label parent text
|
|
4785
|
+
on isPinned. Continues the R476/R477/R478 arc:
|
|
4786
|
+
R476 hub digit hover-gated emerald
|
|
4787
|
+
R477 legend pin-ring pin-gated row.fill
|
|
4788
|
+
R478 recent-row pip freshness-gated cyan
|
|
4789
|
+
R479 group-label text pin-gated cyan
|
|
4790
|
+
Hue: pal.legendAccent at 0x80 alpha (≈50%) — same
|
|
4791
|
+
accent family R107/R477 use for tint surfaces. 3px
|
|
4792
|
+
blur reads as a soft cyan halo around the locked
|
|
4793
|
+
cluster name. Stacks with the R432 letter-spacing
|
|
4794
|
+
spread + R457 fw lift + R63 fill brighten + R142
|
|
4795
|
+
drop-shadow on the parent rect — pin signature on
|
|
4796
|
+
group label scope now spans typography + chroma +
|
|
4797
|
+
paint + container-lift + text-glow.
|
|
4798
|
+
Filter is paint-only; bbox unchanged; overlap-test
|
|
4799
|
+
invariants hold (R51 selector gated to g[data-node]
|
|
4800
|
+
descendants, this label is invisible to the probe).
|
|
4801
|
+
transition list extends to include 'filter 200ms
|
|
4802
|
+
ease-out' alongside the existing fill/ls/fw/opacity
|
|
4803
|
+
200ms tweens. */
|
|
4804
|
+
data-group-label-glow={isPinned ? 'true' : 'false'}
|
|
4764
4805
|
style={{
|
|
4765
|
-
transition: 'fill 200ms ease-out, letter-spacing 200ms ease-out, font-weight 200ms ease-out, opacity 200ms ease-out',
|
|
4806
|
+
transition: 'fill 200ms ease-out, letter-spacing 200ms ease-out, font-weight 200ms ease-out, opacity 200ms ease-out, filter 200ms ease-out',
|
|
4766
4807
|
letterSpacing: isPinned ? '0.5px' :
|
|
4767
4808
|
isHovered ? '0.25px' : '0px',
|
|
4809
|
+
filter: isPinned
|
|
4810
|
+
? `drop-shadow(0 0 3px ${pal.legendAccent}80)`
|
|
4811
|
+
: undefined,
|
|
4768
4812
|
}}
|
|
4769
4813
|
data-group-label={box.key}
|
|
4770
4814
|
data-group-label-pinned={isPinned ? 'true' : 'false'}
|
|
@@ -5338,10 +5382,32 @@ export function TopoGraph({ sessions, sseSessions, renameSignal }: TopoGraphProp
|
|
|
5338
5382
|
r={(isHoveredEdge || isEndpointHoveredEdge) ? 5.5 : 4.5}
|
|
5339
5383
|
fill={pal.flowParticle}
|
|
5340
5384
|
filter={isLight ? undefined : 'url(#topo-glow)'}
|
|
5341
|
-
|
|
5385
|
+
/* Round 485 / Loop — extends R484's "inspection
|
|
5386
|
+
overrides encoding" pattern to a 2nd anchor:
|
|
5387
|
+
edge particle opacity lifts to 1.0 on
|
|
5388
|
+
isHoveredEdge OR isEndpointHoveredEdge (user
|
|
5389
|
+
hovering the edge directly OR hovering one
|
|
5390
|
+
of its endpoint nodes). Pre-R485 the particle
|
|
5391
|
+
inherited freshness × edgeOpacityMul decay
|
|
5392
|
+
so a stale edge's particle painted near the
|
|
5393
|
+
0.30 floor even when the operator was
|
|
5394
|
+
inspecting it; R485 lifts to 1.0 on attention.
|
|
5395
|
+
data-recent-row-ts-alpha-attribute analog —
|
|
5396
|
+
freshness encoding preserved on rest tier,
|
|
5397
|
+
opacity override engages only on inspection.
|
|
5398
|
+
Sibling lift family — inspection-overrides-
|
|
5399
|
+
encoding pattern, now 2 anchors:
|
|
5400
|
+
R484 recent-row timestamp freshness → 1.0
|
|
5401
|
+
R485 edge particle freshness → 1.0 (this)
|
|
5402
|
+
data-edge-particle-opacity-lifted attr exposes
|
|
5403
|
+
the override gate; data-edge-particle-opacity-
|
|
5404
|
+
rest preserves the freshness reading. */
|
|
5405
|
+
opacity={(isHoveredEdge || isEndpointHoveredEdge) ? 1 : Math.min(1, fresh * edgeOpacityMul)}
|
|
5342
5406
|
data-edge-particle={link.key}
|
|
5343
5407
|
data-edge-particle-radius={(isHoveredEdge || isEndpointHoveredEdge) ? 5.5 : 4.5}
|
|
5344
5408
|
data-edge-particle-lifted={(isHoveredEdge || isEndpointHoveredEdge) ? 'true' : 'false'}
|
|
5409
|
+
data-edge-particle-opacity-rest={Math.min(1, fresh * edgeOpacityMul).toFixed(2)}
|
|
5410
|
+
data-edge-particle-opacity-lifted={(isHoveredEdge || isEndpointHoveredEdge) ? 'true' : 'false'}
|
|
5345
5411
|
style={{ transition: 'fill 200ms ease-out, opacity 200ms ease-out, r 200ms ease-out' }}
|
|
5346
5412
|
>
|
|
5347
5413
|
<animateMotion
|
|
@@ -5790,6 +5856,34 @@ export function TopoGraph({ sessions, sseSessions, renameSignal }: TopoGraphProp
|
|
|
5790
5856
|
via the new -opacity-active attr; the
|
|
5791
5857
|
legacy -opacity-hover attr kept for R395
|
|
5792
5858
|
test compatibility. */}
|
|
5859
|
+
{/* Round 480 / Loop — 5th anchor in the drop-shadow
|
|
5860
|
+
visual-polish family. Gates on isHot (link.
|
|
5861
|
+
count >= 10, R129 hot-lane threshold) so the
|
|
5862
|
+
badge gets a warm-amber halo when its edge
|
|
5863
|
+
crosses the high-traffic boundary.
|
|
5864
|
+
Drop-shadow family ledger now:
|
|
5865
|
+
R476 hub digit hover-gated emerald
|
|
5866
|
+
R477 legend pin-ring pin-gated row.fill
|
|
5867
|
+
R478 freshness pip freshness-gated cyan
|
|
5868
|
+
R479 group label pin-gated cyan
|
|
5869
|
+
R480 edge badge hot-lane-gated amber ← this round
|
|
5870
|
+
5th gate type — traffic volume — joins hover,
|
|
5871
|
+
pin, freshness, pin. Each polish anchor uses
|
|
5872
|
+
a distinct semantic gate but the same paint
|
|
5873
|
+
vocabulary. Hue: hotStroke (amber-tinted
|
|
5874
|
+
palette member) at 0x80 alpha — picks up the
|
|
5875
|
+
R126/R188 hot-edge accent colour family so
|
|
5876
|
+
the glow reads as a chromatic extension of
|
|
5877
|
+
the existing hot-lane stroke. 3-px blur
|
|
5878
|
+
radius reads as soft heat rather than
|
|
5879
|
+
emergency klaxon.
|
|
5880
|
+
R51 sentinel safety: badge sw=2 only matters
|
|
5881
|
+
when the overlap probe runs on g[data-node]
|
|
5882
|
+
descendants, which this edge-internal badge
|
|
5883
|
+
is not. Filter is paint-only, bbox unchanged.
|
|
5884
|
+
transition list extends to include 'filter
|
|
5885
|
+
200ms ease-out' so the heat halo eases on
|
|
5886
|
+
the count-crosses-threshold flip. */}
|
|
5793
5887
|
<circle
|
|
5794
5888
|
cx={badgeX} cy={badgeY}
|
|
5795
5889
|
r={isHoveredEdge || isPinned ? 10.5 : 9}
|
|
@@ -5804,7 +5898,13 @@ export function TopoGraph({ sessions, sseSessions, renameSignal }: TopoGraphProp
|
|
|
5804
5898
|
data-edge-badge-opacity-rest={isLight ? 0.95 : 0.85}
|
|
5805
5899
|
data-edge-badge-opacity-hover="1"
|
|
5806
5900
|
data-edge-badge-opacity-active="1"
|
|
5807
|
-
|
|
5901
|
+
data-edge-badge-glow={isHot ? 'true' : 'false'}
|
|
5902
|
+
style={{
|
|
5903
|
+
filter: isHot
|
|
5904
|
+
? `drop-shadow(0 0 3px ${hotStroke}80)`
|
|
5905
|
+
: undefined,
|
|
5906
|
+
transition: 'r 180ms ease-out, stroke 300ms ease-out, stroke-width 300ms ease-out, fill 200ms ease-out, opacity 200ms ease-out, filter 200ms ease-out',
|
|
5907
|
+
}}
|
|
5808
5908
|
/>
|
|
5809
5909
|
{/* Round 224 / Loop: edge badge text gains the 4th
|
|
5810
5910
|
pin-signature typography. Pre-R224 the digit
|
|
@@ -8325,8 +8425,26 @@ export function TopoGraph({ sessions, sseSessions, renameSignal }: TopoGraphProp
|
|
|
8325
8425
|
title scope: hovering the panel chrome spreads the
|
|
8326
8426
|
title 0.1 px, signalling "this is a coherent unit
|
|
8327
8427
|
you're entering". transition list extends letter-
|
|
8328
|
-
spacing 200ms ease-out alongside existing fill 200ms.
|
|
8329
|
-
|
|
8428
|
+
spacing 200ms ease-out alongside existing fill 200ms.
|
|
8429
|
+
Round 482 / Loop — add 2nd typographic axis to the
|
|
8430
|
+
title: fontWeight 700 → 800 on activeEdgeKey (any
|
|
8431
|
+
row hover OR pin propagates from hoveredEdgeKey ??
|
|
8432
|
+
pinnedEdgeKey). Pre-R482 the title only responded
|
|
8433
|
+
to panel-chrome hover via R345 ls; when a specific
|
|
8434
|
+
row was hovered/pinned inside the panel, the title
|
|
8435
|
+
stayed flat. R482 closes the gap: when ANY row is
|
|
8436
|
+
active inside the panel, the title tightens
|
|
8437
|
+
typographically alongside the row's own R143 lift +
|
|
8438
|
+
R472 tint + R474 text spread. data tightens under
|
|
8439
|
+
attention pattern extension (panel-scope variant
|
|
8440
|
+
following R416/R424/R425/R426/R444/R445/R446/R457
|
|
8441
|
+
at the chip / panel / hub / edge / count / parent-
|
|
8442
|
+
label tiers).
|
|
8443
|
+
transition list extends to include 'font-weight
|
|
8444
|
+
200ms ease-out' alongside R345's ls + R55's fill
|
|
8445
|
+
200ms. data-recent-panel-title-fw exposes the
|
|
8446
|
+
resolved weight for tests. */}
|
|
8447
|
+
<text x="13" y="21" fill={pal.legendHeadline} fontSize="12" fontFamily="monospace" fontWeight={activeEdgeKey ? '800' : '700'} letterSpacing={hoveredPanel === 'recent' ? '0.4' : '0.3'} style={{ transition: 'fill 200ms ease-out, letter-spacing 200ms ease-out, font-weight 200ms ease-out' }} data-recent-panel-title data-recent-panel-title-fw={activeEdgeKey ? '800' : '700'} data-recent-panel-title-active={activeEdgeKey ? 'true' : 'false'}>recent signal</text>
|
|
8330
8448
|
{/* R96: header count now matches what the rows show. Pre-R96
|
|
8331
8449
|
this read "X msgs" off the raw messages array, but the
|
|
8332
8450
|
rows below render DEDUPED flowLinks — so a fleet with 10
|
|
@@ -9242,6 +9360,18 @@ export function TopoGraph({ sessions, sseSessions, renameSignal }: TopoGraphProp
|
|
|
9242
9360
|
{' · '}
|
|
9243
9361
|
<tspan opacity="0.7" data-recent-row-content-tspan>{truncate(link.content, 8)}</tspan>
|
|
9244
9362
|
</text>
|
|
9363
|
+
{/* Round 484 / Loop — recent-row timestamp opacity
|
|
9364
|
+
lifts to 1.0 when isRowHovered || isRowPinned,
|
|
9365
|
+
regardless of freshness alpha. R191 origin
|
|
9366
|
+
decays tsAlpha along with the row's freshness;
|
|
9367
|
+
pre-R484 hovering/pinning the row left the
|
|
9368
|
+
timestamp dim — user inspecting stale data
|
|
9369
|
+
fought the freshness encoding. R484 lifts to
|
|
9370
|
+
1.0 on attention. Sibling to R472/R474 in the
|
|
9371
|
+
recent-row state-flip family. data-recent-row-
|
|
9372
|
+
ts-lifted attr exposes the gate; original
|
|
9373
|
+
data-recent-row-ts-alpha preserved as R191
|
|
9374
|
+
freshness reading. */}
|
|
9245
9375
|
{lastAt ? (
|
|
9246
9376
|
/* Round 321 / Loop: lastAt freshness timestamp picks
|
|
9247
9377
|
up fontVariantNumeric tabular-nums. The string
|
|
@@ -9265,9 +9395,10 @@ export function TopoGraph({ sessions, sseSessions, renameSignal }: TopoGraphProp
|
|
|
9265
9395
|
fill={pal.legendText}
|
|
9266
9396
|
fontSize="8"
|
|
9267
9397
|
fontFamily="monospace"
|
|
9268
|
-
opacity={tsAlpha}
|
|
9398
|
+
opacity={(isRowHovered || isRowPinned) ? 1 : tsAlpha}
|
|
9269
9399
|
data-recent-row-ts={link.key}
|
|
9270
9400
|
data-recent-row-ts-alpha={tsAlpha.toFixed(2)}
|
|
9401
|
+
data-recent-row-ts-lifted={(isRowHovered || isRowPinned) ? 'true' : 'false'}
|
|
9271
9402
|
style={{
|
|
9272
9403
|
pointerEvents: 'none',
|
|
9273
9404
|
transition: 'opacity 200ms ease-out',
|
|
@@ -9542,9 +9673,30 @@ export function TopoGraph({ sessions, sseSessions, renameSignal }: TopoGraphProp
|
|
|
9542
9673
|
surrounding chrome eased; R266 closes both at once. */}
|
|
9543
9674
|
{/* R301: sibling to recent-signal panel title above —
|
|
9544
9675
|
same letterSpacing 0.3 for editorial parity. */}
|
|
9676
|
+
{/* Round 483 / Loop — sibling to R482 (recent-signal panel
|
|
9677
|
+
title): legend panel title fontWeight 700 → 800 on
|
|
9678
|
+
pinnedStatus (any legend row pinned propagates to the
|
|
9679
|
+
panel title). Pre-R483 the title responded only to
|
|
9680
|
+
panel-chrome hover via R345 ls; the pinnedStatus row
|
|
9681
|
+
highlighted its own swatch + tint via R181/R477 but
|
|
9682
|
+
the title stayed flat — no upstream tightening to
|
|
9683
|
+
signal "panel context = inspecting".
|
|
9684
|
+
R483 closes the symmetry with R482: both panel titles
|
|
9685
|
+
(recent-signal + legend) now tighten typographically
|
|
9686
|
+
when ANY row inside them is in the active filter
|
|
9687
|
+
state. Same idiom, mirrored at the legend-row scope.
|
|
9688
|
+
data tightens family — now 10 anchors:
|
|
9689
|
+
R416/R424/R425/R426 chip/panel/hub/edge digits
|
|
9690
|
+
R444/R445/R446 group/recent/legend counts
|
|
9691
|
+
R457 group-label parent
|
|
9692
|
+
R482 recent-panel title
|
|
9693
|
+
R483 legend-panel title (this round)
|
|
9694
|
+
transition list extends to include 'font-weight 200ms
|
|
9695
|
+
ease-out' alongside R345's ls + R55's fill 200ms.
|
|
9696
|
+
data-legend-panel-title-fw + -active exposed for tests. */}
|
|
9545
9697
|
{/* R345 sibling — legend panel title same hover letter-
|
|
9546
9698
|
spacing tween 0.3 → 0.4 on panel hover. */}
|
|
9547
|
-
<text x="13" y="21" fill={pal.legendHeadline} fontSize="12" fontFamily="monospace" fontWeight=
|
|
9699
|
+
<text x="13" y="21" fill={pal.legendHeadline} fontSize="12" fontFamily="monospace" fontWeight={pinnedStatus ? '800' : '700'} letterSpacing={hoveredPanel === 'legend' ? '0.4' : '0.3'} style={{ transition: 'fill 200ms ease-out, letter-spacing 200ms ease-out, font-weight 200ms ease-out' }} data-legend-panel-title data-legend-panel-title-fw={pinnedStatus ? '800' : '700'} data-legend-panel-title-active={pinnedStatus ? 'true' : 'false'}>legend</text>
|
|
9548
9700
|
{/* Round 257 / Loop: legend panel header count picks up the
|
|
9549
9701
|
symmetric 13L/13R inner-padding pattern from the recent-
|
|
9550
9702
|
signal panel. Pre-R257 the legend header was 13px from
|
|
@@ -10440,12 +10592,41 @@ export function TopoGraph({ sessions, sseSessions, renameSignal }: TopoGraphProp
|
|
|
10440
10592
|
stale ones. data-topo-minimap-dot-opacity
|
|
10441
10593
|
attr (R392) reflects the resolved hover-
|
|
10442
10594
|
state value for tests. */
|
|
10595
|
+
/* Round 486 / Loop — 3rd anchor in the
|
|
10596
|
+
inspection-overrides-encoding pattern. Sibling
|
|
10597
|
+
to R484 (recent-row timestamp) + R485 (edge
|
|
10598
|
+
particle). When the operator hovers a node
|
|
10599
|
+
alias on the main canvas, the matching
|
|
10600
|
+
minimap dot lifts to opacity=1.0 regardless
|
|
10601
|
+
of the binary online/offline encoding —
|
|
10602
|
+
cross-reference cue between canvas focal
|
|
10603
|
+
and the minimap wayfinding overlay.
|
|
10604
|
+
Pre-R486 an offline node's minimap dot stayed
|
|
10605
|
+
at 0.6 even when the operator was inspecting
|
|
10606
|
+
it via canvas hover; R486 makes the
|
|
10607
|
+
inspection signal jump the minimap dot to
|
|
10608
|
+
full presence so the spatial reference is
|
|
10609
|
+
unambiguous.
|
|
10610
|
+
Encoding survives: data-topo-minimap-dot-
|
|
10611
|
+
online preserves the online/offline binary,
|
|
10612
|
+
data-topo-minimap-dot-opacity-rest preserves
|
|
10613
|
+
the would-be opacity. Only the LIVE painted
|
|
10614
|
+
opacity flips on inspection.
|
|
10615
|
+
inspection-overrides-encoding family — 3
|
|
10616
|
+
anchors now:
|
|
10617
|
+
R484 recent-row timestamp
|
|
10618
|
+
R485 edge particle
|
|
10619
|
+
R486 minimap dot ← this round
|
|
10620
|
+
data-topo-minimap-dot-lifted attr exposes
|
|
10621
|
+
the override gate. */
|
|
10443
10622
|
r={isOn ? 1.9 : 1.2}
|
|
10444
10623
|
fill={st.primary}
|
|
10445
|
-
opacity={isOn ? (hoveredMinimap ? 1 : 0.95) : 0.6}
|
|
10624
|
+
opacity={hoveredAlias === s.alias ? 1 : (isOn ? (hoveredMinimap ? 1 : 0.95) : 0.6)}
|
|
10446
10625
|
data-topo-minimap-dot={s.alias}
|
|
10447
10626
|
data-topo-minimap-dot-online={isOn ? 'true' : 'false'}
|
|
10448
|
-
data-topo-minimap-dot-opacity={isOn ? (hoveredMinimap ? 1 : 0.95) : 0.6}
|
|
10627
|
+
data-topo-minimap-dot-opacity={hoveredAlias === s.alias ? 1 : (isOn ? (hoveredMinimap ? 1 : 0.95) : 0.6)}
|
|
10628
|
+
data-topo-minimap-dot-opacity-rest={isOn ? (hoveredMinimap ? 1 : 0.95) : 0.6}
|
|
10629
|
+
data-topo-minimap-dot-lifted={hoveredAlias === s.alias ? 'true' : 'false'}
|
|
10449
10630
|
data-topo-minimap-dot-radius={isOn ? 1.9 : 1.2}
|
|
10450
10631
|
style={{
|
|
10451
10632
|
transition: 'opacity 200ms ease-out, fill 200ms ease-out, r 200ms ease-out',
|
|
@@ -10569,10 +10750,42 @@ export function TopoGraph({ sessions, sseSessions, renameSignal }: TopoGraphProp
|
|
|
10569
10750
|
data-topo-minimap-viewport-smooth={smoothView ? 'true' : 'false'}
|
|
10570
10751
|
data-topo-minimap-viewport-hover={hoveredMinimap ? 'true' : 'false'}
|
|
10571
10752
|
data-topo-minimap-viewport-linejoin="round"
|
|
10753
|
+
/* Round 481 / Loop — 6th anchor in the drop-shadow
|
|
10754
|
+
visual-polish family. New gate type: ZOOM STATE.
|
|
10755
|
+
When current canvas zoom > 1.5x (50% above the
|
|
10756
|
+
default 1.0 baseline), the minimap viewport rect
|
|
10757
|
+
gains a soft cyan halo signaling "you're zoomed
|
|
10758
|
+
in beyond default". The minimap viewport already
|
|
10759
|
+
shrinks as you zoom in (rectW = VIEWBOX_W /
|
|
10760
|
+
view.zoom * sx, so at zoom=2 it halves) — the
|
|
10761
|
+
glow tells you the wayfinding marker is now
|
|
10762
|
+
scaled-down rather than at canvas-default size.
|
|
10763
|
+
Drop-shadow family — 6 gate types covered:
|
|
10764
|
+
R476 hub digit hover-gated
|
|
10765
|
+
R477 legend pin-ring pin-gated
|
|
10766
|
+
R478 freshness pip freshness-gated
|
|
10767
|
+
R479 group label pin-gated
|
|
10768
|
+
R480 edge badge hot-lane-gated
|
|
10769
|
+
R481 minimap zoom-gated ← this round
|
|
10770
|
+
6 distinct semantic gates (user interaction
|
|
10771
|
+
transient/sticky × 2, data freshness, data
|
|
10772
|
+
volume, canvas zoom state). Each anchor uses
|
|
10773
|
+
hue family appropriate to its semantic context.
|
|
10774
|
+
Hue: pal.legendAccent at 0x80 alpha — matches
|
|
10775
|
+
the existing R107 tint family and R478/R479
|
|
10776
|
+
cyan-tone choices. 2-px blur reads as subtle
|
|
10777
|
+
(the minimap viewport is small, ~120×82 px).
|
|
10778
|
+
Filter is paint-only — bbox unchanged. transition
|
|
10779
|
+
list extends to include 'filter 200ms ease-out'
|
|
10780
|
+
so the glow eases when zoom crosses 1.5x. */
|
|
10781
|
+
data-topo-minimap-viewport-glow={view.zoom > 1.5 ? 'true' : 'false'}
|
|
10572
10782
|
style={{
|
|
10783
|
+
filter: view.zoom > 1.5
|
|
10784
|
+
? `drop-shadow(0 0 2px ${pal.legendAccent}80)`
|
|
10785
|
+
: undefined,
|
|
10573
10786
|
transition: smoothView
|
|
10574
|
-
? 'x 280ms ease-out, y 280ms ease-out, width 280ms ease-out, height 280ms ease-out, stroke-width 200ms ease-out, opacity 200ms ease-out'
|
|
10575
|
-
: 'stroke-width 200ms ease-out, opacity 200ms ease-out',
|
|
10787
|
+
? 'x 280ms ease-out, y 280ms ease-out, width 280ms ease-out, height 280ms ease-out, stroke-width 200ms ease-out, opacity 200ms ease-out, filter 200ms ease-out'
|
|
10788
|
+
: 'stroke-width 200ms ease-out, opacity 200ms ease-out, filter 200ms ease-out',
|
|
10576
10789
|
} as React.CSSProperties}
|
|
10577
10790
|
/>
|
|
10578
10791
|
</svg>
|
package/package.json
CHANGED
|
Binary file
|