@sleep2agi/agent-network-dashboard 0.4.6-preview.106 → 0.4.6-preview.108

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 +4 -4
  4. package/.next/fallback-build-manifest.json +3 -3
  5. package/.next/prerender-manifest.json +3 -3
  6. package/.next/server/app/_global-error.html +1 -1
  7. package/.next/server/app/_global-error.rsc +1 -1
  8. package/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  9. package/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  10. package/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  11. package/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  12. package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  13. package/.next/server/app/_not-found.html +1 -1
  14. package/.next/server/app/_not-found.rsc +1 -1
  15. package/.next/server/app/_not-found.segments/_full.segment.rsc +1 -1
  16. package/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  17. package/.next/server/app/_not-found.segments/_index.segment.rsc +1 -1
  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 +1 -1
  21. package/.next/server/app/admin.html +1 -1
  22. package/.next/server/app/admin.rsc +1 -1
  23. package/.next/server/app/admin.segments/_full.segment.rsc +1 -1
  24. package/.next/server/app/admin.segments/_head.segment.rsc +1 -1
  25. package/.next/server/app/admin.segments/_index.segment.rsc +1 -1
  26. package/.next/server/app/admin.segments/_tree.segment.rsc +1 -1
  27. package/.next/server/app/admin.segments/admin/__PAGE__.segment.rsc +1 -1
  28. package/.next/server/app/admin.segments/admin.segment.rsc +1 -1
  29. package/.next/server/app/index.html +2 -2
  30. package/.next/server/app/index.rsc +2 -2
  31. package/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
  32. package/.next/server/app/index.segments/_full.segment.rsc +2 -2
  33. package/.next/server/app/index.segments/_head.segment.rsc +1 -1
  34. package/.next/server/app/index.segments/_index.segment.rsc +1 -1
  35. package/.next/server/app/index.segments/_tree.segment.rsc +1 -1
  36. package/.next/server/app/login/page_client-reference-manifest.js +1 -1
  37. package/.next/server/app/login.html +2 -2
  38. package/.next/server/app/login.rsc +2 -2
  39. package/.next/server/app/login.segments/_full.segment.rsc +2 -2
  40. package/.next/server/app/login.segments/_head.segment.rsc +1 -1
  41. package/.next/server/app/login.segments/_index.segment.rsc +1 -1
  42. package/.next/server/app/login.segments/_tree.segment.rsc +1 -1
  43. package/.next/server/app/login.segments/login/__PAGE__.segment.rsc +2 -2
  44. package/.next/server/app/login.segments/login.segment.rsc +1 -1
  45. package/.next/server/app/logs.html +1 -1
  46. package/.next/server/app/logs.rsc +1 -1
  47. package/.next/server/app/logs.segments/_full.segment.rsc +1 -1
  48. package/.next/server/app/logs.segments/_head.segment.rsc +1 -1
  49. package/.next/server/app/logs.segments/_index.segment.rsc +1 -1
  50. package/.next/server/app/logs.segments/_tree.segment.rsc +1 -1
  51. package/.next/server/app/logs.segments/logs/__PAGE__.segment.rsc +1 -1
  52. package/.next/server/app/logs.segments/logs.segment.rsc +1 -1
  53. package/.next/server/app/messages.html +1 -1
  54. package/.next/server/app/messages.rsc +1 -1
  55. package/.next/server/app/messages.segments/_full.segment.rsc +1 -1
  56. package/.next/server/app/messages.segments/_head.segment.rsc +1 -1
  57. package/.next/server/app/messages.segments/_index.segment.rsc +1 -1
  58. package/.next/server/app/messages.segments/_tree.segment.rsc +1 -1
  59. package/.next/server/app/messages.segments/messages/__PAGE__.segment.rsc +1 -1
  60. package/.next/server/app/messages.segments/messages.segment.rsc +1 -1
  61. package/.next/server/app/node.html +1 -1
  62. package/.next/server/app/node.rsc +1 -1
  63. package/.next/server/app/node.segments/_full.segment.rsc +1 -1
  64. package/.next/server/app/node.segments/_head.segment.rsc +1 -1
  65. package/.next/server/app/node.segments/_index.segment.rsc +1 -1
  66. package/.next/server/app/node.segments/_tree.segment.rsc +1 -1
  67. package/.next/server/app/node.segments/node/__PAGE__.segment.rsc +1 -1
  68. package/.next/server/app/node.segments/node.segment.rsc +1 -1
  69. package/.next/server/app/nodes.html +1 -1
  70. package/.next/server/app/nodes.rsc +1 -1
  71. package/.next/server/app/nodes.segments/_full.segment.rsc +1 -1
  72. package/.next/server/app/nodes.segments/_head.segment.rsc +1 -1
  73. package/.next/server/app/nodes.segments/_index.segment.rsc +1 -1
  74. package/.next/server/app/nodes.segments/_tree.segment.rsc +1 -1
  75. package/.next/server/app/nodes.segments/nodes/__PAGE__.segment.rsc +1 -1
  76. package/.next/server/app/nodes.segments/nodes.segment.rsc +1 -1
  77. package/.next/server/app/page_client-reference-manifest.js +1 -1
  78. package/.next/server/app/server-logs.html +1 -1
  79. package/.next/server/app/server-logs.rsc +1 -1
  80. package/.next/server/app/server-logs.segments/_full.segment.rsc +1 -1
  81. package/.next/server/app/server-logs.segments/_head.segment.rsc +1 -1
  82. package/.next/server/app/server-logs.segments/_index.segment.rsc +1 -1
  83. package/.next/server/app/server-logs.segments/_tree.segment.rsc +1 -1
  84. package/.next/server/app/server-logs.segments/server-logs/__PAGE__.segment.rsc +1 -1
  85. package/.next/server/app/server-logs.segments/server-logs.segment.rsc +1 -1
  86. package/.next/server/app/settings/networks.html +1 -1
  87. package/.next/server/app/settings/networks.rsc +1 -1
  88. package/.next/server/app/settings/networks.segments/_full.segment.rsc +1 -1
  89. package/.next/server/app/settings/networks.segments/_head.segment.rsc +1 -1
  90. package/.next/server/app/settings/networks.segments/_index.segment.rsc +1 -1
  91. package/.next/server/app/settings/networks.segments/_tree.segment.rsc +1 -1
  92. package/.next/server/app/settings/networks.segments/settings/networks/__PAGE__.segment.rsc +1 -1
  93. package/.next/server/app/settings/networks.segments/settings/networks.segment.rsc +1 -1
  94. package/.next/server/app/settings/networks.segments/settings.segment.rsc +1 -1
  95. package/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  96. package/.next/server/app/settings/tokens.html +1 -1
  97. package/.next/server/app/settings/tokens.rsc +1 -1
  98. package/.next/server/app/settings/tokens.segments/_full.segment.rsc +1 -1
  99. package/.next/server/app/settings/tokens.segments/_head.segment.rsc +1 -1
  100. package/.next/server/app/settings/tokens.segments/_index.segment.rsc +1 -1
  101. package/.next/server/app/settings/tokens.segments/_tree.segment.rsc +1 -1
  102. package/.next/server/app/settings/tokens.segments/settings/tokens/__PAGE__.segment.rsc +1 -1
  103. package/.next/server/app/settings/tokens.segments/settings/tokens.segment.rsc +1 -1
  104. package/.next/server/app/settings/tokens.segments/settings.segment.rsc +1 -1
  105. package/.next/server/app/settings.html +2 -2
  106. package/.next/server/app/settings.rsc +2 -2
  107. package/.next/server/app/settings.segments/_full.segment.rsc +2 -2
  108. package/.next/server/app/settings.segments/_head.segment.rsc +1 -1
  109. package/.next/server/app/settings.segments/_index.segment.rsc +1 -1
  110. package/.next/server/app/settings.segments/_tree.segment.rsc +1 -1
  111. package/.next/server/app/settings.segments/settings/__PAGE__.segment.rsc +2 -2
  112. package/.next/server/app/settings.segments/settings.segment.rsc +1 -1
  113. package/.next/server/app/tasks.html +1 -1
  114. package/.next/server/app/tasks.rsc +1 -1
  115. package/.next/server/app/tasks.segments/_full.segment.rsc +1 -1
  116. package/.next/server/app/tasks.segments/_head.segment.rsc +1 -1
  117. package/.next/server/app/tasks.segments/_index.segment.rsc +1 -1
  118. package/.next/server/app/tasks.segments/_tree.segment.rsc +1 -1
  119. package/.next/server/app/tasks.segments/tasks/__PAGE__.segment.rsc +1 -1
  120. package/.next/server/app/tasks.segments/tasks.segment.rsc +1 -1
  121. package/.next/server/chunks/ssr/agent-network-dashboard_09kk21a._.js +2 -2
  122. package/.next/server/chunks/ssr/agent-network-dashboard_09kk21a._.js.map +1 -1
  123. package/.next/server/chunks/ssr/agent-network-dashboard_app_01jhlxz._.js +1 -1
  124. package/.next/server/chunks/ssr/agent-network-dashboard_app_01jhlxz._.js.map +1 -1
  125. package/.next/server/chunks/ssr/agent-network-dashboard_app_09d29my._.js +1 -1
  126. package/.next/server/chunks/ssr/agent-network-dashboard_app_09d29my._.js.map +1 -1
  127. package/.next/server/middleware-build-manifest.js +3 -3
  128. package/.next/server/pages/404.html +1 -1
  129. package/.next/server/pages/500.html +1 -1
  130. package/.next/server/server-reference-manifest.js +1 -1
  131. package/.next/server/server-reference-manifest.json +1 -1
  132. package/.next/static/chunks/{0csa~ul-eak4..js → 0e69yys_ymgr2.js} +1 -1
  133. package/.next/static/chunks/{15ku0z.ycva-6.js → 0kjln9pc6j396.js} +1 -1
  134. package/.next/static/chunks/0~7aq.sr_h0y_.js +2 -0
  135. package/.next/trace +2 -2
  136. package/.next/trace-build +1 -1
  137. package/app/components/TopoGraph.tsx +61 -3
  138. package/package.json +1 -1
  139. package/scripts/topo-edge-count-badge-test.mjs +84 -0
  140. package/scripts/topo-vendor-letter-tooltip-test.mjs +92 -0
  141. package/.next/static/chunks/0k~ax4xdnm5yo.js +0 -2
  142. /package/.next/static/{0GkJrVnTrJ1fUmgUD0H3V → C-Oq7OpG0QkFoewAuu737}/_buildManifest.js +0 -0
  143. /package/.next/static/{0GkJrVnTrJ1fUmgUD0H3V → C-Oq7OpG0QkFoewAuu737}/_clientMiddlewareManifest.js +0 -0
  144. /package/.next/static/{0GkJrVnTrJ1fUmgUD0H3V → C-Oq7OpG0QkFoewAuu737}/_ssgManifest.js +0 -0
package/.next/trace CHANGED
@@ -1,2 +1,2 @@
1
- [{"name":"generate-buildid","duration":294,"timestamp":40989294039,"id":4,"parentId":1,"tags":{},"startTime":1778848961540,"traceId":"30b287dfc6df5d77"},{"name":"load-custom-routes","duration":488,"timestamp":40989294483,"id":5,"parentId":1,"tags":{},"startTime":1778848961541,"traceId":"30b287dfc6df5d77"},{"name":"create-dist-dir","duration":739,"timestamp":40989295047,"id":6,"parentId":1,"tags":{},"startTime":1778848961541,"traceId":"30b287dfc6df5d77"},{"name":"clean","duration":519,"timestamp":40989296508,"id":7,"parentId":1,"tags":{},"startTime":1778848961543,"traceId":"30b287dfc6df5d77"},{"name":"discover-routes","duration":9109,"timestamp":40989390056,"id":8,"parentId":1,"tags":{},"startTime":1778848961636,"traceId":"30b287dfc6df5d77"},{"name":"create-root-mapping","duration":106,"timestamp":40989399225,"id":9,"parentId":1,"tags":{},"startTime":1778848961646,"traceId":"30b287dfc6df5d77"},{"name":"generate-route-types","duration":33905,"timestamp":40989402207,"id":10,"parentId":1,"tags":{},"startTime":1778848961648,"traceId":"30b287dfc6df5d77"},{"name":"public-dir-conflict-check","duration":99,"timestamp":40989436206,"id":11,"parentId":1,"tags":{},"startTime":1778848961682,"traceId":"30b287dfc6df5d77"},{"name":"generate-routes-manifest","duration":4709,"timestamp":40989436425,"id":12,"parentId":1,"tags":{},"startTime":1778848961683,"traceId":"30b287dfc6df5d77"},{"name":"run-turbopack","duration":5930831,"timestamp":40989449151,"id":14,"parentId":1,"tags":{},"startTime":1778848961695,"traceId":"30b287dfc6df5d77"},{"name":"turbopack-build-events","duration":130,"timestamp":40989745474,"id":15,"parentId":1,"tags":{},"startTime":1778848961992,"traceId":"30b287dfc6df5d77"},{"name":"run-typescript","duration":8617008,"timestamp":40995389317,"id":16,"parentId":1,"tags":{},"startTime":1778848967636,"traceId":"30b287dfc6df5d77"},{"name":"generate-required-server-files","duration":3483,"timestamp":41004007933,"id":18,"parentId":1,"tags":{},"startTime":1778848976254,"traceId":"30b287dfc6df5d77"},{"name":"check-static-error-page","duration":14796,"timestamp":41004206888,"id":20,"parentId":19,"tags":{},"startTime":1778848976453,"traceId":"30b287dfc6df5d77"},{"name":"is-page-static","duration":401658,"timestamp":41004224665,"id":63,"parentId":22,"tags":{},"startTime":1778848976471,"traceId":"30b287dfc6df5d77"},{"name":"check-page","duration":416400,"timestamp":41004210097,"id":22,"parentId":19,"tags":{"page":"/_global-error"},"startTime":1778848976456,"traceId":"30b287dfc6df5d77"},{"name":"is-page-static","duration":509803,"timestamp":41004226644,"id":69,"parentId":30,"tags":{},"startTime":1778848976473,"traceId":"30b287dfc6df5d77"},{"name":"check-page","duration":522575,"timestamp":41004213976,"id":30,"parentId":19,"tags":{"page":"/api/hub/broadcast"},"startTime":1778848976460,"traceId":"30b287dfc6df5d77"},{"name":"is-page-static","duration":528619,"timestamp":41004226054,"id":66,"parentId":27,"tags":{},"startTime":1778848976472,"traceId":"30b287dfc6df5d77"},{"name":"check-page","duration":541199,"timestamp":41004213575,"id":27,"parentId":19,"tags":{"page":"/api/auth/v3"},"startTime":1778848976460,"traceId":"30b287dfc6df5d77"},{"name":"is-page-static","duration":532176,"timestamp":41004224816,"id":64,"parentId":25,"tags":{},"startTime":1778848976471,"traceId":"30b287dfc6df5d77"},{"name":"check-page","duration":543805,"timestamp":41004213279,"id":25,"parentId":19,"tags":{"page":"/api/auth/login"},"startTime":1778848976460,"traceId":"30b287dfc6df5d77"},{"name":"is-page-static","duration":537468,"timestamp":41004226827,"id":70,"parentId":32,"tags":{},"startTime":1778848976473,"traceId":"30b287dfc6df5d77"},{"name":"check-page","duration":549982,"timestamp":41004214388,"id":32,"parentId":19,"tags":{"page":"/api/hub/health"},"startTime":1778848976461,"traceId":"30b287dfc6df5d77"},{"name":"is-page-static","duration":539692,"timestamp":41004224935,"id":65,"parentId":26,"tags":{},"startTime":1778848976471,"traceId":"30b287dfc6df5d77"},{"name":"check-page","duration":551218,"timestamp":41004213458,"id":26,"parentId":19,"tags":{"page":"/api/auth/logout"},"startTime":1778848976460,"traceId":"30b287dfc6df5d77"},{"name":"is-page-static","duration":544924,"timestamp":41004227017,"id":73,"parentId":35,"tags":{},"startTime":1778848976473,"traceId":"30b287dfc6df5d77"},{"name":"check-page","duration":557298,"timestamp":41004214729,"id":35,"parentId":19,"tags":{"page":"/api/hub/messages"},"startTime":1778848976461,"traceId":"30b287dfc6df5d77"},{"name":"is-page-static","duration":548574,"timestamp":41004226518,"id":68,"parentId":29,"tags":{},"startTime":1778848976473,"traceId":"30b287dfc6df5d77"},{"name":"check-page","duration":561326,"timestamp":41004213835,"id":29,"parentId":19,"tags":{"page":"/api/hub/auth"},"startTime":1778848976460,"traceId":"30b287dfc6df5d77"},{"name":"is-page-static","duration":549761,"timestamp":41004226971,"id":72,"parentId":34,"tags":{},"startTime":1778848976473,"traceId":"30b287dfc6df5d77"},{"name":"check-page","duration":562194,"timestamp":41004214616,"id":34,"parentId":19,"tags":{"page":"/api/hub/license"},"startTime":1778848976461,"traceId":"30b287dfc6df5d77"},{"name":"is-page-static","duration":555528,"timestamp":41004227182,"id":77,"parentId":39,"tags":{},"startTime":1778848976473,"traceId":"30b287dfc6df5d77"},{"name":"check-page","duration":567120,"timestamp":41004215657,"id":39,"parentId":19,"tags":{"page":"/api/hub/send"},"startTime":1778848976462,"traceId":"30b287dfc6df5d77"},{"name":"is-page-static","duration":560112,"timestamp":41004227170,"id":76,"parentId":38,"tags":{},"startTime":1778848976473,"traceId":"30b287dfc6df5d77"},{"name":"check-page","duration":571781,"timestamp":41004215554,"id":38,"parentId":19,"tags":{"page":"/api/hub/register"},"startTime":1778848976462,"traceId":"30b287dfc6df5d77"},{"name":"is-page-static","duration":560363,"timestamp":41004227152,"id":75,"parentId":37,"tags":{},"startTime":1778848976473,"traceId":"30b287dfc6df5d77"},{"name":"check-page","duration":572142,"timestamp":41004215422,"id":37,"parentId":19,"tags":{"page":"/api/hub/nodes"},"startTime":1778848976462,"traceId":"30b287dfc6df5d77"},{"name":"is-page-static","duration":560966,"timestamp":41004227192,"id":78,"parentId":40,"tags":{},"startTime":1778848976473,"traceId":"30b287dfc6df5d77"},{"name":"check-page","duration":572423,"timestamp":41004215780,"id":40,"parentId":19,"tags":{"page":"/api/hub/server-logs"},"startTime":1778848976462,"traceId":"30b287dfc6df5d77"},{"name":"is-page-static","duration":564556,"timestamp":41004227217,"id":80,"parentId":42,"tags":{},"startTime":1778848976473,"traceId":"30b287dfc6df5d77"},{"name":"check-page","duration":575803,"timestamp":41004216019,"id":42,"parentId":19,"tags":{"page":"/api/hub/session"},"startTime":1778848976462,"traceId":"30b287dfc6df5d77"},{"name":"is-page-static","duration":567225,"timestamp":41004226892,"id":71,"parentId":33,"tags":{},"startTime":1778848976473,"traceId":"30b287dfc6df5d77"},{"name":"check-page","duration":579648,"timestamp":41004214508,"id":33,"parentId":19,"tags":{"page":"/api/hub/inbox"},"startTime":1778848976461,"traceId":"30b287dfc6df5d77"},{"name":"is-page-static","duration":568998,"timestamp":41004227120,"id":74,"parentId":36,"tags":{},"startTime":1778848976473,"traceId":"30b287dfc6df5d77"},{"name":"check-page","duration":580914,"timestamp":41004215236,"id":36,"parentId":19,"tags":{"page":"/api/hub/networks"},"startTime":1778848976462,"traceId":"30b287dfc6df5d77"},{"name":"is-page-static","duration":569050,"timestamp":41004227245,"id":82,"parentId":44,"tags":{},"startTime":1778848976474,"traceId":"30b287dfc6df5d77"},{"name":"check-page","duration":580125,"timestamp":41004216211,"id":44,"parentId":19,"tags":{"page":"/api/hub/status"},"startTime":1778848976462,"traceId":"30b287dfc6df5d77"},{"name":"is-page-static","duration":572167,"timestamp":41004227280,"id":85,"parentId":47,"tags":{},"startTime":1778848976474,"traceId":"30b287dfc6df5d77"},{"name":"check-page","duration":582927,"timestamp":41004216557,"id":47,"parentId":19,"tags":{"page":"/api/hub/tmux"},"startTime":1778848976463,"traceId":"30b287dfc6df5d77"},{"name":"is-page-static","duration":572900,"timestamp":41004227258,"id":83,"parentId":45,"tags":{},"startTime":1778848976474,"traceId":"30b287dfc6df5d77"},{"name":"check-page","duration":583880,"timestamp":41004216321,"id":45,"parentId":19,"tags":{"page":"/api/hub/task-events"},"startTime":1778848976463,"traceId":"30b287dfc6df5d77"},{"name":"is-page-static","duration":575372,"timestamp":41004227293,"id":86,"parentId":48,"tags":{},"startTime":1778848976474,"traceId":"30b287dfc6df5d77"},{"name":"check-page","duration":584501,"timestamp":41004218203,"id":48,"parentId":19,"tags":{"page":"/api/hub/tokens"},"startTime":1778848976464,"traceId":"30b287dfc6df5d77"},{"name":"is-page-static","duration":576946,"timestamp":41004227227,"id":81,"parentId":43,"tags":{},"startTime":1778848976473,"traceId":"30b287dfc6df5d77"},{"name":"check-page","duration":588091,"timestamp":41004216125,"id":43,"parentId":19,"tags":{"page":"/api/hub/stats"},"startTime":1778848976462,"traceId":"30b287dfc6df5d77"},{"name":"is-page-static","duration":577266,"timestamp":41004231051,"id":88,"parentId":24,"tags":{},"startTime":1778848976477,"traceId":"30b287dfc6df5d77"},{"name":"check-page","duration":597740,"timestamp":41004210613,"id":24,"parentId":19,"tags":{"page":"/api/anet/config"},"startTime":1778848976457,"traceId":"30b287dfc6df5d77"},{"name":"is-page-static","duration":576620,"timestamp":41004232161,"id":89,"parentId":31,"tags":{},"startTime":1778848976478,"traceId":"30b287dfc6df5d77"},{"name":"check-page","duration":594708,"timestamp":41004214123,"id":31,"parentId":19,"tags":{"page":"/api/hub/events"},"startTime":1778848976460,"traceId":"30b287dfc6df5d77"},{"name":"is-page-static","duration":589423,"timestamp":41004227306,"id":87,"parentId":49,"tags":{},"startTime":1778848976474,"traceId":"30b287dfc6df5d77"},{"name":"check-page","duration":598482,"timestamp":41004218320,"id":49,"parentId":19,"tags":{"page":"/favicon.ico"},"startTime":1778848976465,"traceId":"30b287dfc6df5d77"},{"name":"is-page-static","duration":600182,"timestamp":41004227204,"id":79,"parentId":41,"tags":{},"startTime":1778848976473,"traceId":"30b287dfc6df5d77"},{"name":"check-page","duration":611577,"timestamp":41004215877,"id":41,"parentId":19,"tags":{"page":"/api/hub/servers"},"startTime":1778848976462,"traceId":"30b287dfc6df5d77"},{"name":"is-page-static","duration":601997,"timestamp":41004227270,"id":84,"parentId":46,"tags":{},"startTime":1778848976474,"traceId":"30b287dfc6df5d77"},{"name":"check-page","duration":612896,"timestamp":41004216418,"id":46,"parentId":19,"tags":{"page":"/api/hub/tasks"},"startTime":1778848976463,"traceId":"30b287dfc6df5d77"},{"name":"is-page-static","duration":612377,"timestamp":41004224240,"id":62,"parentId":21,"tags":{},"startTime":1778848976471,"traceId":"30b287dfc6df5d77"},{"name":"check-page","duration":628179,"timestamp":41004208500,"id":21,"parentId":19,"tags":{"page":"/_not-found"},"startTime":1778848976455,"traceId":"30b287dfc6df5d77"},{"name":"is-page-static","duration":622980,"timestamp":41004226363,"id":67,"parentId":28,"tags":{},"startTime":1778848976473,"traceId":"30b287dfc6df5d77"},{"name":"check-page","duration":635703,"timestamp":41004213705,"id":28,"parentId":19,"tags":{"page":"/api/hub/audit-log"},"startTime":1778848976460,"traceId":"30b287dfc6df5d77"},{"name":"is-page-static","duration":632226,"timestamp":41004234481,"id":91,"parentId":50,"tags":{},"startTime":1778848976481,"traceId":"30b287dfc6df5d77"},{"name":"check-page","duration":648053,"timestamp":41004218733,"id":50,"parentId":19,"tags":{"page":"/login"},"startTime":1778848976465,"traceId":"30b287dfc6df5d77"},{"name":"is-page-static","duration":635959,"timestamp":41004234452,"id":90,"parentId":23,"tags":{},"startTime":1778848976481,"traceId":"30b287dfc6df5d77"},{"name":"check-page","duration":660087,"timestamp":41004210370,"id":23,"parentId":19,"tags":{"page":"/admin"},"startTime":1778848976457,"traceId":"30b287dfc6df5d77"},{"name":"is-page-static","duration":637611,"timestamp":41004234539,"id":95,"parentId":54,"tags":{},"startTime":1778848976481,"traceId":"30b287dfc6df5d77"},{"name":"check-page","duration":652687,"timestamp":41004219514,"id":54,"parentId":19,"tags":{"page":"/nodes"},"startTime":1778848976466,"traceId":"30b287dfc6df5d77"},{"name":"is-page-static","duration":640171,"timestamp":41004234493,"id":92,"parentId":51,"tags":{},"startTime":1778848976481,"traceId":"30b287dfc6df5d77"},{"name":"check-page","duration":655796,"timestamp":41004218911,"id":51,"parentId":19,"tags":{"page":"/logs"},"startTime":1778848976465,"traceId":"30b287dfc6df5d77"},{"name":"is-page-static","duration":643313,"timestamp":41004234562,"id":97,"parentId":57,"tags":{},"startTime":1778848976481,"traceId":"30b287dfc6df5d77"},{"name":"check-page","duration":657391,"timestamp":41004220551,"id":57,"parentId":19,"tags":{"page":"/settings/networks"},"startTime":1778848976467,"traceId":"30b287dfc6df5d77"},{"name":"is-page-static","duration":643546,"timestamp":41004234575,"id":98,"parentId":59,"tags":{},"startTime":1778848976481,"traceId":"30b287dfc6df5d77"},{"name":"check-page","duration":656986,"timestamp":41004221170,"id":59,"parentId":19,"tags":{"page":"/settings/tokens"},"startTime":1778848976467,"traceId":"30b287dfc6df5d77"},{"name":"is-page-static","duration":648851,"timestamp":41004234605,"id":100,"parentId":61,"tags":{},"startTime":1778848976481,"traceId":"30b287dfc6df5d77"},{"name":"check-page","duration":662049,"timestamp":41004221447,"id":61,"parentId":19,"tags":{"page":"/tasks"},"startTime":1778848976468,"traceId":"30b287dfc6df5d77"},{"name":"is-page-static","duration":641244,"timestamp":41004242862,"id":101,"parentId":58,"tags":{},"startTime":1778848976489,"traceId":"30b287dfc6df5d77"},{"name":"check-page","duration":663422,"timestamp":41004220724,"id":58,"parentId":19,"tags":{"page":"/settings"},"startTime":1778848976467,"traceId":"30b287dfc6df5d77"},{"name":"is-page-static","duration":625096,"timestamp":41004260694,"id":102,"parentId":55,"tags":{},"startTime":1778848976507,"traceId":"30b287dfc6df5d77"},{"name":"check-page","duration":666082,"timestamp":41004219745,"id":55,"parentId":19,"tags":{"page":"/"},"startTime":1778848976466,"traceId":"30b287dfc6df5d77"},{"name":"is-page-static","duration":657377,"timestamp":41004234507,"id":93,"parentId":52,"tags":{},"startTime":1778848976481,"traceId":"30b287dfc6df5d77"},{"name":"check-page","duration":672831,"timestamp":41004219091,"id":52,"parentId":19,"tags":{"page":"/messages"},"startTime":1778848976465,"traceId":"30b287dfc6df5d77"},{"name":"is-page-static","duration":662274,"timestamp":41004234588,"id":99,"parentId":60,"tags":{},"startTime":1778848976481,"traceId":"30b287dfc6df5d77"},{"name":"check-page","duration":675608,"timestamp":41004221313,"id":60,"parentId":19,"tags":{"page":"/tasks/[id]"},"startTime":1778848976468,"traceId":"30b287dfc6df5d77"},{"name":"is-page-static","duration":663001,"timestamp":41004234519,"id":94,"parentId":53,"tags":{},"startTime":1778848976481,"traceId":"30b287dfc6df5d77"},{"name":"check-page","duration":678251,"timestamp":41004219303,"id":53,"parentId":19,"tags":{"page":"/node"},"startTime":1778848976466,"traceId":"30b287dfc6df5d77"},{"name":"is-page-static","duration":665146,"timestamp":41004234549,"id":96,"parentId":56,"tags":{},"startTime":1778848976481,"traceId":"30b287dfc6df5d77"},{"name":"check-page","duration":679386,"timestamp":41004220345,"id":56,"parentId":19,"tags":{"page":"/server-logs"},"startTime":1778848976467,"traceId":"30b287dfc6df5d77"},{"name":"static-check","duration":694066,"timestamp":41004205714,"id":19,"parentId":1,"tags":{},"startTime":1778848976452,"traceId":"30b287dfc6df5d77"},{"name":"write-routes-manifest","duration":419,"timestamp":41004906205,"id":104,"parentId":1,"tags":{},"startTime":1778848977152,"traceId":"30b287dfc6df5d77"},{"name":"load-dotenv","duration":43,"timestamp":41004918915,"id":107,"parentId":106,"tags":{},"startTime":1778848977165,"traceId":"30b287dfc6df5d77"},{"name":"run-export-path-map","duration":631,"timestamp":41004921523,"id":108,"parentId":106,"tags":{},"startTime":1778848977168,"traceId":"30b287dfc6df5d77"},{"name":"next-export","duration":674132,"timestamp":41004917615,"id":106,"parentId":1,"tags":{},"startTime":1778848977164,"traceId":"30b287dfc6df5d77"}]
2
- [{"name":"move-exported-app-not-found-","duration":2277,"timestamp":41005595208,"id":109,"parentId":105,"tags":{},"startTime":1778848977841,"traceId":"30b287dfc6df5d77"},{"name":"move-exported-app-global-error-","duration":1034,"timestamp":41005597579,"id":110,"parentId":105,"tags":{},"startTime":1778848977844,"traceId":"30b287dfc6df5d77"},{"name":"static-generation","duration":689660,"timestamp":41004911159,"id":105,"parentId":1,"tags":{},"startTime":1778848977157,"traceId":"30b287dfc6df5d77"},{"name":"write-routes-manifest","duration":367,"timestamp":41005600976,"id":111,"parentId":1,"tags":{},"startTime":1778848977847,"traceId":"30b287dfc6df5d77"},{"name":"print-tree-view","duration":5112,"timestamp":41005608690,"id":112,"parentId":1,"tags":{},"startTime":1778848977855,"traceId":"30b287dfc6df5d77"},{"name":"write-route-bundle-stats","duration":18557,"timestamp":41005613836,"id":113,"parentId":1,"tags":{},"startTime":1778848977860,"traceId":"30b287dfc6df5d77"},{"name":"telemetry-flush","duration":33953,"timestamp":41005632426,"id":114,"parentId":1,"tags":{},"startTime":1778848977879,"traceId":"30b287dfc6df5d77"},{"name":"next-build","duration":16430231,"timestamp":40989236181,"id":1,"tags":{"buildMode":"default","version":"16.2.3","bundler":"turbopack","has-custom-webpack-config":"false","use-build-worker":"true"},"startTime":1778848961482,"traceId":"30b287dfc6df5d77"}]
1
+ [{"name":"generate-buildid","duration":270,"timestamp":41623892541,"id":4,"parentId":1,"tags":{},"startTime":1778849596139,"traceId":"4b8336bddd3fc4b3"},{"name":"load-custom-routes","duration":477,"timestamp":41623892948,"id":5,"parentId":1,"tags":{},"startTime":1778849596139,"traceId":"4b8336bddd3fc4b3"},{"name":"create-dist-dir","duration":675,"timestamp":41623893465,"id":6,"parentId":1,"tags":{},"startTime":1778849596140,"traceId":"4b8336bddd3fc4b3"},{"name":"clean","duration":485,"timestamp":41623894763,"id":7,"parentId":1,"tags":{},"startTime":1778849596141,"traceId":"4b8336bddd3fc4b3"},{"name":"discover-routes","duration":9674,"timestamp":41623975738,"id":8,"parentId":1,"tags":{},"startTime":1778849596222,"traceId":"4b8336bddd3fc4b3"},{"name":"create-root-mapping","duration":117,"timestamp":41623985478,"id":9,"parentId":1,"tags":{},"startTime":1778849596232,"traceId":"4b8336bddd3fc4b3"},{"name":"generate-route-types","duration":32084,"timestamp":41623987982,"id":10,"parentId":1,"tags":{},"startTime":1778849596234,"traceId":"4b8336bddd3fc4b3"},{"name":"public-dir-conflict-check","duration":117,"timestamp":41624020236,"id":11,"parentId":1,"tags":{},"startTime":1778849596267,"traceId":"4b8336bddd3fc4b3"},{"name":"generate-routes-manifest","duration":4812,"timestamp":41624020483,"id":12,"parentId":1,"tags":{},"startTime":1778849596267,"traceId":"4b8336bddd3fc4b3"},{"name":"run-turbopack","duration":5776452,"timestamp":41624031371,"id":14,"parentId":1,"tags":{},"startTime":1778849596278,"traceId":"4b8336bddd3fc4b3"},{"name":"turbopack-build-events","duration":83,"timestamp":41624341898,"id":15,"parentId":1,"tags":{},"startTime":1778849596588,"traceId":"4b8336bddd3fc4b3"},{"name":"run-typescript","duration":8618539,"timestamp":41629821494,"id":16,"parentId":1,"tags":{},"startTime":1778849602068,"traceId":"4b8336bddd3fc4b3"},{"name":"generate-required-server-files","duration":2814,"timestamp":41638441141,"id":18,"parentId":1,"tags":{},"startTime":1778849610687,"traceId":"4b8336bddd3fc4b3"},{"name":"check-static-error-page","duration":10752,"timestamp":41638604518,"id":20,"parentId":19,"tags":{},"startTime":1778849610851,"traceId":"4b8336bddd3fc4b3"},{"name":"is-page-static","duration":458666,"timestamp":41638618223,"id":63,"parentId":22,"tags":{},"startTime":1778849610864,"traceId":"4b8336bddd3fc4b3"},{"name":"check-page","duration":470413,"timestamp":41638606708,"id":22,"parentId":19,"tags":{"page":"/_global-error"},"startTime":1778849610853,"traceId":"4b8336bddd3fc4b3"},{"name":"is-page-static","duration":524262,"timestamp":41638618848,"id":67,"parentId":28,"tags":{},"startTime":1778849610865,"traceId":"4b8336bddd3fc4b3"},{"name":"check-page","duration":533724,"timestamp":41638609482,"id":28,"parentId":19,"tags":{"page":"/api/hub/audit-log"},"startTime":1778849610856,"traceId":"4b8336bddd3fc4b3"},{"name":"is-page-static","duration":542598,"timestamp":41638619323,"id":70,"parentId":32,"tags":{},"startTime":1778849610866,"traceId":"4b8336bddd3fc4b3"},{"name":"check-page","duration":552050,"timestamp":41638609945,"id":32,"parentId":19,"tags":{"page":"/api/hub/health"},"startTime":1778849610856,"traceId":"4b8336bddd3fc4b3"},{"name":"is-page-static","duration":558340,"timestamp":41638619385,"id":71,"parentId":33,"tags":{},"startTime":1778849610866,"traceId":"4b8336bddd3fc4b3"},{"name":"check-page","duration":567771,"timestamp":41638610048,"id":33,"parentId":19,"tags":{"page":"/api/hub/inbox"},"startTime":1778849610856,"traceId":"4b8336bddd3fc4b3"},{"name":"is-page-static","duration":563166,"timestamp":41638618357,"id":64,"parentId":25,"tags":{},"startTime":1778849610865,"traceId":"4b8336bddd3fc4b3"},{"name":"check-page","duration":572439,"timestamp":41638609162,"id":25,"parentId":19,"tags":{"page":"/api/auth/login"},"startTime":1778849610855,"traceId":"4b8336bddd3fc4b3"},{"name":"is-page-static","duration":563510,"timestamp":41638619457,"id":72,"parentId":34,"tags":{},"startTime":1778849610866,"traceId":"4b8336bddd3fc4b3"},{"name":"check-page","duration":572908,"timestamp":41638610125,"id":34,"parentId":19,"tags":{"page":"/api/hub/license"},"startTime":1778849610856,"traceId":"4b8336bddd3fc4b3"},{"name":"is-page-static","duration":569074,"timestamp":41638618592,"id":66,"parentId":27,"tags":{},"startTime":1778849610865,"traceId":"4b8336bddd3fc4b3"},{"name":"check-page","duration":578341,"timestamp":41638609376,"id":27,"parentId":19,"tags":{"page":"/api/auth/v3"},"startTime":1778849610856,"traceId":"4b8336bddd3fc4b3"},{"name":"is-page-static","duration":568315,"timestamp":41638619588,"id":74,"parentId":36,"tags":{},"startTime":1778849610866,"traceId":"4b8336bddd3fc4b3"},{"name":"check-page","duration":577417,"timestamp":41638610525,"id":36,"parentId":19,"tags":{"page":"/api/hub/networks"},"startTime":1778849610857,"traceId":"4b8336bddd3fc4b3"},{"name":"is-page-static","duration":568694,"timestamp":41638619487,"id":73,"parentId":35,"tags":{},"startTime":1778849610866,"traceId":"4b8336bddd3fc4b3"},{"name":"check-page","duration":578022,"timestamp":41638610203,"id":35,"parentId":19,"tags":{"page":"/api/hub/messages"},"startTime":1778849610856,"traceId":"4b8336bddd3fc4b3"},{"name":"is-page-static","duration":570510,"timestamp":41638617916,"id":62,"parentId":21,"tags":{},"startTime":1778849610864,"traceId":"4b8336bddd3fc4b3"},{"name":"check-page","duration":582825,"timestamp":41638605632,"id":21,"parentId":19,"tags":{"page":"/_not-found"},"startTime":1778849610852,"traceId":"4b8336bddd3fc4b3"},{"name":"is-page-static","duration":574933,"timestamp":41638619638,"id":76,"parentId":38,"tags":{},"startTime":1778849610866,"traceId":"4b8336bddd3fc4b3"},{"name":"check-page","duration":583892,"timestamp":41638610718,"id":38,"parentId":19,"tags":{"page":"/api/hub/register"},"startTime":1778849610857,"traceId":"4b8336bddd3fc4b3"},{"name":"is-page-static","duration":575821,"timestamp":41638619153,"id":69,"parentId":30,"tags":{},"startTime":1778849610865,"traceId":"4b8336bddd3fc4b3"},{"name":"check-page","duration":585381,"timestamp":41638609663,"id":30,"parentId":19,"tags":{"page":"/api/hub/broadcast"},"startTime":1778849610856,"traceId":"4b8336bddd3fc4b3"},{"name":"is-page-static","duration":578386,"timestamp":41638619673,"id":79,"parentId":41,"tags":{},"startTime":1778849610866,"traceId":"4b8336bddd3fc4b3"},{"name":"check-page","duration":587185,"timestamp":41638610917,"id":41,"parentId":19,"tags":{"page":"/api/hub/servers"},"startTime":1778849610857,"traceId":"4b8336bddd3fc4b3"},{"name":"is-page-static","duration":584719,"timestamp":41638619619,"id":75,"parentId":37,"tags":{},"startTime":1778849610866,"traceId":"4b8336bddd3fc4b3"},{"name":"check-page","duration":593750,"timestamp":41638610635,"id":37,"parentId":19,"tags":{"page":"/api/hub/nodes"},"startTime":1778849610857,"traceId":"4b8336bddd3fc4b3"},{"name":"is-page-static","duration":584844,"timestamp":41638619693,"id":81,"parentId":43,"tags":{},"startTime":1778849610866,"traceId":"4b8336bddd3fc4b3"},{"name":"check-page","duration":593492,"timestamp":41638611082,"id":43,"parentId":19,"tags":{"page":"/api/hub/stats"},"startTime":1778849610857,"traceId":"4b8336bddd3fc4b3"},{"name":"is-page-static","duration":585413,"timestamp":41638619685,"id":80,"parentId":42,"tags":{},"startTime":1778849610866,"traceId":"4b8336bddd3fc4b3"},{"name":"check-page","duration":594131,"timestamp":41638611015,"id":42,"parentId":19,"tags":{"page":"/api/hub/session"},"startTime":1778849610857,"traceId":"4b8336bddd3fc4b3"},{"name":"is-page-static","duration":587372,"timestamp":41638619648,"id":77,"parentId":39,"tags":{},"startTime":1778849610866,"traceId":"4b8336bddd3fc4b3"},{"name":"check-page","duration":596289,"timestamp":41638610780,"id":39,"parentId":19,"tags":{"page":"/api/hub/send"},"startTime":1778849610857,"traceId":"4b8336bddd3fc4b3"},{"name":"is-page-static","duration":593972,"timestamp":41638619718,"id":83,"parentId":45,"tags":{},"startTime":1778849610866,"traceId":"4b8336bddd3fc4b3"},{"name":"check-page","duration":602520,"timestamp":41638611210,"id":45,"parentId":19,"tags":{"page":"/api/hub/task-events"},"startTime":1778849610857,"traceId":"4b8336bddd3fc4b3"},{"name":"is-page-static","duration":595900,"timestamp":41638618472,"id":65,"parentId":26,"tags":{},"startTime":1778849610865,"traceId":"4b8336bddd3fc4b3"},{"name":"check-page","duration":605116,"timestamp":41638609296,"id":26,"parentId":19,"tags":{"page":"/api/auth/logout"},"startTime":1778849610856,"traceId":"4b8336bddd3fc4b3"},{"name":"is-page-static","duration":595505,"timestamp":41638619705,"id":82,"parentId":44,"tags":{},"startTime":1778849610866,"traceId":"4b8336bddd3fc4b3"},{"name":"check-page","duration":604103,"timestamp":41638611143,"id":44,"parentId":19,"tags":{"page":"/api/hub/status"},"startTime":1778849610857,"traceId":"4b8336bddd3fc4b3"},{"name":"is-page-static","duration":599128,"timestamp":41638619752,"id":86,"parentId":48,"tags":{},"startTime":1778849610866,"traceId":"4b8336bddd3fc4b3"},{"name":"check-page","duration":607499,"timestamp":41638611418,"id":48,"parentId":19,"tags":{"page":"/api/hub/tokens"},"startTime":1778849610858,"traceId":"4b8336bddd3fc4b3"},{"name":"is-page-static","duration":601503,"timestamp":41638619765,"id":87,"parentId":49,"tags":{},"startTime":1778849610866,"traceId":"4b8336bddd3fc4b3"},{"name":"check-page","duration":609835,"timestamp":41638611479,"id":49,"parentId":19,"tags":{"page":"/favicon.ico"},"startTime":1778849610858,"traceId":"4b8336bddd3fc4b3"},{"name":"is-page-static","duration":604045,"timestamp":41638619740,"id":85,"parentId":47,"tags":{},"startTime":1778849610866,"traceId":"4b8336bddd3fc4b3"},{"name":"check-page","duration":612481,"timestamp":41638611351,"id":47,"parentId":19,"tags":{"page":"/api/hub/tmux"},"startTime":1778849610858,"traceId":"4b8336bddd3fc4b3"},{"name":"is-page-static","duration":599783,"timestamp":41638624200,"id":89,"parentId":31,"tags":{},"startTime":1778849610870,"traceId":"4b8336bddd3fc4b3"},{"name":"check-page","duration":614285,"timestamp":41638609741,"id":31,"parentId":19,"tags":{"page":"/api/hub/events"},"startTime":1778849610856,"traceId":"4b8336bddd3fc4b3"},{"name":"is-page-static","duration":613202,"timestamp":41638623019,"id":88,"parentId":24,"tags":{},"startTime":1778849610869,"traceId":"4b8336bddd3fc4b3"},{"name":"check-page","duration":629174,"timestamp":41638607108,"id":24,"parentId":19,"tags":{"page":"/api/anet/config"},"startTime":1778849610853,"traceId":"4b8336bddd3fc4b3"},{"name":"is-page-static","duration":629001,"timestamp":41638618992,"id":68,"parentId":29,"tags":{},"startTime":1778849610865,"traceId":"4b8336bddd3fc4b3"},{"name":"check-page","duration":638526,"timestamp":41638609561,"id":29,"parentId":19,"tags":{"page":"/api/hub/auth"},"startTime":1778849610856,"traceId":"4b8336bddd3fc4b3"},{"name":"is-page-static","duration":650853,"timestamp":41638619728,"id":84,"parentId":46,"tags":{},"startTime":1778849610866,"traceId":"4b8336bddd3fc4b3"},{"name":"check-page","duration":659389,"timestamp":41638611265,"id":46,"parentId":19,"tags":{"page":"/api/hub/tasks"},"startTime":1778849610858,"traceId":"4b8336bddd3fc4b3"},{"name":"is-page-static","duration":664808,"timestamp":41638626782,"id":93,"parentId":52,"tags":{},"startTime":1778849610873,"traceId":"4b8336bddd3fc4b3"},{"name":"check-page","duration":679615,"timestamp":41638612073,"id":52,"parentId":19,"tags":{"page":"/messages"},"startTime":1778849610858,"traceId":"4b8336bddd3fc4b3"},{"name":"is-page-static","duration":665516,"timestamp":41638626773,"id":92,"parentId":51,"tags":{},"startTime":1778849610873,"traceId":"4b8336bddd3fc4b3"},{"name":"check-page","duration":680419,"timestamp":41638611924,"id":51,"parentId":19,"tags":{"page":"/logs"},"startTime":1778849610858,"traceId":"4b8336bddd3fc4b3"},{"name":"is-page-static","duration":671081,"timestamp":41638626842,"id":96,"parentId":56,"tags":{},"startTime":1778849610873,"traceId":"4b8336bddd3fc4b3"},{"name":"check-page","duration":684868,"timestamp":41638613106,"id":56,"parentId":19,"tags":{"page":"/server-logs"},"startTime":1778849610859,"traceId":"4b8336bddd3fc4b3"},{"name":"is-page-static","duration":673410,"timestamp":41638626852,"id":97,"parentId":57,"tags":{},"startTime":1778849610873,"traceId":"4b8336bddd3fc4b3"},{"name":"check-page","duration":686920,"timestamp":41638613392,"id":57,"parentId":19,"tags":{"page":"/settings/networks"},"startTime":1778849610860,"traceId":"4b8336bddd3fc4b3"},{"name":"is-page-static","duration":682416,"timestamp":41638619661,"id":78,"parentId":40,"tags":{},"startTime":1778849610866,"traceId":"4b8336bddd3fc4b3"},{"name":"check-page","duration":691278,"timestamp":41638610860,"id":40,"parentId":19,"tags":{"page":"/api/hub/server-logs"},"startTime":1778849610857,"traceId":"4b8336bddd3fc4b3"},{"name":"is-page-static","duration":679872,"timestamp":41638626866,"id":98,"parentId":59,"tags":{},"startTime":1778849610873,"traceId":"4b8336bddd3fc4b3"},{"name":"check-page","duration":692343,"timestamp":41638614473,"id":59,"parentId":19,"tags":{"page":"/settings/tokens"},"startTime":1778849610861,"traceId":"4b8336bddd3fc4b3"},{"name":"is-page-static","duration":682426,"timestamp":41638626758,"id":91,"parentId":50,"tags":{},"startTime":1778849610873,"traceId":"4b8336bddd3fc4b3"},{"name":"check-page","duration":697434,"timestamp":41638611791,"id":50,"parentId":19,"tags":{"page":"/login"},"startTime":1778849610858,"traceId":"4b8336bddd3fc4b3"},{"name":"is-page-static","duration":683845,"timestamp":41638626894,"id":100,"parentId":61,"tags":{},"startTime":1778849610873,"traceId":"4b8336bddd3fc4b3"},{"name":"check-page","duration":695850,"timestamp":41638614926,"id":61,"parentId":19,"tags":{"page":"/tasks"},"startTime":1778849610861,"traceId":"4b8336bddd3fc4b3"},{"name":"is-page-static","duration":686962,"timestamp":41638626882,"id":99,"parentId":60,"tags":{},"startTime":1778849610873,"traceId":"4b8336bddd3fc4b3"},{"name":"check-page","duration":699175,"timestamp":41638614724,"id":60,"parentId":19,"tags":{"page":"/tasks/[id]"},"startTime":1778849610861,"traceId":"4b8336bddd3fc4b3"},{"name":"is-page-static","duration":681655,"timestamp":41638632620,"id":101,"parentId":58,"tags":{},"startTime":1778849610879,"traceId":"4b8336bddd3fc4b3"},{"name":"check-page","duration":700707,"timestamp":41638613613,"id":58,"parentId":19,"tags":{"page":"/settings"},"startTime":1778849610860,"traceId":"4b8336bddd3fc4b3"},{"name":"is-page-static","duration":677027,"timestamp":41638641246,"id":102,"parentId":55,"tags":{},"startTime":1778849610888,"traceId":"4b8336bddd3fc4b3"},{"name":"check-page","duration":705640,"timestamp":41638612667,"id":55,"parentId":19,"tags":{"page":"/"},"startTime":1778849610859,"traceId":"4b8336bddd3fc4b3"},{"name":"is-page-static","duration":698524,"timestamp":41638626661,"id":90,"parentId":23,"tags":{},"startTime":1778849610873,"traceId":"4b8336bddd3fc4b3"},{"name":"check-page","duration":718306,"timestamp":41638606915,"id":23,"parentId":19,"tags":{"page":"/admin"},"startTime":1778849610853,"traceId":"4b8336bddd3fc4b3"},{"name":"is-page-static","duration":705449,"timestamp":41638626828,"id":95,"parentId":54,"tags":{},"startTime":1778849610873,"traceId":"4b8336bddd3fc4b3"},{"name":"check-page","duration":719869,"timestamp":41638612459,"id":54,"parentId":19,"tags":{"page":"/nodes"},"startTime":1778849610859,"traceId":"4b8336bddd3fc4b3"},{"name":"is-page-static","duration":709199,"timestamp":41638626810,"id":94,"parentId":53,"tags":{},"startTime":1778849610873,"traceId":"4b8336bddd3fc4b3"},{"name":"check-page","duration":723802,"timestamp":41638612249,"id":53,"parentId":19,"tags":{"page":"/node"},"startTime":1778849610859,"traceId":"4b8336bddd3fc4b3"},{"name":"static-check","duration":732360,"timestamp":41638603731,"id":19,"parentId":1,"tags":{},"startTime":1778849610850,"traceId":"4b8336bddd3fc4b3"},{"name":"write-routes-manifest","duration":643,"timestamp":41639343392,"id":104,"parentId":1,"tags":{},"startTime":1778849611590,"traceId":"4b8336bddd3fc4b3"},{"name":"load-dotenv","duration":35,"timestamp":41639354557,"id":107,"parentId":106,"tags":{},"startTime":1778849611601,"traceId":"4b8336bddd3fc4b3"},{"name":"run-export-path-map","duration":574,"timestamp":41639357138,"id":108,"parentId":106,"tags":{},"startTime":1778849611603,"traceId":"4b8336bddd3fc4b3"},{"name":"next-export","duration":618937,"timestamp":41639353344,"id":106,"parentId":1,"tags":{},"startTime":1778849611600,"traceId":"4b8336bddd3fc4b3"}]
2
+ [{"name":"move-exported-app-not-found-","duration":3756,"timestamp":41639977352,"id":109,"parentId":105,"tags":{},"startTime":1778849612224,"traceId":"4b8336bddd3fc4b3"},{"name":"move-exported-app-global-error-","duration":555,"timestamp":41639981198,"id":110,"parentId":105,"tags":{},"startTime":1778849612227,"traceId":"4b8336bddd3fc4b3"},{"name":"static-generation","duration":635892,"timestamp":41639347771,"id":105,"parentId":1,"tags":{},"startTime":1778849611594,"traceId":"4b8336bddd3fc4b3"},{"name":"write-routes-manifest","duration":410,"timestamp":41639983870,"id":111,"parentId":1,"tags":{},"startTime":1778849612230,"traceId":"4b8336bddd3fc4b3"},{"name":"print-tree-view","duration":4802,"timestamp":41640000381,"id":112,"parentId":1,"tags":{},"startTime":1778849612247,"traceId":"4b8336bddd3fc4b3"},{"name":"write-route-bundle-stats","duration":13200,"timestamp":41640005228,"id":113,"parentId":1,"tags":{},"startTime":1778849612252,"traceId":"4b8336bddd3fc4b3"},{"name":"telemetry-flush","duration":58570,"timestamp":41640018475,"id":114,"parentId":1,"tags":{},"startTime":1778849612265,"traceId":"4b8336bddd3fc4b3"},{"name":"next-build","duration":16233068,"timestamp":41623844031,"id":1,"tags":{"buildMode":"default","version":"16.2.3","bundler":"turbopack","has-custom-webpack-config":"false","use-build-worker":"true"},"startTime":1778849596090,"traceId":"4b8336bddd3fc4b3"}]
package/.next/trace-build CHANGED
@@ -1 +1 @@
1
- [{"name":"run-turbopack","duration":5930831,"timestamp":40989449151,"id":14,"parentId":1,"tags":{},"startTime":1778848961695,"traceId":"30b287dfc6df5d77"},{"name":"turbopack-build-events","duration":130,"timestamp":40989745474,"id":15,"parentId":1,"tags":{},"startTime":1778848961992,"traceId":"30b287dfc6df5d77"},{"name":"run-typescript","duration":8617008,"timestamp":40995389317,"id":16,"parentId":1,"tags":{},"startTime":1778848967636,"traceId":"30b287dfc6df5d77"},{"name":"static-check","duration":694066,"timestamp":41004205714,"id":19,"parentId":1,"tags":{},"startTime":1778848976452,"traceId":"30b287dfc6df5d77"},{"name":"static-generation","duration":689660,"timestamp":41004911159,"id":105,"parentId":1,"tags":{},"startTime":1778848977157,"traceId":"30b287dfc6df5d77"},{"name":"telemetry-flush","duration":33953,"timestamp":41005632426,"id":114,"parentId":1,"tags":{},"startTime":1778848977879,"traceId":"30b287dfc6df5d77"},{"name":"next-build","duration":16430231,"timestamp":40989236181,"id":1,"tags":{"buildMode":"default","version":"16.2.3","bundler":"turbopack","has-custom-webpack-config":"false","use-build-worker":"true"},"startTime":1778848961482,"traceId":"30b287dfc6df5d77"}]
1
+ [{"name":"run-turbopack","duration":5776452,"timestamp":41624031371,"id":14,"parentId":1,"tags":{},"startTime":1778849596278,"traceId":"4b8336bddd3fc4b3"},{"name":"turbopack-build-events","duration":83,"timestamp":41624341898,"id":15,"parentId":1,"tags":{},"startTime":1778849596588,"traceId":"4b8336bddd3fc4b3"},{"name":"run-typescript","duration":8618539,"timestamp":41629821494,"id":16,"parentId":1,"tags":{},"startTime":1778849602068,"traceId":"4b8336bddd3fc4b3"},{"name":"static-check","duration":732360,"timestamp":41638603731,"id":19,"parentId":1,"tags":{},"startTime":1778849610850,"traceId":"4b8336bddd3fc4b3"},{"name":"static-generation","duration":635892,"timestamp":41639347771,"id":105,"parentId":1,"tags":{},"startTime":1778849611594,"traceId":"4b8336bddd3fc4b3"},{"name":"telemetry-flush","duration":58570,"timestamp":41640018475,"id":114,"parentId":1,"tags":{},"startTime":1778849612265,"traceId":"4b8336bddd3fc4b3"},{"name":"next-build","duration":16233068,"timestamp":41623844031,"id":1,"tags":{"buildMode":"default","version":"16.2.3","bundler":"turbopack","has-custom-webpack-config":"false","use-build-worker":"true"},"startTime":1778849596090,"traceId":"4b8336bddd3fc4b3"}]
@@ -1558,6 +1558,21 @@ export function TopoGraph({ sessions, sseSessions, renameSignal }: TopoGraphProp
1558
1558
  // mirror = inset boxShadow using the vendor's own
1559
1559
  // colour, so each pinned letter sings in its own hue
1560
1560
  // (Anthropic green / OpenAI cyan / 书 blue / ?).
1561
+ // R101: tooltip lists the aliases that use this vendor —
1562
+ // completes the info-density triple started by R97 pills,
1563
+ // R98 node titles, R99 group-label titles. Anywhere the
1564
+ // UI shows "A:3" should hover-explain which 3.
1565
+ const aliases = [...onlineNodes, ...offlineNodes]
1566
+ .filter(s => {
1567
+ const vid = vendorForModel(s.model);
1568
+ return (vid.id === 'unknown' ? '?' : vid.initial) === v.initial;
1569
+ })
1570
+ .map(s => s.alias);
1571
+ const preview = aliases.slice(0, 8).join(', ');
1572
+ const suffix = aliases.length > 8 ? ` + ${aliases.length - 8} more` : '';
1573
+ const tooltip = isPinned
1574
+ ? `${preview}${suffix} — click again or Esc to clear`
1575
+ : `${preview}${suffix} — click to pin`;
1561
1576
  return (
1562
1577
  <span
1563
1578
  key={v.initial}
@@ -1567,9 +1582,8 @@ export function TopoGraph({ sessions, sseSessions, renameSignal }: TopoGraphProp
1567
1582
  className="inline-flex items-baseline gap-0.5 px-1 rounded"
1568
1583
  data-vendor-letter={v.initial}
1569
1584
  data-vendor-pinned={isPinned ? 'true' : 'false'}
1570
- title={isPinned
1571
- ? `Vendor "${v.initial}" pinned — click again or Esc to clear`
1572
- : `Hover to highlight "${v.initial}"; click to pin`}
1585
+ data-vendor-aliases={aliases.join(',')}
1586
+ title={tooltip}
1573
1587
  style={{
1574
1588
  cursor: 'pointer',
1575
1589
  boxShadow: isPinned
@@ -2258,6 +2272,50 @@ export function TopoGraph({ sessions, sseSessions, renameSignal }: TopoGraphProp
2258
2272
  <animate attributeName="opacity" values="0;0.45;0" dur={`${duration}s`} begin="0s" repeatCount="indefinite" />
2259
2273
  </circle>
2260
2274
  )}
2275
+ {/* Round 100 / Loop: midpoint count badge for high-
2276
+ traffic edges. Width already gauges intensity but
2277
+ "5 vs 12" is hard to read off stroke alone. Render
2278
+ a compact pill at the bezier midpoint (t=0.5 →
2279
+ midpoint + perpendicular × lift/2) showing the
2280
+ integer count. Threshold link.count >= 3 keeps
2281
+ the canvas quiet for sparse traffic. Bezier
2282
+ midpoint math: for a quadratic curve M A Q C B,
2283
+ the t=0.5 point is (A + 2C + B) / 4, which
2284
+ simplifies to (midAB) + 0.5 × (control - midAB)
2285
+ = midAB + perpendicular × lift/2. */}
2286
+ {link.count >= 3 && (() => {
2287
+ const midX = (from.x + to.x) / 2;
2288
+ const midY = (from.y + to.y) / 2;
2289
+ const dx = to.x - from.x;
2290
+ const dy = to.y - from.y;
2291
+ const len = Math.hypot(dx, dy) || 1;
2292
+ const badgeX = midX + (-dy / len) * lift * 0.5;
2293
+ const badgeY = midY + ( dx / len) * lift * 0.5;
2294
+ const badgeOpacity = Math.min(1, fresh * edgeOpacityMul);
2295
+ return (
2296
+ <g
2297
+ data-edge-count-badge={link.key}
2298
+ style={{ pointerEvents: 'none' }}
2299
+ opacity={badgeOpacity}
2300
+ >
2301
+ <circle
2302
+ cx={badgeX} cy={badgeY} r="9"
2303
+ fill={pal.legendBox.fill}
2304
+ stroke={pal.flowEdge}
2305
+ strokeWidth="1"
2306
+ opacity={isLight ? 0.95 : 0.82}
2307
+ />
2308
+ <text
2309
+ x={badgeX} y={badgeY + 3}
2310
+ textAnchor="middle"
2311
+ fill={pal.legendHeadline}
2312
+ fontSize="10"
2313
+ fontFamily="monospace"
2314
+ fontWeight="700"
2315
+ >{link.count}</text>
2316
+ </g>
2317
+ );
2318
+ })()}
2261
2319
  </g>
2262
2320
  );
2263
2321
  })}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sleep2agi/agent-network-dashboard",
3
- "version": "0.4.6-preview.106",
3
+ "version": "0.4.6-preview.108",
4
4
  "description": "Agent Network Dashboard — Web UI for managing AI Agent networks",
5
5
  "scripts": {
6
6
  "dev": "next dev",
@@ -0,0 +1,84 @@
1
+ /* Round 100 verification: edges with count >= 3 render a midpoint
2
+ * count badge. The edge stroke width gauges intensity but at high
3
+ * volume "5 vs 12" is hard to read off the line. The badge spells
4
+ * out the integer at the bezier midpoint.
5
+ *
6
+ * Fleet: alpha → beta with 5 messages, gamma → delta with 1, all
7
+ * fresh. Expect one badge for the 5-msg flow, none for the 1-msg
8
+ * flow (count below threshold). Verify badge text matches the
9
+ * link.count and pointer-events:none so the existing R48 edge
10
+ * hitbox stays alive.
11
+ */
12
+ import { chromium } from 'playwright';
13
+ import { readFileSync } from 'node:fs';
14
+
15
+ const TOKEN = JSON.parse(readFileSync('/home/vansin/.anet/config.json', 'utf8')).token;
16
+ const browser = await chromium.launch({ headless: true });
17
+
18
+ const ctx = await browser.newContext({ viewport: { width: 1400, height: 1500 } });
19
+ await ctx.addCookies([{ name: 'anet_dashboard_session', value: `v3:${TOKEN}`, domain: '127.0.0.1', path: '/' }]);
20
+ await ctx.addInitScript(() => {
21
+ try { localStorage.setItem('anet-theme', 'cyber'); sessionStorage.setItem('anet_v3_auth', '1'); } catch {}
22
+ });
23
+
24
+ const fresh = new Date(Date.now() - 30 * 1000).toISOString();
25
+ await ctx.route('**/api/hub/status*', async (route) => {
26
+ const r = await route.fetch();
27
+ const b = await r.json();
28
+ const nid = (b.sessions || [])[0]?.network_id || 'default';
29
+ const mk = (alias) => ({
30
+ alias, status: 'idle', model: 'claude-opus-4', runtime: 'cli-claude-code',
31
+ network_id: nid, project_dir: null,
32
+ created_at: fresh, updated_at: fresh, last_seen_at: fresh,
33
+ });
34
+ await route.fulfill({ response: r, json: { ...b, sessions: [mk('alpha'), mk('beta'), mk('gamma'), mk('delta')] } });
35
+ });
36
+
37
+ const now = Date.now();
38
+ const mkMsg = (id, from_alias, to_alias, ageMs) => ({
39
+ id, from_alias, to_alias, content: 'ping', network_id: 'default',
40
+ created_at: new Date(now - ageMs).toISOString(),
41
+ });
42
+ await ctx.route('**/api/hub/messages*', (route) => route.fulfill({ json: { messages: [
43
+ // 5 alpha → beta (count=5, badge expected)
44
+ mkMsg('m1', 'alpha', 'beta', 30 * 1000),
45
+ mkMsg('m2', 'alpha', 'beta', 40 * 1000),
46
+ mkMsg('m3', 'alpha', 'beta', 50 * 1000),
47
+ mkMsg('m4', 'alpha', 'beta', 60 * 1000),
48
+ mkMsg('m5', 'alpha', 'beta', 70 * 1000),
49
+ // 1 gamma → delta (count=1, NO badge)
50
+ mkMsg('m6', 'gamma', 'delta', 80 * 1000),
51
+ // 3 beta → alpha (count=3 — threshold, badge expected)
52
+ mkMsg('m7', 'beta', 'alpha', 35 * 1000),
53
+ mkMsg('m8', 'beta', 'alpha', 45 * 1000),
54
+ mkMsg('m9', 'beta', 'alpha', 55 * 1000),
55
+ ] } }));
56
+ await ctx.route('**/api/hub/tasks*', (route) => route.fulfill({ json: { tasks: [] } }));
57
+ const page = await ctx.newPage();
58
+ await page.goto('http://127.0.0.1:3000/', { waitUntil: 'domcontentloaded' });
59
+ await page.waitForFunction(() => document.querySelectorAll('g[data-node]').length === 4, { timeout: 30000 });
60
+ await page.waitForSelector('[data-edge-count-badge]', { timeout: 10000 });
61
+ await page.waitForTimeout(400);
62
+
63
+ const badges = await page.evaluate(() => {
64
+ return [...document.querySelectorAll('[data-edge-count-badge]')].map(g => ({
65
+ key: g.getAttribute('data-edge-count-badge'),
66
+ count: g.querySelector('text')?.textContent || '',
67
+ pe: getComputedStyle(g).pointerEvents,
68
+ }));
69
+ });
70
+
71
+ await browser.close();
72
+
73
+ const byKey = Object.fromEntries(badges.map(b => [b.key, b]));
74
+ const results = {
75
+ twoBadges: badges.length === 2,
76
+ alphaBeta_badge: byKey['alpha->beta']?.count === '5',
77
+ betaAlpha_badge: byKey['beta->alpha']?.count === '3',
78
+ gammaDelta_noBadge: !byKey['gamma->delta'],
79
+ badges_nonInteractive: badges.every(b => b.pe === 'none'),
80
+ };
81
+ const ok = Object.values(results).every(Boolean);
82
+ console.log(`${ok ? '✅' : '❌'} edge-count badge:`, JSON.stringify(results),
83
+ `\n badges=`, badges);
84
+ process.exit(ok ? 0 : 1);
@@ -0,0 +1,92 @@
1
+ /* Round 101 verification: vendor-letter chip <span>s carry an alias-
2
+ * list tooltip. Completes the R97/R98/R99 info-density sweep — every
3
+ * surface that shows "X:N" should hover-explain which N.
4
+ *
5
+ * Fleet: 2 Claude (alpha, gamma), 2 GPT (beta, delta). Vendor chip
6
+ * shows "A:2 O:2". A letter's tooltip should list alpha, gamma;
7
+ * O letter's should list beta, delta. Pin state flips the trailing
8
+ * action hint ("click to pin" → "click again or Esc to clear").
9
+ */
10
+ import { chromium } from 'playwright';
11
+ import { readFileSync } from 'node:fs';
12
+
13
+ const TOKEN = JSON.parse(readFileSync('/home/vansin/.anet/config.json', 'utf8')).token;
14
+ const browser = await chromium.launch({ headless: true });
15
+
16
+ const ctx = await browser.newContext({ viewport: { width: 1400, height: 1500 } });
17
+ await ctx.addCookies([{ name: 'anet_dashboard_session', value: `v3:${TOKEN}`, domain: '127.0.0.1', path: '/' }]);
18
+ await ctx.addInitScript(() => {
19
+ try {
20
+ localStorage.setItem('anet-theme', 'cyber');
21
+ sessionStorage.setItem('anet_v3_auth', '1');
22
+ sessionStorage.removeItem('anet-topo-pinned-vendor');
23
+ } catch {}
24
+ });
25
+
26
+ const fresh = new Date(Date.now() - 60 * 1000).toISOString();
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, model) => ({
32
+ alias, status: 'idle', model, runtime: 'cli-claude-code',
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: [
37
+ mk('alpha', 'claude-opus-4'),
38
+ mk('beta', 'gpt-5'),
39
+ mk('gamma', 'claude-opus-4'),
40
+ mk('delta', 'gpt-5'),
41
+ ] } });
42
+ });
43
+ await ctx.route('**/api/hub/messages*', (route) => route.fulfill({ json: { messages: [] } }));
44
+ await ctx.route('**/api/hub/tasks*', (route) => route.fulfill({ json: { tasks: [] } }));
45
+ const page = await ctx.newPage();
46
+ await page.goto('http://127.0.0.1:3000/', { waitUntil: 'domcontentloaded' });
47
+ await page.waitForFunction(() => document.querySelectorAll('g[data-node]').length === 4, { timeout: 30000 });
48
+ await page.waitForTimeout(400);
49
+
50
+ const read = (initial) => page.evaluate((i) => {
51
+ const el = document.querySelector(`[data-vendor-letter="${i}"]`);
52
+ if (!el) return null;
53
+ return {
54
+ title: el.getAttribute('title') || '',
55
+ aliases: el.getAttribute('data-vendor-aliases') || '',
56
+ pinned: el.getAttribute('data-vendor-pinned') || '',
57
+ };
58
+ }, initial);
59
+
60
+ const aSnap = await read('A');
61
+ const oSnap = await read('O');
62
+
63
+ // Pin A — title should flip.
64
+ await page.locator('[data-vendor-letter="A"]').click();
65
+ await page.mouse.move(10, 10);
66
+ await page.waitForTimeout(250);
67
+ const aPinned = await read('A');
68
+
69
+ await browser.close();
70
+
71
+ const sameSet = (csv, expected) => {
72
+ const got = new Set(csv.split(',').filter(Boolean));
73
+ const exp = new Set(expected);
74
+ return got.size === exp.size && [...exp].every(x => got.has(x));
75
+ };
76
+
77
+ const results = {
78
+ a_aliasesMatch: sameSet(aSnap?.aliases || '', ['alpha', 'gamma']),
79
+ a_titleListsThem: /alpha.*gamma|gamma.*alpha/.test(aSnap?.title || ''),
80
+ a_titleClickToPin: /click to pin/.test(aSnap?.title || ''),
81
+ o_aliasesMatch: sameSet(oSnap?.aliases || '', ['beta', 'delta']),
82
+ o_titleListsThem: /beta.*delta|delta.*beta/.test(oSnap?.title || ''),
83
+ pinnedA_aliasesUnchanged: sameSet(aPinned?.aliases || '', ['alpha', 'gamma']),
84
+ pinnedA_titleHintFlipped: /click again or Esc to clear/.test(aPinned?.title || ''),
85
+ pinnedA_pinnedAttrTrue: aPinned?.pinned === 'true',
86
+ };
87
+ const ok = Object.values(results).every(Boolean);
88
+ console.log(`${ok ? '✅' : '❌'} vendor-letter tooltip:`, JSON.stringify(results),
89
+ `\n A:`, aSnap,
90
+ `\n O:`, oSnap,
91
+ `\n A-pinned:`, aPinned);
92
+ process.exit(ok ? 0 : 1);