@sleep2agi/agent-network-dashboard 0.5.3-preview.240 → 0.5.3-preview.241

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 (158) 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 +1 -1
  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/{09mmy8l-4b2ix.js → 024nhti9gv5nb.js} +1 -1
  143. package/.next/static/chunks/{0xam8-c13i0hj.css → 040lvwcu-_z1_.css} +1 -1
  144. package/.next/static/chunks/{0qtwrl.z42tp2.js → 0_teenxqq9lvq.js} +1 -1
  145. package/.next/static/chunks/{10mgpmqxdfqj3.js → 0ac4j_t84kf05.js} +1 -1
  146. package/.next/static/chunks/{0bin~7-npgcjx.js → 11zr.y3xk.6s1.js} +1 -1
  147. package/.next/trace +2 -2
  148. package/.next/trace-build +1 -1
  149. package/app/components/TopoGraph.tsx +6 -5
  150. package/app/globals.css +36 -2
  151. package/package.json +1 -1
  152. package/scripts/topo-h2-triple-axis-breath-test.mjs +7 -3
  153. package/scripts/topo-r717-triple-axis-tier-pattern-test.mjs +9 -4
  154. package/scripts/topo-respiratory-triple-axis-surfaces-catalog-test.mjs +2 -2
  155. package/scripts/topo-zoom-level-triple-axis-breath-test.mjs +143 -0
  156. /package/.next/static/{Elk45KtDHnwGqcI6BcPUR → fR0ebw1JI7cnTNTC-B5-l}/_buildManifest.js +0 -0
  157. /package/.next/static/{Elk45KtDHnwGqcI6BcPUR → fR0ebw1JI7cnTNTC-B5-l}/_clientMiddlewareManifest.js +0 -0
  158. /package/.next/static/{Elk45KtDHnwGqcI6BcPUR → fR0ebw1JI7cnTNTC-B5-l}/_ssgManifest.js +0 -0
package/.next/trace CHANGED
@@ -1,2 +1,2 @@
1
- [{"name":"generate-buildid","duration":251,"timestamp":412469879443,"id":4,"parentId":1,"tags":{},"startTime":1779220442126,"traceId":"5c8411f7525f120e"},{"name":"load-custom-routes","duration":488,"timestamp":412469879834,"id":5,"parentId":1,"tags":{},"startTime":1779220442126,"traceId":"5c8411f7525f120e"},{"name":"create-dist-dir","duration":675,"timestamp":412469880379,"id":6,"parentId":1,"tags":{},"startTime":1779220442127,"traceId":"5c8411f7525f120e"},{"name":"clean","duration":33151,"timestamp":412469881776,"id":7,"parentId":1,"tags":{},"startTime":1779220442128,"traceId":"5c8411f7525f120e"},{"name":"discover-routes","duration":29223,"timestamp":412470001323,"id":8,"parentId":1,"tags":{},"startTime":1779220442248,"traceId":"5c8411f7525f120e"},{"name":"create-root-mapping","duration":142,"timestamp":412470030624,"id":9,"parentId":1,"tags":{},"startTime":1779220442277,"traceId":"5c8411f7525f120e"},{"name":"generate-route-types","duration":27713,"timestamp":412470034266,"id":10,"parentId":1,"tags":{},"startTime":1779220442281,"traceId":"5c8411f7525f120e"},{"name":"public-dir-conflict-check","duration":120,"timestamp":412470062134,"id":11,"parentId":1,"tags":{},"startTime":1779220442308,"traceId":"5c8411f7525f120e"},{"name":"generate-routes-manifest","duration":4871,"timestamp":412470062390,"id":12,"parentId":1,"tags":{},"startTime":1779220442309,"traceId":"5c8411f7525f120e"},{"name":"run-turbopack","duration":6078599,"timestamp":412470080910,"id":14,"parentId":1,"tags":{},"startTime":1779220442327,"traceId":"5c8411f7525f120e"},{"name":"turbopack-build-events","duration":112,"timestamp":412470392382,"id":15,"parentId":1,"tags":{},"startTime":1779220442639,"traceId":"5c8411f7525f120e"},{"name":"run-typescript","duration":10115239,"timestamp":412476167800,"id":16,"parentId":1,"tags":{},"startTime":1779220448414,"traceId":"5c8411f7525f120e"},{"name":"generate-required-server-files","duration":2321,"timestamp":412486284473,"id":18,"parentId":1,"tags":{},"startTime":1779220458531,"traceId":"5c8411f7525f120e"},{"name":"check-static-error-page","duration":12554,"timestamp":412486478714,"id":20,"parentId":19,"tags":{},"startTime":1779220458725,"traceId":"5c8411f7525f120e"},{"name":"is-page-static","duration":524916,"timestamp":412486496063,"id":65,"parentId":22,"tags":{},"startTime":1779220458742,"traceId":"5c8411f7525f120e"},{"name":"check-page","duration":539991,"timestamp":412486481162,"id":22,"parentId":19,"tags":{"page":"/_global-error"},"startTime":1779220458727,"traceId":"5c8411f7525f120e"},{"name":"is-page-static","duration":631133,"timestamp":412486496504,"id":69,"parentId":28,"tags":{},"startTime":1779220458743,"traceId":"5c8411f7525f120e"},{"name":"check-page","duration":643930,"timestamp":412486483813,"id":28,"parentId":19,"tags":{"page":"/api/hub/audit-log"},"startTime":1779220458730,"traceId":"5c8411f7525f120e"},{"name":"is-page-static","duration":635916,"timestamp":412486497633,"id":72,"parentId":32,"tags":{},"startTime":1779220458744,"traceId":"5c8411f7525f120e"},{"name":"check-page","duration":649290,"timestamp":412486484333,"id":32,"parentId":19,"tags":{"page":"/api/hub/health"},"startTime":1779220458731,"traceId":"5c8411f7525f120e"},{"name":"is-page-static","duration":659556,"timestamp":412486493966,"id":64,"parentId":21,"tags":{},"startTime":1779220458740,"traceId":"5c8411f7525f120e"},{"name":"check-page","duration":673603,"timestamp":412486479994,"id":21,"parentId":19,"tags":{"page":"/_not-found"},"startTime":1779220458726,"traceId":"5c8411f7525f120e"},{"name":"is-page-static","duration":665186,"timestamp":412486497792,"id":73,"parentId":33,"tags":{},"startTime":1779220458744,"traceId":"5c8411f7525f120e"},{"name":"check-page","duration":678630,"timestamp":412486484440,"id":33,"parentId":19,"tags":{"page":"/api/hub/inbox"},"startTime":1779220458731,"traceId":"5c8411f7525f120e"},{"name":"is-page-static","duration":685120,"timestamp":412486497914,"id":75,"parentId":35,"tags":{},"startTime":1779220458744,"traceId":"5c8411f7525f120e"},{"name":"check-page","duration":697910,"timestamp":412486485211,"id":35,"parentId":19,"tags":{"page":"/api/hub/messages"},"startTime":1779220458731,"traceId":"5c8411f7525f120e"},{"name":"is-page-static","duration":690352,"timestamp":412486497930,"id":76,"parentId":36,"tags":{},"startTime":1779220458744,"traceId":"5c8411f7525f120e"},{"name":"check-page","duration":702747,"timestamp":412486485605,"id":36,"parentId":19,"tags":{"page":"/api/hub/networks"},"startTime":1779220458732,"traceId":"5c8411f7525f120e"},{"name":"is-page-static","duration":694384,"timestamp":412486496744,"id":70,"parentId":29,"tags":{},"startTime":1779220458743,"traceId":"5c8411f7525f120e"},{"name":"check-page","duration":707291,"timestamp":412486483891,"id":29,"parentId":19,"tags":{"page":"/api/hub/auth"},"startTime":1779220458730,"traceId":"5c8411f7525f120e"},{"name":"is-page-static","duration":695028,"timestamp":412486497959,"id":77,"parentId":37,"tags":{},"startTime":1779220458744,"traceId":"5c8411f7525f120e"},{"name":"check-page","duration":707333,"timestamp":412486485731,"id":37,"parentId":19,"tags":{"page":"/api/hub/nodes"},"startTime":1779220458732,"traceId":"5c8411f7525f120e"},{"name":"is-page-static","duration":698754,"timestamp":412486497976,"id":78,"parentId":38,"tags":{},"startTime":1779220458744,"traceId":"5c8411f7525f120e"},{"name":"check-page","duration":710932,"timestamp":412486485838,"id":38,"parentId":19,"tags":{"page":"/api/hub/register"},"startTime":1779220458732,"traceId":"5c8411f7525f120e"},{"name":"is-page-static","duration":699625,"timestamp":412486497990,"id":79,"parentId":39,"tags":{},"startTime":1779220458744,"traceId":"5c8411f7525f120e"},{"name":"check-page","duration":711754,"timestamp":412486485902,"id":39,"parentId":19,"tags":{"page":"/api/hub/send"},"startTime":1779220458732,"traceId":"5c8411f7525f120e"},{"name":"is-page-static","duration":704273,"timestamp":412486496315,"id":67,"parentId":26,"tags":{},"startTime":1779220458743,"traceId":"5c8411f7525f120e"},{"name":"check-page","duration":716999,"timestamp":412486483640,"id":26,"parentId":19,"tags":{"page":"/api/auth/logout"},"startTime":1779220458730,"traceId":"5c8411f7525f120e"},{"name":"is-page-static","duration":709476,"timestamp":412486496422,"id":68,"parentId":27,"tags":{},"startTime":1779220458743,"traceId":"5c8411f7525f120e"},{"name":"check-page","duration":722222,"timestamp":412486483728,"id":27,"parentId":19,"tags":{"page":"/api/auth/v3"},"startTime":1779220458730,"traceId":"5c8411f7525f120e"},{"name":"is-page-static","duration":708278,"timestamp":412486498059,"id":82,"parentId":44,"tags":{},"startTime":1779220458744,"traceId":"5c8411f7525f120e"},{"name":"check-page","duration":719858,"timestamp":412486486548,"id":44,"parentId":19,"tags":{"page":"/api/hub/session"},"startTime":1779220458733,"traceId":"5c8411f7525f120e"},{"name":"is-page-static","duration":710817,"timestamp":412486498047,"id":81,"parentId":42,"tags":{},"startTime":1779220458744,"traceId":"5c8411f7525f120e"},{"name":"check-page","duration":722678,"timestamp":412486486243,"id":42,"parentId":19,"tags":{"page":"/api/hub/server/[hostname]/health"},"startTime":1779220458733,"traceId":"5c8411f7525f120e"},{"name":"is-page-static","duration":714284,"timestamp":412486498068,"id":83,"parentId":45,"tags":{},"startTime":1779220458744,"traceId":"5c8411f7525f120e"},{"name":"check-page","duration":725769,"timestamp":412486486636,"id":45,"parentId":19,"tags":{"page":"/api/hub/stats"},"startTime":1779220458733,"traceId":"5c8411f7525f120e"},{"name":"is-page-static","duration":719970,"timestamp":412486498098,"id":85,"parentId":47,"tags":{},"startTime":1779220458744,"traceId":"5c8411f7525f120e"},{"name":"check-page","duration":731359,"timestamp":412486486772,"id":47,"parentId":19,"tags":{"page":"/api/hub/task-events"},"startTime":1779220458733,"traceId":"5c8411f7525f120e"},{"name":"is-page-static","duration":722090,"timestamp":412486496214,"id":66,"parentId":25,"tags":{},"startTime":1779220458742,"traceId":"5c8411f7525f120e"},{"name":"check-page","duration":734849,"timestamp":412486483493,"id":25,"parentId":19,"tags":{"page":"/api/auth/login"},"startTime":1779220458730,"traceId":"5c8411f7525f120e"},{"name":"is-page-static","duration":722501,"timestamp":412486498139,"id":87,"parentId":49,"tags":{},"startTime":1779220458744,"traceId":"5c8411f7525f120e"},{"name":"check-page","duration":732409,"timestamp":412486488280,"id":49,"parentId":19,"tags":{"page":"/api/hub/tmux"},"startTime":1779220458735,"traceId":"5c8411f7525f120e"},{"name":"is-page-static","duration":722848,"timestamp":412486497999,"id":80,"parentId":40,"tags":{},"startTime":1779220458744,"traceId":"5c8411f7525f120e"},{"name":"check-page","duration":734923,"timestamp":412486485968,"id":40,"parentId":19,"tags":{"page":"/api/hub/server-logs"},"startTime":1779220458732,"traceId":"5c8411f7525f120e"},{"name":"is-page-static","duration":731793,"timestamp":412486498084,"id":84,"parentId":46,"tags":{},"startTime":1779220458744,"traceId":"5c8411f7525f120e"},{"name":"check-page","duration":743230,"timestamp":412486486698,"id":46,"parentId":19,"tags":{"page":"/api/hub/status"},"startTime":1779220458733,"traceId":"5c8411f7525f120e"},{"name":"is-page-static","duration":734899,"timestamp":412486497563,"id":71,"parentId":30,"tags":{},"startTime":1779220458744,"traceId":"5c8411f7525f120e"},{"name":"check-page","duration":748527,"timestamp":412486483988,"id":30,"parentId":19,"tags":{"page":"/api/hub/broadcast"},"startTime":1779220458730,"traceId":"5c8411f7525f120e"},{"name":"is-page-static","duration":720717,"timestamp":412486516237,"id":91,"parentId":31,"tags":{},"startTime":1779220458763,"traceId":"5c8411f7525f120e"},{"name":"check-page","duration":752921,"timestamp":412486484107,"id":31,"parentId":19,"tags":{"page":"/api/hub/events"},"startTime":1779220458730,"traceId":"5c8411f7525f120e"},{"name":"is-page-static","duration":740786,"timestamp":412486498163,"id":89,"parentId":51,"tags":{},"startTime":1779220458744,"traceId":"5c8411f7525f120e"},{"name":"check-page","duration":750577,"timestamp":412486488441,"id":51,"parentId":19,"tags":{"page":"/favicon.ico"},"startTime":1779220458735,"traceId":"5c8411f7525f120e"},{"name":"is-page-static","duration":724376,"timestamp":412486514807,"id":90,"parentId":24,"tags":{},"startTime":1779220458761,"traceId":"5c8411f7525f120e"},{"name":"check-page","duration":757624,"timestamp":412486481598,"id":24,"parentId":19,"tags":{"page":"/api/anet/config"},"startTime":1779220458728,"traceId":"5c8411f7525f120e"},{"name":"is-page-static","duration":723259,"timestamp":412486519352,"id":93,"parentId":43,"tags":{},"startTime":1779220458766,"traceId":"5c8411f7525f120e"},{"name":"check-page","duration":756320,"timestamp":412486486337,"id":43,"parentId":19,"tags":{"page":"/api/hub/servers"},"startTime":1779220458733,"traceId":"5c8411f7525f120e"},{"name":"is-page-static","duration":745773,"timestamp":412486498151,"id":88,"parentId":50,"tags":{},"startTime":1779220458744,"traceId":"5c8411f7525f120e"},{"name":"check-page","duration":755585,"timestamp":412486488382,"id":50,"parentId":19,"tags":{"page":"/api/hub/tokens"},"startTime":1779220458735,"traceId":"5c8411f7525f120e"},{"name":"is-page-static","duration":759938,"timestamp":412486498130,"id":86,"parentId":48,"tags":{},"startTime":1779220458744,"traceId":"5c8411f7525f120e"},{"name":"check-page","duration":770058,"timestamp":412486488069,"id":48,"parentId":19,"tags":{"page":"/api/hub/tasks"},"startTime":1779220458734,"traceId":"5c8411f7525f120e"},{"name":"is-page-static","duration":740838,"timestamp":412486517450,"id":92,"parentId":41,"tags":{},"startTime":1779220458764,"traceId":"5c8411f7525f120e"},{"name":"check-page","duration":772279,"timestamp":412486486051,"id":41,"parentId":19,"tags":{"page":"/api/hub/server/[hostname]/agents"},"startTime":1779220458732,"traceId":"5c8411f7525f120e"},{"name":"is-page-static","duration":778515,"timestamp":412486497884,"id":74,"parentId":34,"tags":{},"startTime":1779220458744,"traceId":"5c8411f7525f120e"},{"name":"check-page","duration":791946,"timestamp":412486484519,"id":34,"parentId":19,"tags":{"page":"/api/hub/license"},"startTime":1779220458731,"traceId":"5c8411f7525f120e"},{"name":"is-page-static","duration":763151,"timestamp":412486522110,"id":100,"parentId":58,"tags":{},"startTime":1779220458768,"traceId":"5c8411f7525f120e"},{"name":"check-page","duration":795512,"timestamp":412486489816,"id":58,"parentId":19,"tags":{"page":"/server-logs"},"startTime":1779220458736,"traceId":"5c8411f7525f120e"},{"name":"is-page-static","duration":770973,"timestamp":412486522226,"id":101,"parentId":59,"tags":{},"startTime":1779220458768,"traceId":"5c8411f7525f120e"},{"name":"check-page","duration":803215,"timestamp":412486490046,"id":59,"parentId":19,"tags":{"page":"/settings/networks"},"startTime":1779220458736,"traceId":"5c8411f7525f120e"},{"name":"is-page-static","duration":785711,"timestamp":412486522249,"id":102,"parentId":61,"tags":{},"startTime":1779220458769,"traceId":"5c8411f7525f120e"},{"name":"check-page","duration":817397,"timestamp":412486490678,"id":61,"parentId":19,"tags":{"page":"/settings/tokens"},"startTime":1779220458737,"traceId":"5c8411f7525f120e"},{"name":"is-page-static","duration":792164,"timestamp":412486522042,"id":95,"parentId":52,"tags":{},"startTime":1779220458768,"traceId":"5c8411f7525f120e"},{"name":"check-page","duration":825544,"timestamp":412486488714,"id":52,"parentId":19,"tags":{"page":"/login"},"startTime":1779220458735,"traceId":"5c8411f7525f120e"},{"name":"is-page-static","duration":792345,"timestamp":412486522100,"id":99,"parentId":56,"tags":{},"startTime":1779220458768,"traceId":"5c8411f7525f120e"},{"name":"check-page","duration":825227,"timestamp":412486489259,"id":56,"parentId":19,"tags":{"page":"/nodes"},"startTime":1779220458736,"traceId":"5c8411f7525f120e"},{"name":"is-page-static","duration":803118,"timestamp":412486521994,"id":94,"parentId":23,"tags":{},"startTime":1779220458768,"traceId":"5c8411f7525f120e"},{"name":"check-page","duration":843766,"timestamp":412486481398,"id":23,"parentId":19,"tags":{"page":"/admin"},"startTime":1779220458728,"traceId":"5c8411f7525f120e"},{"name":"is-page-static","duration":802981,"timestamp":412486522277,"id":104,"parentId":63,"tags":{},"startTime":1779220458769,"traceId":"5c8411f7525f120e"},{"name":"check-page","duration":834290,"timestamp":412486490998,"id":63,"parentId":19,"tags":{"page":"/tasks"},"startTime":1779220458737,"traceId":"5c8411f7525f120e"},{"name":"is-page-static","duration":770598,"timestamp":412486554785,"id":105,"parentId":60,"tags":{},"startTime":1779220458801,"traceId":"5c8411f7525f120e"},{"name":"check-page","duration":835177,"timestamp":412486490235,"id":60,"parentId":19,"tags":{"page":"/settings"},"startTime":1779220458737,"traceId":"5c8411f7525f120e"},{"name":"is-page-static","duration":803402,"timestamp":412486522071,"id":97,"parentId":54,"tags":{},"startTime":1779220458768,"traceId":"5c8411f7525f120e"},{"name":"check-page","duration":836555,"timestamp":412486488940,"id":54,"parentId":19,"tags":{"page":"/messages"},"startTime":1779220458735,"traceId":"5c8411f7525f120e"},{"name":"is-page-static","duration":803284,"timestamp":412486522265,"id":103,"parentId":62,"tags":{},"startTime":1779220458769,"traceId":"5c8411f7525f120e"},{"name":"check-page","duration":834739,"timestamp":412486490835,"id":62,"parentId":19,"tags":{"page":"/tasks/[id]"},"startTime":1779220458737,"traceId":"5c8411f7525f120e"},{"name":"is-page-static","duration":809529,"timestamp":412486522086,"id":98,"parentId":55,"tags":{},"startTime":1779220458768,"traceId":"5c8411f7525f120e"},{"name":"check-page","duration":842557,"timestamp":412486489106,"id":55,"parentId":19,"tags":{"page":"/node"},"startTime":1779220458735,"traceId":"5c8411f7525f120e"},{"name":"is-page-static","duration":738347,"timestamp":412486593923,"id":106,"parentId":57,"tags":{},"startTime":1779220458840,"traceId":"5c8411f7525f120e"},{"name":"check-page","duration":842869,"timestamp":412486489434,"id":57,"parentId":19,"tags":{"page":"/"},"startTime":1779220458736,"traceId":"5c8411f7525f120e"},{"name":"is-page-static","duration":812001,"timestamp":412486522059,"id":96,"parentId":53,"tags":{},"startTime":1779220458768,"traceId":"5c8411f7525f120e"},{"name":"check-page","duration":845317,"timestamp":412486488816,"id":53,"parentId":19,"tags":{"page":"/logs"},"startTime":1779220458735,"traceId":"5c8411f7525f120e"},{"name":"static-check","duration":856548,"timestamp":412486477652,"id":19,"parentId":1,"tags":{},"startTime":1779220458724,"traceId":"5c8411f7525f120e"}]
2
- [{"name":"write-routes-manifest","duration":815,"timestamp":412487346956,"id":108,"parentId":1,"tags":{},"startTime":1779220459593,"traceId":"5c8411f7525f120e"},{"name":"load-dotenv","duration":64,"timestamp":412487363416,"id":111,"parentId":110,"tags":{},"startTime":1779220459610,"traceId":"5c8411f7525f120e"},{"name":"run-export-path-map","duration":806,"timestamp":412487366954,"id":112,"parentId":110,"tags":{},"startTime":1779220459613,"traceId":"5c8411f7525f120e"},{"name":"next-export","duration":631022,"timestamp":412487361501,"id":110,"parentId":1,"tags":{},"startTime":1779220459608,"traceId":"5c8411f7525f120e"},{"name":"move-exported-app-not-found-","duration":513,"timestamp":412487995863,"id":113,"parentId":109,"tags":{},"startTime":1779220460242,"traceId":"5c8411f7525f120e"},{"name":"move-exported-app-global-error-","duration":320,"timestamp":412487996464,"id":114,"parentId":109,"tags":{},"startTime":1779220460243,"traceId":"5c8411f7525f120e"},{"name":"static-generation","duration":644565,"timestamp":412487353974,"id":109,"parentId":1,"tags":{},"startTime":1779220459600,"traceId":"5c8411f7525f120e"},{"name":"write-routes-manifest","duration":451,"timestamp":412487998771,"id":115,"parentId":1,"tags":{},"startTime":1779220460245,"traceId":"5c8411f7525f120e"},{"name":"print-tree-view","duration":4174,"timestamp":412488019268,"id":116,"parentId":1,"tags":{},"startTime":1779220460266,"traceId":"5c8411f7525f120e"},{"name":"write-route-bundle-stats","duration":16137,"timestamp":412488023483,"id":117,"parentId":1,"tags":{},"startTime":1779220460270,"traceId":"5c8411f7525f120e"},{"name":"telemetry-flush","duration":19697,"timestamp":412488039653,"id":118,"parentId":1,"tags":{},"startTime":1779220460286,"traceId":"5c8411f7525f120e"},{"name":"next-build","duration":18234898,"timestamp":412469824498,"id":1,"tags":{"buildMode":"default","version":"16.2.3","bundler":"turbopack","has-custom-webpack-config":"false","use-build-worker":"true"},"startTime":1779220442071,"traceId":"5c8411f7525f120e"}]
1
+ [{"name":"generate-buildid","duration":262,"timestamp":412868690455,"id":4,"parentId":1,"tags":{},"startTime":1779220840937,"traceId":"e38b39d624e2fe84"},{"name":"load-custom-routes","duration":638,"timestamp":412868690857,"id":5,"parentId":1,"tags":{},"startTime":1779220840937,"traceId":"e38b39d624e2fe84"},{"name":"create-dist-dir","duration":810,"timestamp":412868691556,"id":6,"parentId":1,"tags":{},"startTime":1779220840938,"traceId":"e38b39d624e2fe84"},{"name":"clean","duration":45830,"timestamp":412868693056,"id":7,"parentId":1,"tags":{},"startTime":1779220840939,"traceId":"e38b39d624e2fe84"},{"name":"discover-routes","duration":9295,"timestamp":412868828610,"id":8,"parentId":1,"tags":{},"startTime":1779220841075,"traceId":"e38b39d624e2fe84"},{"name":"create-root-mapping","duration":137,"timestamp":412868837965,"id":9,"parentId":1,"tags":{},"startTime":1779220841084,"traceId":"e38b39d624e2fe84"},{"name":"generate-route-types","duration":34350,"timestamp":412868840865,"id":10,"parentId":1,"tags":{},"startTime":1779220841087,"traceId":"e38b39d624e2fe84"},{"name":"public-dir-conflict-check","duration":112,"timestamp":412868875306,"id":11,"parentId":1,"tags":{},"startTime":1779220841122,"traceId":"e38b39d624e2fe84"},{"name":"generate-routes-manifest","duration":4945,"timestamp":412868875533,"id":12,"parentId":1,"tags":{},"startTime":1779220841122,"traceId":"e38b39d624e2fe84"},{"name":"run-turbopack","duration":6160709,"timestamp":412868886500,"id":14,"parentId":1,"tags":{},"startTime":1779220841133,"traceId":"e38b39d624e2fe84"},{"name":"turbopack-build-events","duration":136,"timestamp":412869195822,"id":15,"parentId":1,"tags":{},"startTime":1779220841442,"traceId":"e38b39d624e2fe84"},{"name":"run-typescript","duration":10494231,"timestamp":412875055178,"id":16,"parentId":1,"tags":{},"startTime":1779220847301,"traceId":"e38b39d624e2fe84"},{"name":"generate-required-server-files","duration":2901,"timestamp":412885550618,"id":18,"parentId":1,"tags":{},"startTime":1779220857797,"traceId":"e38b39d624e2fe84"},{"name":"check-static-error-page","duration":13432,"timestamp":412885730020,"id":20,"parentId":19,"tags":{},"startTime":1779220857976,"traceId":"e38b39d624e2fe84"},{"name":"is-page-static","duration":471531,"timestamp":412885747437,"id":65,"parentId":22,"tags":{},"startTime":1779220857994,"traceId":"e38b39d624e2fe84"},{"name":"check-page","duration":486325,"timestamp":412885732829,"id":22,"parentId":19,"tags":{"page":"/_global-error"},"startTime":1779220857979,"traceId":"e38b39d624e2fe84"},{"name":"is-page-static","duration":603860,"timestamp":412885748620,"id":67,"parentId":26,"tags":{},"startTime":1779220857995,"traceId":"e38b39d624e2fe84"},{"name":"check-page","duration":617109,"timestamp":412885735481,"id":26,"parentId":19,"tags":{"page":"/api/auth/logout"},"startTime":1779220857982,"traceId":"e38b39d624e2fe84"},{"name":"is-page-static","duration":620246,"timestamp":412885748914,"id":69,"parentId":28,"tags":{},"startTime":1779220857995,"traceId":"e38b39d624e2fe84"},{"name":"check-page","duration":633549,"timestamp":412885735696,"id":28,"parentId":19,"tags":{"page":"/api/hub/audit-log"},"startTime":1779220857982,"traceId":"e38b39d624e2fe84"},{"name":"is-page-static","duration":625221,"timestamp":412885749661,"id":73,"parentId":33,"tags":{},"startTime":1779220857996,"traceId":"e38b39d624e2fe84"},{"name":"check-page","duration":638402,"timestamp":412885736563,"id":33,"parentId":19,"tags":{"page":"/api/hub/inbox"},"startTime":1779220857983,"traceId":"e38b39d624e2fe84"},{"name":"is-page-static","duration":625766,"timestamp":412885749432,"id":71,"parentId":30,"tags":{},"startTime":1779220857996,"traceId":"e38b39d624e2fe84"},{"name":"check-page","duration":639253,"timestamp":412885735987,"id":30,"parentId":19,"tags":{"page":"/api/hub/broadcast"},"startTime":1779220857982,"traceId":"e38b39d624e2fe84"},{"name":"is-page-static","duration":656621,"timestamp":412885749784,"id":75,"parentId":35,"tags":{},"startTime":1779220857996,"traceId":"e38b39d624e2fe84"},{"name":"check-page","duration":669658,"timestamp":412885736826,"id":35,"parentId":19,"tags":{"page":"/api/hub/messages"},"startTime":1779220857983,"traceId":"e38b39d624e2fe84"},{"name":"is-page-static","duration":674072,"timestamp":412885749504,"id":72,"parentId":32,"tags":{},"startTime":1779220857996,"traceId":"e38b39d624e2fe84"},{"name":"check-page","duration":687238,"timestamp":412885736420,"id":32,"parentId":19,"tags":{"page":"/api/hub/health"},"startTime":1779220857983,"traceId":"e38b39d624e2fe84"},{"name":"is-page-static","duration":686845,"timestamp":412885749833,"id":77,"parentId":37,"tags":{},"startTime":1779220857996,"traceId":"e38b39d624e2fe84"},{"name":"check-page","duration":699165,"timestamp":412885737591,"id":37,"parentId":19,"tags":{"page":"/api/hub/nodes"},"startTime":1779220857984,"traceId":"e38b39d624e2fe84"},{"name":"is-page-static","duration":688282,"timestamp":412885749750,"id":74,"parentId":34,"tags":{},"startTime":1779220857996,"traceId":"e38b39d624e2fe84"},{"name":"check-page","duration":701406,"timestamp":412885736698,"id":34,"parentId":19,"tags":{"page":"/api/hub/license"},"startTime":1779220857983,"traceId":"e38b39d624e2fe84"},{"name":"is-page-static","duration":692167,"timestamp":412885748796,"id":68,"parentId":27,"tags":{},"startTime":1779220857995,"traceId":"e38b39d624e2fe84"},{"name":"check-page","duration":705445,"timestamp":412885735593,"id":27,"parentId":19,"tags":{"page":"/api/auth/v3"},"startTime":1779220857982,"traceId":"e38b39d624e2fe84"},{"name":"is-page-static","duration":691592,"timestamp":412885749852,"id":78,"parentId":38,"tags":{},"startTime":1779220857996,"traceId":"e38b39d624e2fe84"},{"name":"check-page","duration":703772,"timestamp":412885737723,"id":38,"parentId":19,"tags":{"page":"/api/hub/register"},"startTime":1779220857984,"traceId":"e38b39d624e2fe84"},{"name":"is-page-static","duration":696719,"timestamp":412885749878,"id":80,"parentId":40,"tags":{},"startTime":1779220857996,"traceId":"e38b39d624e2fe84"},{"name":"check-page","duration":708793,"timestamp":412885737861,"id":40,"parentId":19,"tags":{"page":"/api/hub/server-logs"},"startTime":1779220857984,"traceId":"e38b39d624e2fe84"},{"name":"is-page-static","duration":700400,"timestamp":412885746983,"id":64,"parentId":21,"tags":{},"startTime":1779220857993,"traceId":"e38b39d624e2fe84"},{"name":"check-page","duration":715757,"timestamp":412885731676,"id":21,"parentId":19,"tags":{"page":"/_not-found"},"startTime":1779220857978,"traceId":"e38b39d624e2fe84"},{"name":"is-page-static","duration":702313,"timestamp":412885749864,"id":79,"parentId":39,"tags":{},"startTime":1779220857996,"traceId":"e38b39d624e2fe84"},{"name":"check-page","duration":714667,"timestamp":412885737794,"id":39,"parentId":19,"tags":{"page":"/api/hub/send"},"startTime":1779220857984,"traceId":"e38b39d624e2fe84"},{"name":"is-page-static","duration":702888,"timestamp":412885749893,"id":81,"parentId":42,"tags":{},"startTime":1779220857996,"traceId":"e38b39d624e2fe84"},{"name":"check-page","duration":714683,"timestamp":412885738147,"id":42,"parentId":19,"tags":{"page":"/api/hub/server/[hostname]/health"},"startTime":1779220857984,"traceId":"e38b39d624e2fe84"},{"name":"is-page-static","duration":712396,"timestamp":412885749935,"id":84,"parentId":46,"tags":{},"startTime":1779220857996,"traceId":"e38b39d624e2fe84"},{"name":"check-page","duration":723809,"timestamp":412885738593,"id":46,"parentId":19,"tags":{"page":"/api/hub/status"},"startTime":1779220857985,"traceId":"e38b39d624e2fe84"},{"name":"is-page-static","duration":712747,"timestamp":412885749949,"id":85,"parentId":47,"tags":{},"startTime":1779220857996,"traceId":"e38b39d624e2fe84"},{"name":"check-page","duration":724095,"timestamp":412885738666,"id":47,"parentId":19,"tags":{"page":"/api/hub/task-events"},"startTime":1779220857985,"traceId":"e38b39d624e2fe84"},{"name":"is-page-static","duration":713123,"timestamp":412885749803,"id":76,"parentId":36,"tags":{},"startTime":1779220857996,"traceId":"e38b39d624e2fe84"},{"name":"check-page","duration":725593,"timestamp":412885737377,"id":36,"parentId":19,"tags":{"page":"/api/hub/networks"},"startTime":1779220857984,"traceId":"e38b39d624e2fe84"},{"name":"is-page-static","duration":721104,"timestamp":412885749972,"id":87,"parentId":49,"tags":{},"startTime":1779220857996,"traceId":"e38b39d624e2fe84"},{"name":"check-page","duration":730557,"timestamp":412885740570,"id":49,"parentId":19,"tags":{"page":"/api/hub/tmux"},"startTime":1779220857987,"traceId":"e38b39d624e2fe84"},{"name":"is-page-static","duration":722191,"timestamp":412885749997,"id":89,"parentId":51,"tags":{},"startTime":1779220857996,"traceId":"e38b39d624e2fe84"},{"name":"check-page","duration":731497,"timestamp":412885740736,"id":51,"parentId":19,"tags":{"page":"/favicon.ico"},"startTime":1779220857987,"traceId":"e38b39d624e2fe84"},{"name":"is-page-static","duration":727111,"timestamp":412885749959,"id":86,"parentId":48,"tags":{},"startTime":1779220857996,"traceId":"e38b39d624e2fe84"},{"name":"check-page","duration":738384,"timestamp":412885738733,"id":48,"parentId":19,"tags":{"page":"/api/hub/tasks"},"startTime":1779220857985,"traceId":"e38b39d624e2fe84"},{"name":"is-page-static","duration":723197,"timestamp":412885754930,"id":91,"parentId":31,"tags":{},"startTime":1779220858001,"traceId":"e38b39d624e2fe84"},{"name":"check-page","duration":742029,"timestamp":412885736139,"id":31,"parentId":19,"tags":{"page":"/api/hub/events"},"startTime":1779220857982,"traceId":"e38b39d624e2fe84"},{"name":"is-page-static","duration":725071,"timestamp":412885753429,"id":90,"parentId":24,"tags":{},"startTime":1779220858000,"traceId":"e38b39d624e2fe84"},{"name":"check-page","duration":745287,"timestamp":412885733252,"id":24,"parentId":19,"tags":{"page":"/api/anet/config"},"startTime":1779220857980,"traceId":"e38b39d624e2fe84"},{"name":"is-page-static","duration":718344,"timestamp":412885765790,"id":93,"parentId":43,"tags":{},"startTime":1779220858012,"traceId":"e38b39d624e2fe84"},{"name":"check-page","duration":745946,"timestamp":412885738247,"id":43,"parentId":19,"tags":{"page":"/api/hub/servers"},"startTime":1779220857985,"traceId":"e38b39d624e2fe84"},{"name":"is-page-static","duration":735154,"timestamp":412885749245,"id":70,"parentId":29,"tags":{},"startTime":1779220857996,"traceId":"e38b39d624e2fe84"},{"name":"check-page","duration":748601,"timestamp":412885735830,"id":29,"parentId":19,"tags":{"page":"/api/hub/auth"},"startTime":1779220857982,"traceId":"e38b39d624e2fe84"},{"name":"is-page-static","duration":731863,"timestamp":412885759652,"id":92,"parentId":41,"tags":{},"startTime":1779220858006,"traceId":"e38b39d624e2fe84"},{"name":"check-page","duration":753645,"timestamp":412885737925,"id":41,"parentId":19,"tags":{"page":"/api/hub/server/[hostname]/agents"},"startTime":1779220857984,"traceId":"e38b39d624e2fe84"},{"name":"is-page-static","duration":745317,"timestamp":412885749984,"id":88,"parentId":50,"tags":{},"startTime":1779220857996,"traceId":"e38b39d624e2fe84"},{"name":"check-page","duration":754689,"timestamp":412885740678,"id":50,"parentId":19,"tags":{"page":"/api/hub/tokens"},"startTime":1779220857987,"traceId":"e38b39d624e2fe84"},{"name":"is-page-static","duration":748926,"timestamp":412885749908,"id":82,"parentId":44,"tags":{},"startTime":1779220857996,"traceId":"e38b39d624e2fe84"},{"name":"check-page","duration":760436,"timestamp":412885738450,"id":44,"parentId":19,"tags":{"page":"/api/hub/session"},"startTime":1779220857985,"traceId":"e38b39d624e2fe84"},{"name":"is-page-static","duration":781273,"timestamp":412885747587,"id":66,"parentId":25,"tags":{},"startTime":1779220857994,"traceId":"e38b39d624e2fe84"},{"name":"check-page","duration":793646,"timestamp":412885735289,"id":25,"parentId":19,"tags":{"page":"/api/auth/login"},"startTime":1779220857982,"traceId":"e38b39d624e2fe84"},{"name":"is-page-static","duration":782697,"timestamp":412885749920,"id":83,"parentId":45,"tags":{},"startTime":1779220857996,"traceId":"e38b39d624e2fe84"},{"name":"check-page","duration":794161,"timestamp":412885738534,"id":45,"parentId":19,"tags":{"page":"/api/hub/stats"},"startTime":1779220857985,"traceId":"e38b39d624e2fe84"},{"name":"is-page-static","duration":767952,"timestamp":412885773277,"id":100,"parentId":58,"tags":{},"startTime":1779220858020,"traceId":"e38b39d624e2fe84"},{"name":"check-page","duration":798975,"timestamp":412885742320,"id":58,"parentId":19,"tags":{"page":"/server-logs"},"startTime":1779220857989,"traceId":"e38b39d624e2fe84"},{"name":"is-page-static","duration":780698,"timestamp":412885773402,"id":101,"parentId":59,"tags":{},"startTime":1779220858020,"traceId":"e38b39d624e2fe84"},{"name":"check-page","duration":811690,"timestamp":412885742483,"id":59,"parentId":19,"tags":{"page":"/settings/networks"},"startTime":1779220857989,"traceId":"e38b39d624e2fe84"},{"name":"is-page-static","duration":781221,"timestamp":412885773180,"id":94,"parentId":23,"tags":{},"startTime":1779220858019,"traceId":"e38b39d624e2fe84"},{"name":"check-page","duration":821421,"timestamp":412885733053,"id":23,"parentId":19,"tags":{"page":"/admin"},"startTime":1779220857979,"traceId":"e38b39d624e2fe84"},{"name":"is-page-static","duration":787563,"timestamp":412885773424,"id":102,"parentId":61,"tags":{},"startTime":1779220858020,"traceId":"e38b39d624e2fe84"},{"name":"check-page","duration":818241,"timestamp":412885742884,"id":61,"parentId":19,"tags":{"page":"/settings/tokens"},"startTime":1779220857989,"traceId":"e38b39d624e2fe84"},{"name":"is-page-static","duration":791015,"timestamp":412885773432,"id":103,"parentId":62,"tags":{},"startTime":1779220858020,"traceId":"e38b39d624e2fe84"},{"name":"check-page","duration":821455,"timestamp":412885743045,"id":62,"parentId":19,"tags":{"page":"/tasks/[id]"},"startTime":1779220857989,"traceId":"e38b39d624e2fe84"},{"name":"is-page-static","duration":797627,"timestamp":412885773445,"id":104,"parentId":63,"tags":{},"startTime":1779220858020,"traceId":"e38b39d624e2fe84"},{"name":"check-page","duration":827935,"timestamp":412885743198,"id":63,"parentId":19,"tags":{"page":"/tasks"},"startTime":1779220857989,"traceId":"e38b39d624e2fe84"},{"name":"is-page-static","duration":798425,"timestamp":412885773241,"id":97,"parentId":54,"tags":{},"startTime":1779220858020,"traceId":"e38b39d624e2fe84"},{"name":"check-page","duration":830421,"timestamp":412885741302,"id":54,"parentId":19,"tags":{"page":"/messages"},"startTime":1779220857988,"traceId":"e38b39d624e2fe84"},{"name":"is-page-static","duration":789763,"timestamp":412885784444,"id":105,"parentId":60,"tags":{},"startTime":1779220858031,"traceId":"e38b39d624e2fe84"},{"name":"check-page","duration":831656,"timestamp":412885742603,"id":60,"parentId":19,"tags":{"page":"/settings"},"startTime":1779220857989,"traceId":"e38b39d624e2fe84"},{"name":"is-page-static","duration":801236,"timestamp":412885773227,"id":96,"parentId":53,"tags":{},"startTime":1779220858019,"traceId":"e38b39d624e2fe84"},{"name":"check-page","duration":833317,"timestamp":412885741196,"id":53,"parentId":19,"tags":{"page":"/logs"},"startTime":1779220857987,"traceId":"e38b39d624e2fe84"},{"name":"is-page-static","duration":804287,"timestamp":412885773216,"id":95,"parentId":52,"tags":{},"startTime":1779220858019,"traceId":"e38b39d624e2fe84"},{"name":"check-page","duration":836486,"timestamp":412885741063,"id":52,"parentId":19,"tags":{"page":"/login"},"startTime":1779220857987,"traceId":"e38b39d624e2fe84"},{"name":"is-page-static","duration":779542,"timestamp":412885798666,"id":106,"parentId":57,"tags":{},"startTime":1779220858045,"traceId":"e38b39d624e2fe84"},{"name":"check-page","duration":836350,"timestamp":412885741897,"id":57,"parentId":19,"tags":{"page":"/"},"startTime":1779220857988,"traceId":"e38b39d624e2fe84"},{"name":"is-page-static","duration":816501,"timestamp":412885773254,"id":98,"parentId":55,"tags":{},"startTime":1779220858020,"traceId":"e38b39d624e2fe84"},{"name":"check-page","duration":848318,"timestamp":412885741499,"id":55,"parentId":19,"tags":{"page":"/node"},"startTime":1779220857988,"traceId":"e38b39d624e2fe84"},{"name":"is-page-static","duration":830313,"timestamp":412885773269,"id":99,"parentId":56,"tags":{},"startTime":1779220858020,"traceId":"e38b39d624e2fe84"},{"name":"check-page","duration":861955,"timestamp":412885741699,"id":56,"parentId":19,"tags":{"page":"/nodes"},"startTime":1779220857988,"traceId":"e38b39d624e2fe84"},{"name":"static-check","duration":874860,"timestamp":412885728845,"id":19,"parentId":1,"tags":{},"startTime":1779220857975,"traceId":"e38b39d624e2fe84"}]
2
+ [{"name":"write-routes-manifest","duration":525,"timestamp":412886613546,"id":108,"parentId":1,"tags":{},"startTime":1779220858860,"traceId":"e38b39d624e2fe84"},{"name":"load-dotenv","duration":84,"timestamp":412886627588,"id":111,"parentId":110,"tags":{},"startTime":1779220858874,"traceId":"e38b39d624e2fe84"},{"name":"run-export-path-map","duration":821,"timestamp":412886631704,"id":112,"parentId":110,"tags":{},"startTime":1779220858878,"traceId":"e38b39d624e2fe84"},{"name":"next-export","duration":656551,"timestamp":412886625712,"id":110,"parentId":1,"tags":{},"startTime":1779220858872,"traceId":"e38b39d624e2fe84"},{"name":"move-exported-app-not-found-","duration":530,"timestamp":412887285545,"id":113,"parentId":109,"tags":{},"startTime":1779220859532,"traceId":"e38b39d624e2fe84"},{"name":"move-exported-app-global-error-","duration":381,"timestamp":412887286163,"id":114,"parentId":109,"tags":{},"startTime":1779220859532,"traceId":"e38b39d624e2fe84"},{"name":"static-generation","duration":670160,"timestamp":412886618814,"id":109,"parentId":1,"tags":{},"startTime":1779220858865,"traceId":"e38b39d624e2fe84"},{"name":"write-routes-manifest","duration":517,"timestamp":412887289256,"id":115,"parentId":1,"tags":{},"startTime":1779220859536,"traceId":"e38b39d624e2fe84"},{"name":"print-tree-view","duration":5450,"timestamp":412887306743,"id":116,"parentId":1,"tags":{},"startTime":1779220859553,"traceId":"e38b39d624e2fe84"},{"name":"write-route-bundle-stats","duration":15519,"timestamp":412887312231,"id":117,"parentId":1,"tags":{},"startTime":1779220859559,"traceId":"e38b39d624e2fe84"},{"name":"telemetry-flush","duration":20633,"timestamp":412887327802,"id":118,"parentId":1,"tags":{},"startTime":1779220859574,"traceId":"e38b39d624e2fe84"},{"name":"next-build","duration":18724179,"timestamp":412868624309,"id":1,"tags":{"buildMode":"default","version":"16.2.3","bundler":"turbopack","has-custom-webpack-config":"false","use-build-worker":"true"},"startTime":1779220840871,"traceId":"e38b39d624e2fe84"}]
package/.next/trace-build CHANGED
@@ -1 +1 @@
1
- [{"name":"run-turbopack","duration":6078599,"timestamp":412470080910,"id":14,"parentId":1,"tags":{},"startTime":1779220442327,"traceId":"5c8411f7525f120e"},{"name":"turbopack-build-events","duration":112,"timestamp":412470392382,"id":15,"parentId":1,"tags":{},"startTime":1779220442639,"traceId":"5c8411f7525f120e"},{"name":"run-typescript","duration":10115239,"timestamp":412476167800,"id":16,"parentId":1,"tags":{},"startTime":1779220448414,"traceId":"5c8411f7525f120e"},{"name":"static-check","duration":856548,"timestamp":412486477652,"id":19,"parentId":1,"tags":{},"startTime":1779220458724,"traceId":"5c8411f7525f120e"},{"name":"static-generation","duration":644565,"timestamp":412487353974,"id":109,"parentId":1,"tags":{},"startTime":1779220459600,"traceId":"5c8411f7525f120e"},{"name":"telemetry-flush","duration":19697,"timestamp":412488039653,"id":118,"parentId":1,"tags":{},"startTime":1779220460286,"traceId":"5c8411f7525f120e"},{"name":"next-build","duration":18234898,"timestamp":412469824498,"id":1,"tags":{"buildMode":"default","version":"16.2.3","bundler":"turbopack","has-custom-webpack-config":"false","use-build-worker":"true"},"startTime":1779220442071,"traceId":"5c8411f7525f120e"}]
1
+ [{"name":"run-turbopack","duration":6160709,"timestamp":412868886500,"id":14,"parentId":1,"tags":{},"startTime":1779220841133,"traceId":"e38b39d624e2fe84"},{"name":"turbopack-build-events","duration":136,"timestamp":412869195822,"id":15,"parentId":1,"tags":{},"startTime":1779220841442,"traceId":"e38b39d624e2fe84"},{"name":"run-typescript","duration":10494231,"timestamp":412875055178,"id":16,"parentId":1,"tags":{},"startTime":1779220847301,"traceId":"e38b39d624e2fe84"},{"name":"static-check","duration":874860,"timestamp":412885728845,"id":19,"parentId":1,"tags":{},"startTime":1779220857975,"traceId":"e38b39d624e2fe84"},{"name":"static-generation","duration":670160,"timestamp":412886618814,"id":109,"parentId":1,"tags":{},"startTime":1779220858865,"traceId":"e38b39d624e2fe84"},{"name":"telemetry-flush","duration":20633,"timestamp":412887327802,"id":118,"parentId":1,"tags":{},"startTime":1779220859574,"traceId":"e38b39d624e2fe84"},{"name":"next-build","duration":18724179,"timestamp":412868624309,"id":1,"tags":{"buildMode":"default","version":"16.2.3","bundler":"turbopack","has-custom-webpack-config":"false","use-build-worker":"true"},"startTime":1779220840871,"traceId":"e38b39d624e2fe84"}]
@@ -4932,7 +4932,7 @@ export function TopoGraph({ sessions, sseSessions, renameSignal }: TopoGraphProp
4932
4932
  surfaces (3+ axes) append in the same shape. */
4933
4933
  data-topo-respiratory-dual-axis-surfaces={JSON.stringify([
4934
4934
  { anchor: "kicker", cadence_s: 6, axes: ["opacity", "transform-scale", "text-shadow"] },
4935
- { anchor: "zoom-level", cadence_s: 9, axes: ["opacity", "transform-scale"] },
4935
+ { anchor: "zoom-level", cadence_s: 9, axes: ["opacity", "transform-scale", "text-shadow"] },
4936
4936
  { anchor: "H2", cadence_s: 10, axes: ["opacity", "transform-scale", "text-shadow"] },
4937
4937
  { anchor: "watermark", cadence_s: 6, axes: ["opacity", "letter-spacing", "text-shadow"] },
4938
4938
  { anchor: "recent", cadence_s: 8, axes: ["opacity", "font-size"] },
@@ -5014,7 +5014,7 @@ export function TopoGraph({ sessions, sseSessions, renameSignal }: TopoGraphProp
5014
5014
  The R726 test verifies this strict subset relationship
5015
5015
  at runtime. Future triple-axis surfaces append HERE (the
5016
5016
  tier) and conditionally to the pair (only if at 6 s). */
5017
- { name: "triple-axis-tier", cadences: [6, 10], anchors: ["kicker", "watermark text", "H2 section title"], shape: "tier-multi-cadence" },
5017
+ { name: "triple-axis-tier", cadences: [6, 9, 10], anchors: ["kicker", "watermark text", "zoom-level readout", "H2 section title"], shape: "tier-multi-cadence" },
5018
5018
  ])}
5019
5019
  /* Round 720 / Loop — 4TH orthogonal meta-doc catalog: tiers.
5020
5020
  Joins R710 (cadences) + R716 (axes) + R717 (patterns) to
@@ -5089,9 +5089,10 @@ export function TopoGraph({ sessions, sseSessions, renameSignal }: TopoGraphProp
5089
5089
  triple-axis surface arrives at a different cadence and
5090
5090
  requires the pattern to be the discriminator. */
5091
5091
  data-topo-respiratory-triple-axis-surfaces={JSON.stringify([
5092
- { anchor: "kicker", cadence_s: 6, axes: ["opacity", "transform-scale", "text-shadow"] },
5093
- { anchor: "watermark", cadence_s: 6, axes: ["opacity", "letter-spacing", "text-shadow"] },
5094
- { anchor: "H2", cadence_s: 10, axes: ["opacity", "transform-scale", "text-shadow"] },
5092
+ { anchor: "kicker", cadence_s: 6, axes: ["opacity", "transform-scale", "text-shadow"] },
5093
+ { anchor: "watermark", cadence_s: 6, axes: ["opacity", "letter-spacing", "text-shadow"] },
5094
+ { anchor: "zoom-level", cadence_s: 9, axes: ["opacity", "transform-scale", "text-shadow"] },
5095
+ { anchor: "H2", cadence_s: 10, axes: ["opacity", "transform-scale", "text-shadow"] },
5095
5096
  ])}
5096
5097
  data-topo-pinned-aspect={(() => {
5097
5098
  const aspects: string[] = [];
package/app/globals.css CHANGED
@@ -1507,9 +1507,43 @@ body {
1507
1507
  without animation underneath. transform-origin defaults to center
1508
1508
  — pill scales around its own midpoint. prefers-reduced-motion:
1509
1509
  reduce also neutralizes. */
1510
+ /* Round 727 — zoom-level readout becomes the 4TH triple-axis surface and
1511
+ FIRST chrome-tier (data-tier) member to join the multi-cadence triple-
1512
+ axis tier. R703 opacity (9 s) + R715 transform-scale (9 s) joined by
1513
+ R727 text-shadow (9 s) — all 3 axes share the 9 s cadence in phase.
1514
+
1515
+ Multi-cadence triple-axis tier post-R727 (4 members across 3 cadences):
1516
+ 6 s kicker + watermark (title-block + canvas-brand tiers)
1517
+ 9 s zoom-level readout (data tier) ← this round
1518
+ 10 s H2 section title (title-block tier)
1519
+ Pattern budget extension: prior triple-axis members were all read-target
1520
+ text in primary-identity tiers (title-block + canvas-brand). R727 extends
1521
+ to the DATA tier — a chrome readout, not pure text. Justified because:
1522
+ - zoom-level's hover sig (R703 data-attr gate) is sparse: only the
1523
+ hover-tracking attr; no rich tactile axes
1524
+ - the surface is a single-tone monospace digit pill — visually quiet
1525
+ enough that a glow pulse remains subordinate to node halos
1526
+ - the chrome strip's "data tier" sub-role becomes a structural mirror
1527
+ of the title-block tier in the triple-axis context
1528
+
1529
+ Glow tuning vs prior 3 triple-axis members:
1530
+ R721 kicker blur 6 px, alpha 0.30 @ 6 s (title-block)
1531
+ R722 watermark blur 8 px, alpha 0.20 @ 6 s (canvas-brand)
1532
+ R725 H2 blur 8 px, alpha 0.22 @ 10 s (title-block)
1533
+ R727 zoom-level blur 5 px, alpha 0.25 @ 9 s (data tier) ← this round
1534
+ Smaller blur (5 px) for the smaller pill surface; mid-range alpha
1535
+ (0.25) between kicker (sharp+bright at 0.30) and H2 (medium at 0.22).
1536
+ At 9 s the glow appearance interval is ~4.5 s on each half — between
1537
+ the 3 s 6 s-pair peak and the 5 s H2 peak, matching the cadence
1538
+ interpolation.
1539
+
1540
+ Hover gate preserved: the existing R703 [data-topo-chrome-zoom-level-
1541
+ hover="true"] selector still gates the entire animation off when user
1542
+ interacts — R727's text-shadow is part of the same @keyframes block
1543
+ so it gets gated together. */
1510
1544
  @keyframes anet-topo-chrome-zoom-level-breath-kf {
1511
- 0%, 100% { opacity: 1; transform: scale(1); }
1512
- 50% { opacity: 0.85; transform: scale(0.996); }
1545
+ 0%, 100% { opacity: 1; transform: scale(1); text-shadow: none; }
1546
+ 50% { opacity: 0.85; transform: scale(0.996); text-shadow: 0 0 5px rgba(34, 211, 238, 0.25); }
1513
1547
  }
1514
1548
  .anet-topo-chrome-zoom-level-breath {
1515
1549
  animation: anet-topo-chrome-zoom-level-breath-kf 9s ease-in-out infinite;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sleep2agi/agent-network-dashboard",
3
- "version": "0.5.3-preview.240",
3
+ "version": "0.5.3-preview.241",
4
4
  "description": "Agent Network Dashboard \u2014 Web UI for managing AI Agent networks",
5
5
  "scripts": {
6
6
  "dev": "next dev",
@@ -107,7 +107,11 @@ const h2InTripleCatalog = !!h2TripleEntry
107
107
  const textShadowAnchors = Array.isArray(dualAxisCatalog)
108
108
  ? dualAxisCatalog.filter(e => Array.isArray(e.axes) && e.axes.includes('text-shadow')).map(e => e.anchor).sort()
109
109
  : [];
110
- const textShadowOnThree = JSON.stringify(textShadowAnchors) === JSON.stringify(['H2', 'kicker', 'watermark']);
110
+ /* R727 added zoom-level as the 4th text-shadow surface — H2 is still
111
+ * a member of the text-shadow set, which is what this assertion ought
112
+ * to verify (the R725-specific invariant); widen to "H2 ∈ text-shadow
113
+ * set" rather than "set == [H2, kicker, watermark]". */
114
+ const h2HasTextShadow = textShadowAnchors.includes('H2');
111
115
 
112
116
  const sixSecondAnchors = Array.isArray(tripleAxisCatalog)
113
117
  ? tripleAxisCatalog.filter(e => e.cadence_s === 6).map(e => e.anchor).sort()
@@ -123,9 +127,9 @@ const results = {
123
127
  css_class_binds_10s: cssClassBound10s,
124
128
  css_reduced_motion_guard: cssReducedMotion,
125
129
  r716_h2_three_axes: h2TripleAxes_inR716,
126
- r723_three_entries: Array.isArray(tripleAxisCatalog) && tripleAxisCatalog.length === 3,
130
+ r723_at_least_three_entries: Array.isArray(tripleAxisCatalog) && tripleAxisCatalog.length >= 3,
127
131
  r723_h2_entry: h2InTripleCatalog,
128
- text_shadow_on_three_surfaces: textShadowOnThree,
132
+ h2_has_text_shadow_axis: h2HasTextShadow,
129
133
  six_second_pair_still_intact: sixSecondPairIntact,
130
134
  };
131
135
  const ok = Object.values(results).every(Boolean);
@@ -75,9 +75,9 @@ const pairEntry = Array.isArray(patterns) ? patterns.find(p => p.name === 'tripl
75
75
  const tierEntry = Array.isArray(patterns) ? patterns.find(p => p.name === 'triple-axis-tier') : null;
76
76
 
77
77
  const tierAnchorsCorrect = tierEntry
78
- && JSON.stringify(tierEntry.anchors) === JSON.stringify(['kicker', 'watermark text', 'H2 section title']);
78
+ && JSON.stringify(tierEntry.anchors) === JSON.stringify(['kicker', 'watermark text', 'zoom-level readout', 'H2 section title']);
79
79
  const tierCadencesCorrect = tierEntry
80
- && JSON.stringify(tierEntry.cadences) === JSON.stringify([6, 10]);
80
+ && JSON.stringify(tierEntry.cadences) === JSON.stringify([6, 9, 10]);
81
81
  const tierShapeCorrect = tierEntry?.shape === 'tier-multi-cadence';
82
82
 
83
83
  const pairAnchorsSubsetOfTier = Array.isArray(pairEntry?.anchors) && Array.isArray(tierEntry?.anchors)
@@ -86,7 +86,12 @@ const pairCadencesSubsetOfTier = Array.isArray(pairEntry?.cadences) && Array.isA
86
86
  && pairEntry.cadences.every(c => tierEntry.cadences.includes(c));
87
87
 
88
88
  const r723AnchorsNormalisedSorted = Array.isArray(triple)
89
- ? triple.map(e => e.anchor === 'watermark' ? 'watermark text' : (e.anchor === 'H2' ? 'H2 section title' : e.anchor)).sort()
89
+ ? triple.map(e => {
90
+ if (e.anchor === 'watermark') return 'watermark text';
91
+ if (e.anchor === 'H2') return 'H2 section title';
92
+ if (e.anchor === 'zoom-level') return 'zoom-level readout';
93
+ return e.anchor;
94
+ }).sort()
90
95
  : [];
91
96
  const tierAnchorsSorted = tierEntry?.anchors ? [...tierEntry.anchors].sort() : [];
92
97
  const tierEqualsR723 = JSON.stringify(tierAnchorsSorted) === JSON.stringify(r723AnchorsNormalisedSorted);
@@ -94,7 +99,7 @@ const tierEqualsR723 = JSON.stringify(tierAnchorsSorted) === JSON.stringify(r723
94
99
  const results = {
95
100
  patterns_has_7_entries: Array.isArray(patterns) && patterns.length === 7,
96
101
  tier_entry_exists: !!tierEntry,
97
- tier_cadences_6_and_10: !!tierCadencesCorrect,
102
+ tier_cadences_6_9_10: !!tierCadencesCorrect,
98
103
  tier_shape_correct: tierShapeCorrect,
99
104
  tier_anchors_correct: !!tierAnchorsCorrect,
100
105
  pair_anchors_subset_of_tier: pairAnchorsSubsetOfTier,
@@ -110,9 +110,9 @@ const results = {
110
110
  attr_present: !!runtimeAttrs.triple,
111
111
  json_parses: triple !== null && parseError === null,
112
112
  is_array: Array.isArray(triple),
113
- has_3_entries: Array.isArray(triple) && triple.length === 3,
113
+ has_4_entries: Array.isArray(triple) && triple.length === 4,
114
114
  shape_valid_three_axes: validShape,
115
- anchors_match_expected: JSON.stringify(anchors) === JSON.stringify(['H2', 'kicker', 'watermark']),
115
+ anchors_match_expected: JSON.stringify(anchors) === JSON.stringify(['H2', 'kicker', 'watermark', 'zoom-level']),
116
116
  all_opacity_first: allOpacityFirst,
117
117
  all_text_shadow_third: allTextShadowThird,
118
118
  all_cadences_in_rolodex: cadencesInRolodex,
@@ -0,0 +1,143 @@
1
+ /* Round 727 — zoom-level readout becomes the 4TH triple-axis breath
2
+ * surface and FIRST chrome-tier (data-tier) member to gain text-shadow.
3
+ * R703 opacity (9 s) + R715 transform-scale (9 s) joined by R727
4
+ * text-shadow (9 s) — all 3 axes share the 9 s cadence in phase.
5
+ *
6
+ * Multi-cadence triple-axis tier post-R727 (4 members across 3 cadences):
7
+ * 6 s kicker + watermark (title-block + canvas-brand tiers)
8
+ * 9 s zoom-level readout (data tier) ← this round
9
+ * 10 s H2 section title (title-block tier)
10
+ *
11
+ * Glow tuning: blur 5 px (smaller pill surface), alpha 0.25 (mid-range
12
+ * between R721 kicker 0.30 sharp+bright and R725 H2 0.22 mellow-slow).
13
+ *
14
+ * Assertions:
15
+ * - CSS keyframes 0%/100% has opacity 1 + scale(1) + text-shadow: none
16
+ * - CSS keyframes 50% has opacity 0.85 + scale(0.996) + text-shadow 0 0 5px rgba(34,211,238,0.25)
17
+ * - .anet-topo-chrome-zoom-level-breath rule binds 9 s cadence (R703 preserved)
18
+ * - hover-gate selector still present (R703 leaf-element gate)
19
+ * - prefers-reduced-motion guard still present
20
+ * - runtime zoom-level span has the breath class
21
+ * - R716 catalog zoom-level entry axes = ["opacity", "transform-scale", "text-shadow"]
22
+ * - R723 catalog has 4 entries (was 3 pre-R727)
23
+ * - R723 catalog includes zoom-level with cadence 9 + axes triple
24
+ * - text-shadow now appears on 4 surfaces (kicker + watermark + H2 + zoom-level)
25
+ * - 6 s pair (kicker + watermark) still intact (R724 invariant)
26
+ * - R726 tier pattern cadences = [6, 9, 10] (R727 extended from [6, 10])
27
+ */
28
+ import { chromium } from 'playwright';
29
+ import { readFileSync } from 'node:fs';
30
+
31
+ const TOKEN = JSON.parse(readFileSync('/home/vansin/.anet/config.json', 'utf8')).token;
32
+ const fresh = new Date(Date.now() - 60 * 1000).toISOString();
33
+
34
+ const browser = await chromium.launch({ headless: true });
35
+ const ctx = await browser.newContext({ viewport: { width: 1500, height: 1200 } });
36
+ await ctx.addCookies([{ name: 'anet_dashboard_session', value: `v3:${TOKEN}`, domain: '127.0.0.1', path: '/' }]);
37
+ await ctx.addInitScript(() => {
38
+ try {
39
+ localStorage.setItem('anet-theme', 'cyber');
40
+ localStorage.setItem('anet-topo-layout', 'ring');
41
+ sessionStorage.setItem('anet_v3_auth', '1');
42
+ } catch {}
43
+ });
44
+ await ctx.route('**/api/hub/status*', async (route) => {
45
+ const r = await route.fetch();
46
+ const b = await r.json();
47
+ const nid = (b.sessions || [])[0]?.network_id || 'default';
48
+ const mk = (alias) => ({
49
+ alias, status: 'idle', model: 'claude-opus-4', runtime: 'claude-code-cli',
50
+ network_id: nid, project_dir: null,
51
+ created_at: fresh, updated_at: fresh, last_seen_at: fresh,
52
+ });
53
+ await route.fulfill({ response: r, json: { ...b, sessions: [mk('a·1'), mk('a·2')] } });
54
+ });
55
+ await ctx.route('**/api/hub/messages*', (r) => r.fulfill({ json: { messages: [] } }));
56
+ await ctx.route('**/api/hub/tasks*', (r) => r.fulfill({ json: { tasks: [] } }));
57
+ const page = await ctx.newPage();
58
+ await page.goto('http://127.0.0.1:3000/', { waitUntil: 'networkidle' });
59
+ await page.waitForSelector('[data-topo-chrome-zoom-level]', { timeout: 15000, state: 'attached' });
60
+ await page.waitForTimeout(300);
61
+
62
+ const runtimeState = await page.evaluate(() => {
63
+ const zl = document.querySelector('[data-topo-chrome-zoom-level]');
64
+ if (!zl) return null;
65
+ const cs = getComputedStyle(zl);
66
+ const svg = document.querySelector('[data-topo-canvas-aria]');
67
+ return {
68
+ has_class: zl.classList.contains('anet-topo-chrome-zoom-level-breath'),
69
+ anim_name: cs.animationName,
70
+ anim_duration: cs.animationDuration,
71
+ dual_axis: svg?.getAttribute('data-topo-respiratory-dual-axis-surfaces') ?? null,
72
+ triple_axis: svg?.getAttribute('data-topo-respiratory-triple-axis-surfaces') ?? null,
73
+ patterns: svg?.getAttribute('data-topo-respiratory-patterns') ?? null,
74
+ };
75
+ });
76
+
77
+ await browser.close();
78
+
79
+ const cssSrc = readFileSync('/home/vansin/agent-network-dashboard/app/globals.css', 'utf8');
80
+ const cssKf0_Triple = /@keyframes anet-topo-chrome-zoom-level-breath-kf\s*\{[\s\S]*?0%,\s*100%\s*\{[\s\S]*?opacity:\s*1[\s\S]*?transform:\s*scale\(1\)[\s\S]*?text-shadow:\s*none[\s\S]*?\}/.test(cssSrc);
81
+ const cssKf50_Triple = /@keyframes anet-topo-chrome-zoom-level-breath-kf\s*\{[\s\S]*?50%\s*\{[\s\S]*?opacity:\s*0\.85[\s\S]*?transform:\s*scale\(0\.996\)[\s\S]*?text-shadow:\s*0\s+0\s+5px\s+rgba\(34,\s*211,\s*238,\s*0\.25\)/.test(cssSrc);
82
+ const cssClassBound9s = /\.anet-topo-chrome-zoom-level-breath\s*\{[\s\S]*?animation:\s*anet-topo-chrome-zoom-level-breath-kf\s+9s\s+ease-in-out\s+infinite/.test(cssSrc);
83
+ const cssHoverGate = /\.anet-topo-chrome-zoom-level-breath\[data-topo-chrome-zoom-level-hover="true"\]\s*\{\s*animation:\s*none/.test(cssSrc);
84
+ const cssReducedMotion = /@media\s*\(prefers-reduced-motion:\s*reduce\)\s*\{[\s\S]*?\.anet-topo-chrome-zoom-level-breath\s*\{\s*animation:\s*none/.test(cssSrc);
85
+
86
+ const runtimeAnimOk = runtimeState?.anim_name === 'anet-topo-chrome-zoom-level-breath-kf' || runtimeState?.anim_name === 'none';
87
+
88
+ let dualAxisCatalog = null;
89
+ let tripleAxisCatalog = null;
90
+ let patterns = null;
91
+ try {
92
+ dualAxisCatalog = JSON.parse(runtimeState?.dual_axis ?? '');
93
+ tripleAxisCatalog = JSON.parse(runtimeState?.triple_axis ?? '');
94
+ patterns = JSON.parse(runtimeState?.patterns ?? '');
95
+ } catch {}
96
+
97
+ const zlDualEntry = Array.isArray(dualAxisCatalog) ? dualAxisCatalog.find(e => e.anchor === 'zoom-level') : null;
98
+ const zlTripleInR716 = !!zlDualEntry
99
+ && Array.isArray(zlDualEntry.axes)
100
+ && JSON.stringify(zlDualEntry.axes) === JSON.stringify(['opacity', 'transform-scale', 'text-shadow']);
101
+
102
+ const zlTripleEntry = Array.isArray(tripleAxisCatalog) ? tripleAxisCatalog.find(e => e.anchor === 'zoom-level') : null;
103
+ const zlInTripleCatalog = !!zlTripleEntry
104
+ && zlTripleEntry.cadence_s === 9
105
+ && JSON.stringify(zlTripleEntry.axes) === JSON.stringify(['opacity', 'transform-scale', 'text-shadow']);
106
+
107
+ const textShadowAnchors = Array.isArray(dualAxisCatalog)
108
+ ? dualAxisCatalog.filter(e => Array.isArray(e.axes) && e.axes.includes('text-shadow')).map(e => e.anchor).sort()
109
+ : [];
110
+ const textShadowOnFour = JSON.stringify(textShadowAnchors) === JSON.stringify(['H2', 'kicker', 'watermark', 'zoom-level']);
111
+
112
+ const sixSecondAnchors = Array.isArray(tripleAxisCatalog)
113
+ ? tripleAxisCatalog.filter(e => e.cadence_s === 6).map(e => e.anchor).sort()
114
+ : [];
115
+ const sixSecondPairIntact = JSON.stringify(sixSecondAnchors) === JSON.stringify(['kicker', 'watermark']);
116
+
117
+ const tierEntry = Array.isArray(patterns) ? patterns.find(p => p.name === 'triple-axis-tier') : null;
118
+ const tierCadences = tierEntry && JSON.stringify(tierEntry.cadences) === JSON.stringify([6, 9, 10]);
119
+
120
+ const results = {
121
+ zoom_level_present: !!runtimeState,
122
+ has_breath_class: runtimeState?.has_class === true,
123
+ runtime_anim_zl_kf: runtimeAnimOk,
124
+ css_0_100_triple_axis: cssKf0_Triple,
125
+ css_50_triple_axis_with_glow: cssKf50_Triple,
126
+ css_class_binds_9s: cssClassBound9s,
127
+ css_hover_gate_kept: cssHoverGate,
128
+ css_reduced_motion_guard: cssReducedMotion,
129
+ r716_zoom_level_three_axes: zlTripleInR716,
130
+ r723_four_entries: Array.isArray(tripleAxisCatalog) && tripleAxisCatalog.length === 4,
131
+ r723_zoom_level_entry: zlInTripleCatalog,
132
+ text_shadow_on_four_surfaces: textShadowOnFour,
133
+ six_second_pair_still_intact: sixSecondPairIntact,
134
+ r726_tier_cadences_6_9_10: !!tierCadences,
135
+ };
136
+ const ok = Object.values(results).every(Boolean);
137
+ console.log(`${ok ? '✅' : '❌'} R727 zoom-level triple-axis breath (4th triple-axis surface, 1st chrome data-tier @ 9s):`,
138
+ JSON.stringify(results, null, 2),
139
+ `\n ZL R716 entry: ${JSON.stringify(zlDualEntry)}`,
140
+ `\n ZL R723 entry: ${JSON.stringify(zlTripleEntry)}`,
141
+ `\n text-shadow surfaces: ${JSON.stringify(textShadowAnchors)}`,
142
+ `\n R726 tier cadences: ${JSON.stringify(tierEntry?.cadences)}`);
143
+ process.exit(ok ? 0 : 1);