@sleep2agi/agent-network-dashboard 0.5.3-preview.116 → 0.5.3-preview.118

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 (156) 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/page_client-reference-manifest.js +1 -1
  13. package/.next/server/app/_not-found.html +2 -2
  14. package/.next/server/app/_not-found.rsc +2 -2
  15. package/.next/server/app/_not-found.segments/_full.segment.rsc +2 -2
  16. package/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  17. package/.next/server/app/_not-found.segments/_index.segment.rsc +2 -2
  18. package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  19. package/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  20. package/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  21. package/.next/server/app/admin/page_client-reference-manifest.js +1 -1
  22. package/.next/server/app/admin.html +2 -2
  23. package/.next/server/app/admin.rsc +2 -2
  24. package/.next/server/app/admin.segments/_full.segment.rsc +2 -2
  25. package/.next/server/app/admin.segments/_head.segment.rsc +1 -1
  26. package/.next/server/app/admin.segments/_index.segment.rsc +2 -2
  27. package/.next/server/app/admin.segments/_tree.segment.rsc +2 -2
  28. package/.next/server/app/admin.segments/admin/__PAGE__.segment.rsc +1 -1
  29. package/.next/server/app/admin.segments/admin.segment.rsc +1 -1
  30. package/.next/server/app/index.html +2 -2
  31. package/.next/server/app/index.rsc +3 -3
  32. package/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
  33. package/.next/server/app/index.segments/_full.segment.rsc +3 -3
  34. package/.next/server/app/index.segments/_head.segment.rsc +1 -1
  35. package/.next/server/app/index.segments/_index.segment.rsc +2 -2
  36. package/.next/server/app/index.segments/_tree.segment.rsc +2 -2
  37. package/.next/server/app/login/page_client-reference-manifest.js +1 -1
  38. package/.next/server/app/login.html +2 -2
  39. package/.next/server/app/login.rsc +3 -3
  40. package/.next/server/app/login.segments/_full.segment.rsc +3 -3
  41. package/.next/server/app/login.segments/_head.segment.rsc +1 -1
  42. package/.next/server/app/login.segments/_index.segment.rsc +2 -2
  43. package/.next/server/app/login.segments/_tree.segment.rsc +2 -2
  44. package/.next/server/app/login.segments/login/__PAGE__.segment.rsc +2 -2
  45. package/.next/server/app/login.segments/login.segment.rsc +1 -1
  46. package/.next/server/app/logs/page_client-reference-manifest.js +1 -1
  47. package/.next/server/app/logs.html +2 -2
  48. package/.next/server/app/logs.rsc +2 -2
  49. package/.next/server/app/logs.segments/_full.segment.rsc +2 -2
  50. package/.next/server/app/logs.segments/_head.segment.rsc +1 -1
  51. package/.next/server/app/logs.segments/_index.segment.rsc +2 -2
  52. package/.next/server/app/logs.segments/_tree.segment.rsc +2 -2
  53. package/.next/server/app/logs.segments/logs/__PAGE__.segment.rsc +1 -1
  54. package/.next/server/app/logs.segments/logs.segment.rsc +1 -1
  55. package/.next/server/app/messages/page_client-reference-manifest.js +1 -1
  56. package/.next/server/app/messages.html +2 -2
  57. package/.next/server/app/messages.rsc +2 -2
  58. package/.next/server/app/messages.segments/_full.segment.rsc +2 -2
  59. package/.next/server/app/messages.segments/_head.segment.rsc +1 -1
  60. package/.next/server/app/messages.segments/_index.segment.rsc +2 -2
  61. package/.next/server/app/messages.segments/_tree.segment.rsc +2 -2
  62. package/.next/server/app/messages.segments/messages/__PAGE__.segment.rsc +1 -1
  63. package/.next/server/app/messages.segments/messages.segment.rsc +1 -1
  64. package/.next/server/app/node/page_client-reference-manifest.js +1 -1
  65. package/.next/server/app/node.html +2 -2
  66. package/.next/server/app/node.rsc +2 -2
  67. package/.next/server/app/node.segments/_full.segment.rsc +2 -2
  68. package/.next/server/app/node.segments/_head.segment.rsc +1 -1
  69. package/.next/server/app/node.segments/_index.segment.rsc +2 -2
  70. package/.next/server/app/node.segments/_tree.segment.rsc +2 -2
  71. package/.next/server/app/node.segments/node/__PAGE__.segment.rsc +1 -1
  72. package/.next/server/app/node.segments/node.segment.rsc +1 -1
  73. package/.next/server/app/nodes/page_client-reference-manifest.js +1 -1
  74. package/.next/server/app/nodes.html +2 -2
  75. package/.next/server/app/nodes.rsc +2 -2
  76. package/.next/server/app/nodes.segments/_full.segment.rsc +2 -2
  77. package/.next/server/app/nodes.segments/_head.segment.rsc +1 -1
  78. package/.next/server/app/nodes.segments/_index.segment.rsc +2 -2
  79. package/.next/server/app/nodes.segments/_tree.segment.rsc +2 -2
  80. package/.next/server/app/nodes.segments/nodes/__PAGE__.segment.rsc +1 -1
  81. package/.next/server/app/nodes.segments/nodes.segment.rsc +1 -1
  82. package/.next/server/app/page_client-reference-manifest.js +1 -1
  83. package/.next/server/app/server-logs/page_client-reference-manifest.js +1 -1
  84. package/.next/server/app/server-logs.html +2 -2
  85. package/.next/server/app/server-logs.rsc +2 -2
  86. package/.next/server/app/server-logs.segments/_full.segment.rsc +2 -2
  87. package/.next/server/app/server-logs.segments/_head.segment.rsc +1 -1
  88. package/.next/server/app/server-logs.segments/_index.segment.rsc +2 -2
  89. package/.next/server/app/server-logs.segments/_tree.segment.rsc +2 -2
  90. package/.next/server/app/server-logs.segments/server-logs/__PAGE__.segment.rsc +1 -1
  91. package/.next/server/app/server-logs.segments/server-logs.segment.rsc +1 -1
  92. package/.next/server/app/settings/networks/page_client-reference-manifest.js +1 -1
  93. package/.next/server/app/settings/networks.html +2 -2
  94. package/.next/server/app/settings/networks.rsc +2 -2
  95. package/.next/server/app/settings/networks.segments/_full.segment.rsc +2 -2
  96. package/.next/server/app/settings/networks.segments/_head.segment.rsc +1 -1
  97. package/.next/server/app/settings/networks.segments/_index.segment.rsc +2 -2
  98. package/.next/server/app/settings/networks.segments/_tree.segment.rsc +2 -2
  99. package/.next/server/app/settings/networks.segments/settings/networks/__PAGE__.segment.rsc +1 -1
  100. package/.next/server/app/settings/networks.segments/settings/networks.segment.rsc +1 -1
  101. package/.next/server/app/settings/networks.segments/settings.segment.rsc +1 -1
  102. package/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  103. package/.next/server/app/settings/tokens/page_client-reference-manifest.js +1 -1
  104. package/.next/server/app/settings/tokens.html +2 -2
  105. package/.next/server/app/settings/tokens.rsc +2 -2
  106. package/.next/server/app/settings/tokens.segments/_full.segment.rsc +2 -2
  107. package/.next/server/app/settings/tokens.segments/_head.segment.rsc +1 -1
  108. package/.next/server/app/settings/tokens.segments/_index.segment.rsc +2 -2
  109. package/.next/server/app/settings/tokens.segments/_tree.segment.rsc +2 -2
  110. package/.next/server/app/settings/tokens.segments/settings/tokens/__PAGE__.segment.rsc +1 -1
  111. package/.next/server/app/settings/tokens.segments/settings/tokens.segment.rsc +1 -1
  112. package/.next/server/app/settings/tokens.segments/settings.segment.rsc +1 -1
  113. package/.next/server/app/settings.html +2 -2
  114. package/.next/server/app/settings.rsc +3 -3
  115. package/.next/server/app/settings.segments/_full.segment.rsc +3 -3
  116. package/.next/server/app/settings.segments/_head.segment.rsc +1 -1
  117. package/.next/server/app/settings.segments/_index.segment.rsc +2 -2
  118. package/.next/server/app/settings.segments/_tree.segment.rsc +2 -2
  119. package/.next/server/app/settings.segments/settings/__PAGE__.segment.rsc +2 -2
  120. package/.next/server/app/settings.segments/settings.segment.rsc +1 -1
  121. package/.next/server/app/tasks/[id]/page_client-reference-manifest.js +1 -1
  122. package/.next/server/app/tasks/page_client-reference-manifest.js +1 -1
  123. package/.next/server/app/tasks.html +2 -2
  124. package/.next/server/app/tasks.rsc +2 -2
  125. package/.next/server/app/tasks.segments/_full.segment.rsc +2 -2
  126. package/.next/server/app/tasks.segments/_head.segment.rsc +1 -1
  127. package/.next/server/app/tasks.segments/_index.segment.rsc +2 -2
  128. package/.next/server/app/tasks.segments/_tree.segment.rsc +2 -2
  129. package/.next/server/app/tasks.segments/tasks/__PAGE__.segment.rsc +1 -1
  130. package/.next/server/app/tasks.segments/tasks.segment.rsc +1 -1
  131. package/.next/server/chunks/ssr/[root-of-the-server]__0sv~g.o._.js +1 -1
  132. package/.next/server/chunks/ssr/[root-of-the-server]__0sv~g.o._.js.map +1 -1
  133. package/.next/server/chunks/ssr/agent-network-dashboard_09kk21a._.js +2 -2
  134. package/.next/server/chunks/ssr/agent-network-dashboard_09kk21a._.js.map +1 -1
  135. package/.next/server/chunks/ssr/agent-network-dashboard_app_01jhlxz._.js +1 -1
  136. package/.next/server/chunks/ssr/agent-network-dashboard_app_01jhlxz._.js.map +1 -1
  137. package/.next/server/chunks/ssr/agent-network-dashboard_app_09d29my._.js +1 -1
  138. package/.next/server/chunks/ssr/agent-network-dashboard_app_09d29my._.js.map +1 -1
  139. package/.next/server/middleware-build-manifest.js +3 -3
  140. package/.next/server/pages/404.html +2 -2
  141. package/.next/server/pages/500.html +1 -1
  142. package/.next/static/chunks/{14didl3aoxu~h.js → 0-zmo0-zxb_y6.js} +1 -1
  143. package/.next/static/chunks/{0pilspxosrn27.js → 00ya99ju0yg5w.js} +1 -1
  144. package/.next/static/chunks/{0n2_0el9gn13k.css → 05-~ezd16iskp.css} +1 -1
  145. package/.next/static/chunks/0julwinqoye6t.js +4 -0
  146. package/.next/static/chunks/{0r4hfjvk5-msc.js → 13qniw8esahmu.js} +1 -1
  147. package/.next/trace +2 -2
  148. package/.next/trace-build +1 -1
  149. package/app/components/TopoGraph.tsx +58 -3
  150. package/package.json +1 -1
  151. package/scripts/topo-brand-drop-shadow-test.mjs +71 -0
  152. package/scripts/topo-edge-badge-circle-brightness-test.mjs +82 -0
  153. package/.next/static/chunks/03obfay~1oxfs.js +0 -4
  154. /package/.next/static/{vpVCKc7X9z_SeAjPCJDKe → Uuj7jnWQ0DWmjtM_fyXAY}/_buildManifest.js +0 -0
  155. /package/.next/static/{vpVCKc7X9z_SeAjPCJDKe → Uuj7jnWQ0DWmjtM_fyXAY}/_clientMiddlewareManifest.js +0 -0
  156. /package/.next/static/{vpVCKc7X9z_SeAjPCJDKe → Uuj7jnWQ0DWmjtM_fyXAY}/_ssgManifest.js +0 -0
package/.next/trace CHANGED
@@ -1,2 +1,2 @@
1
- [{"name":"generate-buildid","duration":247,"timestamp":236079208406,"id":4,"parentId":1,"tags":{},"startTime":1779044051455,"traceId":"a510b39e4efdb605"},{"name":"load-custom-routes","duration":528,"timestamp":236079208789,"id":5,"parentId":1,"tags":{},"startTime":1779044051455,"traceId":"a510b39e4efdb605"},{"name":"create-dist-dir","duration":703,"timestamp":236079209361,"id":6,"parentId":1,"tags":{},"startTime":1779044051456,"traceId":"a510b39e4efdb605"},{"name":"clean","duration":36214,"timestamp":236079210693,"id":7,"parentId":1,"tags":{},"startTime":1779044051457,"traceId":"a510b39e4efdb605"},{"name":"discover-routes","duration":24248,"timestamp":236079329067,"id":8,"parentId":1,"tags":{},"startTime":1779044051575,"traceId":"a510b39e4efdb605"},{"name":"create-root-mapping","duration":107,"timestamp":236079353378,"id":9,"parentId":1,"tags":{},"startTime":1779044051600,"traceId":"a510b39e4efdb605"},{"name":"generate-route-types","duration":18572,"timestamp":236079355946,"id":10,"parentId":1,"tags":{},"startTime":1779044051602,"traceId":"a510b39e4efdb605"},{"name":"public-dir-conflict-check","duration":90,"timestamp":236079374596,"id":11,"parentId":1,"tags":{},"startTime":1779044051621,"traceId":"a510b39e4efdb605"},{"name":"generate-routes-manifest","duration":4863,"timestamp":236079374787,"id":12,"parentId":1,"tags":{},"startTime":1779044051621,"traceId":"a510b39e4efdb605"},{"name":"run-turbopack","duration":6190864,"timestamp":236079385377,"id":14,"parentId":1,"tags":{},"startTime":1779044051632,"traceId":"a510b39e4efdb605"},{"name":"turbopack-build-events","duration":117,"timestamp":236079687932,"id":15,"parentId":1,"tags":{},"startTime":1779044051934,"traceId":"a510b39e4efdb605"},{"name":"run-typescript","duration":9918724,"timestamp":236085585566,"id":16,"parentId":1,"tags":{},"startTime":1779044057832,"traceId":"a510b39e4efdb605"},{"name":"generate-required-server-files","duration":2738,"timestamp":236095505658,"id":18,"parentId":1,"tags":{},"startTime":1779044067752,"traceId":"a510b39e4efdb605"},{"name":"check-static-error-page","duration":17132,"timestamp":236095700950,"id":20,"parentId":19,"tags":{},"startTime":1779044067947,"traceId":"a510b39e4efdb605"},{"name":"is-page-static","duration":592016,"timestamp":236095721914,"id":69,"parentId":28,"tags":{},"startTime":1779044067968,"traceId":"a510b39e4efdb605"},{"name":"check-page","duration":605738,"timestamp":236095708384,"id":28,"parentId":19,"tags":{"page":"/api/hub/audit-log"},"startTime":1779044067955,"traceId":"a510b39e4efdb605"},{"name":"is-page-static","duration":597286,"timestamp":236095722326,"id":71,"parentId":30,"tags":{},"startTime":1779044067969,"traceId":"a510b39e4efdb605"},{"name":"check-page","duration":611033,"timestamp":236095708653,"id":30,"parentId":19,"tags":{"page":"/api/hub/broadcast"},"startTime":1779044067955,"traceId":"a510b39e4efdb605"},{"name":"is-page-static","duration":614913,"timestamp":236095722391,"id":72,"parentId":32,"tags":{},"startTime":1779044067969,"traceId":"a510b39e4efdb605"},{"name":"check-page","duration":628262,"timestamp":236095709119,"id":32,"parentId":19,"tags":{"page":"/api/hub/health"},"startTime":1779044067955,"traceId":"a510b39e4efdb605"},{"name":"is-page-static","duration":631799,"timestamp":236095722550,"id":73,"parentId":33,"tags":{},"startTime":1779044067969,"traceId":"a510b39e4efdb605"},{"name":"check-page","duration":645162,"timestamp":236095709262,"id":33,"parentId":19,"tags":{"page":"/api/hub/inbox"},"startTime":1779044067956,"traceId":"a510b39e4efdb605"},{"name":"is-page-static","duration":640876,"timestamp":236095721768,"id":67,"parentId":26,"tags":{},"startTime":1779044067968,"traceId":"a510b39e4efdb605"},{"name":"check-page","duration":654599,"timestamp":236095708120,"id":26,"parentId":19,"tags":{"page":"/api/auth/logout"},"startTime":1779044067954,"traceId":"a510b39e4efdb605"},{"name":"is-page-static","duration":651598,"timestamp":236095722631,"id":74,"parentId":34,"tags":{},"startTime":1779044067969,"traceId":"a510b39e4efdb605"},{"name":"check-page","duration":664911,"timestamp":236095709391,"id":34,"parentId":19,"tags":{"page":"/api/hub/license"},"startTime":1779044067956,"traceId":"a510b39e4efdb605"},{"name":"is-page-static","duration":656133,"timestamp":236095722687,"id":76,"parentId":36,"tags":{},"startTime":1779044067969,"traceId":"a510b39e4efdb605"},{"name":"check-page","duration":668797,"timestamp":236095710103,"id":36,"parentId":19,"tags":{"page":"/api/hub/networks"},"startTime":1779044067956,"traceId":"a510b39e4efdb605"},{"name":"is-page-static","duration":661826,"timestamp":236095722712,"id":77,"parentId":37,"tags":{},"startTime":1779044067969,"traceId":"a510b39e4efdb605"},{"name":"check-page","duration":674319,"timestamp":236095710309,"id":37,"parentId":19,"tags":{"page":"/api/hub/nodes"},"startTime":1779044067957,"traceId":"a510b39e4efdb605"},{"name":"is-page-static","duration":667158,"timestamp":236095721832,"id":68,"parentId":27,"tags":{},"startTime":1779044067968,"traceId":"a510b39e4efdb605"},{"name":"check-page","duration":680826,"timestamp":236095708255,"id":27,"parentId":19,"tags":{"page":"/api/auth/v3"},"startTime":1779044067955,"traceId":"a510b39e4efdb605"},{"name":"is-page-static","duration":666568,"timestamp":236095722730,"id":78,"parentId":38,"tags":{},"startTime":1779044067969,"traceId":"a510b39e4efdb605"},{"name":"check-page","duration":678863,"timestamp":236095710470,"id":38,"parentId":19,"tags":{"page":"/api/hub/register"},"startTime":1779044067957,"traceId":"a510b39e4efdb605"},{"name":"is-page-static","duration":671104,"timestamp":236095722753,"id":80,"parentId":40,"tags":{},"startTime":1779044067969,"traceId":"a510b39e4efdb605"},{"name":"check-page","duration":683192,"timestamp":236095710717,"id":40,"parentId":19,"tags":{"page":"/api/hub/server-logs"},"startTime":1779044067957,"traceId":"a510b39e4efdb605"},{"name":"is-page-static","duration":681157,"timestamp":236095722662,"id":75,"parentId":35,"tags":{},"startTime":1779044067969,"traceId":"a510b39e4efdb605"},{"name":"check-page","duration":694349,"timestamp":236095709539,"id":35,"parentId":19,"tags":{"page":"/api/hub/messages"},"startTime":1779044067956,"traceId":"a510b39e4efdb605"},{"name":"is-page-static","duration":681348,"timestamp":236095722768,"id":81,"parentId":42,"tags":{},"startTime":1779044067969,"traceId":"a510b39e4efdb605"},{"name":"check-page","duration":693034,"timestamp":236095711141,"id":42,"parentId":19,"tags":{"page":"/api/hub/server/[hostname]/health"},"startTime":1779044067957,"traceId":"a510b39e4efdb605"},{"name":"is-page-static","duration":691161,"timestamp":236095722794,"id":83,"parentId":45,"tags":{},"startTime":1779044067969,"traceId":"a510b39e4efdb605"},{"name":"check-page","duration":702298,"timestamp":236095711730,"id":45,"parentId":19,"tags":{"page":"/api/hub/stats"},"startTime":1779044067958,"traceId":"a510b39e4efdb605"},{"name":"is-page-static","duration":692886,"timestamp":236095722181,"id":70,"parentId":29,"tags":{},"startTime":1779044067968,"traceId":"a510b39e4efdb605"},{"name":"check-page","duration":706608,"timestamp":236095708503,"id":29,"parentId":19,"tags":{"page":"/api/hub/auth"},"startTime":1779044067955,"traceId":"a510b39e4efdb605"},{"name":"is-page-static","duration":695377,"timestamp":236095721605,"id":65,"parentId":22,"tags":{},"startTime":1779044067968,"traceId":"a510b39e4efdb605"},{"name":"check-page","duration":712693,"timestamp":236095704363,"id":22,"parentId":19,"tags":{"page":"/_global-error"},"startTime":1779044067951,"traceId":"a510b39e4efdb605"},{"name":"is-page-static","duration":694982,"timestamp":236095722804,"id":84,"parentId":46,"tags":{},"startTime":1779044067969,"traceId":"a510b39e4efdb605"},{"name":"check-page","duration":706012,"timestamp":236095711829,"id":46,"parentId":19,"tags":{"page":"/api/hub/status"},"startTime":1779044067958,"traceId":"a510b39e4efdb605"},{"name":"is-page-static","duration":700374,"timestamp":236095722819,"id":85,"parentId":47,"tags":{},"startTime":1779044067969,"traceId":"a510b39e4efdb605"},{"name":"check-page","duration":711276,"timestamp":236095711963,"id":47,"parentId":19,"tags":{"page":"/api/hub/task-events"},"startTime":1779044067958,"traceId":"a510b39e4efdb605"},{"name":"is-page-static","duration":700586,"timestamp":236095722781,"id":82,"parentId":44,"tags":{},"startTime":1779044067969,"traceId":"a510b39e4efdb605"},{"name":"check-page","duration":711805,"timestamp":236095711592,"id":44,"parentId":19,"tags":{"page":"/api/hub/session"},"startTime":1779044067958,"traceId":"a510b39e4efdb605"},{"name":"is-page-static","duration":700652,"timestamp":236095722843,"id":87,"parentId":49,"tags":{},"startTime":1779044067969,"traceId":"a510b39e4efdb605"},{"name":"check-page","duration":708432,"timestamp":236095715090,"id":49,"parentId":19,"tags":{"page":"/api/hub/tmux"},"startTime":1779044067961,"traceId":"a510b39e4efdb605"},{"name":"is-page-static","duration":702839,"timestamp":236095722744,"id":79,"parentId":39,"tags":{},"startTime":1779044067969,"traceId":"a510b39e4efdb605"},{"name":"check-page","duration":715024,"timestamp":236095710602,"id":39,"parentId":19,"tags":{"page":"/api/hub/send"},"startTime":1779044067957,"traceId":"a510b39e4efdb605"},{"name":"is-page-static","duration":704496,"timestamp":236095722881,"id":89,"parentId":51,"tags":{},"startTime":1779044067969,"traceId":"a510b39e4efdb605"},{"name":"check-page","duration":712104,"timestamp":236095715315,"id":51,"parentId":19,"tags":{"page":"/favicon.ico"},"startTime":1779044067962,"traceId":"a510b39e4efdb605"},{"name":"is-page-static","duration":694380,"timestamp":236095735779,"id":90,"parentId":24,"tags":{},"startTime":1779044067982,"traceId":"a510b39e4efdb605"},{"name":"check-page","duration":725268,"timestamp":236095704937,"id":24,"parentId":19,"tags":{"page":"/api/anet/config"},"startTime":1779044067951,"traceId":"a510b39e4efdb605"},{"name":"is-page-static","duration":691165,"timestamp":236095743710,"id":93,"parentId":43,"tags":{},"startTime":1779044067990,"traceId":"a510b39e4efdb605"},{"name":"check-page","duration":723625,"timestamp":236095711289,"id":43,"parentId":19,"tags":{"page":"/api/hub/servers"},"startTime":1779044067958,"traceId":"a510b39e4efdb605"},{"name":"is-page-static","duration":697612,"timestamp":236095737720,"id":91,"parentId":31,"tags":{},"startTime":1779044067984,"traceId":"a510b39e4efdb605"},{"name":"check-page","duration":726571,"timestamp":236095708797,"id":31,"parentId":19,"tags":{"page":"/api/hub/events"},"startTime":1779044067955,"traceId":"a510b39e4efdb605"},{"name":"is-page-static","duration":698736,"timestamp":236095738839,"id":92,"parentId":41,"tags":{},"startTime":1779044067985,"traceId":"a510b39e4efdb605"},{"name":"check-page","duration":726791,"timestamp":236095710826,"id":41,"parentId":19,"tags":{"page":"/api/hub/server/[hostname]/agents"},"startTime":1779044067957,"traceId":"a510b39e4efdb605"},{"name":"is-page-static","duration":738963,"timestamp":236095722868,"id":88,"parentId":50,"tags":{},"startTime":1779044067969,"traceId":"a510b39e4efdb605"},{"name":"check-page","duration":746690,"timestamp":236095715226,"id":50,"parentId":19,"tags":{"page":"/api/hub/tokens"},"startTime":1779044067962,"traceId":"a510b39e4efdb605"},{"name":"is-page-static","duration":760686,"timestamp":236095721693,"id":66,"parentId":25,"tags":{},"startTime":1779044067968,"traceId":"a510b39e4efdb605"},{"name":"check-page","duration":774537,"timestamp":236095707917,"id":25,"parentId":19,"tags":{"page":"/api/auth/login"},"startTime":1779044067954,"traceId":"a510b39e4efdb605"},{"name":"is-page-static","duration":752398,"timestamp":236095750739,"id":95,"parentId":52,"tags":{},"startTime":1779044067997,"traceId":"a510b39e4efdb605"},{"name":"check-page","duration":787576,"timestamp":236095715633,"id":52,"parentId":19,"tags":{"page":"/login"},"startTime":1779044067962,"traceId":"a510b39e4efdb605"},{"name":"is-page-static","duration":762838,"timestamp":236095750804,"id":99,"parentId":56,"tags":{},"startTime":1779044067997,"traceId":"a510b39e4efdb605"},{"name":"check-page","duration":797538,"timestamp":236095716172,"id":56,"parentId":19,"tags":{"page":"/nodes"},"startTime":1779044067962,"traceId":"a510b39e4efdb605"},{"name":"is-page-static","duration":763180,"timestamp":236095750759,"id":96,"parentId":53,"tags":{},"startTime":1779044067997,"traceId":"a510b39e4efdb605"},{"name":"check-page","duration":798242,"timestamp":236095715739,"id":53,"parentId":19,"tags":{"page":"/logs"},"startTime":1779044067962,"traceId":"a510b39e4efdb605"},{"name":"is-page-static","duration":769776,"timestamp":236095750823,"id":100,"parentId":58,"tags":{},"startTime":1779044067997,"traceId":"a510b39e4efdb605"},{"name":"check-page","duration":803881,"timestamp":236095716764,"id":58,"parentId":19,"tags":{"page":"/server-logs"},"startTime":1779044067963,"traceId":"a510b39e4efdb605"},{"name":"is-page-static","duration":770786,"timestamp":236095750969,"id":101,"parentId":59,"tags":{},"startTime":1779044067997,"traceId":"a510b39e4efdb605"},{"name":"check-page","duration":804764,"timestamp":236095717051,"id":59,"parentId":19,"tags":{"page":"/settings/networks"},"startTime":1779044067963,"traceId":"a510b39e4efdb605"},{"name":"is-page-static","duration":772615,"timestamp":236095750708,"id":94,"parentId":23,"tags":{},"startTime":1779044067997,"traceId":"a510b39e4efdb605"},{"name":"check-page","duration":818708,"timestamp":236095704656,"id":23,"parentId":19,"tags":{"page":"/admin"},"startTime":1779044067951,"traceId":"a510b39e4efdb605"},{"name":"is-page-static","duration":781445,"timestamp":236095750993,"id":102,"parentId":61,"tags":{},"startTime":1779044067997,"traceId":"a510b39e4efdb605"},{"name":"check-page","duration":814997,"timestamp":236095717504,"id":61,"parentId":19,"tags":{"page":"/settings/tokens"},"startTime":1779044067964,"traceId":"a510b39e4efdb605"},{"name":"is-page-static","duration":781768,"timestamp":236095751174,"id":103,"parentId":62,"tags":{},"startTime":1779044067997,"traceId":"a510b39e4efdb605"},{"name":"check-page","duration":815331,"timestamp":236095717652,"id":62,"parentId":19,"tags":{"page":"/tasks/[id]"},"startTime":1779044067964,"traceId":"a510b39e4efdb605"},{"name":"is-page-static","duration":783024,"timestamp":236095751199,"id":104,"parentId":63,"tags":{},"startTime":1779044067997,"traceId":"a510b39e4efdb605"},{"name":"check-page","duration":816469,"timestamp":236095717800,"id":63,"parentId":19,"tags":{"page":"/tasks"},"startTime":1779044067964,"traceId":"a510b39e4efdb605"},{"name":"is-page-static","duration":761370,"timestamp":236095777826,"id":105,"parentId":60,"tags":{},"startTime":1779044068024,"traceId":"a510b39e4efdb605"},{"name":"check-page","duration":822046,"timestamp":236095717195,"id":60,"parentId":19,"tags":{"page":"/settings"},"startTime":1779044067963,"traceId":"a510b39e4efdb605"},{"name":"is-page-static","duration":679108,"timestamp":236095861293,"id":106,"parentId":57,"tags":{},"startTime":1779044068108,"traceId":"a510b39e4efdb605"},{"name":"check-page","duration":824093,"timestamp":236095716343,"id":57,"parentId":19,"tags":{"page":"/"},"startTime":1779044067963,"traceId":"a510b39e4efdb605"},{"name":"is-page-static","duration":796024,"timestamp":236095750776,"id":97,"parentId":54,"tags":{},"startTime":1779044067997,"traceId":"a510b39e4efdb605"},{"name":"check-page","duration":831018,"timestamp":236095715839,"id":54,"parentId":19,"tags":{"page":"/messages"},"startTime":1779044067962,"traceId":"a510b39e4efdb605"},{"name":"is-page-static","duration":828993,"timestamp":236095722833,"id":86,"parentId":48,"tags":{},"startTime":1779044067969,"traceId":"a510b39e4efdb605"},{"name":"check-page","duration":839799,"timestamp":236095712091,"id":48,"parentId":19,"tags":{"page":"/api/hub/tasks"},"startTime":1779044067958,"traceId":"a510b39e4efdb605"},{"name":"is-page-static","duration":824140,"timestamp":236095750793,"id":98,"parentId":55,"tags":{},"startTime":1779044067997,"traceId":"a510b39e4efdb605"},{"name":"check-page","duration":859036,"timestamp":236095715988,"id":55,"parentId":19,"tags":{"page":"/node"},"startTime":1779044067962,"traceId":"a510b39e4efdb605"},{"name":"is-page-static","duration":860520,"timestamp":236095721311,"id":64,"parentId":21,"tags":{},"startTime":1779044067968,"traceId":"a510b39e4efdb605"},{"name":"check-page","duration":879177,"timestamp":236095702710,"id":21,"parentId":19,"tags":{"page":"/_not-found"},"startTime":1779044067949,"traceId":"a510b39e4efdb605"},{"name":"static-check","duration":882162,"timestamp":236095699762,"id":19,"parentId":1,"tags":{},"startTime":1779044067946,"traceId":"a510b39e4efdb605"}]
2
- [{"name":"write-routes-manifest","duration":692,"timestamp":236096594938,"id":108,"parentId":1,"tags":{},"startTime":1779044068841,"traceId":"a510b39e4efdb605"},{"name":"load-dotenv","duration":48,"timestamp":236096607230,"id":111,"parentId":110,"tags":{},"startTime":1779044068854,"traceId":"a510b39e4efdb605"},{"name":"run-export-path-map","duration":652,"timestamp":236096610346,"id":112,"parentId":110,"tags":{},"startTime":1779044068857,"traceId":"a510b39e4efdb605"},{"name":"next-export","duration":652279,"timestamp":236096605917,"id":110,"parentId":1,"tags":{},"startTime":1779044068852,"traceId":"a510b39e4efdb605"},{"name":"move-exported-app-not-found-","duration":631,"timestamp":236097262018,"id":113,"parentId":109,"tags":{},"startTime":1779044069508,"traceId":"a510b39e4efdb605"},{"name":"move-exported-app-global-error-","duration":649,"timestamp":236097262781,"id":114,"parentId":109,"tags":{},"startTime":1779044069509,"traceId":"a510b39e4efdb605"},{"name":"static-generation","duration":666027,"timestamp":236096599553,"id":109,"parentId":1,"tags":{},"startTime":1779044068846,"traceId":"a510b39e4efdb605"},{"name":"write-routes-manifest","duration":444,"timestamp":236097265895,"id":115,"parentId":1,"tags":{},"startTime":1779044069512,"traceId":"a510b39e4efdb605"},{"name":"print-tree-view","duration":4533,"timestamp":236097288800,"id":116,"parentId":1,"tags":{},"startTime":1779044069535,"traceId":"a510b39e4efdb605"},{"name":"write-route-bundle-stats","duration":13551,"timestamp":236097293364,"id":117,"parentId":1,"tags":{},"startTime":1779044069540,"traceId":"a510b39e4efdb605"},{"name":"telemetry-flush","duration":22897,"timestamp":236097306944,"id":118,"parentId":1,"tags":{},"startTime":1779044069553,"traceId":"a510b39e4efdb605"},{"name":"next-build","duration":18176639,"timestamp":236079153243,"id":1,"tags":{"buildMode":"default","version":"16.2.3","bundler":"turbopack","has-custom-webpack-config":"false","use-build-worker":"true"},"startTime":1779044051400,"traceId":"a510b39e4efdb605"}]
1
+ [{"name":"generate-buildid","duration":300,"timestamp":236673751056,"id":4,"parentId":1,"tags":{},"startTime":1779044645997,"traceId":"4b4315bf9ded8f0a"},{"name":"load-custom-routes","duration":535,"timestamp":236673751501,"id":5,"parentId":1,"tags":{},"startTime":1779044645998,"traceId":"4b4315bf9ded8f0a"},{"name":"create-dist-dir","duration":660,"timestamp":236673752090,"id":6,"parentId":1,"tags":{},"startTime":1779044645998,"traceId":"4b4315bf9ded8f0a"},{"name":"clean","duration":36364,"timestamp":236673753429,"id":7,"parentId":1,"tags":{},"startTime":1779044646000,"traceId":"4b4315bf9ded8f0a"},{"name":"discover-routes","duration":23489,"timestamp":236673877252,"id":8,"parentId":1,"tags":{},"startTime":1779044646124,"traceId":"4b4315bf9ded8f0a"},{"name":"create-root-mapping","duration":128,"timestamp":236673900812,"id":9,"parentId":1,"tags":{},"startTime":1779044646147,"traceId":"4b4315bf9ded8f0a"},{"name":"generate-route-types","duration":24497,"timestamp":236673903357,"id":10,"parentId":1,"tags":{},"startTime":1779044646150,"traceId":"4b4315bf9ded8f0a"},{"name":"public-dir-conflict-check","duration":148,"timestamp":236673927980,"id":11,"parentId":1,"tags":{},"startTime":1779044646174,"traceId":"4b4315bf9ded8f0a"},{"name":"generate-routes-manifest","duration":6504,"timestamp":236673928298,"id":12,"parentId":1,"tags":{},"startTime":1779044646175,"traceId":"4b4315bf9ded8f0a"},{"name":"run-turbopack","duration":6876357,"timestamp":236673949476,"id":14,"parentId":1,"tags":{},"startTime":1779044646196,"traceId":"4b4315bf9ded8f0a"},{"name":"turbopack-build-events","duration":76,"timestamp":236674240221,"id":15,"parentId":1,"tags":{},"startTime":1779044646486,"traceId":"4b4315bf9ded8f0a"},{"name":"run-typescript","duration":10056694,"timestamp":236680834548,"id":16,"parentId":1,"tags":{},"startTime":1779044653081,"traceId":"4b4315bf9ded8f0a"},{"name":"generate-required-server-files","duration":2995,"timestamp":236690892552,"id":18,"parentId":1,"tags":{},"startTime":1779044663139,"traceId":"4b4315bf9ded8f0a"},{"name":"check-static-error-page","duration":15832,"timestamp":236691072806,"id":20,"parentId":19,"tags":{},"startTime":1779044663319,"traceId":"4b4315bf9ded8f0a"},{"name":"is-page-static","duration":571209,"timestamp":236691093237,"id":68,"parentId":27,"tags":{},"startTime":1779044663340,"traceId":"4b4315bf9ded8f0a"},{"name":"check-page","duration":584992,"timestamp":236691079621,"id":27,"parentId":19,"tags":{"page":"/api/auth/v3"},"startTime":1779044663326,"traceId":"4b4315bf9ded8f0a"},{"name":"is-page-static","duration":613969,"timestamp":236691092850,"id":65,"parentId":22,"tags":{},"startTime":1779044663339,"traceId":"4b4315bf9ded8f0a"},{"name":"check-page","duration":630898,"timestamp":236691076024,"id":22,"parentId":19,"tags":{"page":"/_global-error"},"startTime":1779044663322,"traceId":"4b4315bf9ded8f0a"},{"name":"is-page-static","duration":614156,"timestamp":236691092983,"id":66,"parentId":25,"tags":{},"startTime":1779044663339,"traceId":"4b4315bf9ded8f0a"},{"name":"check-page","duration":628011,"timestamp":236691079164,"id":25,"parentId":19,"tags":{"page":"/api/auth/login"},"startTime":1779044663325,"traceId":"4b4315bf9ded8f0a"},{"name":"is-page-static","duration":613640,"timestamp":236691093817,"id":71,"parentId":30,"tags":{},"startTime":1779044663340,"traceId":"4b4315bf9ded8f0a"},{"name":"check-page","duration":629648,"timestamp":236691080073,"id":30,"parentId":19,"tags":{"page":"/api/hub/broadcast"},"startTime":1779044663326,"traceId":"4b4315bf9ded8f0a"},{"name":"is-page-static","duration":616801,"timestamp":236691093345,"id":69,"parentId":28,"tags":{},"startTime":1779044663340,"traceId":"4b4315bf9ded8f0a"},{"name":"check-page","duration":630437,"timestamp":236691079763,"id":28,"parentId":19,"tags":{"page":"/api/hub/audit-log"},"startTime":1779044663326,"traceId":"4b4315bf9ded8f0a"},{"name":"is-page-static","duration":619236,"timestamp":236691093645,"id":70,"parentId":29,"tags":{},"startTime":1779044663340,"traceId":"4b4315bf9ded8f0a"},{"name":"check-page","duration":633827,"timestamp":236691079906,"id":29,"parentId":19,"tags":{"page":"/api/hub/auth"},"startTime":1779044663326,"traceId":"4b4315bf9ded8f0a"},{"name":"is-page-static","duration":628155,"timestamp":236691092552,"id":64,"parentId":21,"tags":{},"startTime":1779044663339,"traceId":"4b4315bf9ded8f0a"},{"name":"check-page","duration":646391,"timestamp":236691074376,"id":21,"parentId":19,"tags":{"page":"/_not-found"},"startTime":1779044663321,"traceId":"4b4315bf9ded8f0a"},{"name":"is-page-static","duration":625777,"timestamp":236691097208,"id":76,"parentId":36,"tags":{},"startTime":1779044663343,"traceId":"4b4315bf9ded8f0a"},{"name":"check-page","duration":641347,"timestamp":236691081697,"id":36,"parentId":19,"tags":{"page":"/api/hub/networks"},"startTime":1779044663328,"traceId":"4b4315bf9ded8f0a"},{"name":"is-page-static","duration":630539,"timestamp":236691097151,"id":74,"parentId":34,"tags":{},"startTime":1779044663343,"traceId":"4b4315bf9ded8f0a"},{"name":"check-page","duration":646662,"timestamp":236691081094,"id":34,"parentId":19,"tags":{"page":"/api/hub/license"},"startTime":1779044663327,"traceId":"4b4315bf9ded8f0a"},{"name":"is-page-static","duration":638769,"timestamp":236691097278,"id":79,"parentId":39,"tags":{},"startTime":1779044663344,"traceId":"4b4315bf9ded8f0a"},{"name":"check-page","duration":653941,"timestamp":236691082149,"id":39,"parentId":19,"tags":{"page":"/api/hub/send"},"startTime":1779044663328,"traceId":"4b4315bf9ded8f0a"},{"name":"is-page-static","duration":644068,"timestamp":236691097292,"id":80,"parentId":40,"tags":{},"startTime":1779044663344,"traceId":"4b4315bf9ded8f0a"},{"name":"check-page","duration":659150,"timestamp":236691082251,"id":40,"parentId":19,"tags":{"page":"/api/hub/server-logs"},"startTime":1779044663329,"traceId":"4b4315bf9ded8f0a"},{"name":"is-page-static","duration":647384,"timestamp":236691097185,"id":75,"parentId":35,"tags":{},"startTime":1779044663343,"traceId":"4b4315bf9ded8f0a"},{"name":"check-page","duration":663393,"timestamp":236691081216,"id":35,"parentId":19,"tags":{"page":"/api/hub/messages"},"startTime":1779044663327,"traceId":"4b4315bf9ded8f0a"},{"name":"is-page-static","duration":651441,"timestamp":236691097047,"id":73,"parentId":33,"tags":{},"startTime":1779044663343,"traceId":"4b4315bf9ded8f0a"},{"name":"check-page","duration":667582,"timestamp":236691080947,"id":33,"parentId":19,"tags":{"page":"/api/hub/inbox"},"startTime":1779044663327,"traceId":"4b4315bf9ded8f0a"},{"name":"is-page-static","duration":656374,"timestamp":236691097301,"id":81,"parentId":42,"tags":{},"startTime":1779044663344,"traceId":"4b4315bf9ded8f0a"},{"name":"check-page","duration":671119,"timestamp":236691082617,"id":42,"parentId":19,"tags":{"page":"/api/hub/server/[hostname]/health"},"startTime":1779044663329,"traceId":"4b4315bf9ded8f0a"},{"name":"is-page-static","duration":664264,"timestamp":236691097315,"id":82,"parentId":44,"tags":{},"startTime":1779044663344,"traceId":"4b4315bf9ded8f0a"},{"name":"check-page","duration":678558,"timestamp":236691083066,"id":44,"parentId":19,"tags":{"page":"/api/hub/session"},"startTime":1779044663329,"traceId":"4b4315bf9ded8f0a"},{"name":"is-page-static","duration":664515,"timestamp":236691097258,"id":78,"parentId":38,"tags":{},"startTime":1779044663344,"traceId":"4b4315bf9ded8f0a"},{"name":"check-page","duration":679754,"timestamp":236691082051,"id":38,"parentId":19,"tags":{"page":"/api/hub/register"},"startTime":1779044663328,"traceId":"4b4315bf9ded8f0a"},{"name":"is-page-static","duration":665793,"timestamp":236691097343,"id":84,"parentId":46,"tags":{},"startTime":1779044663344,"traceId":"4b4315bf9ded8f0a"},{"name":"check-page","duration":679864,"timestamp":236691083329,"id":46,"parentId":19,"tags":{"page":"/api/hub/status"},"startTime":1779044663330,"traceId":"4b4315bf9ded8f0a"},{"name":"is-page-static","duration":672345,"timestamp":236691097379,"id":87,"parentId":49,"tags":{},"startTime":1779044663344,"traceId":"4b4315bf9ded8f0a"},{"name":"check-page","duration":684608,"timestamp":236691085181,"id":49,"parentId":19,"tags":{"page":"/api/hub/tmux"},"startTime":1779044663331,"traceId":"4b4315bf9ded8f0a"},{"name":"is-page-static","duration":681335,"timestamp":236691093121,"id":67,"parentId":26,"tags":{},"startTime":1779044663339,"traceId":"4b4315bf9ded8f0a"},{"name":"check-page","duration":695046,"timestamp":236691079457,"id":26,"parentId":19,"tags":{"page":"/api/auth/logout"},"startTime":1779044663326,"traceId":"4b4315bf9ded8f0a"},{"name":"is-page-static","duration":679234,"timestamp":236691097366,"id":86,"parentId":48,"tags":{},"startTime":1779044663344,"traceId":"4b4315bf9ded8f0a"},{"name":"check-page","duration":691557,"timestamp":236691085084,"id":48,"parentId":19,"tags":{"page":"/api/hub/tasks"},"startTime":1779044663331,"traceId":"4b4315bf9ded8f0a"},{"name":"is-page-static","duration":681526,"timestamp":236691097401,"id":89,"parentId":51,"tags":{},"startTime":1779044663344,"traceId":"4b4315bf9ded8f0a"},{"name":"check-page","duration":693663,"timestamp":236691085310,"id":51,"parentId":19,"tags":{"page":"/favicon.ico"},"startTime":1779044663332,"traceId":"4b4315bf9ded8f0a"},{"name":"is-page-static","duration":685185,"timestamp":236691097388,"id":88,"parentId":50,"tags":{},"startTime":1779044663344,"traceId":"4b4315bf9ded8f0a"},{"name":"check-page","duration":697371,"timestamp":236691085247,"id":50,"parentId":19,"tags":{"page":"/api/hub/tokens"},"startTime":1779044663332,"traceId":"4b4315bf9ded8f0a"},{"name":"is-page-static","duration":680762,"timestamp":236691102231,"id":90,"parentId":24,"tags":{},"startTime":1779044663349,"traceId":"4b4315bf9ded8f0a"},{"name":"check-page","duration":706504,"timestamp":236691076545,"id":24,"parentId":19,"tags":{"page":"/api/anet/config"},"startTime":1779044663323,"traceId":"4b4315bf9ded8f0a"},{"name":"is-page-static","duration":683668,"timestamp":236691104301,"id":92,"parentId":41,"tags":{},"startTime":1779044663351,"traceId":"4b4315bf9ded8f0a"},{"name":"check-page","duration":705680,"timestamp":236691082346,"id":41,"parentId":19,"tags":{"page":"/api/hub/server/[hostname]/agents"},"startTime":1779044663329,"traceId":"4b4315bf9ded8f0a"},{"name":"is-page-static","duration":691608,"timestamp":236691097327,"id":83,"parentId":45,"tags":{},"startTime":1779044663344,"traceId":"4b4315bf9ded8f0a"},{"name":"check-page","duration":705767,"timestamp":236691083213,"id":45,"parentId":19,"tags":{"page":"/api/hub/stats"},"startTime":1779044663329,"traceId":"4b4315bf9ded8f0a"},{"name":"is-page-static","duration":687498,"timestamp":236691105677,"id":93,"parentId":43,"tags":{},"startTime":1779044663352,"traceId":"4b4315bf9ded8f0a"},{"name":"check-page","duration":710452,"timestamp":236691082764,"id":43,"parentId":19,"tags":{"page":"/api/hub/servers"},"startTime":1779044663329,"traceId":"4b4315bf9ded8f0a"},{"name":"is-page-static","duration":696252,"timestamp":236691097353,"id":85,"parentId":47,"tags":{},"startTime":1779044663344,"traceId":"4b4315bf9ded8f0a"},{"name":"check-page","duration":708725,"timestamp":236691084927,"id":47,"parentId":19,"tags":{"page":"/api/hub/task-events"},"startTime":1779044663331,"traceId":"4b4315bf9ded8f0a"},{"name":"is-page-static","duration":702637,"timestamp":236691103415,"id":91,"parentId":31,"tags":{},"startTime":1779044663350,"traceId":"4b4315bf9ded8f0a"},{"name":"check-page","duration":725904,"timestamp":236691080203,"id":31,"parentId":19,"tags":{"page":"/api/hub/events"},"startTime":1779044663326,"traceId":"4b4315bf9ded8f0a"},{"name":"is-page-static","duration":725816,"timestamp":236691097242,"id":77,"parentId":37,"tags":{},"startTime":1779044663344,"traceId":"4b4315bf9ded8f0a"},{"name":"check-page","duration":741238,"timestamp":236691081884,"id":37,"parentId":19,"tags":{"page":"/api/hub/nodes"},"startTime":1779044663328,"traceId":"4b4315bf9ded8f0a"},{"name":"is-page-static","duration":724537,"timestamp":236691108790,"id":99,"parentId":56,"tags":{},"startTime":1779044663355,"traceId":"4b4315bf9ded8f0a"},{"name":"check-page","duration":747068,"timestamp":236691086324,"id":56,"parentId":19,"tags":{"page":"/nodes"},"startTime":1779044663333,"traceId":"4b4315bf9ded8f0a"},{"name":"is-page-static","duration":732598,"timestamp":236691108798,"id":100,"parentId":58,"tags":{},"startTime":1779044663355,"traceId":"4b4315bf9ded8f0a"},{"name":"check-page","duration":754351,"timestamp":236691087108,"id":58,"parentId":19,"tags":{"page":"/server-logs"},"startTime":1779044663333,"traceId":"4b4315bf9ded8f0a"},{"name":"is-page-static","duration":752710,"timestamp":236691093918,"id":72,"parentId":32,"tags":{},"startTime":1779044663340,"traceId":"4b4315bf9ded8f0a"},{"name":"check-page","duration":766082,"timestamp":236691080596,"id":32,"parentId":19,"tags":{"page":"/api/hub/health"},"startTime":1779044663327,"traceId":"4b4315bf9ded8f0a"},{"name":"is-page-static","duration":739574,"timestamp":236691108738,"id":95,"parentId":52,"tags":{},"startTime":1779044663355,"traceId":"4b4315bf9ded8f0a"},{"name":"check-page","duration":762784,"timestamp":236691085595,"id":52,"parentId":19,"tags":{"page":"/login"},"startTime":1779044663332,"traceId":"4b4315bf9ded8f0a"},{"name":"is-page-static","duration":743863,"timestamp":236691108930,"id":101,"parentId":59,"tags":{},"startTime":1779044663355,"traceId":"4b4315bf9ded8f0a"},{"name":"check-page","duration":765521,"timestamp":236691087315,"id":59,"parentId":19,"tags":{"page":"/settings/networks"},"startTime":1779044663334,"traceId":"4b4315bf9ded8f0a"},{"name":"is-page-static","duration":750133,"timestamp":236691108764,"id":97,"parentId":54,"tags":{},"startTime":1779044663355,"traceId":"4b4315bf9ded8f0a"},{"name":"check-page","duration":773068,"timestamp":236691085883,"id":54,"parentId":19,"tags":{"page":"/messages"},"startTime":1779044663332,"traceId":"4b4315bf9ded8f0a"},{"name":"is-page-static","duration":751294,"timestamp":236691108973,"id":104,"parentId":63,"tags":{},"startTime":1779044663355,"traceId":"4b4315bf9ded8f0a"},{"name":"check-page","duration":771936,"timestamp":236691088371,"id":63,"parentId":19,"tags":{"page":"/tasks"},"startTime":1779044663335,"traceId":"4b4315bf9ded8f0a"},{"name":"is-page-static","duration":751689,"timestamp":236691108708,"id":94,"parentId":23,"tags":{},"startTime":1779044663355,"traceId":"4b4315bf9ded8f0a"},{"name":"check-page","duration":784122,"timestamp":236691076305,"id":23,"parentId":19,"tags":{"page":"/admin"},"startTime":1779044663323,"traceId":"4b4315bf9ded8f0a"},{"name":"is-page-static","duration":754986,"timestamp":236691108964,"id":103,"parentId":62,"tags":{},"startTime":1779044663355,"traceId":"4b4315bf9ded8f0a"},{"name":"check-page","duration":775790,"timestamp":236691088202,"id":62,"parentId":19,"tags":{"page":"/tasks/[id]"},"startTime":1779044663334,"traceId":"4b4315bf9ded8f0a"},{"name":"is-page-static","duration":734532,"timestamp":236691132763,"id":106,"parentId":57,"tags":{},"startTime":1779044663379,"traceId":"4b4315bf9ded8f0a"},{"name":"check-page","duration":780774,"timestamp":236691086559,"id":57,"parentId":19,"tags":{"page":"/"},"startTime":1779044663333,"traceId":"4b4315bf9ded8f0a"},{"name":"is-page-static","duration":746648,"timestamp":236691120786,"id":105,"parentId":60,"tags":{},"startTime":1779044663367,"traceId":"4b4315bf9ded8f0a"},{"name":"check-page","duration":779954,"timestamp":236691087511,"id":60,"parentId":19,"tags":{"page":"/settings"},"startTime":1779044663334,"traceId":"4b4315bf9ded8f0a"},{"name":"is-page-static","duration":758819,"timestamp":236691108754,"id":96,"parentId":53,"tags":{},"startTime":1779044663355,"traceId":"4b4315bf9ded8f0a"},{"name":"check-page","duration":781901,"timestamp":236691085699,"id":53,"parentId":19,"tags":{"page":"/logs"},"startTime":1779044663332,"traceId":"4b4315bf9ded8f0a"},{"name":"is-page-static","duration":769474,"timestamp":236691108777,"id":98,"parentId":55,"tags":{},"startTime":1779044663355,"traceId":"4b4315bf9ded8f0a"},{"name":"check-page","duration":792192,"timestamp":236691086095,"id":55,"parentId":19,"tags":{"page":"/node"},"startTime":1779044663332,"traceId":"4b4315bf9ded8f0a"},{"name":"is-page-static","duration":784552,"timestamp":236691108951,"id":102,"parentId":61,"tags":{},"startTime":1779044663355,"traceId":"4b4315bf9ded8f0a"},{"name":"check-page","duration":805574,"timestamp":236691087967,"id":61,"parentId":19,"tags":{"page":"/settings/tokens"},"startTime":1779044663334,"traceId":"4b4315bf9ded8f0a"},{"name":"static-check","duration":821897,"timestamp":236691071679,"id":19,"parentId":1,"tags":{},"startTime":1779044663318,"traceId":"4b4315bf9ded8f0a"}]
2
+ [{"name":"write-routes-manifest","duration":568,"timestamp":236691903957,"id":108,"parentId":1,"tags":{},"startTime":1779044664150,"traceId":"4b4315bf9ded8f0a"},{"name":"load-dotenv","duration":52,"timestamp":236691917164,"id":111,"parentId":110,"tags":{},"startTime":1779044664163,"traceId":"4b4315bf9ded8f0a"},{"name":"run-export-path-map","duration":783,"timestamp":236691919992,"id":112,"parentId":110,"tags":{},"startTime":1779044664166,"traceId":"4b4315bf9ded8f0a"},{"name":"next-export","duration":624687,"timestamp":236691915490,"id":110,"parentId":1,"tags":{},"startTime":1779044664162,"traceId":"4b4315bf9ded8f0a"},{"name":"move-exported-app-not-found-","duration":564,"timestamp":236692544597,"id":113,"parentId":109,"tags":{},"startTime":1779044664791,"traceId":"4b4315bf9ded8f0a"},{"name":"move-exported-app-global-error-","duration":495,"timestamp":236692545256,"id":114,"parentId":109,"tags":{},"startTime":1779044664792,"traceId":"4b4315bf9ded8f0a"},{"name":"static-generation","duration":639197,"timestamp":236691908694,"id":109,"parentId":1,"tags":{},"startTime":1779044664155,"traceId":"4b4315bf9ded8f0a"},{"name":"write-routes-manifest","duration":453,"timestamp":236692548155,"id":115,"parentId":1,"tags":{},"startTime":1779044664794,"traceId":"4b4315bf9ded8f0a"},{"name":"print-tree-view","duration":4528,"timestamp":236692563393,"id":116,"parentId":1,"tags":{},"startTime":1779044664810,"traceId":"4b4315bf9ded8f0a"},{"name":"write-route-bundle-stats","duration":19422,"timestamp":236692567962,"id":117,"parentId":1,"tags":{},"startTime":1779044664814,"traceId":"4b4315bf9ded8f0a"},{"name":"telemetry-flush","duration":46854,"timestamp":236692587431,"id":118,"parentId":1,"tags":{},"startTime":1779044664834,"traceId":"4b4315bf9ded8f0a"},{"name":"next-build","duration":18935254,"timestamp":236673699089,"id":1,"tags":{"buildMode":"default","version":"16.2.3","bundler":"turbopack","has-custom-webpack-config":"false","use-build-worker":"true"},"startTime":1779044645945,"traceId":"4b4315bf9ded8f0a"}]
package/.next/trace-build CHANGED
@@ -1 +1 @@
1
- [{"name":"run-turbopack","duration":6190864,"timestamp":236079385377,"id":14,"parentId":1,"tags":{},"startTime":1779044051632,"traceId":"a510b39e4efdb605"},{"name":"turbopack-build-events","duration":117,"timestamp":236079687932,"id":15,"parentId":1,"tags":{},"startTime":1779044051934,"traceId":"a510b39e4efdb605"},{"name":"run-typescript","duration":9918724,"timestamp":236085585566,"id":16,"parentId":1,"tags":{},"startTime":1779044057832,"traceId":"a510b39e4efdb605"},{"name":"static-check","duration":882162,"timestamp":236095699762,"id":19,"parentId":1,"tags":{},"startTime":1779044067946,"traceId":"a510b39e4efdb605"},{"name":"static-generation","duration":666027,"timestamp":236096599553,"id":109,"parentId":1,"tags":{},"startTime":1779044068846,"traceId":"a510b39e4efdb605"},{"name":"telemetry-flush","duration":22897,"timestamp":236097306944,"id":118,"parentId":1,"tags":{},"startTime":1779044069553,"traceId":"a510b39e4efdb605"},{"name":"next-build","duration":18176639,"timestamp":236079153243,"id":1,"tags":{"buildMode":"default","version":"16.2.3","bundler":"turbopack","has-custom-webpack-config":"false","use-build-worker":"true"},"startTime":1779044051400,"traceId":"a510b39e4efdb605"}]
1
+ [{"name":"run-turbopack","duration":6876357,"timestamp":236673949476,"id":14,"parentId":1,"tags":{},"startTime":1779044646196,"traceId":"4b4315bf9ded8f0a"},{"name":"turbopack-build-events","duration":76,"timestamp":236674240221,"id":15,"parentId":1,"tags":{},"startTime":1779044646486,"traceId":"4b4315bf9ded8f0a"},{"name":"run-typescript","duration":10056694,"timestamp":236680834548,"id":16,"parentId":1,"tags":{},"startTime":1779044653081,"traceId":"4b4315bf9ded8f0a"},{"name":"static-check","duration":821897,"timestamp":236691071679,"id":19,"parentId":1,"tags":{},"startTime":1779044663318,"traceId":"4b4315bf9ded8f0a"},{"name":"static-generation","duration":639197,"timestamp":236691908694,"id":109,"parentId":1,"tags":{},"startTime":1779044664155,"traceId":"4b4315bf9ded8f0a"},{"name":"telemetry-flush","duration":46854,"timestamp":236692587431,"id":118,"parentId":1,"tags":{},"startTime":1779044664834,"traceId":"4b4315bf9ded8f0a"},{"name":"next-build","duration":18935254,"timestamp":236673699089,"id":1,"tags":{"buildMode":"default","version":"16.2.3","bundler":"turbopack","has-custom-webpack-config":"false","use-build-worker":"true"},"startTime":1779044645945,"traceId":"4b4315bf9ded8f0a"}]
@@ -1876,11 +1876,37 @@ export function TopoGraph({ sessions, sseSessions, renameSignal }: TopoGraphProp
1876
1876
  the landing value for tests. */}
1877
1877
  <svg
1878
1878
  width="40" height="40" viewBox="0 0 32 32" aria-hidden
1879
- className={`shrink-0 transition-[transform,filter] duration-200 ease-out hover:scale-105 hover:rotate-6 hover:brightness-110 transform-gpu${!reducedMotion ? ' anet-topo-brand-logo-breath' : ''}`}
1879
+ /* R604 brand 书生 logo gains hover-drop-shadow as 5th
1880
+ axis (4 hover + 1 always-on breath). Tailwind v4 arbitrary
1881
+ drop-shadow with currentColor — the glow inherits the
1882
+ brand-mark's own colour (light teal #0d9488 / cyber cyan
1883
+ #67e8f9 per inline style.color). 8px radius reads as a
1884
+ "lit up under attention" halo without overwhelming the
1885
+ 40×40 logo footprint.
1886
+
1887
+ Tailwind v4 emits filter utilities through CSS-var system
1888
+ (--tw-drop-shadow, --tw-brightness) that combine in the
1889
+ `filter` shorthand — so hover:brightness-110 + hover:
1890
+ drop-shadow-[0_0_8px_currentColor] stack instead of
1891
+ clobbering each other. Same banked R564/R570 "halo +
1892
+ glow" pattern, now at the brand-mark scope.
1893
+
1894
+ Brand-logo hover signature now 5 axes:
1895
+ R548 hover:scale-105 transform-scale
1896
+ R549 hover:rotate-6 transform-rotate
1897
+ R553 idle breath (5s) opacity (always-on)
1898
+ R557 hover:brightness-110 filter brightness
1899
+ R604 hover:drop-shadow filter drop-shadow ← this round
1900
+
1901
+ Existing inline transition already covers 'filter 200ms
1902
+ ease-out' (R557 cadence) — both brightness AND drop-
1903
+ shadow ease at the same beat. */
1904
+ className={`shrink-0 transition-[transform,filter] duration-200 ease-out hover:scale-105 hover:rotate-6 hover:brightness-110 hover:drop-shadow-[0_0_8px_currentColor] transform-gpu${!reducedMotion ? ' anet-topo-brand-logo-breath' : ''}`}
1880
1905
  data-topo-brand-logo
1881
1906
  data-topo-brand-logo-hover-scale="1.05"
1882
1907
  data-topo-brand-logo-hover-rotate="6deg"
1883
1908
  data-topo-brand-logo-hover-brightness="1.1"
1909
+ data-topo-brand-logo-hover-drop-shadow="0_0_8px_currentColor"
1884
1910
  data-topo-brand-logo-breath={!reducedMotion ? 'true' : 'false'}
1885
1911
  style={{
1886
1912
  color: isLight ? '#0d9488' : '#67e8f9',
@@ -7226,6 +7252,7 @@ export function TopoGraph({ sessions, sseSessions, renameSignal }: TopoGraphProp
7226
7252
  data-edge-badge-opacity-hover="1"
7227
7253
  data-edge-badge-opacity-active="1"
7228
7254
  data-edge-badge-glow={(isHoveredEdge || isPinned) ? 'hover' : isHot ? 'hot' : 'false'}
7255
+ data-edge-badge-brightness={(isHoveredEdge || isPinned || isHot) ? '1.15' : '1'}
7229
7256
  /* Round 534 / Loop — extends edge-badge drop-shadow
7230
7257
  coverage from hot-only (R480 amber) to also fire
7231
7258
  on hover/pin with a cyan accent glow. Pre-R534
@@ -7262,10 +7289,38 @@ export function TopoGraph({ sessions, sseSessions, renameSignal }: TopoGraphProp
7262
7289
  (not g[data-node] ancestor); filter is paint-
7263
7290
  only; bbox unchanged. */
7264
7291
  style={{
7292
+ /* R603 — edge-badge CIRCLE stacks brightness(1.15)
7293
+ onto the R534/R480 drop-shadow filter on hover/
7294
+ pin/hot. 5th hover axis on the badge ring
7295
+ (after R164 r, R394 sw, R395 opacity, R534
7296
+ filter drop-shadow → R603 filter brightness).
7297
+
7298
+ Brings the CIRCLE's brightness coverage to
7299
+ parity with the DIGIT's R570 brightness:
7300
+ both elements (ring + text) now brighten
7301
+ together on the same 3-state gate
7302
+ (hover/pin/hot). The whole edge-badge reads
7303
+ as one coherent "lit up under attention"
7304
+ unit at the brightness axis.
7305
+
7306
+ Banked R564/R570 stacked-filter pattern:
7307
+ `drop-shadow(...) brightness(1.15)` chains
7308
+ the SVG drop-shadow halo + brightness lift
7309
+ in one CSS filter chain on the same element.
7310
+
7311
+ Per-element brightness family extension —
7312
+ edge-badge circle joins as a stacked-filter
7313
+ anchor. Hot-only state gets amber drop-shadow
7314
+ + brightness; hover/pin gets cyan/teal drop-
7315
+ shadow + brightness; rest gets neither.
7316
+
7317
+ transition list already includes 'filter
7318
+ 200ms ease-out' (R534 cadence). No
7319
+ transition change needed. */
7265
7320
  filter: (isHoveredEdge || isPinned)
7266
- ? `drop-shadow(0 0 3px ${pal.legendAccent}99)`
7321
+ ? `drop-shadow(0 0 3px ${pal.legendAccent}99) brightness(1.15)`
7267
7322
  : isHot
7268
- ? `drop-shadow(0 0 3px ${hotStroke}80)`
7323
+ ? `drop-shadow(0 0 3px ${hotStroke}80) brightness(1.15)`
7269
7324
  : undefined,
7270
7325
  transition: 'r 180ms ease-out, stroke 300ms ease-out, stroke-width 300ms ease-out, fill 200ms ease-out, opacity 200ms ease-out, filter 200ms ease-out',
7271
7326
  }}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sleep2agi/agent-network-dashboard",
3
- "version": "0.5.3-preview.116",
3
+ "version": "0.5.3-preview.118",
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,71 @@
1
+ /* Round 604 — brand 书生 logo gains hover:drop-shadow-[0_0_8px_
2
+ * currentColor] as 5th axis (scale + rotate + brightness +
3
+ * breath + drop-shadow). Tailwind v4 filter utilities stack
4
+ * via CSS-var system, so drop-shadow composes with brightness.
5
+ *
6
+ * Test phases:
7
+ * 1. dashboard mounts → brand logo renders in title block
8
+ * 2. rest: filter does NOT contain drop-shadow (no hover)
9
+ * 3. computed transition-property contains 'filter'
10
+ * 4. source: hover:drop-shadow-[0_0_8px_currentColor] in
11
+ * className + data-attr
12
+ */
13
+ import { chromium } from 'playwright';
14
+ import { readFileSync } from 'node:fs';
15
+
16
+ const TOKEN = JSON.parse(readFileSync('/home/vansin/.anet/config.json', 'utf8')).token;
17
+
18
+ const browser = await chromium.launch({ headless: true });
19
+ const ctx = await browser.newContext({ viewport: { width: 1500, height: 1200 } });
20
+ await ctx.addCookies([{ name: 'anet_dashboard_session', value: `v3:${TOKEN}`, domain: '127.0.0.1', path: '/' }]);
21
+ await ctx.addInitScript(() => {
22
+ try {
23
+ localStorage.setItem('anet-theme', 'cyber');
24
+ localStorage.setItem('anet-topo-layout', 'ring');
25
+ sessionStorage.setItem('anet_v3_auth', '1');
26
+ } catch {}
27
+ });
28
+ const page = await ctx.newPage();
29
+ await page.goto('http://127.0.0.1:3000/', { waitUntil: 'networkidle' });
30
+ await page.waitForSelector('[data-topo-brand-logo]', { timeout: 15000, state: 'attached' });
31
+ await page.waitForTimeout(500);
32
+
33
+ const rest = await page.evaluate(() => {
34
+ const el = document.querySelector('[data-topo-brand-logo]');
35
+ if (!el) return null;
36
+ const cs = getComputedStyle(el);
37
+ return {
38
+ filter: cs.filter,
39
+ transitionProperty: cs.transitionProperty,
40
+ dropShadowAttr: el.getAttribute('data-topo-brand-logo-hover-drop-shadow'),
41
+ brightnessAttr: el.getAttribute('data-topo-brand-logo-hover-brightness'),
42
+ scaleAttr: el.getAttribute('data-topo-brand-logo-hover-scale'),
43
+ rotateAttr: el.getAttribute('data-topo-brand-logo-hover-rotate'),
44
+ breathAttr: el.getAttribute('data-topo-brand-logo-breath'),
45
+ };
46
+ });
47
+
48
+ await browser.close();
49
+
50
+ const src = readFileSync('/home/vansin/agent-network-dashboard/app/components/TopoGraph.tsx', 'utf8');
51
+ const sourceClass = /hover:drop-shadow-\[0_0_8px_currentColor\]/.test(src);
52
+ const sourceAttr = /data-topo-brand-logo-hover-drop-shadow="0_0_8px_currentColor"/.test(src);
53
+
54
+ const results = {
55
+ logo_present: !!rest,
56
+ // At rest, no hover so no drop-shadow filter active
57
+ rest_no_drop_shadow: !/drop-shadow/.test(rest?.filter || ''),
58
+ has_drop_shadow_attr: rest?.dropShadowAttr === '0_0_8px_currentColor',
59
+ has_brightness_attr: rest?.brightnessAttr === '1.1',
60
+ has_scale_attr: rest?.scaleAttr === '1.05',
61
+ has_rotate_attr: rest?.rotateAttr === '6deg',
62
+ has_breath_attr: rest?.breathAttr === 'true' || rest?.breathAttr === 'false',
63
+ transition_has_filter: /filter/.test(rest?.transitionProperty || ''),
64
+ source_class: sourceClass,
65
+ source_attr: sourceAttr,
66
+ };
67
+ const ok = Object.values(results).every(Boolean);
68
+ console.log(`${ok ? '✅' : '❌'} R604 brand logo drop-shadow (5-axis hover signature):`,
69
+ JSON.stringify(results, null, 2),
70
+ `\n rest: ${JSON.stringify(rest)}`);
71
+ process.exit(ok ? 0 : 1);
@@ -0,0 +1,82 @@
1
+ /* Round 603 — edge-badge CIRCLE stacks brightness(1.15) onto
2
+ * R534/R480 drop-shadow on hover/pin/hot. 5th hover axis on
3
+ * the badge ring; brings circle brightness to parity with the
4
+ * R570 digit brightness within the same edge-badge unit.
5
+ *
6
+ * Test phases:
7
+ * 1. mock 1 message → 1 flowLink → edge-badge renders
8
+ * 2. rest: filter='none', brightness-attr='1'
9
+ * 3. computed transition-property contains 'filter'
10
+ * 4. source: stacked filter conditional includes brightness +
11
+ * data-attr extension
12
+ */
13
+ import { chromium } from 'playwright';
14
+ import { readFileSync } from 'node:fs';
15
+
16
+ const TOKEN = JSON.parse(readFileSync('/home/vansin/.anet/config.json', 'utf8')).token;
17
+ const fresh = new Date(Date.now() - 60 * 1000).toISOString();
18
+
19
+ const browser = await chromium.launch({ headless: true });
20
+ const ctx = await browser.newContext({ viewport: { width: 1500, height: 1200 } });
21
+ await ctx.addCookies([{ name: 'anet_dashboard_session', value: `v3:${TOKEN}`, domain: '127.0.0.1', path: '/' }]);
22
+ await ctx.addInitScript(() => {
23
+ try {
24
+ localStorage.setItem('anet-theme', 'cyber');
25
+ localStorage.setItem('anet-topo-layout', 'ring');
26
+ sessionStorage.setItem('anet_v3_auth', '1');
27
+ } catch {}
28
+ });
29
+ await ctx.route('**/api/hub/status*', async (route) => {
30
+ const r = await route.fetch();
31
+ const b = await r.json();
32
+ const nid = (b.sessions || [])[0]?.network_id || 'default';
33
+ const mk = (alias) => ({
34
+ alias, status: 'idle', model: 'claude-opus-4', runtime: 'claude-code-cli',
35
+ network_id: nid, project_dir: null,
36
+ created_at: fresh, updated_at: fresh, last_seen_at: fresh,
37
+ });
38
+ await route.fulfill({ response: r, json: { ...b, sessions: [mk('a·1'), mk('a·2')] } });
39
+ });
40
+ await ctx.route('**/api/hub/messages*', (r) => r.fulfill({ json: { messages: [
41
+ { from_alias: 'a·1', to_alias: 'a·2', content: 'hi', created_at: fresh },
42
+ ] } }));
43
+ await ctx.route('**/api/hub/tasks*', (r) => r.fulfill({ json: { tasks: [] } }));
44
+ const page = await ctx.newPage();
45
+ await page.goto('http://127.0.0.1:3000/', { waitUntil: 'networkidle' });
46
+ await page.waitForSelector('[data-edge-badge-brightness]', { timeout: 15000, state: 'attached' });
47
+ await page.waitForTimeout(500);
48
+
49
+ const rest = await page.evaluate(() => {
50
+ const el = document.querySelector('[data-edge-badge-brightness]');
51
+ if (!el) return null;
52
+ const cs = getComputedStyle(el);
53
+ return {
54
+ filter: cs.filter,
55
+ transitionProperty: cs.transitionProperty,
56
+ brightnessAttr: el.getAttribute('data-edge-badge-brightness'),
57
+ glowAttr: el.getAttribute('data-edge-badge-glow'),
58
+ liftedAttr: el.getAttribute('data-edge-badge-lifted'),
59
+ };
60
+ });
61
+
62
+ await browser.close();
63
+
64
+ const src = readFileSync('/home/vansin/agent-network-dashboard/app/components/TopoGraph.tsx', 'utf8');
65
+ const sourceFilter = /filter: \(isHoveredEdge \|\| isPinned\)\s*\?\s*`drop-shadow\(0 0 3px \$\{pal\.legendAccent\}99\) brightness\(1\.15\)`\s*:\s*isHot\s*\?\s*`drop-shadow\(0 0 3px \$\{hotStroke\}80\) brightness\(1\.15\)`\s*:\s*undefined/.test(src);
66
+ const sourceAttr = /data-edge-badge-brightness=\{\(isHoveredEdge \|\| isPinned \|\| isHot\) \? '1\.15' : '1'\}/.test(src);
67
+
68
+ const results = {
69
+ badge_present: !!rest,
70
+ rest_filter_none: rest?.filter === 'none',
71
+ rest_brightness_1: rest?.brightnessAttr === '1',
72
+ rest_glow_false: rest?.glowAttr === 'false',
73
+ rest_lifted_false: rest?.liftedAttr === 'false',
74
+ transition_has_filter: /filter/.test(rest?.transitionProperty || ''),
75
+ source_filter: sourceFilter,
76
+ source_attr: sourceAttr,
77
+ };
78
+ const ok = Object.values(results).every(Boolean);
79
+ console.log(`${ok ? '✅' : '❌'} R603 edge-badge circle brightness (5th axis, ring↔digit parity):`,
80
+ JSON.stringify(results, null, 2),
81
+ `\n rest: ${JSON.stringify(rest)}`);
82
+ process.exit(ok ? 0 : 1);