@sleep2agi/agent-network-dashboard 0.5.1-preview.89 → 0.5.1-preview.90

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.
Files changed (139) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/build-manifest.json +3 -3
  3. package/.next/diagnostics/route-bundle-stats.json +4 -4
  4. package/.next/fallback-build-manifest.json +3 -3
  5. package/.next/server/app/_global-error.html +1 -1
  6. package/.next/server/app/_global-error.rsc +1 -1
  7. package/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  8. package/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  9. package/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  10. package/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  11. package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  12. package/.next/server/app/_not-found.html +1 -1
  13. package/.next/server/app/_not-found.rsc +1 -1
  14. package/.next/server/app/_not-found.segments/_full.segment.rsc +1 -1
  15. package/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  16. package/.next/server/app/_not-found.segments/_index.segment.rsc +1 -1
  17. package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  18. package/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  19. package/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
  20. package/.next/server/app/admin.html +1 -1
  21. package/.next/server/app/admin.rsc +1 -1
  22. package/.next/server/app/admin.segments/_full.segment.rsc +1 -1
  23. package/.next/server/app/admin.segments/_head.segment.rsc +1 -1
  24. package/.next/server/app/admin.segments/_index.segment.rsc +1 -1
  25. package/.next/server/app/admin.segments/_tree.segment.rsc +1 -1
  26. package/.next/server/app/admin.segments/admin/__PAGE__.segment.rsc +1 -1
  27. package/.next/server/app/admin.segments/admin.segment.rsc +1 -1
  28. package/.next/server/app/index.html +2 -2
  29. package/.next/server/app/index.rsc +2 -2
  30. package/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
  31. package/.next/server/app/index.segments/_full.segment.rsc +2 -2
  32. package/.next/server/app/index.segments/_head.segment.rsc +1 -1
  33. package/.next/server/app/index.segments/_index.segment.rsc +1 -1
  34. package/.next/server/app/index.segments/_tree.segment.rsc +1 -1
  35. package/.next/server/app/login/page_client-reference-manifest.js +1 -1
  36. package/.next/server/app/login.html +2 -2
  37. package/.next/server/app/login.rsc +2 -2
  38. package/.next/server/app/login.segments/_full.segment.rsc +2 -2
  39. package/.next/server/app/login.segments/_head.segment.rsc +1 -1
  40. package/.next/server/app/login.segments/_index.segment.rsc +1 -1
  41. package/.next/server/app/login.segments/_tree.segment.rsc +1 -1
  42. package/.next/server/app/login.segments/login/__PAGE__.segment.rsc +2 -2
  43. package/.next/server/app/login.segments/login.segment.rsc +1 -1
  44. package/.next/server/app/logs.html +1 -1
  45. package/.next/server/app/logs.rsc +1 -1
  46. package/.next/server/app/logs.segments/_full.segment.rsc +1 -1
  47. package/.next/server/app/logs.segments/_head.segment.rsc +1 -1
  48. package/.next/server/app/logs.segments/_index.segment.rsc +1 -1
  49. package/.next/server/app/logs.segments/_tree.segment.rsc +1 -1
  50. package/.next/server/app/logs.segments/logs/__PAGE__.segment.rsc +1 -1
  51. package/.next/server/app/logs.segments/logs.segment.rsc +1 -1
  52. package/.next/server/app/messages.html +1 -1
  53. package/.next/server/app/messages.rsc +1 -1
  54. package/.next/server/app/messages.segments/_full.segment.rsc +1 -1
  55. package/.next/server/app/messages.segments/_head.segment.rsc +1 -1
  56. package/.next/server/app/messages.segments/_index.segment.rsc +1 -1
  57. package/.next/server/app/messages.segments/_tree.segment.rsc +1 -1
  58. package/.next/server/app/messages.segments/messages/__PAGE__.segment.rsc +1 -1
  59. package/.next/server/app/messages.segments/messages.segment.rsc +1 -1
  60. package/.next/server/app/node.html +1 -1
  61. package/.next/server/app/node.rsc +1 -1
  62. package/.next/server/app/node.segments/_full.segment.rsc +1 -1
  63. package/.next/server/app/node.segments/_head.segment.rsc +1 -1
  64. package/.next/server/app/node.segments/_index.segment.rsc +1 -1
  65. package/.next/server/app/node.segments/_tree.segment.rsc +1 -1
  66. package/.next/server/app/node.segments/node/__PAGE__.segment.rsc +1 -1
  67. package/.next/server/app/node.segments/node.segment.rsc +1 -1
  68. package/.next/server/app/nodes.html +1 -1
  69. package/.next/server/app/nodes.rsc +1 -1
  70. package/.next/server/app/nodes.segments/_full.segment.rsc +1 -1
  71. package/.next/server/app/nodes.segments/_head.segment.rsc +1 -1
  72. package/.next/server/app/nodes.segments/_index.segment.rsc +1 -1
  73. package/.next/server/app/nodes.segments/_tree.segment.rsc +1 -1
  74. package/.next/server/app/nodes.segments/nodes/__PAGE__.segment.rsc +1 -1
  75. package/.next/server/app/nodes.segments/nodes.segment.rsc +1 -1
  76. package/.next/server/app/page_client-reference-manifest.js +1 -1
  77. package/.next/server/app/server-logs.html +1 -1
  78. package/.next/server/app/server-logs.rsc +1 -1
  79. package/.next/server/app/server-logs.segments/_full.segment.rsc +1 -1
  80. package/.next/server/app/server-logs.segments/_head.segment.rsc +1 -1
  81. package/.next/server/app/server-logs.segments/_index.segment.rsc +1 -1
  82. package/.next/server/app/server-logs.segments/_tree.segment.rsc +1 -1
  83. package/.next/server/app/server-logs.segments/server-logs/__PAGE__.segment.rsc +1 -1
  84. package/.next/server/app/server-logs.segments/server-logs.segment.rsc +1 -1
  85. package/.next/server/app/settings/networks.html +1 -1
  86. package/.next/server/app/settings/networks.rsc +1 -1
  87. package/.next/server/app/settings/networks.segments/_full.segment.rsc +1 -1
  88. package/.next/server/app/settings/networks.segments/_head.segment.rsc +1 -1
  89. package/.next/server/app/settings/networks.segments/_index.segment.rsc +1 -1
  90. package/.next/server/app/settings/networks.segments/_tree.segment.rsc +1 -1
  91. package/.next/server/app/settings/networks.segments/settings/networks/__PAGE__.segment.rsc +1 -1
  92. package/.next/server/app/settings/networks.segments/settings/networks.segment.rsc +1 -1
  93. package/.next/server/app/settings/networks.segments/settings.segment.rsc +1 -1
  94. package/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  95. package/.next/server/app/settings/tokens.html +1 -1
  96. package/.next/server/app/settings/tokens.rsc +1 -1
  97. package/.next/server/app/settings/tokens.segments/_full.segment.rsc +1 -1
  98. package/.next/server/app/settings/tokens.segments/_head.segment.rsc +1 -1
  99. package/.next/server/app/settings/tokens.segments/_index.segment.rsc +1 -1
  100. package/.next/server/app/settings/tokens.segments/_tree.segment.rsc +1 -1
  101. package/.next/server/app/settings/tokens.segments/settings/tokens/__PAGE__.segment.rsc +1 -1
  102. package/.next/server/app/settings/tokens.segments/settings/tokens.segment.rsc +1 -1
  103. package/.next/server/app/settings/tokens.segments/settings.segment.rsc +1 -1
  104. package/.next/server/app/settings.html +2 -2
  105. package/.next/server/app/settings.rsc +2 -2
  106. package/.next/server/app/settings.segments/_full.segment.rsc +2 -2
  107. package/.next/server/app/settings.segments/_head.segment.rsc +1 -1
  108. package/.next/server/app/settings.segments/_index.segment.rsc +1 -1
  109. package/.next/server/app/settings.segments/_tree.segment.rsc +1 -1
  110. package/.next/server/app/settings.segments/settings/__PAGE__.segment.rsc +2 -2
  111. package/.next/server/app/settings.segments/settings.segment.rsc +1 -1
  112. package/.next/server/app/tasks.html +1 -1
  113. package/.next/server/app/tasks.rsc +1 -1
  114. package/.next/server/app/tasks.segments/_full.segment.rsc +1 -1
  115. package/.next/server/app/tasks.segments/_head.segment.rsc +1 -1
  116. package/.next/server/app/tasks.segments/_index.segment.rsc +1 -1
  117. package/.next/server/app/tasks.segments/_tree.segment.rsc +1 -1
  118. package/.next/server/app/tasks.segments/tasks/__PAGE__.segment.rsc +1 -1
  119. package/.next/server/app/tasks.segments/tasks.segment.rsc +1 -1
  120. package/.next/server/chunks/ssr/agent-network-dashboard_09kk21a._.js +1 -1
  121. package/.next/server/chunks/ssr/agent-network-dashboard_09kk21a._.js.map +1 -1
  122. package/.next/server/chunks/ssr/agent-network-dashboard_app_01jhlxz._.js +1 -1
  123. package/.next/server/chunks/ssr/agent-network-dashboard_app_01jhlxz._.js.map +1 -1
  124. package/.next/server/chunks/ssr/agent-network-dashboard_app_09d29my._.js +1 -1
  125. package/.next/server/chunks/ssr/agent-network-dashboard_app_09d29my._.js.map +1 -1
  126. package/.next/server/middleware-build-manifest.js +3 -3
  127. package/.next/server/pages/404.html +1 -1
  128. package/.next/server/pages/500.html +1 -1
  129. package/.next/static/chunks/{0fhl5ds5ygk0l.js → 09el212cmtr70.js} +1 -1
  130. package/.next/static/chunks/{0p31umvveaa_4.js → 0apaxz3c96keo.js} +1 -1
  131. package/.next/static/chunks/{0nrgz1jw_qj9i.js → 188mrp1elgpea.js} +1 -1
  132. package/.next/trace +2 -2
  133. package/.next/trace-build +1 -1
  134. package/app/components/TopoGraph.tsx +25 -1
  135. package/package.json +1 -1
  136. package/scripts/{topo-dense-alias-letter-spacing-test.mjs → topo-label-card-opacity-hover-test.mjs} +33 -34
  137. /package/.next/static/{ZTjg2rcTXZxUfxXEwVWW8 → mQHthzMGmjydHu598yl-Z}/_buildManifest.js +0 -0
  138. /package/.next/static/{ZTjg2rcTXZxUfxXEwVWW8 → mQHthzMGmjydHu598yl-Z}/_clientMiddlewareManifest.js +0 -0
  139. /package/.next/static/{ZTjg2rcTXZxUfxXEwVWW8 → mQHthzMGmjydHu598yl-Z}/_ssgManifest.js +0 -0
@@ -1 +1 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,59276,e=>{"use strict";var s=e.i(12629),a=e.i(11449);let t=async e=>{let s=await fetch(e);if(401===s.status)throw window.location.assign("/login"),Error("unauthorized");return s.json()},r={refreshInterval:5e3,dedupingInterval:3e3};function n(e,s){if(!s)return e;let a=e.includes("?")?"&":"?";return`${e}${a}network_id=${encodeURIComponent(s)}`}e.s(["useAnetConfig",0,function(){let{data:e}=(0,s.default)("/api/anet/config",t,{refreshInterval:3e4});return{config:e||null}},"useHealth",0,function(){let{data:e,error:a}=(0,s.default)("/api/hub/health",t,r);return{health:e||null,error:a}},"useLicense",0,function(){let{data:e,error:a}=(0,s.default)("/api/hub/license",t,{refreshInterval:6e4});return{license:e?.ok?e:null,error:a}},"useMessages",0,function(e=100){let{networkId:l}=(0,a.useNetworkId)(),{data:i,error:c,isLoading:d}=(0,s.default)(n(`/api/hub/messages?limit=${e}`,l),t,r);return{messages:i?.messages||[],error:c,isLoading:d}},"useSessions",0,function(){let{networkId:e}=(0,a.useNetworkId)(),{data:l,error:i,isLoading:c}=(0,s.default)(n("/api/hub/status",e),t,r);return{sessions:l?.sessions||[],hint:l?._hint,error:i,isLoading:c}},"useStats",0,function(){let{networkId:e}=(0,a.useNetworkId)(),{data:l,error:i}=(0,s.default)(n("/api/hub/stats",e),t,r);return{stats:l?.ok?l:null,error:i}},"useTasks",0,function(e){let{networkId:l}=(0,a.useNetworkId)(),i=new URLSearchParams({limit:"100",...e}).toString(),{data:c,error:d,isLoading:o}=(0,s.default)(n(`/api/hub/tasks?${i}`,l),t,r);return{tasks:c?.tasks||[],count:c?.count??0,source:c?.source,error:d,isLoading:o}}])},70286,e=>{"use strict";e.s(["DASHBOARD_VERSION",0,"0.5.1-preview.88"],70286)},65610,e=>{"use strict";var s=e.i(22381),a=e.i(23910),t=e.i(56839),r=e.i(59276),n=e.i(70286);e.s(["default",0,function(){let{config:e}=(0,r.useAnetConfig)(),{health:l}=(0,r.useHealth)(),{license:i}=(0,r.useLicense)(),[c,d]=(0,a.useState)(""),[o,x]=(0,a.useState)(""),[m,h]=(0,a.useState)(""),[g,u]=(0,a.useState)(""),[p,N]=(0,a.useState)(""),b="flex flex-col gap-1 sm:flex-row sm:items-start sm:justify-between",j="break-all sm:max-w-[320px] sm:text-right";return(0,s.jsxs)("div",{className:"min-h-screen bg-[#0a0a1a] text-gray-100 p-4 sm:p-6 font-mono",children:[(0,s.jsx)("h1",{className:"text-2xl font-bold text-white mb-3 lg:ml-0 ml-10",children:"Settings"}),(0,s.jsx)("nav",{className:"mb-8 flex flex-wrap gap-1 text-xs",children:[{href:"#connection",label:"Connection"},{href:"#account",label:"Account"},{href:"#resources",label:"Resources"}].map(e=>(0,s.jsx)("a",{href:e.href,className:"rounded-md px-2.5 py-1 text-gray-500 hover:text-cyan-300 hover:bg-cyan-500/10 transition-colors",children:e.label},e.href))}),(0,s.jsxs)("div",{className:"max-w-2xl space-y-10",children:[(0,s.jsxs)("div",{id:"connection",className:"space-y-4 scroll-mt-6",children:[(0,s.jsxs)("div",{className:"flex items-center gap-2 px-1",children:[(0,s.jsx)("div",{className:"text-[11px] uppercase tracking-[0.14em] text-gray-400 font-semibold",children:"Connection"}),(0,s.jsx)("div",{className:"flex-1 h-px bg-[#2a2a4a]"})]}),(0,s.jsxs)("section",{className:"bg-[#111128] border border-[#2a2a4a] rounded-xl p-5",children:[(0,s.jsx)("h2",{className:"text-sm font-semibold text-gray-300 mb-4",children:"CommHub Connection"}),(0,s.jsxs)("div",{className:"space-y-3 text-sm",children:[(0,s.jsxs)("div",{className:b,children:[(0,s.jsx)("span",{className:"text-gray-500 shrink-0",children:"Hub URL"}),(0,s.jsx)("span",{className:`text-cyan-300 ${j}`,children:e?.hub||"not configured"})]}),(0,s.jsxs)("div",{className:b,children:[(0,s.jsx)("span",{className:"text-gray-500",children:"Config Source"}),(0,s.jsx)("span",{className:`text-gray-300 ${j}`,children:e?.source==="file"?"Local file (~/.anet/config.json)":e?.source==="runtime-env"?"Vercel env vars":"Missing"})]}),(0,s.jsxs)("div",{className:b,children:[(0,s.jsx)("span",{className:"text-gray-500",children:"Auth Token"}),(0,s.jsx)("span",{className:`${e?.tokenConfigured?"text-green-400":"text-red-400"} ${j}`,children:e?.tokenConfigured?`Configured (${e.tokenPreview})`:"Not configured"})]}),(0,s.jsxs)("div",{className:b,children:[(0,s.jsx)("span",{className:"text-gray-500",children:"Server Auth"}),(0,s.jsx)("span",{className:`${l?.auth==="enabled"?"text-green-400":"text-yellow-400"} sm:text-right`,children:l?.auth||"--"})]}),e?.error&&(0,s.jsx)("div",{className:"border-t border-[#2a2a4a] pt-3 text-xs text-gray-600",children:e.error})]})]}),(0,s.jsxs)("section",{className:"bg-[#111128] border border-[#2a2a4a] rounded-xl p-5",children:[(0,s.jsx)("h2",{className:"text-sm font-semibold text-gray-300 mb-4",children:"Server Info"}),(0,s.jsxs)("div",{className:"space-y-3 text-sm",children:[(0,s.jsxs)("div",{className:b,children:[(0,s.jsx)("span",{className:"text-gray-500",children:"Version"}),(0,s.jsx)("span",{className:`text-gray-300 ${j}`,children:l?.version||"--"})]}),(0,s.jsxs)("div",{className:b,children:[(0,s.jsx)("span",{className:"text-gray-500",children:"Sessions"}),(0,s.jsx)("span",{className:`text-gray-300 ${j}`,children:l?.sessions??"--"})]}),(0,s.jsxs)("div",{className:b,children:[(0,s.jsxs)("span",{className:"text-gray-500",children:["SSE streams ",(0,s.jsx)("span",{className:"text-gray-600",children:"· server"})]}),(0,s.jsx)("span",{className:`text-gray-300 ${j}`,children:l?.sse_connections??"--"})]}),(0,s.jsxs)("div",{className:b,children:[(0,s.jsx)("span",{className:"text-gray-500",children:"Uptime"}),(0,s.jsx)("span",{className:`text-gray-300 ${j}`,children:l?.uptime?`${Math.floor(l.uptime/3600)}h ${Math.floor(l.uptime%3600/60)}m`:"--"})]})]})]}),(0,s.jsxs)("section",{className:"bg-[#111128] border border-[#2a2a4a] rounded-xl p-5",children:[(0,s.jsx)("h2",{className:"text-sm font-semibold text-gray-300 mb-4",children:"Dashboard"}),(0,s.jsxs)("div",{className:"space-y-3 text-sm",children:[(0,s.jsxs)("div",{className:b,children:[(0,s.jsx)("span",{className:"text-gray-500",children:"Version"}),(0,s.jsx)("span",{className:`text-gray-300 font-mono ${j}`,title:"From package.json @sleep2agi/agent-network-dashboard",children:n.DASHBOARD_VERSION})]}),(0,s.jsxs)("div",{className:b,children:[(0,s.jsx)("span",{className:"text-gray-500",children:"Data Layer"}),(0,s.jsx)("span",{className:`text-gray-300 ${j}`,children:"SWR (5s refresh, 3s dedup)"})]}),(0,s.jsxs)("div",{className:b,children:[(0,s.jsx)("span",{className:"text-gray-500",children:"Pages"}),(0,s.jsx)("span",{className:`text-gray-300 ${j}`,children:"Overview, Tasks, Nodes, Messages, Networks, Audit, Server Logs, Admin, Settings"})]})]})]})]}),(0,s.jsxs)("div",{id:"account",className:"space-y-4 scroll-mt-6",children:[(0,s.jsxs)("div",{className:"flex items-center gap-2 px-1",children:[(0,s.jsx)("div",{className:"text-[11px] uppercase tracking-[0.14em] text-gray-400 font-semibold",children:"Account"}),(0,s.jsx)("div",{className:"flex-1 h-px bg-[#2a2a4a]"})]}),(0,s.jsxs)("section",{className:"bg-[#111128] border border-[#2a2a4a] rounded-xl p-5",children:[(0,s.jsxs)("h2",{className:"text-sm font-semibold text-gray-300 mb-4 flex items-center gap-2",children:["License",i?.license&&(0,s.jsxs)("span",{className:`inline-flex items-center gap-1.5 text-[10px] font-medium px-2 py-0.5 rounded-full border ${"pro"===i.license.type?"text-green-300 bg-green-500/10 border-green-500/30":i.license.days_left<=7?"text-red-300 bg-red-500/10 border-red-500/30":"text-amber-300 bg-amber-500/10 border-amber-500/30"}`,children:[(0,s.jsx)("span",{"aria-hidden":!0,className:"w-1.5 h-1.5 rounded-full bg-current"}),i.license.type,i.license.days_left?` \xb7 ${i.license.days_left}d left`:""]})]}),i?.license?(0,s.jsxs)("div",{className:"space-y-3 text-sm",children:[i.license.days_left<=7&&(0,s.jsxs)("div",{className:b,children:[(0,s.jsx)("span",{className:"text-red-400 font-medium",children:"⚠ Expiring soon"}),(0,s.jsxs)("span",{className:"text-red-400",children:[i.license.days_left," days left"]})]}),(0,s.jsxs)("div",{className:b,children:[(0,s.jsx)("span",{className:"text-gray-500",children:"Expires"}),(0,s.jsx)("span",{className:`text-gray-300 ${j}`,children:i.license.expires_at})]}),i.limits&&(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)("div",{className:b,children:[(0,s.jsx)("span",{className:"text-gray-500",children:"Max Agents"}),(0,s.jsx)("span",{className:`text-gray-300 ${j}`,children:i.limits.max_agents})]}),(0,s.jsxs)("div",{className:b,children:[(0,s.jsx)("span",{className:"text-gray-500",children:"Max Networks"}),(0,s.jsx)("span",{className:`text-gray-300 ${j}`,children:i.limits.max_networks})]}),(0,s.jsxs)("div",{className:b,children:[(0,s.jsx)("span",{className:"text-gray-500",children:"Tasks/Day"}),(0,s.jsx)("span",{className:`text-gray-300 ${j}`,children:i.limits.max_tasks_day})]})]}),(0,s.jsxs)("div",{className:"pt-3 border-t border-[#2a2a4a]",children:[(0,s.jsxs)("div",{className:"flex gap-2",children:[(0,s.jsx)("input",{type:"text",value:c,onChange:e=>d(e.target.value),placeholder:"anet-XXXX-XXXX-XXXX-XXXX",className:"flex-1 bg-[#0a0a15] border border-[#2a2a4a] rounded px-3 py-2 text-xs text-white placeholder-gray-600 focus:outline-none"}),(0,s.jsx)("button",{onClick:async()=>{if(!c.trim())return;let e=await fetch("/api/hub/license",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({key:c})}),s=await e.json();x(s.ok?`Activated: ${s.type}`:`Failed: ${s.error}`),s.ok&&d(""),setTimeout(()=>x(""),5e3)},className:"px-3 py-2 bg-cyan-600 hover:bg-cyan-500 text-white text-xs rounded transition-colors",children:"Activate"})]}),o&&(0,s.jsx)("div",{className:`mt-2 text-xs ${o.startsWith("Failed")?"text-red-400":"text-green-400"}`,children:o})]})]}):(0,s.jsx)("div",{className:"text-xs text-gray-600",children:"License info not available"})]}),(0,s.jsxs)("section",{className:"bg-[#111128] border border-[#2a2a4a] rounded-xl p-5",children:[(0,s.jsx)("h2",{className:"text-sm font-semibold text-gray-300 mb-4",children:"Change Password"}),(0,s.jsxs)("div",{className:"space-y-3",children:[(0,s.jsx)("input",{type:"password",value:m,onChange:e=>h(e.target.value),placeholder:"Current password",className:"w-full bg-[#0a0a15] border border-[#2a2a4a] rounded-lg px-3 py-2 text-sm text-white placeholder-gray-600 focus:border-cyan-500/50 focus:outline-none"}),(0,s.jsx)("input",{type:"password",value:g,onChange:e=>u(e.target.value),placeholder:"New password",className:"w-full bg-[#0a0a15] border border-[#2a2a4a] rounded-lg px-3 py-2 text-sm text-white placeholder-gray-600 focus:border-cyan-500/50 focus:outline-none"}),(0,s.jsx)("button",{onClick:async()=>{if(!m||!g)return;let e=sessionStorage.getItem("anet_v3_auth");if(!e)return void N("Not logged in with V3 auth");let{token:s}=JSON.parse(e),a=await fetch("/api/hub/auth",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"change_password",token:s,current_password:m,new_password:g})}),t=await a.json();if(N(t.ok?"Password changed":`Failed: ${t.error}`),t.ok){if(t.token){let s=JSON.parse(e);sessionStorage.setItem("anet_v3_auth",JSON.stringify({...s,token:t.token}))}h(""),u("")}setTimeout(()=>N(""),5e3)},disabled:!m||!g,className:"px-4 py-2 bg-cyan-600 hover:bg-cyan-500 disabled:bg-gray-800 disabled:text-gray-600 text-white text-sm rounded-lg transition-colors",children:"Change Password"})]}),p&&(0,s.jsx)("div",{className:`mt-2 text-xs ${p.startsWith("Failed")?"text-red-400":"text-green-400"}`,children:p})]}),(0,s.jsxs)("section",{className:"bg-[#111128] border border-[#2a2a4a] rounded-xl p-5",children:[(0,s.jsx)("h2",{className:"text-sm font-semibold text-gray-300 mb-4",children:"Sign out"}),(0,s.jsx)("p",{className:"text-xs text-gray-500 mb-3",children:"Signing out clears your dashboard session cookie. You'll return to the login page."}),(0,s.jsx)("button",{onClick:async()=>{await fetch("/api/auth/logout",{method:"POST"}).catch(()=>{}),window.location.assign("/login")},className:"px-4 py-2 bg-transparent hover:bg-[#1a1a2a] text-gray-300 text-sm rounded-lg border border-[#2a2a4a] hover:border-[#3a3a5a] transition-colors",children:"Sign out"})]})]}),(0,s.jsxs)("div",{id:"resources",className:"space-y-4 scroll-mt-6",children:[(0,s.jsxs)("div",{className:"flex items-center gap-2 px-1",children:[(0,s.jsx)("div",{className:"text-[11px] uppercase tracking-[0.14em] text-gray-400 font-semibold",children:"Resources"}),(0,s.jsx)("div",{className:"flex-1 h-px bg-[#2a2a4a]"})]}),(0,s.jsxs)("div",{className:"grid grid-cols-1 sm:grid-cols-2 gap-4",children:[(0,s.jsxs)(t.default,{href:"/settings/tokens",className:"bg-[#111128] border border-[#2a2a4a] rounded-xl p-5 hover:border-cyan-500/30 transition-colors",children:[(0,s.jsx)("h2",{className:"text-sm font-semibold text-gray-300",children:"API Tokens"}),(0,s.jsx)("p",{className:"text-xs text-gray-500 mt-2",children:"Create and manage tokens for CLI access."}),(0,s.jsx)("span",{className:"text-xs text-cyan-400 mt-3 inline-block",children:"Manage →"})]}),(0,s.jsxs)(t.default,{href:"/settings/networks",className:"bg-[#111128] border border-[#2a2a4a] rounded-xl p-5 hover:border-cyan-500/30 transition-colors",children:[(0,s.jsx)("h2",{className:"text-sm font-semibold text-gray-300",children:"Networks"}),(0,s.jsx)("p",{className:"text-xs text-gray-500 mt-2",children:"Create, manage, and delete agent networks."}),(0,s.jsx)("span",{className:"text-xs text-cyan-400 mt-3 inline-block",children:"Manage →"})]})]})]})]})]})}])}]);
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,59276,e=>{"use strict";var s=e.i(12629),a=e.i(11449);let t=async e=>{let s=await fetch(e);if(401===s.status)throw window.location.assign("/login"),Error("unauthorized");return s.json()},r={refreshInterval:5e3,dedupingInterval:3e3};function n(e,s){if(!s)return e;let a=e.includes("?")?"&":"?";return`${e}${a}network_id=${encodeURIComponent(s)}`}e.s(["useAnetConfig",0,function(){let{data:e}=(0,s.default)("/api/anet/config",t,{refreshInterval:3e4});return{config:e||null}},"useHealth",0,function(){let{data:e,error:a}=(0,s.default)("/api/hub/health",t,r);return{health:e||null,error:a}},"useLicense",0,function(){let{data:e,error:a}=(0,s.default)("/api/hub/license",t,{refreshInterval:6e4});return{license:e?.ok?e:null,error:a}},"useMessages",0,function(e=100){let{networkId:l}=(0,a.useNetworkId)(),{data:i,error:c,isLoading:d}=(0,s.default)(n(`/api/hub/messages?limit=${e}`,l),t,r);return{messages:i?.messages||[],error:c,isLoading:d}},"useSessions",0,function(){let{networkId:e}=(0,a.useNetworkId)(),{data:l,error:i,isLoading:c}=(0,s.default)(n("/api/hub/status",e),t,r);return{sessions:l?.sessions||[],hint:l?._hint,error:i,isLoading:c}},"useStats",0,function(){let{networkId:e}=(0,a.useNetworkId)(),{data:l,error:i}=(0,s.default)(n("/api/hub/stats",e),t,r);return{stats:l?.ok?l:null,error:i}},"useTasks",0,function(e){let{networkId:l}=(0,a.useNetworkId)(),i=new URLSearchParams({limit:"100",...e}).toString(),{data:c,error:d,isLoading:o}=(0,s.default)(n(`/api/hub/tasks?${i}`,l),t,r);return{tasks:c?.tasks||[],count:c?.count??0,source:c?.source,error:d,isLoading:o}}])},70286,e=>{"use strict";e.s(["DASHBOARD_VERSION",0,"0.5.1-preview.89"],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":273,"timestamp":159095163402,"id":4,"parentId":1,"tags":{},"startTime":1778967067410,"traceId":"55ed9f7aaab09c6a"},{"name":"load-custom-routes","duration":498,"timestamp":159095163826,"id":5,"parentId":1,"tags":{},"startTime":1778967067410,"traceId":"55ed9f7aaab09c6a"},{"name":"create-dist-dir","duration":747,"timestamp":159095164377,"id":6,"parentId":1,"tags":{},"startTime":1778967067411,"traceId":"55ed9f7aaab09c6a"},{"name":"clean","duration":35533,"timestamp":159095165827,"id":7,"parentId":1,"tags":{},"startTime":1778967067412,"traceId":"55ed9f7aaab09c6a"},{"name":"discover-routes","duration":26093,"timestamp":159095290224,"id":8,"parentId":1,"tags":{},"startTime":1778967067536,"traceId":"55ed9f7aaab09c6a"},{"name":"create-root-mapping","duration":160,"timestamp":159095316389,"id":9,"parentId":1,"tags":{},"startTime":1778967067563,"traceId":"55ed9f7aaab09c6a"},{"name":"generate-route-types","duration":26683,"timestamp":159095319944,"id":10,"parentId":1,"tags":{},"startTime":1778967067566,"traceId":"55ed9f7aaab09c6a"},{"name":"public-dir-conflict-check","duration":146,"timestamp":159095346727,"id":11,"parentId":1,"tags":{},"startTime":1778967067593,"traceId":"55ed9f7aaab09c6a"},{"name":"generate-routes-manifest","duration":5402,"timestamp":159095347059,"id":12,"parentId":1,"tags":{},"startTime":1778967067593,"traceId":"55ed9f7aaab09c6a"},{"name":"run-turbopack","duration":7605755,"timestamp":159095365925,"id":14,"parentId":1,"tags":{},"startTime":1778967067612,"traceId":"55ed9f7aaab09c6a"},{"name":"turbopack-build-events","duration":121,"timestamp":159095674932,"id":15,"parentId":1,"tags":{},"startTime":1778967067921,"traceId":"55ed9f7aaab09c6a"},{"name":"run-typescript","duration":10276933,"timestamp":159102980864,"id":16,"parentId":1,"tags":{},"startTime":1778967075227,"traceId":"55ed9f7aaab09c6a"},{"name":"generate-required-server-files","duration":3127,"timestamp":159113259514,"id":18,"parentId":1,"tags":{},"startTime":1778967085506,"traceId":"55ed9f7aaab09c6a"},{"name":"check-static-error-page","duration":19783,"timestamp":159113451305,"id":20,"parentId":19,"tags":{},"startTime":1778967085698,"traceId":"55ed9f7aaab09c6a"},{"name":"is-page-static","duration":566730,"timestamp":159113476813,"id":69,"parentId":28,"tags":{},"startTime":1778967085723,"traceId":"55ed9f7aaab09c6a"},{"name":"check-page","duration":585250,"timestamp":159113458474,"id":28,"parentId":19,"tags":{"page":"/api/hub/audit-log"},"startTime":1778967085705,"traceId":"55ed9f7aaab09c6a"},{"name":"is-page-static","duration":575169,"timestamp":159113476336,"id":65,"parentId":22,"tags":{},"startTime":1778967085723,"traceId":"55ed9f7aaab09c6a"},{"name":"check-page","duration":597000,"timestamp":159113454597,"id":22,"parentId":19,"tags":{"page":"/_global-error"},"startTime":1778967085701,"traceId":"55ed9f7aaab09c6a"},{"name":"is-page-static","duration":577474,"timestamp":159113477322,"id":71,"parentId":30,"tags":{},"startTime":1778967085724,"traceId":"55ed9f7aaab09c6a"},{"name":"check-page","duration":596056,"timestamp":159113458815,"id":30,"parentId":19,"tags":{"page":"/api/hub/broadcast"},"startTime":1778967085705,"traceId":"55ed9f7aaab09c6a"},{"name":"is-page-static","duration":610750,"timestamp":159113477581,"id":73,"parentId":33,"tags":{},"startTime":1778967085724,"traceId":"55ed9f7aaab09c6a"},{"name":"check-page","duration":628887,"timestamp":159113459523,"id":33,"parentId":19,"tags":{"page":"/api/hub/inbox"},"startTime":1778967085706,"traceId":"55ed9f7aaab09c6a"},{"name":"is-page-static","duration":620908,"timestamp":159113477136,"id":70,"parentId":29,"tags":{},"startTime":1778967085723,"traceId":"55ed9f7aaab09c6a"},{"name":"check-page","duration":639502,"timestamp":159113458625,"id":29,"parentId":19,"tags":{"page":"/api/hub/auth"},"startTime":1778967085705,"traceId":"55ed9f7aaab09c6a"},{"name":"is-page-static","duration":631148,"timestamp":159113477674,"id":74,"parentId":34,"tags":{},"startTime":1778967085724,"traceId":"55ed9f7aaab09c6a"},{"name":"check-page","duration":649222,"timestamp":159113459678,"id":34,"parentId":19,"tags":{"page":"/api/hub/license"},"startTime":1778967085706,"traceId":"55ed9f7aaab09c6a"},{"name":"is-page-static","duration":636145,"timestamp":159113477730,"id":76,"parentId":36,"tags":{},"startTime":1778967085724,"traceId":"55ed9f7aaab09c6a"},{"name":"check-page","duration":653119,"timestamp":159113460838,"id":36,"parentId":19,"tags":{"page":"/api/hub/networks"},"startTime":1778967085707,"traceId":"55ed9f7aaab09c6a"},{"name":"is-page-static","duration":640596,"timestamp":159113477784,"id":77,"parentId":37,"tags":{},"startTime":1778967085724,"traceId":"55ed9f7aaab09c6a"},{"name":"check-page","duration":657363,"timestamp":159113461076,"id":37,"parentId":19,"tags":{"page":"/api/hub/nodes"},"startTime":1778967085707,"traceId":"55ed9f7aaab09c6a"},{"name":"is-page-static","duration":644871,"timestamp":159113477804,"id":78,"parentId":38,"tags":{},"startTime":1778967085724,"traceId":"55ed9f7aaab09c6a"},{"name":"check-page","duration":661488,"timestamp":159113461240,"id":38,"parentId":19,"tags":{"page":"/api/hub/register"},"startTime":1778967085708,"traceId":"55ed9f7aaab09c6a"},{"name":"is-page-static","duration":645197,"timestamp":159113477709,"id":75,"parentId":35,"tags":{},"startTime":1778967085724,"traceId":"55ed9f7aaab09c6a"},{"name":"check-page","duration":663096,"timestamp":159113459844,"id":35,"parentId":19,"tags":{"page":"/api/hub/messages"},"startTime":1778967085706,"traceId":"55ed9f7aaab09c6a"},{"name":"is-page-static","duration":654737,"timestamp":159113477822,"id":79,"parentId":39,"tags":{},"startTime":1778967085724,"traceId":"55ed9f7aaab09c6a"},{"name":"check-page","duration":671247,"timestamp":159113461366,"id":39,"parentId":19,"tags":{"page":"/api/hub/send"},"startTime":1778967085708,"traceId":"55ed9f7aaab09c6a"},{"name":"is-page-static","duration":658503,"timestamp":159113477833,"id":80,"parentId":40,"tags":{},"startTime":1778967085724,"traceId":"55ed9f7aaab09c6a"},{"name":"check-page","duration":674896,"timestamp":159113461492,"id":40,"parentId":19,"tags":{"page":"/api/hub/server-logs"},"startTime":1778967085708,"traceId":"55ed9f7aaab09c6a"},{"name":"is-page-static","duration":671260,"timestamp":159113477850,"id":81,"parentId":42,"tags":{},"startTime":1778967085724,"traceId":"55ed9f7aaab09c6a"},{"name":"check-page","duration":687095,"timestamp":159113462093,"id":42,"parentId":19,"tags":{"page":"/api/hub/server/[hostname]/health"},"startTime":1778967085708,"traceId":"55ed9f7aaab09c6a"},{"name":"is-page-static","duration":681708,"timestamp":159113477881,"id":83,"parentId":45,"tags":{},"startTime":1778967085724,"traceId":"55ed9f7aaab09c6a"},{"name":"check-page","duration":696967,"timestamp":159113462825,"id":45,"parentId":19,"tags":{"page":"/api/hub/stats"},"startTime":1778967085709,"traceId":"55ed9f7aaab09c6a"},{"name":"is-page-static","duration":683595,"timestamp":159113476691,"id":68,"parentId":27,"tags":{},"startTime":1778967085723,"traceId":"55ed9f7aaab09c6a"},{"name":"check-page","duration":702023,"timestamp":159113458313,"id":27,"parentId":19,"tags":{"page":"/api/auth/v3"},"startTime":1778967085705,"traceId":"55ed9f7aaab09c6a"},{"name":"is-page-static","duration":696918,"timestamp":159113477893,"id":84,"parentId":46,"tags":{},"startTime":1778967085724,"traceId":"55ed9f7aaab09c6a"},{"name":"check-page","duration":711934,"timestamp":159113462952,"id":46,"parentId":19,"tags":{"page":"/api/hub/status"},"startTime":1778967085709,"traceId":"55ed9f7aaab09c6a"},{"name":"is-page-static","duration":713178,"timestamp":159113477926,"id":86,"parentId":48,"tags":{},"startTime":1778967085724,"traceId":"55ed9f7aaab09c6a"},{"name":"check-page","duration":728107,"timestamp":159113463387,"id":48,"parentId":19,"tags":{"page":"/api/hub/tasks"},"startTime":1778967085710,"traceId":"55ed9f7aaab09c6a"},{"name":"is-page-static","duration":713879,"timestamp":159113477865,"id":82,"parentId":44,"tags":{},"startTime":1778967085724,"traceId":"55ed9f7aaab09c6a"},{"name":"check-page","duration":729866,"timestamp":159113462644,"id":44,"parentId":19,"tags":{"page":"/api/hub/session"},"startTime":1778967085709,"traceId":"55ed9f7aaab09c6a"},{"name":"is-page-static","duration":718354,"timestamp":159113477938,"id":87,"parentId":49,"tags":{},"startTime":1778967085724,"traceId":"55ed9f7aaab09c6a"},{"name":"check-page","duration":730239,"timestamp":159113466103,"id":49,"parentId":19,"tags":{"page":"/api/hub/tmux"},"startTime":1778967085712,"traceId":"55ed9f7aaab09c6a"},{"name":"is-page-static","duration":719818,"timestamp":159113477909,"id":85,"parentId":47,"tags":{},"startTime":1778967085724,"traceId":"55ed9f7aaab09c6a"},{"name":"check-page","duration":734661,"timestamp":159113463123,"id":47,"parentId":19,"tags":{"page":"/api/hub/task-events"},"startTime":1778967085709,"traceId":"55ed9f7aaab09c6a"},{"name":"is-page-static","duration":726784,"timestamp":159113477954,"id":88,"parentId":50,"tags":{},"startTime":1778967085724,"traceId":"55ed9f7aaab09c6a"},{"name":"check-page","duration":738349,"timestamp":159113466453,"id":50,"parentId":19,"tags":{"page":"/api/hub/tokens"},"startTime":1778967085713,"traceId":"55ed9f7aaab09c6a"},{"name":"is-page-static","duration":723616,"timestamp":159113487443,"id":91,"parentId":31,"tags":{},"startTime":1778967085734,"traceId":"55ed9f7aaab09c6a"},{"name":"check-page","duration":752136,"timestamp":159113458973,"id":31,"parentId":19,"tags":{"page":"/api/hub/events"},"startTime":1778967085705,"traceId":"55ed9f7aaab09c6a"},{"name":"is-page-static","duration":734643,"timestamp":159113477970,"id":89,"parentId":51,"tags":{},"startTime":1778967085724,"traceId":"55ed9f7aaab09c6a"},{"name":"check-page","duration":746084,"timestamp":159113466578,"id":51,"parentId":19,"tags":{"page":"/favicon.ico"},"startTime":1778967085713,"traceId":"55ed9f7aaab09c6a"},{"name":"is-page-static","duration":731744,"timestamp":159113489334,"id":93,"parentId":43,"tags":{},"startTime":1778967085736,"traceId":"55ed9f7aaab09c6a"},{"name":"check-page","duration":758872,"timestamp":159113462253,"id":43,"parentId":19,"tags":{"page":"/api/hub/servers"},"startTime":1778967085709,"traceId":"55ed9f7aaab09c6a"},{"name":"is-page-static","duration":748953,"timestamp":159113475964,"id":64,"parentId":21,"tags":{},"startTime":1778967085722,"traceId":"55ed9f7aaab09c6a"},{"name":"check-page","duration":771965,"timestamp":159113452995,"id":21,"parentId":19,"tags":{"page":"/_not-found"},"startTime":1778967085699,"traceId":"55ed9f7aaab09c6a"},{"name":"is-page-static","duration":738851,"timestamp":159113486411,"id":90,"parentId":24,"tags":{},"startTime":1778967085733,"traceId":"55ed9f7aaab09c6a"},{"name":"check-page","duration":770078,"timestamp":159113455223,"id":24,"parentId":19,"tags":{"page":"/api/anet/config"},"startTime":1778967085701,"traceId":"55ed9f7aaab09c6a"},{"name":"is-page-static","duration":749677,"timestamp":159113491705,"id":95,"parentId":52,"tags":{},"startTime":1778967085738,"traceId":"55ed9f7aaab09c6a"},{"name":"check-page","duration":774413,"timestamp":159113467029,"id":52,"parentId":19,"tags":{"page":"/login"},"startTime":1778967085713,"traceId":"55ed9f7aaab09c6a"},{"name":"is-page-static","duration":757346,"timestamp":159113488215,"id":92,"parentId":41,"tags":{},"startTime":1778967085734,"traceId":"55ed9f7aaab09c6a"},{"name":"check-page","duration":784245,"timestamp":159113461778,"id":41,"parentId":19,"tags":{"page":"/api/hub/server/[hostname]/agents"},"startTime":1778967085708,"traceId":"55ed9f7aaab09c6a"},{"name":"is-page-static","duration":785320,"timestamp":159113477395,"id":72,"parentId":32,"tags":{},"startTime":1778967085724,"traceId":"55ed9f7aaab09c6a"},{"name":"check-page","duration":803488,"timestamp":159113459305,"id":32,"parentId":19,"tags":{"page":"/api/hub/health"},"startTime":1778967085706,"traceId":"55ed9f7aaab09c6a"},{"name":"is-page-static","duration":802875,"timestamp":159113491678,"id":94,"parentId":23,"tags":{},"startTime":1778967085738,"traceId":"55ed9f7aaab09c6a"},{"name":"check-page","duration":839703,"timestamp":159113454929,"id":23,"parentId":19,"tags":{"page":"/admin"},"startTime":1778967085701,"traceId":"55ed9f7aaab09c6a"},{"name":"is-page-static","duration":819977,"timestamp":159113491788,"id":100,"parentId":58,"tags":{},"startTime":1778967085738,"traceId":"55ed9f7aaab09c6a"},{"name":"check-page","duration":842446,"timestamp":159113469397,"id":58,"parentId":19,"tags":{"page":"/server-logs"},"startTime":1778967085716,"traceId":"55ed9f7aaab09c6a"},{"name":"is-page-static","duration":845774,"timestamp":159113476584,"id":67,"parentId":26,"tags":{},"startTime":1778967085723,"traceId":"55ed9f7aaab09c6a"},{"name":"check-page","duration":864268,"timestamp":159113458162,"id":26,"parentId":19,"tags":{"page":"/api/auth/logout"},"startTime":1778967085704,"traceId":"55ed9f7aaab09c6a"},{"name":"is-page-static","duration":840849,"timestamp":159113491901,"id":101,"parentId":59,"tags":{},"startTime":1778967085738,"traceId":"55ed9f7aaab09c6a"},{"name":"check-page","duration":863264,"timestamp":159113469603,"id":59,"parentId":19,"tags":{"page":"/settings/networks"},"startTime":1778967085716,"traceId":"55ed9f7aaab09c6a"},{"name":"is-page-static","duration":857382,"timestamp":159113491720,"id":96,"parentId":53,"tags":{},"startTime":1778967085738,"traceId":"55ed9f7aaab09c6a"},{"name":"check-page","duration":881954,"timestamp":159113467224,"id":53,"parentId":19,"tags":{"page":"/logs"},"startTime":1778967085713,"traceId":"55ed9f7aaab09c6a"},{"name":"is-page-static","duration":861339,"timestamp":159113491947,"id":104,"parentId":63,"tags":{},"startTime":1778967085738,"traceId":"55ed9f7aaab09c6a"},{"name":"check-page","duration":882561,"timestamp":159113470795,"id":63,"parentId":19,"tags":{"page":"/tasks"},"startTime":1778967085717,"traceId":"55ed9f7aaab09c6a"},{"name":"is-page-static","duration":863033,"timestamp":159113491773,"id":99,"parentId":56,"tags":{},"startTime":1778967085738,"traceId":"55ed9f7aaab09c6a"},{"name":"check-page","duration":886374,"timestamp":159113468485,"id":56,"parentId":19,"tags":{"page":"/nodes"},"startTime":1778967085715,"traceId":"55ed9f7aaab09c6a"},{"name":"is-page-static","duration":865556,"timestamp":159113491933,"id":103,"parentId":62,"tags":{},"startTime":1778967085738,"traceId":"55ed9f7aaab09c6a"},{"name":"check-page","duration":886918,"timestamp":159113470615,"id":62,"parentId":19,"tags":{"page":"/tasks/[id]"},"startTime":1778967085717,"traceId":"55ed9f7aaab09c6a"},{"name":"is-page-static","duration":866746,"timestamp":159113491745,"id":98,"parentId":55,"tags":{},"startTime":1778967085738,"traceId":"55ed9f7aaab09c6a"},{"name":"check-page","duration":890753,"timestamp":159113467832,"id":55,"parentId":19,"tags":{"page":"/node"},"startTime":1778967085714,"traceId":"55ed9f7aaab09c6a"},{"name":"is-page-static","duration":859482,"timestamp":159113503288,"id":105,"parentId":57,"tags":{},"startTime":1778967085750,"traceId":"55ed9f7aaab09c6a"},{"name":"check-page","duration":894031,"timestamp":159113468792,"id":57,"parentId":19,"tags":{"page":"/"},"startTime":1778967085715,"traceId":"55ed9f7aaab09c6a"},{"name":"is-page-static","duration":843160,"timestamp":159113521750,"id":106,"parentId":60,"tags":{},"startTime":1778967085768,"traceId":"55ed9f7aaab09c6a"},{"name":"check-page","duration":895159,"timestamp":159113469801,"id":60,"parentId":19,"tags":{"page":"/settings"},"startTime":1778967085716,"traceId":"55ed9f7aaab09c6a"},{"name":"is-page-static","duration":880730,"timestamp":159113491735,"id":97,"parentId":54,"tags":{},"startTime":1778967085738,"traceId":"55ed9f7aaab09c6a"},{"name":"check-page","duration":905106,"timestamp":159113467407,"id":54,"parentId":19,"tags":{"page":"/messages"},"startTime":1778967085714,"traceId":"55ed9f7aaab09c6a"},{"name":"is-page-static","duration":919051,"timestamp":159113491919,"id":102,"parentId":61,"tags":{},"startTime":1778967085738,"traceId":"55ed9f7aaab09c6a"},{"name":"check-page","duration":940642,"timestamp":159113470448,"id":61,"parentId":19,"tags":{"page":"/settings/tokens"},"startTime":1778967085717,"traceId":"55ed9f7aaab09c6a"},{"name":"is-page-static","duration":950030,"timestamp":159113476466,"id":66,"parentId":25,"tags":{},"startTime":1778967085723,"traceId":"55ed9f7aaab09c6a"},{"name":"check-page","duration":968631,"timestamp":159113457955,"id":25,"parentId":19,"tags":{"page":"/api/auth/login"},"startTime":1778967085704,"traceId":"55ed9f7aaab09c6a"},{"name":"static-check","duration":976589,"timestamp":159113450052,"id":19,"parentId":1,"tags":{},"startTime":1778967085696,"traceId":"55ed9f7aaab09c6a"}]
2
- [{"name":"write-routes-manifest","duration":701,"timestamp":159114443997,"id":108,"parentId":1,"tags":{},"startTime":1778967086690,"traceId":"55ed9f7aaab09c6a"},{"name":"load-dotenv","duration":57,"timestamp":159114457447,"id":111,"parentId":110,"tags":{},"startTime":1778967086704,"traceId":"55ed9f7aaab09c6a"},{"name":"run-export-path-map","duration":819,"timestamp":159114460512,"id":112,"parentId":110,"tags":{},"startTime":1778967086707,"traceId":"55ed9f7aaab09c6a"},{"name":"next-export","duration":722067,"timestamp":159114455813,"id":110,"parentId":1,"tags":{},"startTime":1778967086702,"traceId":"55ed9f7aaab09c6a"},{"name":"move-exported-app-not-found-","duration":568,"timestamp":159115181383,"id":113,"parentId":109,"tags":{},"startTime":1778967087428,"traceId":"55ed9f7aaab09c6a"},{"name":"move-exported-app-global-error-","duration":367,"timestamp":159115182071,"id":114,"parentId":109,"tags":{},"startTime":1778967087428,"traceId":"55ed9f7aaab09c6a"},{"name":"static-generation","duration":735860,"timestamp":159114448778,"id":109,"parentId":1,"tags":{},"startTime":1778967086695,"traceId":"55ed9f7aaab09c6a"},{"name":"write-routes-manifest","duration":536,"timestamp":159115184889,"id":115,"parentId":1,"tags":{},"startTime":1778967087431,"traceId":"55ed9f7aaab09c6a"},{"name":"print-tree-view","duration":4370,"timestamp":159115206770,"id":116,"parentId":1,"tags":{},"startTime":1778967087453,"traceId":"55ed9f7aaab09c6a"},{"name":"write-route-bundle-stats","duration":12936,"timestamp":159115211172,"id":117,"parentId":1,"tags":{},"startTime":1778967087457,"traceId":"55ed9f7aaab09c6a"},{"name":"telemetry-flush","duration":18051,"timestamp":159115224143,"id":118,"parentId":1,"tags":{},"startTime":1778967087470,"traceId":"55ed9f7aaab09c6a"},{"name":"next-build","duration":20134232,"timestamp":159095107996,"id":1,"tags":{"buildMode":"default","version":"16.2.3","bundler":"turbopack","has-custom-webpack-config":"false","use-build-worker":"true"},"startTime":1778967067354,"traceId":"55ed9f7aaab09c6a"}]
1
+ [{"name":"generate-buildid","duration":379,"timestamp":159593035679,"id":4,"parentId":1,"tags":{},"startTime":1778967565282,"traceId":"7f2a6e54644d9165"},{"name":"load-custom-routes","duration":448,"timestamp":159593036234,"id":5,"parentId":1,"tags":{},"startTime":1778967565283,"traceId":"7f2a6e54644d9165"},{"name":"create-dist-dir","duration":725,"timestamp":159593036722,"id":6,"parentId":1,"tags":{},"startTime":1778967565283,"traceId":"7f2a6e54644d9165"},{"name":"clean","duration":39575,"timestamp":159593038125,"id":7,"parentId":1,"tags":{},"startTime":1778967565284,"traceId":"7f2a6e54644d9165"},{"name":"discover-routes","duration":22758,"timestamp":159593180493,"id":8,"parentId":1,"tags":{},"startTime":1778967565427,"traceId":"7f2a6e54644d9165"},{"name":"create-root-mapping","duration":165,"timestamp":159593203338,"id":9,"parentId":1,"tags":{},"startTime":1778967565450,"traceId":"7f2a6e54644d9165"},{"name":"generate-route-types","duration":51758,"timestamp":159593207422,"id":10,"parentId":1,"tags":{},"startTime":1778967565454,"traceId":"7f2a6e54644d9165"},{"name":"public-dir-conflict-check","duration":158,"timestamp":159593259320,"id":11,"parentId":1,"tags":{},"startTime":1778967565506,"traceId":"7f2a6e54644d9165"},{"name":"generate-routes-manifest","duration":7877,"timestamp":159593259668,"id":12,"parentId":1,"tags":{},"startTime":1778967565506,"traceId":"7f2a6e54644d9165"},{"name":"run-turbopack","duration":9337279,"timestamp":159593275308,"id":14,"parentId":1,"tags":{},"startTime":1778967565522,"traceId":"7f2a6e54644d9165"},{"name":"turbopack-build-events","duration":118,"timestamp":159593654802,"id":15,"parentId":1,"tags":{},"startTime":1778967565901,"traceId":"7f2a6e54644d9165"},{"name":"run-typescript","duration":11932910,"timestamp":159602627526,"id":16,"parentId":1,"tags":{},"startTime":1778967574874,"traceId":"7f2a6e54644d9165"},{"name":"generate-required-server-files","duration":3677,"timestamp":159614562716,"id":18,"parentId":1,"tags":{},"startTime":1778967586809,"traceId":"7f2a6e54644d9165"},{"name":"check-static-error-page","duration":16058,"timestamp":159614764057,"id":20,"parentId":19,"tags":{},"startTime":1778967587010,"traceId":"7f2a6e54644d9165"},{"name":"is-page-static","duration":539253,"timestamp":159614784095,"id":65,"parentId":22,"tags":{},"startTime":1778967587030,"traceId":"7f2a6e54644d9165"},{"name":"check-page","duration":556215,"timestamp":159614767325,"id":22,"parentId":19,"tags":{"page":"/_global-error"},"startTime":1778967587014,"traceId":"7f2a6e54644d9165"},{"name":"is-page-static","duration":667424,"timestamp":159614784824,"id":70,"parentId":29,"tags":{},"startTime":1778967587031,"traceId":"7f2a6e54644d9165"},{"name":"check-page","duration":681296,"timestamp":159614771052,"id":29,"parentId":19,"tags":{"page":"/api/hub/auth"},"startTime":1778967587017,"traceId":"7f2a6e54644d9165"},{"name":"is-page-static","duration":681827,"timestamp":159614784461,"id":68,"parentId":27,"tags":{},"startTime":1778967587031,"traceId":"7f2a6e54644d9165"},{"name":"check-page","duration":695620,"timestamp":159614770756,"id":27,"parentId":19,"tags":{"page":"/api/auth/v3"},"startTime":1778967587017,"traceId":"7f2a6e54644d9165"},{"name":"is-page-static","duration":698102,"timestamp":159614784349,"id":67,"parentId":26,"tags":{},"startTime":1778967587031,"traceId":"7f2a6e54644d9165"},{"name":"check-page","duration":711917,"timestamp":159614770616,"id":26,"parentId":19,"tags":{"page":"/api/auth/logout"},"startTime":1778967587017,"traceId":"7f2a6e54644d9165"},{"name":"is-page-static","duration":703813,"timestamp":159614785288,"id":74,"parentId":34,"tags":{},"startTime":1778967587032,"traceId":"7f2a6e54644d9165"},{"name":"check-page","duration":717233,"timestamp":159614771941,"id":34,"parentId":19,"tags":{"page":"/api/hub/license"},"startTime":1778967587018,"traceId":"7f2a6e54644d9165"},{"name":"is-page-static","duration":720086,"timestamp":159614785042,"id":72,"parentId":32,"tags":{},"startTime":1778967587031,"traceId":"7f2a6e54644d9165"},{"name":"check-page","duration":733563,"timestamp":159614771649,"id":32,"parentId":19,"tags":{"page":"/api/hub/health"},"startTime":1778967587018,"traceId":"7f2a6e54644d9165"},{"name":"is-page-static","duration":739127,"timestamp":159614785206,"id":73,"parentId":33,"tags":{},"startTime":1778967587031,"traceId":"7f2a6e54644d9165"},{"name":"check-page","duration":752600,"timestamp":159614771808,"id":33,"parentId":19,"tags":{"page":"/api/hub/inbox"},"startTime":1778967587018,"traceId":"7f2a6e54644d9165"},{"name":"is-page-static","duration":739249,"timestamp":159614785333,"id":76,"parentId":36,"tags":{},"startTime":1778967587032,"traceId":"7f2a6e54644d9165"},{"name":"check-page","duration":752043,"timestamp":159614772572,"id":36,"parentId":19,"tags":{"page":"/api/hub/networks"},"startTime":1778967587019,"traceId":"7f2a6e54644d9165"},{"name":"is-page-static","duration":739472,"timestamp":159614785317,"id":75,"parentId":35,"tags":{},"startTime":1778967587032,"traceId":"7f2a6e54644d9165"},{"name":"check-page","duration":752739,"timestamp":159614772083,"id":35,"parentId":19,"tags":{"page":"/api/hub/messages"},"startTime":1778967587018,"traceId":"7f2a6e54644d9165"},{"name":"is-page-static","duration":748408,"timestamp":159614785376,"id":78,"parentId":38,"tags":{},"startTime":1778967587032,"traceId":"7f2a6e54644d9165"},{"name":"check-page","duration":760958,"timestamp":159614772885,"id":38,"parentId":19,"tags":{"page":"/api/hub/register"},"startTime":1778967587019,"traceId":"7f2a6e54644d9165"},{"name":"is-page-static","duration":752822,"timestamp":159614784963,"id":71,"parentId":30,"tags":{},"startTime":1778967587031,"traceId":"7f2a6e54644d9165"},{"name":"check-page","duration":766651,"timestamp":159614771227,"id":30,"parentId":19,"tags":{"page":"/api/hub/broadcast"},"startTime":1778967587018,"traceId":"7f2a6e54644d9165"},{"name":"is-page-static","duration":754558,"timestamp":159614785403,"id":80,"parentId":40,"tags":{},"startTime":1778967587032,"traceId":"7f2a6e54644d9165"},{"name":"check-page","duration":766936,"timestamp":159614773092,"id":40,"parentId":19,"tags":{"page":"/api/hub/server-logs"},"startTime":1778967587019,"traceId":"7f2a6e54644d9165"},{"name":"is-page-static","duration":764339,"timestamp":159614785394,"id":79,"parentId":39,"tags":{},"startTime":1778967587032,"traceId":"7f2a6e54644d9165"},{"name":"check-page","duration":776817,"timestamp":159614772982,"id":39,"parentId":19,"tags":{"page":"/api/hub/send"},"startTime":1778967587019,"traceId":"7f2a6e54644d9165"},{"name":"is-page-static","duration":768795,"timestamp":159614785430,"id":82,"parentId":44,"tags":{},"startTime":1778967587032,"traceId":"7f2a6e54644d9165"},{"name":"check-page","duration":780374,"timestamp":159614773898,"id":44,"parentId":19,"tags":{"page":"/api/hub/session"},"startTime":1778967587020,"traceId":"7f2a6e54644d9165"},{"name":"is-page-static","duration":769025,"timestamp":159614785416,"id":81,"parentId":42,"tags":{},"startTime":1778967587032,"traceId":"7f2a6e54644d9165"},{"name":"check-page","duration":781023,"timestamp":159614773462,"id":42,"parentId":19,"tags":{"page":"/api/hub/server/[hostname]/health"},"startTime":1778967587020,"traceId":"7f2a6e54644d9165"},{"name":"is-page-static","duration":774724,"timestamp":159614785359,"id":77,"parentId":37,"tags":{},"startTime":1778967587032,"traceId":"7f2a6e54644d9165"},{"name":"check-page","duration":787389,"timestamp":159614772742,"id":37,"parentId":19,"tags":{"page":"/api/hub/nodes"},"startTime":1778967587019,"traceId":"7f2a6e54644d9165"},{"name":"is-page-static","duration":777606,"timestamp":159614785454,"id":84,"parentId":46,"tags":{},"startTime":1778967587032,"traceId":"7f2a6e54644d9165"},{"name":"check-page","duration":788963,"timestamp":159614774161,"id":46,"parentId":19,"tags":{"page":"/api/hub/status"},"startTime":1778967587020,"traceId":"7f2a6e54644d9165"},{"name":"is-page-static","duration":777907,"timestamp":159614785439,"id":83,"parentId":45,"tags":{},"startTime":1778967587032,"traceId":"7f2a6e54644d9165"},{"name":"check-page","duration":789330,"timestamp":159614774055,"id":45,"parentId":19,"tags":{"page":"/api/hub/stats"},"startTime":1778967587020,"traceId":"7f2a6e54644d9165"},{"name":"is-page-static","duration":778779,"timestamp":159614785468,"id":85,"parentId":47,"tags":{},"startTime":1778967587032,"traceId":"7f2a6e54644d9165"},{"name":"check-page","duration":790009,"timestamp":159614774276,"id":47,"parentId":19,"tags":{"page":"/api/hub/task-events"},"startTime":1778967587021,"traceId":"7f2a6e54644d9165"},{"name":"is-page-static","duration":780231,"timestamp":159614785481,"id":86,"parentId":48,"tags":{},"startTime":1778967587032,"traceId":"7f2a6e54644d9165"},{"name":"check-page","duration":791374,"timestamp":159614774379,"id":48,"parentId":19,"tags":{"page":"/api/hub/tasks"},"startTime":1778967587021,"traceId":"7f2a6e54644d9165"},{"name":"is-page-static","duration":778646,"timestamp":159614792975,"id":90,"parentId":24,"tags":{},"startTime":1778967587039,"traceId":"7f2a6e54644d9165"},{"name":"check-page","duration":803819,"timestamp":159614767851,"id":24,"parentId":19,"tags":{"page":"/api/anet/config"},"startTime":1778967587014,"traceId":"7f2a6e54644d9165"},{"name":"is-page-static","duration":787113,"timestamp":159614785504,"id":88,"parentId":50,"tags":{},"startTime":1778967587032,"traceId":"7f2a6e54644d9165"},{"name":"check-page","duration":796044,"timestamp":159614776612,"id":50,"parentId":19,"tags":{"page":"/api/hub/tokens"},"startTime":1778967587023,"traceId":"7f2a6e54644d9165"},{"name":"is-page-static","duration":787498,"timestamp":159614785491,"id":87,"parentId":49,"tags":{},"startTime":1778967587032,"traceId":"7f2a6e54644d9165"},{"name":"check-page","duration":796576,"timestamp":159614776473,"id":49,"parentId":19,"tags":{"page":"/api/hub/tmux"},"startTime":1778967587023,"traceId":"7f2a6e54644d9165"},{"name":"is-page-static","duration":790155,"timestamp":159614784234,"id":66,"parentId":25,"tags":{},"startTime":1778967587031,"traceId":"7f2a6e54644d9165"},{"name":"check-page","duration":803998,"timestamp":159614770431,"id":25,"parentId":19,"tags":{"page":"/api/auth/login"},"startTime":1778967587017,"traceId":"7f2a6e54644d9165"},{"name":"is-page-static","duration":794623,"timestamp":159614785517,"id":89,"parentId":51,"tags":{},"startTime":1778967587032,"traceId":"7f2a6e54644d9165"},{"name":"check-page","duration":803476,"timestamp":159614776707,"id":51,"parentId":19,"tags":{"page":"/favicon.ico"},"startTime":1778967587023,"traceId":"7f2a6e54644d9165"},{"name":"is-page-static","duration":788943,"timestamp":159614794213,"id":91,"parentId":31,"tags":{},"startTime":1778967587040,"traceId":"7f2a6e54644d9165"},{"name":"check-page","duration":811835,"timestamp":159614771360,"id":31,"parentId":19,"tags":{"page":"/api/hub/events"},"startTime":1778967587018,"traceId":"7f2a6e54644d9165"},{"name":"is-page-static","duration":786005,"timestamp":159614798253,"id":92,"parentId":41,"tags":{},"startTime":1778967587045,"traceId":"7f2a6e54644d9165"},{"name":"check-page","duration":811122,"timestamp":159614773202,"id":41,"parentId":19,"tags":{"page":"/api/hub/server/[hostname]/agents"},"startTime":1778967587019,"traceId":"7f2a6e54644d9165"},{"name":"is-page-static","duration":789612,"timestamp":159614799626,"id":93,"parentId":43,"tags":{},"startTime":1778967587046,"traceId":"7f2a6e54644d9165"},{"name":"check-page","duration":815682,"timestamp":159614773601,"id":43,"parentId":19,"tags":{"page":"/api/hub/servers"},"startTime":1778967587020,"traceId":"7f2a6e54644d9165"},{"name":"is-page-static","duration":849236,"timestamp":159614810103,"id":97,"parentId":54,"tags":{},"startTime":1778967587056,"traceId":"7f2a6e54644d9165"},{"name":"check-page","duration":881965,"timestamp":159614777461,"id":54,"parentId":19,"tags":{"page":"/messages"},"startTime":1778967587024,"traceId":"7f2a6e54644d9165"},{"name":"is-page-static","duration":858023,"timestamp":159614810120,"id":98,"parentId":55,"tags":{},"startTime":1778967587056,"traceId":"7f2a6e54644d9165"},{"name":"check-page","duration":890541,"timestamp":159614777674,"id":55,"parentId":19,"tags":{"page":"/node"},"startTime":1778967587024,"traceId":"7f2a6e54644d9165"},{"name":"is-page-static","duration":859861,"timestamp":159614810131,"id":99,"parentId":56,"tags":{},"startTime":1778967587056,"traceId":"7f2a6e54644d9165"},{"name":"check-page","duration":892190,"timestamp":159614777891,"id":56,"parentId":19,"tags":{"page":"/nodes"},"startTime":1778967587024,"traceId":"7f2a6e54644d9165"},{"name":"is-page-static","duration":870027,"timestamp":159614810145,"id":100,"parentId":58,"tags":{},"startTime":1778967587056,"traceId":"7f2a6e54644d9165"},{"name":"check-page","duration":901520,"timestamp":159614778711,"id":58,"parentId":19,"tags":{"page":"/server-logs"},"startTime":1778967587025,"traceId":"7f2a6e54644d9165"},{"name":"is-page-static","duration":883087,"timestamp":159614801987,"id":95,"parentId":52,"tags":{},"startTime":1778967587048,"traceId":"7f2a6e54644d9165"},{"name":"check-page","duration":908010,"timestamp":159614777146,"id":52,"parentId":19,"tags":{"page":"/login"},"startTime":1778967587023,"traceId":"7f2a6e54644d9165"},{"name":"is-page-static","duration":878242,"timestamp":159614810308,"id":102,"parentId":61,"tags":{},"startTime":1778967587057,"traceId":"7f2a6e54644d9165"},{"name":"check-page","duration":909037,"timestamp":159614779557,"id":61,"parentId":19,"tags":{"page":"/settings/tokens"},"startTime":1778967587026,"traceId":"7f2a6e54644d9165"},{"name":"is-page-static","duration":887890,"timestamp":159614801961,"id":94,"parentId":23,"tags":{},"startTime":1778967587048,"traceId":"7f2a6e54644d9165"},{"name":"check-page","duration":922311,"timestamp":159614767603,"id":23,"parentId":19,"tags":{"page":"/admin"},"startTime":1778967587014,"traceId":"7f2a6e54644d9165"},{"name":"is-page-static","duration":880655,"timestamp":159614810286,"id":101,"parentId":59,"tags":{},"startTime":1778967587057,"traceId":"7f2a6e54644d9165"},{"name":"check-page","duration":912054,"timestamp":159614778935,"id":59,"parentId":19,"tags":{"page":"/settings/networks"},"startTime":1778967587025,"traceId":"7f2a6e54644d9165"},{"name":"is-page-static","duration":882790,"timestamp":159614810323,"id":103,"parentId":62,"tags":{},"startTime":1778967587057,"traceId":"7f2a6e54644d9165"},{"name":"check-page","duration":913451,"timestamp":159614779704,"id":62,"parentId":19,"tags":{"page":"/tasks/[id]"},"startTime":1778967587026,"traceId":"7f2a6e54644d9165"},{"name":"is-page-static","duration":885852,"timestamp":159614810337,"id":104,"parentId":63,"tags":{},"startTime":1778967587057,"traceId":"7f2a6e54644d9165"},{"name":"check-page","duration":916371,"timestamp":159614779856,"id":63,"parentId":19,"tags":{"page":"/tasks"},"startTime":1778967587026,"traceId":"7f2a6e54644d9165"},{"name":"is-page-static","duration":859472,"timestamp":159614839267,"id":105,"parentId":57,"tags":{},"startTime":1778967587086,"traceId":"7f2a6e54644d9165"},{"name":"check-page","duration":920645,"timestamp":159614778147,"id":57,"parentId":19,"tags":{"page":"/"},"startTime":1778967587024,"traceId":"7f2a6e54644d9165"},{"name":"is-page-static","duration":889166,"timestamp":159614810054,"id":96,"parentId":53,"tags":{},"startTime":1778967587056,"traceId":"7f2a6e54644d9165"},{"name":"check-page","duration":921951,"timestamp":159614777311,"id":53,"parentId":19,"tags":{"page":"/logs"},"startTime":1778967587024,"traceId":"7f2a6e54644d9165"},{"name":"is-page-static","duration":839672,"timestamp":159614860353,"id":106,"parentId":60,"tags":{},"startTime":1778967587107,"traceId":"7f2a6e54644d9165"},{"name":"check-page","duration":920924,"timestamp":159614779138,"id":60,"parentId":19,"tags":{"page":"/settings"},"startTime":1778967587025,"traceId":"7f2a6e54644d9165"},{"name":"is-page-static","duration":918797,"timestamp":159614784557,"id":69,"parentId":28,"tags":{},"startTime":1778967587031,"traceId":"7f2a6e54644d9165"},{"name":"check-page","duration":932492,"timestamp":159614770898,"id":28,"parentId":19,"tags":{"page":"/api/hub/audit-log"},"startTime":1778967587017,"traceId":"7f2a6e54644d9165"},{"name":"is-page-static","duration":953866,"timestamp":159614783630,"id":64,"parentId":21,"tags":{},"startTime":1778967587030,"traceId":"7f2a6e54644d9165"},{"name":"check-page","duration":971919,"timestamp":159614765642,"id":21,"parentId":19,"tags":{"page":"/_not-found"},"startTime":1778967587012,"traceId":"7f2a6e54644d9165"},{"name":"static-check","duration":974696,"timestamp":159614762927,"id":19,"parentId":1,"tags":{},"startTime":1778967587009,"traceId":"7f2a6e54644d9165"}]
2
+ [{"name":"write-routes-manifest","duration":793,"timestamp":159615750115,"id":108,"parentId":1,"tags":{},"startTime":1778967587996,"traceId":"7f2a6e54644d9165"},{"name":"load-dotenv","duration":56,"timestamp":159615766329,"id":111,"parentId":110,"tags":{},"startTime":1778967588013,"traceId":"7f2a6e54644d9165"},{"name":"run-export-path-map","duration":1092,"timestamp":159615771401,"id":112,"parentId":110,"tags":{},"startTime":1778967588018,"traceId":"7f2a6e54644d9165"},{"name":"next-export","duration":720190,"timestamp":159615764855,"id":110,"parentId":1,"tags":{},"startTime":1778967588011,"traceId":"7f2a6e54644d9165"},{"name":"move-exported-app-not-found-","duration":602,"timestamp":159616487972,"id":113,"parentId":109,"tags":{},"startTime":1778967588734,"traceId":"7f2a6e54644d9165"},{"name":"move-exported-app-global-error-","duration":521,"timestamp":159616488686,"id":114,"parentId":109,"tags":{},"startTime":1778967588735,"traceId":"7f2a6e54644d9165"},{"name":"static-generation","duration":735112,"timestamp":159615756145,"id":109,"parentId":1,"tags":{},"startTime":1778967588002,"traceId":"7f2a6e54644d9165"},{"name":"write-routes-manifest","duration":526,"timestamp":159616491594,"id":115,"parentId":1,"tags":{},"startTime":1778967588738,"traceId":"7f2a6e54644d9165"},{"name":"print-tree-view","duration":5718,"timestamp":159616512256,"id":116,"parentId":1,"tags":{},"startTime":1778967588759,"traceId":"7f2a6e54644d9165"},{"name":"write-route-bundle-stats","duration":17468,"timestamp":159616518030,"id":117,"parentId":1,"tags":{},"startTime":1778967588764,"traceId":"7f2a6e54644d9165"},{"name":"telemetry-flush","duration":24457,"timestamp":159616535536,"id":118,"parentId":1,"tags":{},"startTime":1778967588782,"traceId":"7f2a6e54644d9165"},{"name":"next-build","duration":23582366,"timestamp":159592977694,"id":1,"tags":{"buildMode":"default","version":"16.2.3","bundler":"turbopack","has-custom-webpack-config":"false","use-build-worker":"true"},"startTime":1778967565224,"traceId":"7f2a6e54644d9165"}]
package/.next/trace-build CHANGED
@@ -1 +1 @@
1
- [{"name":"run-turbopack","duration":7605755,"timestamp":159095365925,"id":14,"parentId":1,"tags":{},"startTime":1778967067612,"traceId":"55ed9f7aaab09c6a"},{"name":"turbopack-build-events","duration":121,"timestamp":159095674932,"id":15,"parentId":1,"tags":{},"startTime":1778967067921,"traceId":"55ed9f7aaab09c6a"},{"name":"run-typescript","duration":10276933,"timestamp":159102980864,"id":16,"parentId":1,"tags":{},"startTime":1778967075227,"traceId":"55ed9f7aaab09c6a"},{"name":"static-check","duration":976589,"timestamp":159113450052,"id":19,"parentId":1,"tags":{},"startTime":1778967085696,"traceId":"55ed9f7aaab09c6a"},{"name":"static-generation","duration":735860,"timestamp":159114448778,"id":109,"parentId":1,"tags":{},"startTime":1778967086695,"traceId":"55ed9f7aaab09c6a"},{"name":"telemetry-flush","duration":18051,"timestamp":159115224143,"id":118,"parentId":1,"tags":{},"startTime":1778967087470,"traceId":"55ed9f7aaab09c6a"},{"name":"next-build","duration":20134232,"timestamp":159095107996,"id":1,"tags":{"buildMode":"default","version":"16.2.3","bundler":"turbopack","has-custom-webpack-config":"false","use-build-worker":"true"},"startTime":1778967067354,"traceId":"55ed9f7aaab09c6a"}]
1
+ [{"name":"run-turbopack","duration":9337279,"timestamp":159593275308,"id":14,"parentId":1,"tags":{},"startTime":1778967565522,"traceId":"7f2a6e54644d9165"},{"name":"turbopack-build-events","duration":118,"timestamp":159593654802,"id":15,"parentId":1,"tags":{},"startTime":1778967565901,"traceId":"7f2a6e54644d9165"},{"name":"run-typescript","duration":11932910,"timestamp":159602627526,"id":16,"parentId":1,"tags":{},"startTime":1778967574874,"traceId":"7f2a6e54644d9165"},{"name":"static-check","duration":974696,"timestamp":159614762927,"id":19,"parentId":1,"tags":{},"startTime":1778967587009,"traceId":"7f2a6e54644d9165"},{"name":"static-generation","duration":735112,"timestamp":159615756145,"id":109,"parentId":1,"tags":{},"startTime":1778967588002,"traceId":"7f2a6e54644d9165"},{"name":"telemetry-flush","duration":24457,"timestamp":159616535536,"id":118,"parentId":1,"tags":{},"startTime":1778967588782,"traceId":"7f2a6e54644d9165"},{"name":"next-build","duration":23582366,"timestamp":159592977694,"id":1,"tags":{"buildMode":"default","version":"16.2.3","bundler":"turbopack","has-custom-webpack-config":"false","use-build-worker":"true"},"startTime":1778967565224,"traceId":"7f2a6e54644d9165"}]
@@ -6959,13 +6959,37 @@ export function TopoGraph({ sessions, sseSessions, renameSignal }: TopoGraphProp
6959
6959
  + R211 alias/sub text-fill ease all
6960
6960
  preserved. data-node-label-card-rx attr
6961
6961
  exposes the value for tests. */}
6962
+ {/* Round 429 / Loop: node label-card body opacity
6963
+ 0.94 → 1.0 on hover (cyber theme). Sibling
6964
+ treatment to R348 panel rect opacity lift —
6965
+ 0.92 → 0.97 cyber / 0.97 → 1.0 light at the
6966
+ panel scope. Pre-R429 the cyber theme card
6967
+ sat at 0.94 always; on hover R217 tinted the
6968
+ stroke + R142 grew the drop-shadow + R26
6969
+ lifted the group + R427/R428 spaced the text
6970
+ but the rect itself never solidified —
6971
+ the card glowed brighter through the
6972
+ shadow but the body alpha gap (6 pct) stayed
6973
+ fixed. R429 lifts the body to full alpha on
6974
+ hover so the card reads as a confidently
6975
+ present surface under the cursor (matching
6976
+ the panel-pair pattern). Light theme stays
6977
+ at 1.0 in both states (already maxed). R246
6978
+ transition list already covers opacity 220ms
6979
+ so the lift eases for free. R217 stroke tint
6980
+ + R142 drop-shadow + R211 fill ease all
6981
+ preserved (additive opacity branch only). */}
6962
6982
  <rect
6963
6983
  x={-cardW / 2} y={cardTopY} width={cardW} height={cardH} rx="8"
6964
6984
  fill={pal.labelBox.fill}
6965
6985
  stroke={!reducedMotion && hoveredAlias === session.alias
6966
6986
  ? pal.legendAccent
6967
6987
  : pal.labelBox.stroke}
6968
- opacity={isLight ? 1 : 0.94}
6988
+ opacity={
6989
+ !reducedMotion && hoveredAlias === session.alias
6990
+ ? 1
6991
+ : (isLight ? 1 : 0.94)
6992
+ }
6969
6993
  data-node-label-card={session.alias}
6970
6994
  data-node-label-card-rx="8"
6971
6995
  data-node-label-card-elevation={
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sleep2agi/agent-network-dashboard",
3
- "version": "0.5.1-preview.89",
3
+ "version": "0.5.1-preview.90",
4
4
  "description": "Agent Network Dashboard — Web UI for managing AI Agent networks",
5
5
  "scripts": {
6
6
  "dev": "next dev",
@@ -1,12 +1,14 @@
1
- /* Round 428 verification: dense plain-text alias (>16 nodes mode)
2
- * adopts R427's hover-letter-spacing tween. Tier is 0.2px at dense
3
- * scope vs 0.3px at card scope (subtler kerning when fleet is busy).
1
+ /* Round 429 verification: node label-card body opacity 0.94 → 1.0 on
2
+ * hover (cyber theme). Sibling to R348 panel rect opacity lift at
3
+ * panel scope. Adds a solidity axis to node hover signature alongside
4
+ * R217 stroke tint + R142 drop-shadow + R26 lift + R427/R428 ls.
4
5
  *
5
6
  * Contract:
6
- * - need >16 nodes to enter dense layout — fixture 20 nodes
7
- * - rest: every dense alias text has letter-spacing '0px'
8
- * - hover one node: that alias text has letter-spacing '0.2px'
9
- * - source-file probe confirms conditional + extended transition
7
+ * - rest (cyber): every label-card reports opacity '0.94'
8
+ * - rest elevation attr 'idle' on all cards
9
+ * - hover one node: that card opacity '1' + elevation 'hover'
10
+ * - siblings stay at 0.94 / 'idle'
11
+ * - source-file probe confirms conditional + R246 transition intact
10
12
  */
11
13
  import { chromium } from 'playwright';
12
14
  import { readFileSync } from 'node:fs';
@@ -29,27 +31,26 @@ await ctx.route('**/api/hub/status*', async (route) => {
29
31
  network_id: nid, project_dir: null,
30
32
  created_at: fresh, updated_at: fresh, last_seen_at: fresh,
31
33
  });
32
- // 20 nodes to cross >16 dense threshold
33
- const sessions = [];
34
- for (let i = 0; i < 20; i++) {
35
- sessions.push(mk(`n${String(i).padStart(2, '0')}`, i % 3 === 0 ? 'working' : 'idle'));
36
- }
37
- await route.fulfill({ response: r, json: { ...b, sessions } });
34
+ await route.fulfill({ response: r, json: { ...b, sessions: [
35
+ mk('alpha', 'working'),
36
+ mk('beta', 'idle'),
37
+ mk('gamma', 'working'),
38
+ ] } });
38
39
  });
39
40
  await ctx.route('**/api/hub/messages*', (r) => r.fulfill({ json: { messages: [] } }));
40
41
  await ctx.route('**/api/hub/tasks*', (r) => r.fulfill({ json: { tasks: [] } }));
41
42
 
42
43
  const page = await ctx.newPage();
43
44
  await page.goto('http://127.0.0.1:3000/', { waitUntil: 'domcontentloaded' });
44
- await page.waitForSelector('[data-node-dense-alias-text]', { timeout: 15000 });
45
+ await page.waitForSelector('[data-node-label-card]', { timeout: 15000 });
45
46
  await page.waitForTimeout(400);
46
47
 
47
48
  const readAll = () => page.evaluate(() => {
48
- const ts = [...document.querySelectorAll('[data-node-dense-alias-text]')];
49
- return ts.map(t => ({
50
- alias: t.getAttribute('data-node-dense-alias-text'),
51
- ls: t.style.letterSpacing,
52
- hover: t.getAttribute('data-node-dense-alias-hovered'),
49
+ const rects = [...document.querySelectorAll('[data-node-label-card]')];
50
+ return rects.map(t => ({
51
+ alias: t.getAttribute('data-node-label-card'),
52
+ opacity: t.getAttribute('opacity'),
53
+ elevation: t.getAttribute('data-node-label-card-elevation'),
53
54
  }));
54
55
  });
55
56
 
@@ -58,7 +59,7 @@ const firstAlias = rest[0]?.alias;
58
59
  let hover = null;
59
60
  if (firstAlias) {
60
61
  const box = await page.evaluate((alias) => {
61
- const t = document.querySelector(`[data-node-dense-alias-text="${alias}"]`);
62
+ const t = document.querySelector(`[data-node-label-card="${alias}"]`);
62
63
  if (!t) return null;
63
64
  const node = t.closest('[data-node]');
64
65
  const target = node || t;
@@ -73,28 +74,26 @@ if (firstAlias) {
73
74
  }
74
75
  }
75
76
 
76
- // Source-file probe
77
77
  const fileText = readFileSync('/home/vansin/agent-network-dashboard/app/components/TopoGraph.tsx', 'utf8');
78
- const sourceWired = /letterSpacing:\s*hoveredAlias\s*===\s*session\.alias\s*\?\s*'0\.2px'\s*:\s*'0px'/.test(fileText);
79
- const sourceTransition = /transition: 'transform 200ms ease-out, fill 300ms ease-out, letter-spacing 200ms ease-out'/.test(fileText);
78
+ const sourceWired = /opacity=\{\s*\n?\s*!reducedMotion && hoveredAlias === session\.alias\s*\n?\s*\?\s*1\s*\n?\s*:\s*\(isLight \? 1 : 0\.94\)\s*\n?\s*\}/.test(fileText);
79
+ const sourceTransition = /transition: 'filter 220ms ease-out, stroke 220ms ease-out, fill 220ms ease-out, opacity 220ms ease-out'/.test(fileText);
80
80
 
81
81
  await browser.close();
82
82
 
83
- const isRest = (ls) => ls === '0px' || ls === '' || ls === 'normal';
84
83
  const hoveredEntry = hover?.find(r => r.alias === firstAlias);
85
- const othersStillRest = hover ? hover.filter(r => r.alias !== firstAlias).every(r => isRest(r.ls)) : false;
84
+ const othersRest = hover ? hover.filter(r => r.alias !== firstAlias).every(r => r.opacity === '0.94' && r.elevation === 'idle') : false;
86
85
 
87
86
  const results = {
88
- dense_layout_active_gte_17: rest.length >= 17, // confirms dense branch took
89
- rest_all_zero: rest.every(r => isRest(r.ls)),
90
- rest_all_hover_false: rest.every(r => r.hover === 'false'),
91
- hover_target_ls_0_2: hoveredEntry?.ls === '0.2px',
92
- hover_target_hover_attr: hoveredEntry?.hover === 'true',
93
- hover_others_stay_rest: othersStillRest,
87
+ rest_card_count_gte_3: rest.length >= 3,
88
+ rest_all_opacity_0_94: rest.every(r => r.opacity === '0.94'),
89
+ rest_all_elevation_idle: rest.every(r => r.elevation === 'idle'),
90
+ hover_target_opacity_1: hoveredEntry?.opacity === '1',
91
+ hover_target_elevation: hoveredEntry?.elevation === 'hover',
92
+ hover_others_stay_idle: othersRest,
94
93
  source_conditional_wired: sourceWired,
95
- source_transition_wired: sourceTransition,
94
+ source_transition_intact: sourceTransition,
96
95
  };
97
96
  const ok = Object.values(results).every(Boolean);
98
- console.log(`${ok ? '✅' : '❌'} dense alias letter-spacing hover:`, JSON.stringify(results),
99
- '\n rest count:', rest.length, 'hover target:', JSON.stringify(hoveredEntry));
97
+ console.log(`${ok ? '✅' : '❌'} label card opacity hover:`, JSON.stringify(results),
98
+ '\n hover target:', JSON.stringify(hoveredEntry));
100
99
  process.exit(ok ? 0 : 1);