@sleep2agi/agent-network-dashboard 0.5.3-preview.76 → 0.5.3-preview.78

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 (144) 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 +5 -5
  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/[root-of-the-server]__0sv~g.o._.js +1 -1
  121. package/.next/server/chunks/ssr/[root-of-the-server]__0sv~g.o._.js.map +1 -1
  122. package/.next/server/chunks/ssr/agent-network-dashboard_09kk21a._.js +4 -4
  123. package/.next/server/chunks/ssr/agent-network-dashboard_09kk21a._.js.map +1 -1
  124. package/.next/server/chunks/ssr/agent-network-dashboard_app_01jhlxz._.js +1 -1
  125. package/.next/server/chunks/ssr/agent-network-dashboard_app_01jhlxz._.js.map +1 -1
  126. package/.next/server/chunks/ssr/agent-network-dashboard_app_09d29my._.js +1 -1
  127. package/.next/server/chunks/ssr/agent-network-dashboard_app_09d29my._.js.map +1 -1
  128. package/.next/server/middleware-build-manifest.js +3 -3
  129. package/.next/server/pages/404.html +1 -1
  130. package/.next/server/pages/500.html +1 -1
  131. package/.next/static/chunks/{08wot-nqxohck.js → 0-o3t4zjkl1zq.js} +1 -1
  132. package/.next/static/chunks/{0vlz~vgcjzz00.js → 0hqkd0d5_uhcw.js} +1 -1
  133. package/.next/static/chunks/{02c-y-wnaqfko.js → 0u7vydjp2r~ji.js} +1 -1
  134. package/.next/static/chunks/0xzg_gdd~u.nc.js +4 -0
  135. package/.next/trace +2 -2
  136. package/.next/trace-build +1 -1
  137. package/app/components/TopoGraph.tsx +66 -2
  138. package/package.json +1 -1
  139. package/scripts/topo-node-alias-brightness-test.mjs +84 -0
  140. package/scripts/topo-pressure-seg-member-alias-match-test.mjs +133 -0
  141. package/.next/static/chunks/0zdzl-bc3bggd.js +0 -4
  142. /package/.next/static/{JETu37K-Slnu1KFPrpLjy → qabxBaIzApF4r2HR5ibzk}/_buildManifest.js +0 -0
  143. /package/.next/static/{JETu37K-Slnu1KFPrpLjy → qabxBaIzApF4r2HR5ibzk}/_clientMiddlewareManifest.js +0 -0
  144. /package/.next/static/{JETu37K-Slnu1KFPrpLjy → qabxBaIzApF4r2HR5ibzk}/_ssgManifest.js +0 -0
package/.next/trace CHANGED
@@ -1,2 +1,2 @@
1
- [{"name":"generate-buildid","duration":319,"timestamp":223566401661,"id":4,"parentId":1,"tags":{},"startTime":1779031538648,"traceId":"cc1ad07771d74b0b"},{"name":"load-custom-routes","duration":514,"timestamp":223566402143,"id":5,"parentId":1,"tags":{},"startTime":1779031538648,"traceId":"cc1ad07771d74b0b"},{"name":"create-dist-dir","duration":734,"timestamp":223566402702,"id":6,"parentId":1,"tags":{},"startTime":1779031538649,"traceId":"cc1ad07771d74b0b"},{"name":"clean","duration":34196,"timestamp":223566404134,"id":7,"parentId":1,"tags":{},"startTime":1779031538650,"traceId":"cc1ad07771d74b0b"},{"name":"discover-routes","duration":10383,"timestamp":223566522258,"id":8,"parentId":1,"tags":{},"startTime":1779031538769,"traceId":"cc1ad07771d74b0b"},{"name":"create-root-mapping","duration":165,"timestamp":223566532718,"id":9,"parentId":1,"tags":{},"startTime":1779031538779,"traceId":"cc1ad07771d74b0b"},{"name":"generate-route-types","duration":26356,"timestamp":223566535678,"id":10,"parentId":1,"tags":{},"startTime":1779031538782,"traceId":"cc1ad07771d74b0b"},{"name":"public-dir-conflict-check","duration":194,"timestamp":223566562151,"id":11,"parentId":1,"tags":{},"startTime":1779031538808,"traceId":"cc1ad07771d74b0b"},{"name":"generate-routes-manifest","duration":6073,"timestamp":223566562539,"id":12,"parentId":1,"tags":{},"startTime":1779031538809,"traceId":"cc1ad07771d74b0b"},{"name":"run-turbopack","duration":8036429,"timestamp":223566592380,"id":14,"parentId":1,"tags":{},"startTime":1779031538839,"traceId":"cc1ad07771d74b0b"},{"name":"turbopack-build-events","duration":109,"timestamp":223566920418,"id":15,"parentId":1,"tags":{},"startTime":1779031539167,"traceId":"cc1ad07771d74b0b"},{"name":"run-typescript","duration":12213767,"timestamp":223574646259,"id":16,"parentId":1,"tags":{},"startTime":1779031546893,"traceId":"cc1ad07771d74b0b"},{"name":"generate-required-server-files","duration":2557,"timestamp":223586861487,"id":18,"parentId":1,"tags":{},"startTime":1779031559108,"traceId":"cc1ad07771d74b0b"},{"name":"check-static-error-page","duration":17483,"timestamp":223587082160,"id":20,"parentId":19,"tags":{},"startTime":1779031559328,"traceId":"cc1ad07771d74b0b"},{"name":"is-page-static","duration":641686,"timestamp":223587103984,"id":64,"parentId":21,"tags":{},"startTime":1779031559350,"traceId":"cc1ad07771d74b0b"},{"name":"check-page","duration":662010,"timestamp":223587083828,"id":21,"parentId":19,"tags":{"page":"/_not-found"},"startTime":1779031559330,"traceId":"cc1ad07771d74b0b"},{"name":"is-page-static","duration":645125,"timestamp":223587104643,"id":67,"parentId":26,"tags":{},"startTime":1779031559351,"traceId":"cc1ad07771d74b0b"},{"name":"check-page","duration":660607,"timestamp":223587089232,"id":26,"parentId":19,"tags":{"page":"/api/auth/logout"},"startTime":1779031559336,"traceId":"cc1ad07771d74b0b"},{"name":"is-page-static","duration":650965,"timestamp":223587105322,"id":72,"parentId":32,"tags":{},"startTime":1779031559352,"traceId":"cc1ad07771d74b0b"},{"name":"check-page","duration":666170,"timestamp":223587090187,"id":32,"parentId":19,"tags":{"page":"/api/hub/health"},"startTime":1779031559336,"traceId":"cc1ad07771d74b0b"},{"name":"is-page-static","duration":685553,"timestamp":223587104403,"id":65,"parentId":22,"tags":{},"startTime":1779031559351,"traceId":"cc1ad07771d74b0b"},{"name":"check-page","duration":704417,"timestamp":223587085654,"id":22,"parentId":19,"tags":{"page":"/_global-error"},"startTime":1779031559332,"traceId":"cc1ad07771d74b0b"},{"name":"is-page-static","duration":687264,"timestamp":223587105461,"id":73,"parentId":33,"tags":{},"startTime":1779031559352,"traceId":"cc1ad07771d74b0b"},{"name":"check-page","duration":702476,"timestamp":223587090317,"id":33,"parentId":19,"tags":{"page":"/api/hub/inbox"},"startTime":1779031559337,"traceId":"cc1ad07771d74b0b"},{"name":"is-page-static","duration":689303,"timestamp":223587105122,"id":70,"parentId":29,"tags":{},"startTime":1779031559351,"traceId":"cc1ad07771d74b0b"},{"name":"check-page","duration":704866,"timestamp":223587089611,"id":29,"parentId":19,"tags":{"page":"/api/hub/auth"},"startTime":1779031559336,"traceId":"cc1ad07771d74b0b"},{"name":"is-page-static","duration":693829,"timestamp":223587104842,"id":69,"parentId":28,"tags":{},"startTime":1779031559351,"traceId":"cc1ad07771d74b0b"},{"name":"check-page","duration":709230,"timestamp":223587089489,"id":28,"parentId":19,"tags":{"page":"/api/hub/audit-log"},"startTime":1779031559336,"traceId":"cc1ad07771d74b0b"},{"name":"is-page-static","duration":699555,"timestamp":223587108493,"id":76,"parentId":36,"tags":{},"startTime":1779031559355,"traceId":"cc1ad07771d74b0b"},{"name":"check-page","duration":717017,"timestamp":223587091090,"id":36,"parentId":19,"tags":{"page":"/api/hub/networks"},"startTime":1779031559337,"traceId":"cc1ad07771d74b0b"},{"name":"is-page-static","duration":708508,"timestamp":223587108450,"id":75,"parentId":35,"tags":{},"startTime":1779031559355,"traceId":"cc1ad07771d74b0b"},{"name":"check-page","duration":726457,"timestamp":223587090579,"id":35,"parentId":19,"tags":{"page":"/api/hub/messages"},"startTime":1779031559337,"traceId":"cc1ad07771d74b0b"},{"name":"is-page-static","duration":725061,"timestamp":223587108551,"id":79,"parentId":39,"tags":{},"startTime":1779031559355,"traceId":"cc1ad07771d74b0b"},{"name":"check-page","duration":742119,"timestamp":223587091551,"id":39,"parentId":19,"tags":{"page":"/api/hub/send"},"startTime":1779031559338,"traceId":"cc1ad07771d74b0b"},{"name":"is-page-static","duration":733943,"timestamp":223587108560,"id":80,"parentId":40,"tags":{},"startTime":1779031559355,"traceId":"cc1ad07771d74b0b"},{"name":"check-page","duration":750887,"timestamp":223587091680,"id":40,"parentId":19,"tags":{"page":"/api/hub/server-logs"},"startTime":1779031559338,"traceId":"cc1ad07771d74b0b"},{"name":"is-page-static","duration":743115,"timestamp":223587108572,"id":81,"parentId":42,"tags":{},"startTime":1779031559355,"traceId":"cc1ad07771d74b0b"},{"name":"check-page","duration":759694,"timestamp":223587092083,"id":42,"parentId":19,"tags":{"page":"/api/hub/server/[hostname]/health"},"startTime":1779031559338,"traceId":"cc1ad07771d74b0b"},{"name":"is-page-static","duration":744497,"timestamp":223587108539,"id":78,"parentId":38,"tags":{},"startTime":1779031559355,"traceId":"cc1ad07771d74b0b"},{"name":"check-page","duration":761652,"timestamp":223587091438,"id":38,"parentId":19,"tags":{"page":"/api/hub/register"},"startTime":1779031559338,"traceId":"cc1ad07771d74b0b"},{"name":"is-page-static","duration":747971,"timestamp":223587108584,"id":82,"parentId":44,"tags":{},"startTime":1779031559355,"traceId":"cc1ad07771d74b0b"},{"name":"check-page","duration":764121,"timestamp":223587092476,"id":44,"parentId":19,"tags":{"page":"/api/hub/session"},"startTime":1779031559339,"traceId":"cc1ad07771d74b0b"},{"name":"is-page-static","duration":749045,"timestamp":223587108523,"id":77,"parentId":37,"tags":{},"startTime":1779031559355,"traceId":"cc1ad07771d74b0b"},{"name":"check-page","duration":766317,"timestamp":223587091295,"id":37,"parentId":19,"tags":{"page":"/api/hub/nodes"},"startTime":1779031559338,"traceId":"cc1ad07771d74b0b"},{"name":"is-page-static","duration":753065,"timestamp":223587108605,"id":84,"parentId":46,"tags":{},"startTime":1779031559355,"traceId":"cc1ad07771d74b0b"},{"name":"check-page","duration":768995,"timestamp":223587092718,"id":46,"parentId":19,"tags":{"page":"/api/hub/status"},"startTime":1779031559339,"traceId":"cc1ad07771d74b0b"},{"name":"is-page-static","duration":755491,"timestamp":223587108620,"id":85,"parentId":47,"tags":{},"startTime":1779031559355,"traceId":"cc1ad07771d74b0b"},{"name":"check-page","duration":769772,"timestamp":223587094402,"id":47,"parentId":19,"tags":{"page":"/api/hub/task-events"},"startTime":1779031559341,"traceId":"cc1ad07771d74b0b"},{"name":"is-page-static","duration":761264,"timestamp":223587105261,"id":71,"parentId":30,"tags":{},"startTime":1779031559352,"traceId":"cc1ad07771d74b0b"},{"name":"check-page","duration":776867,"timestamp":223587089765,"id":30,"parentId":19,"tags":{"page":"/api/hub/broadcast"},"startTime":1779031559336,"traceId":"cc1ad07771d74b0b"},{"name":"is-page-static","duration":758182,"timestamp":223587108633,"id":86,"parentId":48,"tags":{},"startTime":1779031559355,"traceId":"cc1ad07771d74b0b"},{"name":"check-page","duration":772322,"timestamp":223587094530,"id":48,"parentId":19,"tags":{"page":"/api/hub/tasks"},"startTime":1779031559341,"traceId":"cc1ad07771d74b0b"},{"name":"is-page-static","duration":761957,"timestamp":223587108641,"id":87,"parentId":49,"tags":{},"startTime":1779031559355,"traceId":"cc1ad07771d74b0b"},{"name":"check-page","duration":775989,"timestamp":223587094656,"id":49,"parentId":19,"tags":{"page":"/api/hub/tmux"},"startTime":1779031559341,"traceId":"cc1ad07771d74b0b"},{"name":"is-page-static","duration":770200,"timestamp":223587108654,"id":88,"parentId":50,"tags":{},"startTime":1779031559355,"traceId":"cc1ad07771d74b0b"},{"name":"check-page","duration":784166,"timestamp":223587094751,"id":50,"parentId":19,"tags":{"page":"/api/hub/tokens"},"startTime":1779031559341,"traceId":"cc1ad07771d74b0b"},{"name":"is-page-static","duration":762174,"timestamp":223587116981,"id":90,"parentId":24,"tags":{},"startTime":1779031559363,"traceId":"cc1ad07771d74b0b"},{"name":"check-page","duration":792937,"timestamp":223587086260,"id":24,"parentId":19,"tags":{"page":"/api/anet/config"},"startTime":1779031559333,"traceId":"cc1ad07771d74b0b"},{"name":"is-page-static","duration":771280,"timestamp":223587108667,"id":89,"parentId":51,"tags":{},"startTime":1779031559355,"traceId":"cc1ad07771d74b0b"},{"name":"check-page","duration":785162,"timestamp":223587094833,"id":51,"parentId":19,"tags":{"page":"/favicon.ico"},"startTime":1779031559341,"traceId":"cc1ad07771d74b0b"},{"name":"is-page-static","duration":766173,"timestamp":223587118156,"id":91,"parentId":31,"tags":{},"startTime":1779031559364,"traceId":"cc1ad07771d74b0b"},{"name":"check-page","duration":794479,"timestamp":223587089888,"id":31,"parentId":19,"tags":{"page":"/api/hub/events"},"startTime":1779031559336,"traceId":"cc1ad07771d74b0b"},{"name":"is-page-static","duration":765751,"timestamp":223587124314,"id":93,"parentId":43,"tags":{},"startTime":1779031559371,"traceId":"cc1ad07771d74b0b"},{"name":"check-page","duration":797893,"timestamp":223587092217,"id":43,"parentId":19,"tags":{"page":"/api/hub/servers"},"startTime":1779031559338,"traceId":"cc1ad07771d74b0b"},{"name":"is-page-static","duration":770519,"timestamp":223587122944,"id":92,"parentId":41,"tags":{},"startTime":1779031559369,"traceId":"cc1ad07771d74b0b"},{"name":"check-page","duration":801715,"timestamp":223587091795,"id":41,"parentId":19,"tags":{"page":"/api/hub/server/[hostname]/agents"},"startTime":1779031559338,"traceId":"cc1ad07771d74b0b"},{"name":"is-page-static","duration":760190,"timestamp":223587134087,"id":94,"parentId":23,"tags":{},"startTime":1779031559380,"traceId":"cc1ad07771d74b0b"},{"name":"check-page","duration":808348,"timestamp":223587085966,"id":23,"parentId":19,"tags":{"page":"/admin"},"startTime":1779031559332,"traceId":"cc1ad07771d74b0b"},{"name":"is-page-static","duration":767424,"timestamp":223587134148,"id":97,"parentId":54,"tags":{},"startTime":1779031559380,"traceId":"cc1ad07771d74b0b"},{"name":"check-page","duration":806011,"timestamp":223587095599,"id":54,"parentId":19,"tags":{"page":"/messages"},"startTime":1779031559342,"traceId":"cc1ad07771d74b0b"},{"name":"is-page-static","duration":775181,"timestamp":223587134162,"id":98,"parentId":55,"tags":{},"startTime":1779031559380,"traceId":"cc1ad07771d74b0b"},{"name":"check-page","duration":813574,"timestamp":223587095809,"id":55,"parentId":19,"tags":{"page":"/node"},"startTime":1779031559342,"traceId":"cc1ad07771d74b0b"},{"name":"is-page-static","duration":800964,"timestamp":223587108592,"id":83,"parentId":45,"tags":{},"startTime":1779031559355,"traceId":"cc1ad07771d74b0b"},{"name":"check-page","duration":816990,"timestamp":223587092605,"id":45,"parentId":19,"tags":{"page":"/api/hub/stats"},"startTime":1779031559339,"traceId":"cc1ad07771d74b0b"},{"name":"is-page-static","duration":782507,"timestamp":223587134178,"id":99,"parentId":56,"tags":{},"startTime":1779031559380,"traceId":"cc1ad07771d74b0b"},{"name":"check-page","duration":820670,"timestamp":223587096063,"id":56,"parentId":19,"tags":{"page":"/nodes"},"startTime":1779031559342,"traceId":"cc1ad07771d74b0b"},{"name":"is-page-static","duration":820498,"timestamp":223587104530,"id":66,"parentId":25,"tags":{},"startTime":1779031559351,"traceId":"cc1ad07771d74b0b"},{"name":"check-page","duration":836024,"timestamp":223587089057,"id":25,"parentId":19,"tags":{"page":"/api/auth/login"},"startTime":1779031559335,"traceId":"cc1ad07771d74b0b"},{"name":"is-page-static","duration":794017,"timestamp":223587134314,"id":101,"parentId":59,"tags":{},"startTime":1779031559381,"traceId":"cc1ad07771d74b0b"},{"name":"check-page","duration":831279,"timestamp":223587097115,"id":59,"parentId":19,"tags":{"page":"/settings/networks"},"startTime":1779031559343,"traceId":"cc1ad07771d74b0b"},{"name":"is-page-static","duration":842723,"timestamp":223587105538,"id":74,"parentId":34,"tags":{},"startTime":1779031559352,"traceId":"cc1ad07771d74b0b"},{"name":"check-page","duration":857869,"timestamp":223587090455,"id":34,"parentId":19,"tags":{"page":"/api/hub/license"},"startTime":1779031559337,"traceId":"cc1ad07771d74b0b"},{"name":"is-page-static","duration":814119,"timestamp":223587134354,"id":103,"parentId":62,"tags":{},"startTime":1779031559381,"traceId":"cc1ad07771d74b0b"},{"name":"check-page","duration":849274,"timestamp":223587099227,"id":62,"parentId":19,"tags":{"page":"/tasks/[id]"},"startTime":1779031559346,"traceId":"cc1ad07771d74b0b"},{"name":"is-page-static","duration":793285,"timestamp":223587162669,"id":105,"parentId":57,"tags":{},"startTime":1779031559409,"traceId":"cc1ad07771d74b0b"},{"name":"check-page","duration":859719,"timestamp":223587096312,"id":57,"parentId":19,"tags":{"page":"/"},"startTime":1779031559343,"traceId":"cc1ad07771d74b0b"},{"name":"is-page-static","duration":857360,"timestamp":223587104745,"id":68,"parentId":27,"tags":{},"startTime":1779031559351,"traceId":"cc1ad07771d74b0b"},{"name":"check-page","duration":872797,"timestamp":223587089357,"id":27,"parentId":19,"tags":{"page":"/api/auth/v3"},"startTime":1779031559336,"traceId":"cc1ad07771d74b0b"},{"name":"is-page-static","duration":788657,"timestamp":223587177559,"id":106,"parentId":60,"tags":{},"startTime":1779031559424,"traceId":"cc1ad07771d74b0b"},{"name":"check-page","duration":868955,"timestamp":223587097302,"id":60,"parentId":19,"tags":{"page":"/settings"},"startTime":1779031559344,"traceId":"cc1ad07771d74b0b"},{"name":"is-page-static","duration":836299,"timestamp":223587134121,"id":95,"parentId":52,"tags":{},"startTime":1779031559380,"traceId":"cc1ad07771d74b0b"},{"name":"check-page","duration":875206,"timestamp":223587095269,"id":52,"parentId":19,"tags":{"page":"/login"},"startTime":1779031559342,"traceId":"cc1ad07771d74b0b"},{"name":"is-page-static","duration":846450,"timestamp":223587134138,"id":96,"parentId":53,"tags":{},"startTime":1779031559380,"traceId":"cc1ad07771d74b0b"},{"name":"check-page","duration":885199,"timestamp":223587095447,"id":53,"parentId":19,"tags":{"page":"/logs"},"startTime":1779031559342,"traceId":"cc1ad07771d74b0b"},{"name":"is-page-static","duration":873988,"timestamp":223587134338,"id":102,"parentId":61,"tags":{},"startTime":1779031559381,"traceId":"cc1ad07771d74b0b"},{"name":"check-page","duration":909352,"timestamp":223587099048,"id":61,"parentId":19,"tags":{"page":"/settings/tokens"},"startTime":1779031559345,"traceId":"cc1ad07771d74b0b"},{"name":"is-page-static","duration":876520,"timestamp":223587134193,"id":100,"parentId":58,"tags":{},"startTime":1779031559380,"traceId":"cc1ad07771d74b0b"},{"name":"check-page","duration":913887,"timestamp":223587096889,"id":58,"parentId":19,"tags":{"page":"/server-logs"},"startTime":1779031559343,"traceId":"cc1ad07771d74b0b"},{"name":"is-page-static","duration":924261,"timestamp":223587134364,"id":104,"parentId":63,"tags":{},"startTime":1779031559381,"traceId":"cc1ad07771d74b0b"},{"name":"check-page","duration":959304,"timestamp":223587099384,"id":63,"parentId":19,"tags":{"page":"/tasks"},"startTime":1779031559346,"traceId":"cc1ad07771d74b0b"},{"name":"static-check","duration":977808,"timestamp":223587080913,"id":19,"parentId":1,"tags":{},"startTime":1779031559327,"traceId":"cc1ad07771d74b0b"}]
2
- [{"name":"write-routes-manifest","duration":662,"timestamp":223588068721,"id":108,"parentId":1,"tags":{},"startTime":1779031560315,"traceId":"cc1ad07771d74b0b"},{"name":"load-dotenv","duration":73,"timestamp":223588084409,"id":111,"parentId":110,"tags":{},"startTime":1779031560331,"traceId":"cc1ad07771d74b0b"},{"name":"run-export-path-map","duration":1053,"timestamp":223588087734,"id":112,"parentId":110,"tags":{},"startTime":1779031560334,"traceId":"cc1ad07771d74b0b"},{"name":"next-export","duration":778006,"timestamp":223588082538,"id":110,"parentId":1,"tags":{},"startTime":1779031560329,"traceId":"cc1ad07771d74b0b"},{"name":"move-exported-app-not-found-","duration":472,"timestamp":223588864278,"id":113,"parentId":109,"tags":{},"startTime":1779031561111,"traceId":"cc1ad07771d74b0b"},{"name":"move-exported-app-global-error-","duration":344,"timestamp":223588864844,"id":114,"parentId":109,"tags":{},"startTime":1779031561111,"traceId":"cc1ad07771d74b0b"},{"name":"static-generation","duration":793481,"timestamp":223588073760,"id":109,"parentId":1,"tags":{},"startTime":1779031560320,"traceId":"cc1ad07771d74b0b"},{"name":"write-routes-manifest","duration":537,"timestamp":223588867533,"id":115,"parentId":1,"tags":{},"startTime":1779031561114,"traceId":"cc1ad07771d74b0b"},{"name":"print-tree-view","duration":6794,"timestamp":223588887797,"id":116,"parentId":1,"tags":{},"startTime":1779031561134,"traceId":"cc1ad07771d74b0b"},{"name":"write-route-bundle-stats","duration":14561,"timestamp":223588894637,"id":117,"parentId":1,"tags":{},"startTime":1779031561141,"traceId":"cc1ad07771d74b0b"},{"name":"telemetry-flush","duration":22165,"timestamp":223588909252,"id":118,"parentId":1,"tags":{},"startTime":1779031561156,"traceId":"cc1ad07771d74b0b"},{"name":"next-build","duration":22584353,"timestamp":223566347123,"id":1,"tags":{"buildMode":"default","version":"16.2.3","bundler":"turbopack","has-custom-webpack-config":"false","use-build-worker":"true"},"startTime":1779031538593,"traceId":"cc1ad07771d74b0b"}]
1
+ [{"name":"generate-buildid","duration":319,"timestamp":224202196951,"id":4,"parentId":1,"tags":{},"startTime":1779032174443,"traceId":"6fcda0affd6833ad"},{"name":"load-custom-routes","duration":752,"timestamp":224202197533,"id":5,"parentId":1,"tags":{},"startTime":1779032174444,"traceId":"6fcda0affd6833ad"},{"name":"create-dist-dir","duration":945,"timestamp":224202198359,"id":6,"parentId":1,"tags":{},"startTime":1779032174445,"traceId":"6fcda0affd6833ad"},{"name":"clean","duration":34788,"timestamp":224202200051,"id":7,"parentId":1,"tags":{},"startTime":1779032174446,"traceId":"6fcda0affd6833ad"},{"name":"discover-routes","duration":22355,"timestamp":224202318430,"id":8,"parentId":1,"tags":{},"startTime":1779032174565,"traceId":"6fcda0affd6833ad"},{"name":"create-root-mapping","duration":141,"timestamp":224202340848,"id":9,"parentId":1,"tags":{},"startTime":1779032174587,"traceId":"6fcda0affd6833ad"},{"name":"generate-route-types","duration":25187,"timestamp":224202343558,"id":10,"parentId":1,"tags":{},"startTime":1779032174590,"traceId":"6fcda0affd6833ad"},{"name":"public-dir-conflict-check","duration":119,"timestamp":224202368828,"id":11,"parentId":1,"tags":{},"startTime":1779032174615,"traceId":"6fcda0affd6833ad"},{"name":"generate-routes-manifest","duration":5047,"timestamp":224202369092,"id":12,"parentId":1,"tags":{},"startTime":1779032174615,"traceId":"6fcda0affd6833ad"},{"name":"run-turbopack","duration":6068078,"timestamp":224202379917,"id":14,"parentId":1,"tags":{},"startTime":1779032174626,"traceId":"6fcda0affd6833ad"},{"name":"turbopack-build-events","duration":107,"timestamp":224202663447,"id":15,"parentId":1,"tags":{},"startTime":1779032174910,"traceId":"6fcda0affd6833ad"},{"name":"run-typescript","duration":9503545,"timestamp":224208455489,"id":16,"parentId":1,"tags":{},"startTime":1779032180702,"traceId":"6fcda0affd6833ad"},{"name":"generate-required-server-files","duration":2782,"timestamp":224217960319,"id":18,"parentId":1,"tags":{},"startTime":1779032190207,"traceId":"6fcda0affd6833ad"},{"name":"check-static-error-page","duration":16143,"timestamp":224218130769,"id":20,"parentId":19,"tags":{},"startTime":1779032190377,"traceId":"6fcda0affd6833ad"},{"name":"is-page-static","duration":536868,"timestamp":224218150839,"id":65,"parentId":22,"tags":{},"startTime":1779032190397,"traceId":"6fcda0affd6833ad"},{"name":"check-page","duration":553931,"timestamp":224218134017,"id":22,"parentId":19,"tags":{"page":"/_global-error"},"startTime":1779032190380,"traceId":"6fcda0affd6833ad"},{"name":"is-page-static","duration":550945,"timestamp":224218151311,"id":69,"parentId":28,"tags":{},"startTime":1779032190398,"traceId":"6fcda0affd6833ad"},{"name":"check-page","duration":564489,"timestamp":224218137856,"id":28,"parentId":19,"tags":{"page":"/api/hub/audit-log"},"startTime":1779032190384,"traceId":"6fcda0affd6833ad"},{"name":"is-page-static","duration":559661,"timestamp":224218150451,"id":64,"parentId":21,"tags":{},"startTime":1779032190397,"traceId":"6fcda0affd6833ad"},{"name":"check-page","duration":577787,"timestamp":224218132390,"id":21,"parentId":19,"tags":{"page":"/_not-found"},"startTime":1779032190379,"traceId":"6fcda0affd6833ad"},{"name":"is-page-static","duration":564618,"timestamp":224218151762,"id":72,"parentId":32,"tags":{},"startTime":1779032190398,"traceId":"6fcda0affd6833ad"},{"name":"check-page","duration":577858,"timestamp":224218138583,"id":32,"parentId":19,"tags":{"page":"/api/hub/health"},"startTime":1779032190385,"traceId":"6fcda0affd6833ad"},{"name":"is-page-static","duration":569907,"timestamp":224218150984,"id":66,"parentId":25,"tags":{},"startTime":1779032190397,"traceId":"6fcda0affd6833ad"},{"name":"check-page","duration":583737,"timestamp":224218137225,"id":25,"parentId":19,"tags":{"page":"/api/auth/login"},"startTime":1779032190384,"traceId":"6fcda0affd6833ad"},{"name":"is-page-static","duration":576238,"timestamp":224218152067,"id":75,"parentId":35,"tags":{},"startTime":1779032190398,"traceId":"6fcda0affd6833ad"},{"name":"check-page","duration":589540,"timestamp":224218138952,"id":35,"parentId":19,"tags":{"page":"/api/hub/messages"},"startTime":1779032190385,"traceId":"6fcda0affd6833ad"},{"name":"is-page-static","duration":600582,"timestamp":224218152035,"id":74,"parentId":34,"tags":{},"startTime":1779032190398,"traceId":"6fcda0affd6833ad"},{"name":"check-page","duration":613876,"timestamp":224218138821,"id":34,"parentId":19,"tags":{"page":"/api/hub/license"},"startTime":1779032190385,"traceId":"6fcda0affd6833ad"},{"name":"is-page-static","duration":609156,"timestamp":224218151210,"id":68,"parentId":27,"tags":{},"startTime":1779032190397,"traceId":"6fcda0affd6833ad"},{"name":"check-page","duration":622717,"timestamp":224218137720,"id":27,"parentId":19,"tags":{"page":"/api/auth/v3"},"startTime":1779032190384,"traceId":"6fcda0affd6833ad"},{"name":"is-page-static","duration":617249,"timestamp":224218151107,"id":67,"parentId":26,"tags":{},"startTime":1779032190397,"traceId":"6fcda0affd6833ad"},{"name":"check-page","duration":631018,"timestamp":224218137400,"id":26,"parentId":19,"tags":{"page":"/api/auth/logout"},"startTime":1779032190384,"traceId":"6fcda0affd6833ad"},{"name":"is-page-static","duration":616622,"timestamp":224218152113,"id":77,"parentId":37,"tags":{},"startTime":1779032190398,"traceId":"6fcda0affd6833ad"},{"name":"check-page","duration":629146,"timestamp":224218139633,"id":37,"parentId":19,"tags":{"page":"/api/hub/nodes"},"startTime":1779032190386,"traceId":"6fcda0affd6833ad"},{"name":"is-page-static","duration":621634,"timestamp":224218152153,"id":80,"parentId":40,"tags":{},"startTime":1779032190398,"traceId":"6fcda0affd6833ad"},{"name":"check-page","duration":633847,"timestamp":224218139993,"id":40,"parentId":19,"tags":{"page":"/api/hub/server-logs"},"startTime":1779032190386,"traceId":"6fcda0affd6833ad"},{"name":"is-page-static","duration":624863,"timestamp":224218152084,"id":76,"parentId":36,"tags":{},"startTime":1779032190398,"traceId":"6fcda0affd6833ad"},{"name":"check-page","duration":637545,"timestamp":224218139447,"id":36,"parentId":19,"tags":{"page":"/api/hub/networks"},"startTime":1779032190386,"traceId":"6fcda0affd6833ad"},{"name":"is-page-static","duration":626666,"timestamp":224218152143,"id":79,"parentId":39,"tags":{},"startTime":1779032190398,"traceId":"6fcda0affd6833ad"},{"name":"check-page","duration":638969,"timestamp":224218139891,"id":39,"parentId":19,"tags":{"page":"/api/hub/send"},"startTime":1779032190386,"traceId":"6fcda0affd6833ad"},{"name":"is-page-static","duration":632314,"timestamp":224218152166,"id":81,"parentId":42,"tags":{},"startTime":1779032190398,"traceId":"6fcda0affd6833ad"},{"name":"check-page","duration":644149,"timestamp":224218140392,"id":42,"parentId":19,"tags":{"page":"/api/hub/server/[hostname]/health"},"startTime":1779032190387,"traceId":"6fcda0affd6833ad"},{"name":"is-page-static","duration":634168,"timestamp":224218151939,"id":73,"parentId":33,"tags":{},"startTime":1779032190398,"traceId":"6fcda0affd6833ad"},{"name":"check-page","duration":647439,"timestamp":224218138711,"id":33,"parentId":19,"tags":{"page":"/api/hub/inbox"},"startTime":1779032190385,"traceId":"6fcda0affd6833ad"},{"name":"is-page-static","duration":637734,"timestamp":224218152203,"id":84,"parentId":46,"tags":{},"startTime":1779032190398,"traceId":"6fcda0affd6833ad"},{"name":"check-page","duration":648858,"timestamp":224218141124,"id":46,"parentId":19,"tags":{"page":"/api/hub/status"},"startTime":1779032190387,"traceId":"6fcda0affd6833ad"},{"name":"is-page-static","duration":638631,"timestamp":224218152216,"id":85,"parentId":47,"tags":{},"startTime":1779032190398,"traceId":"6fcda0affd6833ad"},{"name":"check-page","duration":647749,"timestamp":224218143160,"id":47,"parentId":19,"tags":{"page":"/api/hub/task-events"},"startTime":1779032190389,"traceId":"6fcda0affd6833ad"},{"name":"is-page-static","duration":642058,"timestamp":224218152230,"id":86,"parentId":48,"tags":{},"startTime":1779032190399,"traceId":"6fcda0affd6833ad"},{"name":"check-page","duration":651059,"timestamp":224218143270,"id":48,"parentId":19,"tags":{"page":"/api/hub/tasks"},"startTime":1779032190390,"traceId":"6fcda0affd6833ad"},{"name":"is-page-static","duration":644857,"timestamp":224218152239,"id":87,"parentId":49,"tags":{},"startTime":1779032190399,"traceId":"6fcda0affd6833ad"},{"name":"check-page","duration":653748,"timestamp":224218143391,"id":49,"parentId":19,"tags":{"page":"/api/hub/tmux"},"startTime":1779032190390,"traceId":"6fcda0affd6833ad"},{"name":"is-page-static","duration":645104,"timestamp":224218152180,"id":82,"parentId":44,"tags":{},"startTime":1779032190398,"traceId":"6fcda0affd6833ad"},{"name":"check-page","duration":656469,"timestamp":224218140840,"id":44,"parentId":19,"tags":{"page":"/api/hub/session"},"startTime":1779032190387,"traceId":"6fcda0affd6833ad"},{"name":"is-page-static","duration":648206,"timestamp":224218151701,"id":71,"parentId":30,"tags":{},"startTime":1779032190398,"traceId":"6fcda0affd6833ad"},{"name":"check-page","duration":661755,"timestamp":224218138194,"id":30,"parentId":19,"tags":{"page":"/api/hub/broadcast"},"startTime":1779032190384,"traceId":"6fcda0affd6833ad"},{"name":"is-page-static","duration":647929,"timestamp":224218152252,"id":88,"parentId":50,"tags":{},"startTime":1779032190399,"traceId":"6fcda0affd6833ad"},{"name":"check-page","duration":656731,"timestamp":224218143491,"id":50,"parentId":19,"tags":{"page":"/api/hub/tokens"},"startTime":1779032190390,"traceId":"6fcda0affd6833ad"},{"name":"is-page-static","duration":651736,"timestamp":224218152188,"id":83,"parentId":45,"tags":{},"startTime":1779032190398,"traceId":"6fcda0affd6833ad"},{"name":"check-page","duration":662950,"timestamp":224218141019,"id":45,"parentId":19,"tags":{"page":"/api/hub/stats"},"startTime":1779032190387,"traceId":"6fcda0affd6833ad"},{"name":"is-page-static","duration":656936,"timestamp":224218152129,"id":78,"parentId":38,"tags":{},"startTime":1779032190398,"traceId":"6fcda0affd6833ad"},{"name":"check-page","duration":669338,"timestamp":224218139776,"id":38,"parentId":19,"tags":{"page":"/api/hub/register"},"startTime":1779032190386,"traceId":"6fcda0affd6833ad"},{"name":"is-page-static","duration":642815,"timestamp":224218166451,"id":92,"parentId":41,"tags":{},"startTime":1779032190413,"traceId":"6fcda0affd6833ad"},{"name":"check-page","duration":669205,"timestamp":224218140100,"id":41,"parentId":19,"tags":{"page":"/api/hub/server/[hostname]/agents"},"startTime":1779032190386,"traceId":"6fcda0affd6833ad"},{"name":"is-page-static","duration":645404,"timestamp":224218164029,"id":90,"parentId":24,"tags":{},"startTime":1779032190410,"traceId":"6fcda0affd6833ad"},{"name":"check-page","duration":674911,"timestamp":224218134551,"id":24,"parentId":19,"tags":{"page":"/api/anet/config"},"startTime":1779032190381,"traceId":"6fcda0affd6833ad"},{"name":"is-page-static","duration":659165,"timestamp":224218152265,"id":89,"parentId":51,"tags":{},"startTime":1779032190399,"traceId":"6fcda0affd6833ad"},{"name":"check-page","duration":667898,"timestamp":224218143576,"id":51,"parentId":19,"tags":{"page":"/favicon.ico"},"startTime":1779032190390,"traceId":"6fcda0affd6833ad"},{"name":"is-page-static","duration":652520,"timestamp":224218165528,"id":91,"parentId":31,"tags":{},"startTime":1779032190412,"traceId":"6fcda0affd6833ad"},{"name":"check-page","duration":679762,"timestamp":224218138325,"id":31,"parentId":19,"tags":{"page":"/api/hub/events"},"startTime":1779032190385,"traceId":"6fcda0affd6833ad"},{"name":"is-page-static","duration":638947,"timestamp":224218180455,"id":97,"parentId":54,"tags":{},"startTime":1779032190427,"traceId":"6fcda0affd6833ad"},{"name":"check-page","duration":675121,"timestamp":224218144328,"id":54,"parentId":19,"tags":{"page":"/messages"},"startTime":1779032190391,"traceId":"6fcda0affd6833ad"},{"name":"is-page-static","duration":668197,"timestamp":224218151572,"id":70,"parentId":29,"tags":{},"startTime":1779032190398,"traceId":"6fcda0affd6833ad"},{"name":"check-page","duration":681782,"timestamp":224218138034,"id":29,"parentId":19,"tags":{"page":"/api/hub/auth"},"startTime":1779032190384,"traceId":"6fcda0affd6833ad"},{"name":"is-page-static","duration":650774,"timestamp":224218180483,"id":99,"parentId":56,"tags":{},"startTime":1779032190427,"traceId":"6fcda0affd6833ad"},{"name":"check-page","duration":686588,"timestamp":224218144721,"id":56,"parentId":19,"tags":{"page":"/nodes"},"startTime":1779032190391,"traceId":"6fcda0affd6833ad"},{"name":"is-page-static","duration":660988,"timestamp":224218170582,"id":93,"parentId":43,"tags":{},"startTime":1779032190417,"traceId":"6fcda0affd6833ad"},{"name":"check-page","duration":691067,"timestamp":224218140543,"id":43,"parentId":19,"tags":{"page":"/api/hub/servers"},"startTime":1779032190387,"traceId":"6fcda0affd6833ad"},{"name":"is-page-static","duration":662910,"timestamp":224218180617,"id":101,"parentId":59,"tags":{},"startTime":1779032190427,"traceId":"6fcda0affd6833ad"},{"name":"check-page","duration":697860,"timestamp":224218145750,"id":59,"parentId":19,"tags":{"page":"/settings/networks"},"startTime":1779032190392,"traceId":"6fcda0affd6833ad"},{"name":"is-page-static","duration":687268,"timestamp":224218180646,"id":103,"parentId":62,"tags":{},"startTime":1779032190427,"traceId":"6fcda0affd6833ad"},{"name":"check-page","duration":721466,"timestamp":224218146524,"id":62,"parentId":19,"tags":{"page":"/tasks/[id]"},"startTime":1779032190393,"traceId":"6fcda0affd6833ad"},{"name":"is-page-static","duration":689229,"timestamp":224218180398,"id":94,"parentId":23,"tags":{},"startTime":1779032190427,"traceId":"6fcda0affd6833ad"},{"name":"check-page","duration":735389,"timestamp":224218134292,"id":23,"parentId":19,"tags":{"page":"/admin"},"startTime":1779032190381,"traceId":"6fcda0affd6833ad"},{"name":"is-page-static","duration":683024,"timestamp":224218195111,"id":105,"parentId":57,"tags":{},"startTime":1779032190441,"traceId":"6fcda0affd6833ad"},{"name":"check-page","duration":733231,"timestamp":224218144965,"id":57,"parentId":19,"tags":{"page":"/"},"startTime":1779032190391,"traceId":"6fcda0affd6833ad"},{"name":"is-page-static","duration":697655,"timestamp":224218180659,"id":104,"parentId":63,"tags":{},"startTime":1779032190427,"traceId":"6fcda0affd6833ad"},{"name":"check-page","duration":731680,"timestamp":224218146665,"id":63,"parentId":19,"tags":{"page":"/tasks"},"startTime":1779032190393,"traceId":"6fcda0affd6833ad"},{"name":"is-page-static","duration":700802,"timestamp":224218180442,"id":96,"parentId":53,"tags":{},"startTime":1779032190427,"traceId":"6fcda0affd6833ad"},{"name":"check-page","duration":737114,"timestamp":224218144176,"id":53,"parentId":19,"tags":{"page":"/logs"},"startTime":1779032190390,"traceId":"6fcda0affd6833ad"},{"name":"is-page-static","duration":677299,"timestamp":224218209379,"id":106,"parentId":60,"tags":{},"startTime":1779032190456,"traceId":"6fcda0affd6833ad"},{"name":"check-page","duration":740783,"timestamp":224218145935,"id":60,"parentId":19,"tags":{"page":"/settings"},"startTime":1779032190392,"traceId":"6fcda0affd6833ad"},{"name":"is-page-static","duration":710402,"timestamp":224218180637,"id":102,"parentId":61,"tags":{},"startTime":1779032190427,"traceId":"6fcda0affd6833ad"},{"name":"check-page","duration":744721,"timestamp":224218146375,"id":61,"parentId":19,"tags":{"page":"/settings/tokens"},"startTime":1779032190393,"traceId":"6fcda0affd6833ad"},{"name":"is-page-static","duration":714023,"timestamp":224218180431,"id":95,"parentId":52,"tags":{},"startTime":1779032190427,"traceId":"6fcda0affd6833ad"},{"name":"check-page","duration":750511,"timestamp":224218143989,"id":52,"parentId":19,"tags":{"page":"/login"},"startTime":1779032190390,"traceId":"6fcda0affd6833ad"},{"name":"is-page-static","duration":723056,"timestamp":224218180468,"id":98,"parentId":55,"tags":{},"startTime":1779032190427,"traceId":"6fcda0affd6833ad"},{"name":"check-page","duration":759056,"timestamp":224218144522,"id":55,"parentId":19,"tags":{"page":"/node"},"startTime":1779032190391,"traceId":"6fcda0affd6833ad"},{"name":"is-page-static","duration":732320,"timestamp":224218180493,"id":100,"parentId":58,"tags":{},"startTime":1779032190427,"traceId":"6fcda0affd6833ad"},{"name":"check-page","duration":767339,"timestamp":224218145540,"id":58,"parentId":19,"tags":{"page":"/server-logs"},"startTime":1779032190392,"traceId":"6fcda0affd6833ad"},{"name":"static-check","duration":783322,"timestamp":224218129618,"id":19,"parentId":1,"tags":{},"startTime":1779032190376,"traceId":"6fcda0affd6833ad"}]
2
+ [{"name":"write-routes-manifest","duration":502,"timestamp":224218923099,"id":108,"parentId":1,"tags":{},"startTime":1779032191169,"traceId":"6fcda0affd6833ad"},{"name":"load-dotenv","duration":72,"timestamp":224218934829,"id":111,"parentId":110,"tags":{},"startTime":1779032191181,"traceId":"6fcda0affd6833ad"},{"name":"run-export-path-map","duration":799,"timestamp":224218937836,"id":112,"parentId":110,"tags":{},"startTime":1779032191184,"traceId":"6fcda0affd6833ad"},{"name":"next-export","duration":618339,"timestamp":224218932998,"id":110,"parentId":1,"tags":{},"startTime":1779032191179,"traceId":"6fcda0affd6833ad"},{"name":"move-exported-app-not-found-","duration":703,"timestamp":224219554286,"id":113,"parentId":109,"tags":{},"startTime":1779032191801,"traceId":"6fcda0affd6833ad"},{"name":"move-exported-app-global-error-","duration":427,"timestamp":224219555150,"id":114,"parentId":109,"tags":{},"startTime":1779032191801,"traceId":"6fcda0affd6833ad"},{"name":"static-generation","duration":630386,"timestamp":224218927363,"id":109,"parentId":1,"tags":{},"startTime":1779032191174,"traceId":"6fcda0affd6833ad"},{"name":"write-routes-manifest","duration":434,"timestamp":224219557994,"id":115,"parentId":1,"tags":{},"startTime":1779032191804,"traceId":"6fcda0affd6833ad"},{"name":"print-tree-view","duration":3866,"timestamp":224219575993,"id":116,"parentId":1,"tags":{},"startTime":1779032191822,"traceId":"6fcda0affd6833ad"},{"name":"write-route-bundle-stats","duration":11859,"timestamp":224219579906,"id":117,"parentId":1,"tags":{},"startTime":1779032191826,"traceId":"6fcda0affd6833ad"},{"name":"telemetry-flush","duration":19852,"timestamp":224219591789,"id":118,"parentId":1,"tags":{},"startTime":1779032191838,"traceId":"6fcda0affd6833ad"},{"name":"next-build","duration":17471045,"timestamp":224202140619,"id":1,"tags":{"buildMode":"default","version":"16.2.3","bundler":"turbopack","has-custom-webpack-config":"false","use-build-worker":"true"},"startTime":1779032174387,"traceId":"6fcda0affd6833ad"}]
package/.next/trace-build CHANGED
@@ -1 +1 @@
1
- [{"name":"run-turbopack","duration":8036429,"timestamp":223566592380,"id":14,"parentId":1,"tags":{},"startTime":1779031538839,"traceId":"cc1ad07771d74b0b"},{"name":"turbopack-build-events","duration":109,"timestamp":223566920418,"id":15,"parentId":1,"tags":{},"startTime":1779031539167,"traceId":"cc1ad07771d74b0b"},{"name":"run-typescript","duration":12213767,"timestamp":223574646259,"id":16,"parentId":1,"tags":{},"startTime":1779031546893,"traceId":"cc1ad07771d74b0b"},{"name":"static-check","duration":977808,"timestamp":223587080913,"id":19,"parentId":1,"tags":{},"startTime":1779031559327,"traceId":"cc1ad07771d74b0b"},{"name":"static-generation","duration":793481,"timestamp":223588073760,"id":109,"parentId":1,"tags":{},"startTime":1779031560320,"traceId":"cc1ad07771d74b0b"},{"name":"telemetry-flush","duration":22165,"timestamp":223588909252,"id":118,"parentId":1,"tags":{},"startTime":1779031561156,"traceId":"cc1ad07771d74b0b"},{"name":"next-build","duration":22584353,"timestamp":223566347123,"id":1,"tags":{"buildMode":"default","version":"16.2.3","bundler":"turbopack","has-custom-webpack-config":"false","use-build-worker":"true"},"startTime":1779031538593,"traceId":"cc1ad07771d74b0b"}]
1
+ [{"name":"run-turbopack","duration":6068078,"timestamp":224202379917,"id":14,"parentId":1,"tags":{},"startTime":1779032174626,"traceId":"6fcda0affd6833ad"},{"name":"turbopack-build-events","duration":107,"timestamp":224202663447,"id":15,"parentId":1,"tags":{},"startTime":1779032174910,"traceId":"6fcda0affd6833ad"},{"name":"run-typescript","duration":9503545,"timestamp":224208455489,"id":16,"parentId":1,"tags":{},"startTime":1779032180702,"traceId":"6fcda0affd6833ad"},{"name":"static-check","duration":783322,"timestamp":224218129618,"id":19,"parentId":1,"tags":{},"startTime":1779032190376,"traceId":"6fcda0affd6833ad"},{"name":"static-generation","duration":630386,"timestamp":224218927363,"id":109,"parentId":1,"tags":{},"startTime":1779032191174,"traceId":"6fcda0affd6833ad"},{"name":"telemetry-flush","duration":19852,"timestamp":224219591789,"id":118,"parentId":1,"tags":{},"startTime":1779032191838,"traceId":"6fcda0affd6833ad"},{"name":"next-build","duration":17471045,"timestamp":224202140619,"id":1,"tags":{"buildMode":"default","version":"16.2.3","bundler":"turbopack","has-custom-webpack-config":"false","use-build-worker":"true"},"startTime":1779032174387,"traceId":"6fcda0affd6833ad"}]
@@ -2619,6 +2619,31 @@ export function TopoGraph({ sessions, sseSessions, renameSignal }: TopoGraphProp
2619
2619
  const o = offlineNodes.length;
2620
2620
  const total = w + i + o;
2621
2621
  if (total === 0) return null;
2622
+ /* Round 563 / Loop — inspection-overrides-encoding family
2623
+ 6th anchor at the pressure-bar segment scope. When
2624
+ operator hovers a NODE ALIAS on the canvas, the segment
2625
+ matching that node's status tier lights up with its
2626
+ R210 brightness + R542 drop-shadow treatment — mirror
2627
+ of R562 legend-swatch pattern at the pressure-bar scope.
2628
+ Family progression (6 anchors):
2629
+ R484 recent-row timestamp alias hover
2630
+ R485 edge particle opacity alias hover
2631
+ R486 minimap dot opacity alias hover
2632
+ R561 group-label + ants-gate member-alias hover
2633
+ R562 legend-swatch r + glow member-alias status match
2634
+ R563 pressure-seg brightness member-alias status match ← this round
2635
+ Same status-tier-match computation as R562 (banked
2636
+ idiom): find the hovered alias's session, map to
2637
+ working/idle/offline tier, then per-segment check
2638
+ `hoveredAliasRowKey === key`. Computed once at IIFE
2639
+ scope, used inside the seg() closure. */
2640
+ const hoveredSession = hoveredAlias
2641
+ ? (onlineNodes.find(s => s.alias === hoveredAlias) ?? offlineNodes.find(s => s.alias === hoveredAlias))
2642
+ : null;
2643
+ const hoveredAliasTierKey: 'working' | 'idle' | 'offline' | null = !hoveredSession ? null
2644
+ : hoveredSession.status === 'working' ? 'working'
2645
+ : offlineNodes.includes(hoveredSession) ? 'offline'
2646
+ : 'idle';
2622
2647
  // Round 60 / Loop: each segment toggles a sticky filter via
2623
2648
  // `pinnedStatus`. Click the working segment → all non-working
2624
2649
  // nodes dim; click again → release. Segments share width with
@@ -2631,6 +2656,10 @@ export function TopoGraph({ sessions, sseSessions, renameSignal }: TopoGraphProp
2631
2656
  const seg = (n: number, color: string, key: 'working' | 'idle' | 'offline', label: string) => {
2632
2657
  if (n === 0) return null;
2633
2658
  const isPinned = pinnedStatus === key;
2659
+ // R563: member-alias-matching flag — when operator hovers
2660
+ // a node alias whose status matches this segment's tier.
2661
+ const isMemberAliasMatching = hoveredAliasTierKey === key;
2662
+ const isSegLit = hoveredStatus === key || isMemberAliasMatching;
2634
2663
  // R102: list the aliases that match this segment's bucket
2635
2664
  // so the title answers WHICH n, not just HOW MANY. Closes
2636
2665
  // the last "info-density gap" in the chip-row surfaces
@@ -2650,6 +2679,8 @@ export function TopoGraph({ sessions, sseSessions, renameSignal }: TopoGraphProp
2650
2679
  data-pressure-seg={key}
2651
2680
  data-pressure-seg-aliases={matchAliases.join(',')}
2652
2681
  data-pressure-seg-hovered={hoveredStatus === key ? 'true' : 'false'}
2682
+ data-pressure-seg-member-alias-matching={isMemberAliasMatching ? 'true' : 'false'}
2683
+ data-pressure-seg-lit={isSegLit ? 'true' : 'false'}
2653
2684
  role="button"
2654
2685
  tabIndex={0}
2655
2686
  aria-pressed={isPinned}
@@ -2727,7 +2758,13 @@ export function TopoGraph({ sessions, sseSessions, renameSignal }: TopoGraphProp
2727
2758
  filter is paint-only; bbox unchanged; R51
2728
2759
  overlap-test invariants hold. Transition list
2729
2760
  already includes `filter` (post-R524). */
2730
- filter: hoveredStatus === key ? `brightness(1.2) drop-shadow(0 0 2px ${color}99)` : undefined,
2761
+ /* R563: filter lifts on EITHER direct hover OR member-
2762
+ alias-matching (operator inspecting a node whose
2763
+ status matches this segment's tier). Same R210
2764
+ brightness + R542 drop-shadow value across both
2765
+ gate sources — uniform visual response, distinct
2766
+ semantic gates. */
2767
+ filter: isSegLit ? `brightness(1.2) drop-shadow(0 0 2px ${color}99)` : undefined,
2731
2768
  transition: 'width 220ms ease-out, box-shadow 150ms ease-out, filter 150ms ease-out',
2732
2769
  }}
2733
2770
  onClick={(e) => {
@@ -9519,10 +9556,37 @@ export function TopoGraph({ sessions, sseSessions, renameSignal }: TopoGraphProp
9519
9556
  letterSpacing:
9520
9557
  chatAlias === session.alias ? '0.5px' :
9521
9558
  hoveredAlias === session.alias ? '0.3px' : '0px',
9559
+ /* Round 564 / Loop — alias text filter stacks
9560
+ brightness(1.15) on top of R500's drop-shadow
9561
+ on hover. Mirrors R542 pressure-seg pattern
9562
+ (brightness + drop-shadow in one stacked
9563
+ filter declaration). Pre-R564 hover added
9564
+ only a drop-shadow halo around the glyph;
9565
+ post-R564 the glyph ALSO brightens, so the
9566
+ identity text reads as both "glowing" AND
9567
+ "lit up" under attention — dual paint axes
9568
+ through one filter chain.
9569
+ CSS filter supports multiple functions
9570
+ applied left-to-right. brightness(1.15)
9571
+ lifts the per-status text color (status.text:
9572
+ green/teal/slate per tier) by 15%; the drop-
9573
+ shadow then paints the outer halo in the
9574
+ status-tier hue. Together: the alias glyph
9575
+ both intensifies its identity color AND
9576
+ radiates outward in that same color.
9577
+ Same +15% brightness as R501 vendor logo
9578
+ avatar (banked per-node hover-brightness
9579
+ pattern). Consistent +15% across all per-
9580
+ node identity surfaces (logo, monogram,
9581
+ fallback avatar from R558, AND now alias
9582
+ text). Cross-element brightness consistency.
9583
+ data-node-alias-brightness attr surfaces
9584
+ the lift for tests. */
9522
9585
  filter: !reducedMotion && hoveredAlias === session.alias
9523
- ? `drop-shadow(0 0 2px ${status.text}80)`
9586
+ ? `drop-shadow(0 0 2px ${status.text}80) brightness(1.15)`
9524
9587
  : undefined,
9525
9588
  }}
9589
+ data-node-alias-brightness={!reducedMotion && hoveredAlias === session.alias ? '1.15' : '1'}
9526
9590
  >
9527
9591
  {truncate(session.alias, fullMax)}
9528
9592
  </text>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sleep2agi/agent-network-dashboard",
3
- "version": "0.5.3-preview.76",
3
+ "version": "0.5.3-preview.78",
4
4
  "description": "Agent Network Dashboard \u2014 Web UI for managing AI Agent networks",
5
5
  "scripts": {
6
6
  "dev": "next dev",
@@ -0,0 +1,84 @@
1
+ /* Round 564 verification: per-node alias text gains stacked filter
2
+ * brightness(1.15) on top of R500 drop-shadow on hover. Mirrors
3
+ * R542 pressure-seg pattern.
4
+ *
5
+ * Test phases:
6
+ * 1. rest: filter = 'none', brightness-attr = '1'
7
+ * 2. hover: filter contains BOTH drop-shadow AND brightness(1.15);
8
+ * brightness-attr = '1.15'
9
+ * 3. source-side regex confirms stacked filter expression
10
+ */
11
+ import { chromium } from 'playwright';
12
+ import { readFileSync } from 'node:fs';
13
+
14
+ const TOKEN = JSON.parse(readFileSync('/home/vansin/.anet/config.json', 'utf8')).token;
15
+ const fresh = new Date(Date.now() - 60 * 1000).toISOString();
16
+
17
+ const browser = await chromium.launch({ headless: true });
18
+ const ctx = await browser.newContext({ viewport: { width: 1500, height: 1200 } });
19
+ await ctx.addCookies([{ name: 'anet_dashboard_session', value: `v3:${TOKEN}`, domain: '127.0.0.1', path: '/' }]);
20
+ await ctx.addInitScript(() => {
21
+ try {
22
+ localStorage.setItem('anet-theme', 'cyber');
23
+ localStorage.setItem('anet-topo-layout', 'ring');
24
+ sessionStorage.setItem('anet_v3_auth', '1');
25
+ } catch {}
26
+ });
27
+ await ctx.route('**/api/hub/status*', async (route) => {
28
+ const r = await route.fetch();
29
+ const b = await r.json();
30
+ const nid = (b.sessions || [])[0]?.network_id || 'default';
31
+ const mk = (alias) => ({
32
+ alias, status: 'working', model: 'claude-opus-4', runtime: 'claude-code-cli',
33
+ network_id: nid, project_dir: null,
34
+ created_at: fresh, updated_at: fresh, last_seen_at: fresh,
35
+ });
36
+ await route.fulfill({ response: r, json: { ...b, sessions: [mk('a·1'), mk('a·2')] } });
37
+ });
38
+ await ctx.route('**/api/hub/messages*', (r) => r.fulfill({ json: { messages: [] } }));
39
+ await ctx.route('**/api/hub/tasks*', (r) => r.fulfill({ json: { tasks: [] } }));
40
+ const page = await ctx.newPage();
41
+ await page.goto('http://127.0.0.1:3000/', { waitUntil: 'networkidle' });
42
+ await page.waitForSelector('[data-node-alias-text="a·1"]', { timeout: 15000 });
43
+ await page.waitForTimeout(500);
44
+
45
+ const aliasSel = '[data-node-alias-text="a·1"]';
46
+ const probe = () => page.evaluate((s) => {
47
+ const el = document.querySelector(s);
48
+ if (!el) return null;
49
+ const cs = getComputedStyle(el);
50
+ return {
51
+ filter: cs.filter,
52
+ glowAttr: el.getAttribute('data-node-alias-glow'),
53
+ brightnessAttr: el.getAttribute('data-node-alias-brightness'),
54
+ };
55
+ }, aliasSel);
56
+
57
+ const rest = await probe();
58
+ await page.hover('g[data-node="a·1"]');
59
+ await page.waitForTimeout(400);
60
+ const hover = await probe();
61
+
62
+ await browser.close();
63
+
64
+ const src = readFileSync('/home/vansin/agent-network-dashboard/app/components/TopoGraph.tsx', 'utf8');
65
+ const sourceFilter = /filter: !reducedMotion && hoveredAlias === session\.alias\s*\?\s*`drop-shadow\(0 0 2px \$\{status\.text\}80\) brightness\(1\.15\)`/.test(src);
66
+ const sourceAttr = /data-node-alias-brightness=\{!reducedMotion && hoveredAlias === session\.alias \? '1\.15' : '1'\}/.test(src);
67
+
68
+ const results = {
69
+ rest_filter_none: rest?.filter === 'none',
70
+ rest_glow_false: rest?.glowAttr === 'false',
71
+ rest_brightness_1: rest?.brightnessAttr === '1',
72
+ hover_filter_has_dropshadow: /drop-shadow\(/.test(hover?.filter || ''),
73
+ hover_filter_has_brightness: /brightness\(1\.15\)/.test(hover?.filter || ''),
74
+ hover_glow_true: hover?.glowAttr === 'true',
75
+ hover_brightness_1_15: hover?.brightnessAttr === '1.15',
76
+ source_filter: sourceFilter,
77
+ source_attr: sourceAttr,
78
+ };
79
+ const ok = Object.values(results).every(Boolean);
80
+ console.log(`${ok ? '✅' : '❌'} R564 per-node alias text brightness(1.15) stacked on R500 drop-shadow:`,
81
+ JSON.stringify(results, null, 2),
82
+ `\n rest: ${JSON.stringify(rest)}`,
83
+ `\n hover: ${JSON.stringify(hover)}`);
84
+ process.exit(ok ? 0 : 1);
@@ -0,0 +1,133 @@
1
+ /* Round 563 verification: pressure-bar segment lights up (R210
2
+ * brightness + R542 drop-shadow) when operator hovers a node alias
3
+ * whose status matches the segment's tier. 6th anchor in
4
+ * inspection-overrides-encoding family.
5
+ *
6
+ * Mock: alpha·1 (working) + alpha·2 (idle) + alpha·3 (offline).
7
+ * Hover alpha·1 → 'working' segment lights up; idle + offline rest.
8
+ *
9
+ * Test phases:
10
+ * 1. rest: all 3 segments filter='none', lit='false'
11
+ * 2. hover alpha·1 (working) → working seg filter contains
12
+ * brightness(1.2) and drop-shadow with green hex; idle +
13
+ * offline stay at rest
14
+ * 3. hover alpha·2 (idle) → idle seg lit
15
+ * 4. hover alpha·3 (offline) → offline seg lit
16
+ * 5. source-side regex confirms wiring
17
+ */
18
+ import { chromium } from 'playwright';
19
+ import { readFileSync } from 'node:fs';
20
+
21
+ const TOKEN = JSON.parse(readFileSync('/home/vansin/.anet/config.json', 'utf8')).token;
22
+ const fresh = new Date(Date.now() - 60 * 1000).toISOString();
23
+
24
+ const browser = await chromium.launch({ headless: true });
25
+ const ctx = await browser.newContext({ viewport: { width: 1500, height: 1200 } });
26
+ await ctx.addCookies([{ name: 'anet_dashboard_session', value: `v3:${TOKEN}`, domain: '127.0.0.1', path: '/' }]);
27
+ await ctx.addInitScript(() => {
28
+ try {
29
+ localStorage.setItem('anet-theme', 'cyber');
30
+ localStorage.setItem('anet-topo-layout', 'ring');
31
+ sessionStorage.setItem('anet_v3_auth', '1');
32
+ } catch {}
33
+ });
34
+ await ctx.route('**/api/hub/status*', async (route) => {
35
+ const r = await route.fetch();
36
+ const b = await r.json();
37
+ const nid = (b.sessions || [])[0]?.network_id || 'default';
38
+ const mk = (alias, status) => ({
39
+ alias, status, model: 'claude-opus-4', runtime: 'claude-code-cli',
40
+ network_id: nid, project_dir: null,
41
+ created_at: fresh, updated_at: fresh, last_seen_at: fresh,
42
+ });
43
+ await route.fulfill({ response: r, json: { ...b, sessions: [
44
+ mk('alpha·1', 'working'),
45
+ mk('alpha·2', 'idle'),
46
+ mk('alpha·3', 'offline'),
47
+ ] } });
48
+ });
49
+ await ctx.route('**/api/hub/messages*', (r) => r.fulfill({ json: { messages: [] } }));
50
+ await ctx.route('**/api/hub/tasks*', (r) => r.fulfill({ json: { tasks: [] } }));
51
+ const page = await ctx.newPage();
52
+ await page.goto('http://127.0.0.1:3000/', { waitUntil: 'networkidle' });
53
+ await page.waitForSelector('[data-pressure-seg="working"]', { timeout: 15000 });
54
+ await page.waitForTimeout(500);
55
+
56
+ const probeSeg = (key) => page.evaluate((k) => {
57
+ const el = document.querySelector(`[data-pressure-seg="${k}"]`);
58
+ if (!el) return null;
59
+ const cs = getComputedStyle(el);
60
+ return {
61
+ filter: cs.filter,
62
+ matching: el.getAttribute('data-pressure-seg-member-alias-matching') === 'true',
63
+ lit: el.getAttribute('data-pressure-seg-lit') === 'true',
64
+ hovered: el.getAttribute('data-pressure-seg-hovered') === 'true',
65
+ };
66
+ }, key);
67
+
68
+ const restWorking = await probeSeg('working');
69
+ const restIdle = await probeSeg('idle');
70
+ const restOffline = await probeSeg('offline');
71
+
72
+ // Hover working node
73
+ await page.hover('g[data-node="alpha·1"]');
74
+ await page.waitForTimeout(400);
75
+ const hoverWorkingW = await probeSeg('working');
76
+ const hoverWorkingI = await probeSeg('idle');
77
+ const hoverWorkingO = await probeSeg('offline');
78
+
79
+ await page.mouse.move(0, 0);
80
+ await page.waitForTimeout(300);
81
+ await page.hover('g[data-node="alpha·2"]');
82
+ await page.waitForTimeout(400);
83
+ const hoverIdleI = await probeSeg('idle');
84
+
85
+ await page.mouse.move(0, 0);
86
+ await page.waitForTimeout(300);
87
+ await page.hover('g[data-node="alpha·3"]');
88
+ await page.waitForTimeout(400);
89
+ const hoverOfflineO = await probeSeg('offline');
90
+
91
+ await browser.close();
92
+
93
+ const src = readFileSync('/home/vansin/agent-network-dashboard/app/components/TopoGraph.tsx', 'utf8');
94
+ const sourceTierKey = /const hoveredAliasTierKey: 'working' \| 'idle' \| 'offline' \| null/.test(src);
95
+ const sourceMatching = /const isMemberAliasMatching = hoveredAliasTierKey === key;/.test(src);
96
+ const sourceLit = /const isSegLit = hoveredStatus === key \|\| isMemberAliasMatching;/.test(src);
97
+ const sourceFilter = /filter: isSegLit \? `brightness\(1\.2\) drop-shadow\(0 0 2px \$\{color\}99\)` : undefined/.test(src);
98
+ const sourceAttr = /data-pressure-seg-member-alias-matching=/.test(src);
99
+
100
+ const results = {
101
+ rest_working_filter_none: restWorking?.filter === 'none',
102
+ rest_working_lit_false: restWorking?.lit === false,
103
+ rest_idle_filter_none: restIdle?.filter === 'none',
104
+ rest_offline_filter_none: restOffline?.filter === 'none',
105
+ // Hover working node → working seg lit
106
+ hover_working_w_lit: hoverWorkingW?.lit === true,
107
+ hover_working_w_matching: hoverWorkingW?.matching === true,
108
+ hover_working_w_brightness: /brightness\(1\.2\)/.test(hoverWorkingW?.filter || ''),
109
+ hover_working_w_dropshadow: /drop-shadow\(/.test(hoverWorkingW?.filter || ''),
110
+ // idle + offline segments stay at rest
111
+ hover_working_i_lit_false: hoverWorkingI?.lit === false,
112
+ hover_working_o_lit_false: hoverWorkingO?.lit === false,
113
+ // Hover idle node → idle seg lit
114
+ hover_idle_i_lit: hoverIdleI?.lit === true,
115
+ hover_idle_i_matching: hoverIdleI?.matching === true,
116
+ // Hover offline node → offline seg lit
117
+ hover_offline_o_lit: hoverOfflineO?.lit === true,
118
+ hover_offline_o_matching: hoverOfflineO?.matching === true,
119
+ // Source
120
+ source_tier_key: sourceTierKey,
121
+ source_matching: sourceMatching,
122
+ source_lit: sourceLit,
123
+ source_filter: sourceFilter,
124
+ source_attr: sourceAttr,
125
+ };
126
+ const ok = Object.values(results).every(Boolean);
127
+ console.log(`${ok ? '✅' : '❌'} R563 pressure-seg inspection-overrides-encoding (6th anchor):`,
128
+ JSON.stringify(results, null, 2),
129
+ '\n rest working:', JSON.stringify(restWorking),
130
+ '\n hover alpha·1 (working) → working:', JSON.stringify(hoverWorkingW),
131
+ '\n hover alpha·2 (idle) → idle:', JSON.stringify(hoverIdleI),
132
+ '\n hover alpha·3 (offline) → offline:', JSON.stringify(hoverOfflineO));
133
+ process.exit(ok ? 0 : 1);