@sleep2agi/agent-network-dashboard 0.5.3-preview.238 → 0.5.3-preview.239

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/{05_m~5qt2t9xm.js → 01su03f_5rcrd.js} +1 -1
  143. package/.next/static/chunks/{0iv86ce1e6s21.js → 05n0~r5~-ou2y.js} +1 -1
  144. package/.next/static/chunks/{03q68a906ei6i.js → 0j9354kv3o68q.js} +1 -1
  145. package/.next/static/chunks/{0j1pxmz4xhwqy.js → 0th40yvc~_2.9.js} +1 -1
  146. package/.next/static/chunks/{0pe_uuf7xb81p.css → 0xam8-c13i0hj.css} +1 -1
  147. package/.next/trace +2 -2
  148. package/.next/trace-build +1 -1
  149. package/app/components/TopoGraph.tsx +4 -3
  150. package/app/globals.css +34 -2
  151. package/package.json +1 -1
  152. package/scripts/topo-h2-triple-axis-breath-test.mjs +138 -0
  153. package/scripts/topo-r717-triple-axis-pair-pattern-test.mjs +15 -3
  154. package/scripts/topo-respiratory-triple-axis-surfaces-catalog-test.mjs +15 -4
  155. package/scripts/topo-watermark-triple-axis-breath-test.mjs +8 -3
  156. /package/.next/static/{2YVoa8xDDbeWjtB9oN-bQ → DwDrN4gYUg689hlv_u98L}/_buildManifest.js +0 -0
  157. /package/.next/static/{2YVoa8xDDbeWjtB9oN-bQ → DwDrN4gYUg689hlv_u98L}/_clientMiddlewareManifest.js +0 -0
  158. /package/.next/static/{2YVoa8xDDbeWjtB9oN-bQ → DwDrN4gYUg689hlv_u98L}/_ssgManifest.js +0 -0
package/.next/trace CHANGED
@@ -1,2 +1,2 @@
1
- [{"name":"generate-buildid","duration":289,"timestamp":411792686998,"id":4,"parentId":1,"tags":{},"startTime":1779219764933,"traceId":"24f7d7443628897a"},{"name":"load-custom-routes","duration":474,"timestamp":411792687441,"id":5,"parentId":1,"tags":{},"startTime":1779219764934,"traceId":"24f7d7443628897a"},{"name":"create-dist-dir","duration":697,"timestamp":411792687959,"id":6,"parentId":1,"tags":{},"startTime":1779219764934,"traceId":"24f7d7443628897a"},{"name":"clean","duration":30923,"timestamp":411792689372,"id":7,"parentId":1,"tags":{},"startTime":1779219764936,"traceId":"24f7d7443628897a"},{"name":"discover-routes","duration":9721,"timestamp":411792804058,"id":8,"parentId":1,"tags":{},"startTime":1779219765050,"traceId":"24f7d7443628897a"},{"name":"create-root-mapping","duration":130,"timestamp":411792813842,"id":9,"parentId":1,"tags":{},"startTime":1779219765060,"traceId":"24f7d7443628897a"},{"name":"generate-route-types","duration":32783,"timestamp":411792816874,"id":10,"parentId":1,"tags":{},"startTime":1779219765063,"traceId":"24f7d7443628897a"},{"name":"public-dir-conflict-check","duration":140,"timestamp":411792849787,"id":11,"parentId":1,"tags":{},"startTime":1779219765096,"traceId":"24f7d7443628897a"},{"name":"generate-routes-manifest","duration":4792,"timestamp":411792850127,"id":12,"parentId":1,"tags":{},"startTime":1779219765096,"traceId":"24f7d7443628897a"},{"name":"run-turbopack","duration":6200207,"timestamp":411792863562,"id":14,"parentId":1,"tags":{},"startTime":1779219765110,"traceId":"24f7d7443628897a"},{"name":"turbopack-build-events","duration":86,"timestamp":411793210274,"id":15,"parentId":1,"tags":{},"startTime":1779219765457,"traceId":"24f7d7443628897a"},{"name":"run-typescript","duration":10158302,"timestamp":411799070748,"id":16,"parentId":1,"tags":{},"startTime":1779219771317,"traceId":"24f7d7443628897a"},{"name":"generate-required-server-files","duration":3059,"timestamp":411809230156,"id":18,"parentId":1,"tags":{},"startTime":1779219781476,"traceId":"24f7d7443628897a"},{"name":"check-static-error-page","duration":12294,"timestamp":411809434836,"id":20,"parentId":19,"tags":{},"startTime":1779219781681,"traceId":"24f7d7443628897a"},{"name":"is-page-static","duration":525012,"timestamp":411809450981,"id":65,"parentId":22,"tags":{},"startTime":1779219781697,"traceId":"24f7d7443628897a"},{"name":"check-page","duration":538479,"timestamp":411809437713,"id":22,"parentId":19,"tags":{"page":"/_global-error"},"startTime":1779219781684,"traceId":"24f7d7443628897a"},{"name":"is-page-static","duration":573005,"timestamp":411809451383,"id":68,"parentId":27,"tags":{},"startTime":1779219781698,"traceId":"24f7d7443628897a"},{"name":"check-page","duration":584209,"timestamp":411809440303,"id":27,"parentId":19,"tags":{"page":"/api/auth/v3"},"startTime":1779219781687,"traceId":"24f7d7443628897a"},{"name":"is-page-static","duration":581056,"timestamp":411809451250,"id":67,"parentId":26,"tags":{},"startTime":1779219781698,"traceId":"24f7d7443628897a"},{"name":"check-page","duration":592190,"timestamp":411809440223,"id":26,"parentId":19,"tags":{"page":"/api/auth/logout"},"startTime":1779219781686,"traceId":"24f7d7443628897a"},{"name":"is-page-static","duration":610185,"timestamp":411809452195,"id":73,"parentId":33,"tags":{},"startTime":1779219781698,"traceId":"24f7d7443628897a"},{"name":"check-page","duration":621508,"timestamp":411809440955,"id":33,"parentId":19,"tags":{"page":"/api/hub/inbox"},"startTime":1779219781687,"traceId":"24f7d7443628897a"},{"name":"is-page-static","duration":611178,"timestamp":411809451497,"id":69,"parentId":28,"tags":{},"startTime":1779219781698,"traceId":"24f7d7443628897a"},{"name":"check-page","duration":622322,"timestamp":411809440393,"id":28,"parentId":19,"tags":{"page":"/api/hub/audit-log"},"startTime":1779219781687,"traceId":"24f7d7443628897a"},{"name":"is-page-static","duration":624703,"timestamp":411809452023,"id":72,"parentId":32,"tags":{},"startTime":1779219781698,"traceId":"24f7d7443628897a"},{"name":"check-page","duration":635952,"timestamp":411809440868,"id":32,"parentId":19,"tags":{"page":"/api/hub/health"},"startTime":1779219781687,"traceId":"24f7d7443628897a"},{"name":"is-page-static","duration":626571,"timestamp":411809452310,"id":75,"parentId":35,"tags":{},"startTime":1779219781699,"traceId":"24f7d7443628897a"},{"name":"check-page","duration":637745,"timestamp":411809441205,"id":35,"parentId":19,"tags":{"page":"/api/hub/messages"},"startTime":1779219781687,"traceId":"24f7d7443628897a"},{"name":"is-page-static","duration":644014,"timestamp":411809451137,"id":66,"parentId":25,"tags":{},"startTime":1779219781697,"traceId":"24f7d7443628897a"},{"name":"check-page","duration":655136,"timestamp":411809440089,"id":25,"parentId":19,"tags":{"page":"/api/auth/login"},"startTime":1779219781686,"traceId":"24f7d7443628897a"},{"name":"is-page-static","duration":643183,"timestamp":411809452277,"id":74,"parentId":34,"tags":{},"startTime":1779219781699,"traceId":"24f7d7443628897a"},{"name":"check-page","duration":654417,"timestamp":411809441093,"id":34,"parentId":19,"tags":{"page":"/api/hub/license"},"startTime":1779219781687,"traceId":"24f7d7443628897a"},{"name":"is-page-static","duration":643333,"timestamp":411809452331,"id":76,"parentId":36,"tags":{},"startTime":1779219781699,"traceId":"24f7d7443628897a"},{"name":"check-page","duration":654142,"timestamp":411809441554,"id":36,"parentId":19,"tags":{"page":"/api/hub/networks"},"startTime":1779219781688,"traceId":"24f7d7443628897a"},{"name":"is-page-static","duration":651110,"timestamp":411809451936,"id":71,"parentId":30,"tags":{},"startTime":1779219781698,"traceId":"24f7d7443628897a"},{"name":"check-page","duration":662504,"timestamp":411809440596,"id":30,"parentId":19,"tags":{"page":"/api/hub/broadcast"},"startTime":1779219781687,"traceId":"24f7d7443628897a"},{"name":"is-page-static","duration":652433,"timestamp":411809452416,"id":80,"parentId":40,"tags":{},"startTime":1779219781699,"traceId":"24f7d7443628897a"},{"name":"check-page","duration":663026,"timestamp":411809441873,"id":40,"parentId":19,"tags":{"page":"/api/hub/server-logs"},"startTime":1779219781688,"traceId":"24f7d7443628897a"},{"name":"is-page-static","duration":656430,"timestamp":411809452404,"id":79,"parentId":39,"tags":{},"startTime":1779219781699,"traceId":"24f7d7443628897a"},{"name":"check-page","duration":667074,"timestamp":411809441811,"id":39,"parentId":19,"tags":{"page":"/api/hub/send"},"startTime":1779219781688,"traceId":"24f7d7443628897a"},{"name":"is-page-static","duration":658494,"timestamp":411809452440,"id":82,"parentId":44,"tags":{},"startTime":1779219781699,"traceId":"24f7d7443628897a"},{"name":"check-page","duration":668411,"timestamp":411809442568,"id":44,"parentId":19,"tags":{"page":"/api/hub/session"},"startTime":1779219781689,"traceId":"24f7d7443628897a"},{"name":"is-page-static","duration":659638,"timestamp":411809452390,"id":78,"parentId":38,"tags":{},"startTime":1779219781699,"traceId":"24f7d7443628897a"},{"name":"check-page","duration":670319,"timestamp":411809441750,"id":38,"parentId":19,"tags":{"page":"/api/hub/register"},"startTime":1779219781688,"traceId":"24f7d7443628897a"},{"name":"is-page-static","duration":661285,"timestamp":411809452454,"id":83,"parentId":45,"tags":{},"startTime":1779219781699,"traceId":"24f7d7443628897a"},{"name":"check-page","duration":671072,"timestamp":411809442711,"id":45,"parentId":19,"tags":{"page":"/api/hub/stats"},"startTime":1779219781689,"traceId":"24f7d7443628897a"},{"name":"is-page-static","duration":664757,"timestamp":411809452469,"id":84,"parentId":46,"tags":{},"startTime":1779219781699,"traceId":"24f7d7443628897a"},{"name":"check-page","duration":674487,"timestamp":411809442802,"id":46,"parentId":19,"tags":{"page":"/api/hub/status"},"startTime":1779219781689,"traceId":"24f7d7443628897a"},{"name":"is-page-static","duration":670567,"timestamp":411809452507,"id":87,"parentId":49,"tags":{},"startTime":1779219781699,"traceId":"24f7d7443628897a"},{"name":"check-page","duration":678829,"timestamp":411809444293,"id":49,"parentId":19,"tags":{"page":"/api/hub/tmux"},"startTime":1779219781691,"traceId":"24f7d7443628897a"},{"name":"is-page-static","duration":670776,"timestamp":411809452494,"id":86,"parentId":48,"tags":{},"startTime":1779219781699,"traceId":"24f7d7443628897a"},{"name":"check-page","duration":679082,"timestamp":411809444214,"id":48,"parentId":19,"tags":{"page":"/api/hub/tasks"},"startTime":1779219781690,"traceId":"24f7d7443628897a"},{"name":"is-page-static","duration":674516,"timestamp":411809452479,"id":85,"parentId":47,"tags":{},"startTime":1779219781699,"traceId":"24f7d7443628897a"},{"name":"check-page","duration":682941,"timestamp":411809444115,"id":47,"parentId":19,"tags":{"page":"/api/hub/task-events"},"startTime":1779219781690,"traceId":"24f7d7443628897a"},{"name":"is-page-static","duration":674870,"timestamp":411809452529,"id":89,"parentId":51,"tags":{},"startTime":1779219781699,"traceId":"24f7d7443628897a"},{"name":"check-page","duration":683022,"timestamp":411809444424,"id":51,"parentId":19,"tags":{"page":"/favicon.ico"},"startTime":1779219781691,"traceId":"24f7d7443628897a"},{"name":"is-page-static","duration":680153,"timestamp":411809450586,"id":64,"parentId":21,"tags":{},"startTime":1779219781697,"traceId":"24f7d7443628897a"},{"name":"check-page","duration":694577,"timestamp":411809436208,"id":21,"parentId":19,"tags":{"page":"/_not-found"},"startTime":1779219781682,"traceId":"24f7d7443628897a"},{"name":"is-page-static","duration":671389,"timestamp":411809460995,"id":91,"parentId":31,"tags":{},"startTime":1779219781712,"traceId":"24f7d7443628897a"},{"name":"check-page","duration":691761,"timestamp":411809440670,"id":31,"parentId":19,"tags":{"page":"/api/hub/events"},"startTime":1779219781687,"traceId":"24f7d7443628897a"},{"name":"is-page-static","duration":680091,"timestamp":411809452516,"id":88,"parentId":50,"tags":{},"startTime":1779219781699,"traceId":"24f7d7443628897a"},{"name":"check-page","duration":688270,"timestamp":411809444371,"id":50,"parentId":19,"tags":{"page":"/api/hub/tokens"},"startTime":1779219781691,"traceId":"24f7d7443628897a"},{"name":"is-page-static","duration":671574,"timestamp":411809467662,"id":93,"parentId":43,"tags":{},"startTime":1779219781714,"traceId":"24f7d7443628897a"},{"name":"check-page","duration":697024,"timestamp":411809442270,"id":43,"parentId":19,"tags":{"page":"/api/hub/servers"},"startTime":1779219781689,"traceId":"24f7d7443628897a"},{"name":"is-page-static","duration":686459,"timestamp":411809459740,"id":90,"parentId":24,"tags":{},"startTime":1779219781706,"traceId":"24f7d7443628897a"},{"name":"check-page","duration":708080,"timestamp":411809438165,"id":24,"parentId":19,"tags":{"page":"/api/anet/config"},"startTime":1779219781684,"traceId":"24f7d7443628897a"},{"name":"is-page-static","duration":705509,"timestamp":411809452376,"id":77,"parentId":37,"tags":{},"startTime":1779219781699,"traceId":"24f7d7443628897a"},{"name":"check-page","duration":716283,"timestamp":411809441663,"id":37,"parentId":19,"tags":{"page":"/api/hub/nodes"},"startTime":1779219781688,"traceId":"24f7d7443628897a"},{"name":"is-page-static","duration":706402,"timestamp":411809451775,"id":70,"parentId":29,"tags":{},"startTime":1779219781698,"traceId":"24f7d7443628897a"},{"name":"check-page","duration":717740,"timestamp":411809440478,"id":29,"parentId":19,"tags":{"page":"/api/hub/auth"},"startTime":1779219781687,"traceId":"24f7d7443628897a"},{"name":"is-page-static","duration":706874,"timestamp":411809452426,"id":81,"parentId":42,"tags":{},"startTime":1779219781699,"traceId":"24f7d7443628897a"},{"name":"check-page","duration":717245,"timestamp":411809442136,"id":42,"parentId":19,"tags":{"page":"/api/hub/server/[hostname]/health"},"startTime":1779219781688,"traceId":"24f7d7443628897a"},{"name":"is-page-static","duration":722028,"timestamp":411809473084,"id":95,"parentId":52,"tags":{},"startTime":1779219781719,"traceId":"24f7d7443628897a"},{"name":"check-page","duration":750480,"timestamp":411809444711,"id":52,"parentId":19,"tags":{"page":"/login"},"startTime":1779219781691,"traceId":"24f7d7443628897a"},{"name":"is-page-static","duration":729977,"timestamp":411809473143,"id":100,"parentId":58,"tags":{},"startTime":1779219781719,"traceId":"24f7d7443628897a"},{"name":"check-page","duration":757399,"timestamp":411809445790,"id":58,"parentId":19,"tags":{"page":"/server-logs"},"startTime":1779219781692,"traceId":"24f7d7443628897a"},{"name":"is-page-static","duration":738654,"timestamp":411809473102,"id":96,"parentId":53,"tags":{},"startTime":1779219781719,"traceId":"24f7d7443628897a"},{"name":"check-page","duration":767010,"timestamp":411809444829,"id":53,"parentId":19,"tags":{"page":"/logs"},"startTime":1779219781691,"traceId":"24f7d7443628897a"},{"name":"is-page-static","duration":739034,"timestamp":411809473041,"id":94,"parentId":23,"tags":{},"startTime":1779219781719,"traceId":"24f7d7443628897a"},{"name":"check-page","duration":774233,"timestamp":411809437919,"id":23,"parentId":19,"tags":{"page":"/admin"},"startTime":1779219781684,"traceId":"24f7d7443628897a"},{"name":"is-page-static","duration":738966,"timestamp":411809473331,"id":101,"parentId":59,"tags":{},"startTime":1779219781720,"traceId":"24f7d7443628897a"},{"name":"check-page","duration":766425,"timestamp":411809445937,"id":59,"parentId":19,"tags":{"page":"/settings/networks"},"startTime":1779219781692,"traceId":"24f7d7443628897a"},{"name":"is-page-static","duration":747729,"timestamp":411809473369,"id":102,"parentId":61,"tags":{},"startTime":1779219781720,"traceId":"24f7d7443628897a"},{"name":"check-page","duration":774601,"timestamp":411809446557,"id":61,"parentId":19,"tags":{"page":"/settings/tokens"},"startTime":1779219781693,"traceId":"24f7d7443628897a"},{"name":"is-page-static","duration":735555,"timestamp":411809489579,"id":105,"parentId":57,"tags":{},"startTime":1779219781736,"traceId":"24f7d7443628897a"},{"name":"check-page","duration":779769,"timestamp":411809445418,"id":57,"parentId":19,"tags":{"page":"/"},"startTime":1779219781692,"traceId":"24f7d7443628897a"},{"name":"is-page-static","duration":754145,"timestamp":411809473394,"id":104,"parentId":63,"tags":{},"startTime":1779219781720,"traceId":"24f7d7443628897a"},{"name":"check-page","duration":780736,"timestamp":411809446858,"id":63,"parentId":19,"tags":{"page":"/tasks"},"startTime":1779219781693,"traceId":"24f7d7443628897a"},{"name":"is-page-static","duration":732512,"timestamp":411809500073,"id":106,"parentId":60,"tags":{},"startTime":1779219781746,"traceId":"24f7d7443628897a"},{"name":"check-page","duration":786518,"timestamp":411809446108,"id":60,"parentId":19,"tags":{"page":"/settings"},"startTime":1779219781692,"traceId":"24f7d7443628897a"},{"name":"is-page-static","duration":761328,"timestamp":411809473384,"id":103,"parentId":62,"tags":{},"startTime":1779219781720,"traceId":"24f7d7443628897a"},{"name":"check-page","duration":788045,"timestamp":411809446710,"id":62,"parentId":19,"tags":{"page":"/tasks/[id]"},"startTime":1779219781693,"traceId":"24f7d7443628897a"},{"name":"is-page-static","duration":768698,"timestamp":411809466254,"id":92,"parentId":41,"tags":{},"startTime":1779219781713,"traceId":"24f7d7443628897a"},{"name":"check-page","duration":793063,"timestamp":411809441932,"id":41,"parentId":19,"tags":{"page":"/api/hub/server/[hostname]/agents"},"startTime":1779219781688,"traceId":"24f7d7443628897a"},{"name":"is-page-static","duration":764277,"timestamp":411809473135,"id":99,"parentId":56,"tags":{},"startTime":1779219781719,"traceId":"24f7d7443628897a"},{"name":"check-page","duration":792212,"timestamp":411809445239,"id":56,"parentId":19,"tags":{"page":"/nodes"},"startTime":1779219781692,"traceId":"24f7d7443628897a"},{"name":"is-page-static","duration":770981,"timestamp":411809473111,"id":97,"parentId":54,"tags":{},"startTime":1779219781719,"traceId":"24f7d7443628897a"},{"name":"check-page","duration":799203,"timestamp":411809444932,"id":54,"parentId":19,"tags":{"page":"/messages"},"startTime":1779219781691,"traceId":"24f7d7443628897a"},{"name":"is-page-static","duration":801069,"timestamp":411809473123,"id":98,"parentId":55,"tags":{},"startTime":1779219781719,"traceId":"24f7d7443628897a"},{"name":"check-page","duration":829156,"timestamp":411809445084,"id":55,"parentId":19,"tags":{"page":"/node"},"startTime":1779219781691,"traceId":"24f7d7443628897a"},{"name":"static-check","duration":840464,"timestamp":411809433812,"id":19,"parentId":1,"tags":{},"startTime":1779219781680,"traceId":"24f7d7443628897a"}]
2
- [{"name":"write-routes-manifest","duration":590,"timestamp":411810284378,"id":108,"parentId":1,"tags":{},"startTime":1779219782531,"traceId":"24f7d7443628897a"},{"name":"load-dotenv","duration":52,"timestamp":411810299546,"id":111,"parentId":110,"tags":{},"startTime":1779219782546,"traceId":"24f7d7443628897a"},{"name":"run-export-path-map","duration":542,"timestamp":411810302043,"id":112,"parentId":110,"tags":{},"startTime":1779219782548,"traceId":"24f7d7443628897a"},{"name":"next-export","duration":610843,"timestamp":411810297971,"id":110,"parentId":1,"tags":{},"startTime":1779219782544,"traceId":"24f7d7443628897a"},{"name":"move-exported-app-not-found-","duration":753,"timestamp":411810913854,"id":113,"parentId":109,"tags":{},"startTime":1779219783160,"traceId":"24f7d7443628897a"},{"name":"move-exported-app-global-error-","duration":553,"timestamp":411810914751,"id":114,"parentId":109,"tags":{},"startTime":1779219783161,"traceId":"24f7d7443628897a"},{"name":"static-generation","duration":627954,"timestamp":411810289767,"id":109,"parentId":1,"tags":{},"startTime":1779219782536,"traceId":"24f7d7443628897a"},{"name":"write-routes-manifest","duration":508,"timestamp":411810918092,"id":115,"parentId":1,"tags":{},"startTime":1779219783164,"traceId":"24f7d7443628897a"},{"name":"print-tree-view","duration":5464,"timestamp":411810928315,"id":116,"parentId":1,"tags":{},"startTime":1779219783175,"traceId":"24f7d7443628897a"},{"name":"write-route-bundle-stats","duration":17172,"timestamp":411810933816,"id":117,"parentId":1,"tags":{},"startTime":1779219783180,"traceId":"24f7d7443628897a"},{"name":"telemetry-flush","duration":31397,"timestamp":411810951047,"id":118,"parentId":1,"tags":{},"startTime":1779219783197,"traceId":"24f7d7443628897a"},{"name":"next-build","duration":18348597,"timestamp":411792633884,"id":1,"tags":{"buildMode":"default","version":"16.2.3","bundler":"turbopack","has-custom-webpack-config":"false","use-build-worker":"true"},"startTime":1779219764880,"traceId":"24f7d7443628897a"}]
1
+ [{"name":"generate-buildid","duration":251,"timestamp":412154290384,"id":4,"parentId":1,"tags":{},"startTime":1779220126537,"traceId":"3b9c1d48e983b93c"},{"name":"load-custom-routes","duration":521,"timestamp":412154290776,"id":5,"parentId":1,"tags":{},"startTime":1779220126537,"traceId":"3b9c1d48e983b93c"},{"name":"create-dist-dir","duration":646,"timestamp":412154291342,"id":6,"parentId":1,"tags":{},"startTime":1779220126538,"traceId":"3b9c1d48e983b93c"},{"name":"clean","duration":32448,"timestamp":412154292824,"id":7,"parentId":1,"tags":{},"startTime":1779220126539,"traceId":"3b9c1d48e983b93c"},{"name":"discover-routes","duration":26464,"timestamp":412154403723,"id":8,"parentId":1,"tags":{},"startTime":1779220126650,"traceId":"3b9c1d48e983b93c"},{"name":"create-root-mapping","duration":138,"timestamp":412154430253,"id":9,"parentId":1,"tags":{},"startTime":1779220126677,"traceId":"3b9c1d48e983b93c"},{"name":"generate-route-types","duration":20323,"timestamp":412154433216,"id":10,"parentId":1,"tags":{},"startTime":1779220126679,"traceId":"3b9c1d48e983b93c"},{"name":"public-dir-conflict-check","duration":97,"timestamp":412154453631,"id":11,"parentId":1,"tags":{},"startTime":1779220126700,"traceId":"3b9c1d48e983b93c"},{"name":"generate-routes-manifest","duration":5650,"timestamp":412154453841,"id":12,"parentId":1,"tags":{},"startTime":1779220126700,"traceId":"3b9c1d48e983b93c"},{"name":"run-turbopack","duration":6357953,"timestamp":412154465292,"id":14,"parentId":1,"tags":{},"startTime":1779220126712,"traceId":"3b9c1d48e983b93c"},{"name":"turbopack-build-events","duration":130,"timestamp":412154798958,"id":15,"parentId":1,"tags":{},"startTime":1779220127045,"traceId":"3b9c1d48e983b93c"},{"name":"run-typescript","duration":10191944,"timestamp":412160839645,"id":16,"parentId":1,"tags":{},"startTime":1779220133086,"traceId":"3b9c1d48e983b93c"},{"name":"generate-required-server-files","duration":3824,"timestamp":412171033572,"id":18,"parentId":1,"tags":{},"startTime":1779220143280,"traceId":"3b9c1d48e983b93c"},{"name":"check-static-error-page","duration":15680,"timestamp":412171239099,"id":20,"parentId":19,"tags":{},"startTime":1779220143485,"traceId":"3b9c1d48e983b93c"},{"name":"is-page-static","duration":505685,"timestamp":412171258777,"id":65,"parentId":22,"tags":{},"startTime":1779220143505,"traceId":"3b9c1d48e983b93c"},{"name":"check-page","duration":522314,"timestamp":412171242334,"id":22,"parentId":19,"tags":{"page":"/_global-error"},"startTime":1779220143489,"traceId":"3b9c1d48e983b93c"},{"name":"is-page-static","duration":547913,"timestamp":412171259148,"id":68,"parentId":27,"tags":{},"startTime":1779220143505,"traceId":"3b9c1d48e983b93c"},{"name":"check-page","duration":561465,"timestamp":412171245702,"id":27,"parentId":19,"tags":{"page":"/api/auth/v3"},"startTime":1779220143492,"traceId":"3b9c1d48e983b93c"},{"name":"is-page-static","duration":553619,"timestamp":412171259728,"id":72,"parentId":32,"tags":{},"startTime":1779220143506,"traceId":"3b9c1d48e983b93c"},{"name":"check-page","duration":566919,"timestamp":412171246513,"id":32,"parentId":19,"tags":{"page":"/api/hub/health"},"startTime":1779220143493,"traceId":"3b9c1d48e983b93c"},{"name":"is-page-static","duration":559335,"timestamp":412171259257,"id":69,"parentId":28,"tags":{},"startTime":1779220143506,"traceId":"3b9c1d48e983b93c"},{"name":"check-page","duration":572821,"timestamp":412171245831,"id":28,"parentId":19,"tags":{"page":"/api/hub/audit-log"},"startTime":1779220143492,"traceId":"3b9c1d48e983b93c"},{"name":"is-page-static","duration":565577,"timestamp":412171259519,"id":70,"parentId":29,"tags":{},"startTime":1779220143506,"traceId":"3b9c1d48e983b93c"},{"name":"check-page","duration":579214,"timestamp":412171245953,"id":29,"parentId":19,"tags":{"page":"/api/hub/auth"},"startTime":1779220143492,"traceId":"3b9c1d48e983b93c"},{"name":"is-page-static","duration":583194,"timestamp":412171263290,"id":74,"parentId":34,"tags":{},"startTime":1779220143510,"traceId":"3b9c1d48e983b93c"},{"name":"check-page","duration":599816,"timestamp":412171246747,"id":34,"parentId":19,"tags":{"page":"/api/hub/license"},"startTime":1779220143493,"traceId":"3b9c1d48e983b93c"},{"name":"is-page-static","duration":590326,"timestamp":412171263202,"id":73,"parentId":33,"tags":{},"startTime":1779220143509,"traceId":"3b9c1d48e983b93c"},{"name":"check-page","duration":607022,"timestamp":412171246639,"id":33,"parentId":19,"tags":{"page":"/api/hub/inbox"},"startTime":1779220143493,"traceId":"3b9c1d48e983b93c"},{"name":"is-page-static","duration":600959,"timestamp":412171258357,"id":64,"parentId":21,"tags":{},"startTime":1779220143505,"traceId":"3b9c1d48e983b93c"},{"name":"check-page","duration":618663,"timestamp":412171240728,"id":21,"parentId":19,"tags":{"page":"/_not-found"},"startTime":1779220143487,"traceId":"3b9c1d48e983b93c"},{"name":"is-page-static","duration":606174,"timestamp":412171259031,"id":67,"parentId":26,"tags":{},"startTime":1779220143505,"traceId":"3b9c1d48e983b93c"},{"name":"check-page","duration":619689,"timestamp":412171245584,"id":26,"parentId":19,"tags":{"page":"/api/auth/logout"},"startTime":1779220143492,"traceId":"3b9c1d48e983b93c"},{"name":"is-page-static","duration":602140,"timestamp":412171263319,"id":75,"parentId":35,"tags":{},"startTime":1779220143510,"traceId":"3b9c1d48e983b93c"},{"name":"check-page","duration":618633,"timestamp":412171246860,"id":35,"parentId":19,"tags":{"page":"/api/hub/messages"},"startTime":1779220143493,"traceId":"3b9c1d48e983b93c"},{"name":"is-page-static","duration":612138,"timestamp":412171263409,"id":79,"parentId":39,"tags":{},"startTime":1779220143510,"traceId":"3b9c1d48e983b93c"},{"name":"check-page","duration":627791,"timestamp":412171247809,"id":39,"parentId":19,"tags":{"page":"/api/hub/send"},"startTime":1779220143494,"traceId":"3b9c1d48e983b93c"},{"name":"is-page-static","duration":622219,"timestamp":412171258913,"id":66,"parentId":25,"tags":{},"startTime":1779220143505,"traceId":"3b9c1d48e983b93c"},{"name":"check-page","duration":635778,"timestamp":412171245407,"id":25,"parentId":19,"tags":{"page":"/api/auth/login"},"startTime":1779220143492,"traceId":"3b9c1d48e983b93c"},{"name":"is-page-static","duration":621442,"timestamp":412171263422,"id":80,"parentId":40,"tags":{},"startTime":1779220143510,"traceId":"3b9c1d48e983b93c"},{"name":"check-page","duration":637003,"timestamp":412171247918,"id":40,"parentId":19,"tags":{"page":"/api/hub/server-logs"},"startTime":1779220143494,"traceId":"3b9c1d48e983b93c"},{"name":"is-page-static","duration":621914,"timestamp":412171263381,"id":77,"parentId":37,"tags":{},"startTime":1779220143510,"traceId":"3b9c1d48e983b93c"},{"name":"check-page","duration":637780,"timestamp":412171247566,"id":37,"parentId":19,"tags":{"page":"/api/hub/nodes"},"startTime":1779220143494,"traceId":"3b9c1d48e983b93c"},{"name":"is-page-static","duration":624901,"timestamp":412171263447,"id":82,"parentId":44,"tags":{},"startTime":1779220143510,"traceId":"3b9c1d48e983b93c"},{"name":"check-page","duration":639631,"timestamp":412171248777,"id":44,"parentId":19,"tags":{"page":"/api/hub/session"},"startTime":1779220143495,"traceId":"3b9c1d48e983b93c"},{"name":"is-page-static","duration":629776,"timestamp":412171263434,"id":81,"parentId":42,"tags":{},"startTime":1779220143510,"traceId":"3b9c1d48e983b93c"},{"name":"check-page","duration":644974,"timestamp":412171248292,"id":42,"parentId":19,"tags":{"page":"/api/hub/server/[hostname]/health"},"startTime":1779220143495,"traceId":"3b9c1d48e983b93c"},{"name":"is-page-static","duration":631252,"timestamp":412171263469,"id":84,"parentId":46,"tags":{},"startTime":1779220143510,"traceId":"3b9c1d48e983b93c"},{"name":"check-page","duration":644050,"timestamp":412171250734,"id":46,"parentId":19,"tags":{"page":"/api/hub/status"},"startTime":1779220143497,"traceId":"3b9c1d48e983b93c"},{"name":"is-page-static","duration":632773,"timestamp":412171263456,"id":83,"parentId":45,"tags":{},"startTime":1779220143510,"traceId":"3b9c1d48e983b93c"},{"name":"check-page","duration":647365,"timestamp":412171248913,"id":45,"parentId":19,"tags":{"page":"/api/hub/stats"},"startTime":1779220143495,"traceId":"3b9c1d48e983b93c"},{"name":"is-page-static","duration":638106,"timestamp":412171263504,"id":87,"parentId":49,"tags":{},"startTime":1779220143510,"traceId":"3b9c1d48e983b93c"},{"name":"check-page","duration":650470,"timestamp":412171251182,"id":49,"parentId":19,"tags":{"page":"/api/hub/tmux"},"startTime":1779220143497,"traceId":"3b9c1d48e983b93c"},{"name":"is-page-static","duration":639573,"timestamp":412171263517,"id":88,"parentId":50,"tags":{},"startTime":1779220143510,"traceId":"3b9c1d48e983b93c"},{"name":"check-page","duration":651866,"timestamp":412171251275,"id":50,"parentId":19,"tags":{"page":"/api/hub/tokens"},"startTime":1779220143498,"traceId":"3b9c1d48e983b93c"},{"name":"is-page-static","duration":646742,"timestamp":412171263490,"id":86,"parentId":48,"tags":{},"startTime":1779220143510,"traceId":"3b9c1d48e983b93c"},{"name":"check-page","duration":659223,"timestamp":412171251062,"id":48,"parentId":19,"tags":{"page":"/api/hub/tasks"},"startTime":1779220143497,"traceId":"3b9c1d48e983b93c"},{"name":"is-page-static","duration":647135,"timestamp":412171263340,"id":76,"parentId":36,"tags":{},"startTime":1779220143510,"traceId":"3b9c1d48e983b93c"},{"name":"check-page","duration":663136,"timestamp":412171247376,"id":36,"parentId":19,"tags":{"page":"/api/hub/networks"},"startTime":1779220143494,"traceId":"3b9c1d48e983b93c"},{"name":"is-page-static","duration":647353,"timestamp":412171263530,"id":89,"parentId":51,"tags":{},"startTime":1779220143510,"traceId":"3b9c1d48e983b93c"},{"name":"check-page","duration":659582,"timestamp":412171251355,"id":51,"parentId":19,"tags":{"page":"/favicon.ico"},"startTime":1779220143498,"traceId":"3b9c1d48e983b93c"},{"name":"is-page-static","duration":649457,"timestamp":412171267613,"id":90,"parentId":24,"tags":{},"startTime":1779220143514,"traceId":"3b9c1d48e983b93c"},{"name":"check-page","duration":674256,"timestamp":412171242870,"id":24,"parentId":19,"tags":{"page":"/api/anet/config"},"startTime":1779220143489,"traceId":"3b9c1d48e983b93c"},{"name":"is-page-static","duration":640277,"timestamp":412171278656,"id":93,"parentId":43,"tags":{},"startTime":1779220143525,"traceId":"3b9c1d48e983b93c"},{"name":"check-page","duration":670513,"timestamp":412171248469,"id":43,"parentId":19,"tags":{"page":"/api/hub/servers"},"startTime":1779220143495,"traceId":"3b9c1d48e983b93c"},{"name":"is-page-static","duration":659231,"timestamp":412171263482,"id":85,"parentId":47,"tags":{},"startTime":1779220143510,"traceId":"3b9c1d48e983b93c"},{"name":"check-page","duration":671837,"timestamp":412171250916,"id":47,"parentId":19,"tags":{"page":"/api/hub/task-events"},"startTime":1779220143497,"traceId":"3b9c1d48e983b93c"},{"name":"is-page-static","duration":664718,"timestamp":412171259668,"id":71,"parentId":30,"tags":{},"startTime":1779220143506,"traceId":"3b9c1d48e983b93c"},{"name":"check-page","duration":678325,"timestamp":412171246114,"id":30,"parentId":19,"tags":{"page":"/api/hub/broadcast"},"startTime":1779220143492,"traceId":"3b9c1d48e983b93c"},{"name":"is-page-static","duration":662429,"timestamp":412171273135,"id":92,"parentId":41,"tags":{},"startTime":1779220143519,"traceId":"3b9c1d48e983b93c"},{"name":"check-page","duration":687581,"timestamp":412171248041,"id":41,"parentId":19,"tags":{"page":"/api/hub/server/[hostname]/agents"},"startTime":1779220143494,"traceId":"3b9c1d48e983b93c"},{"name":"is-page-static","duration":666245,"timestamp":412171272217,"id":91,"parentId":31,"tags":{},"startTime":1779220143518,"traceId":"3b9c1d48e983b93c"},{"name":"check-page","duration":692266,"timestamp":412171246249,"id":31,"parentId":19,"tags":{"page":"/api/hub/events"},"startTime":1779220143493,"traceId":"3b9c1d48e983b93c"},{"name":"is-page-static","duration":690889,"timestamp":412171263399,"id":78,"parentId":38,"tags":{},"startTime":1779220143510,"traceId":"3b9c1d48e983b93c"},{"name":"check-page","duration":706650,"timestamp":412171247705,"id":38,"parentId":19,"tags":{"page":"/api/hub/register"},"startTime":1779220143494,"traceId":"3b9c1d48e983b93c"},{"name":"is-page-static","duration":677625,"timestamp":412171285073,"id":100,"parentId":58,"tags":{},"startTime":1779220143531,"traceId":"3b9c1d48e983b93c"},{"name":"check-page","duration":709425,"timestamp":412171253335,"id":58,"parentId":19,"tags":{"page":"/server-logs"},"startTime":1779220143500,"traceId":"3b9c1d48e983b93c"},{"name":"is-page-static","duration":685199,"timestamp":412171285196,"id":101,"parentId":59,"tags":{},"startTime":1779220143531,"traceId":"3b9c1d48e983b93c"},{"name":"check-page","duration":716892,"timestamp":412171253564,"id":59,"parentId":19,"tags":{"page":"/settings/networks"},"startTime":1779220143500,"traceId":"3b9c1d48e983b93c"},{"name":"is-page-static","duration":692672,"timestamp":412171285216,"id":102,"parentId":61,"tags":{},"startTime":1779220143531,"traceId":"3b9c1d48e983b93c"},{"name":"check-page","duration":723744,"timestamp":412171254219,"id":61,"parentId":19,"tags":{"page":"/settings/tokens"},"startTime":1779220143500,"traceId":"3b9c1d48e983b93c"},{"name":"is-page-static","duration":707197,"timestamp":412171285230,"id":103,"parentId":62,"tags":{},"startTime":1779220143532,"traceId":"3b9c1d48e983b93c"},{"name":"check-page","duration":738113,"timestamp":412171254379,"id":62,"parentId":19,"tags":{"page":"/tasks/[id]"},"startTime":1779220143501,"traceId":"3b9c1d48e983b93c"},{"name":"is-page-static","duration":707656,"timestamp":412171285019,"id":96,"parentId":53,"tags":{},"startTime":1779220143531,"traceId":"3b9c1d48e983b93c"},{"name":"check-page","duration":742026,"timestamp":412171251915,"id":53,"parentId":19,"tags":{"page":"/logs"},"startTime":1779220143498,"traceId":"3b9c1d48e983b93c"},{"name":"is-page-static","duration":709333,"timestamp":412171284954,"id":94,"parentId":23,"tags":{},"startTime":1779220143531,"traceId":"3b9c1d48e983b93c"},{"name":"check-page","duration":751724,"timestamp":412171242618,"id":23,"parentId":19,"tags":{"page":"/admin"},"startTime":1779220143489,"traceId":"3b9c1d48e983b93c"},{"name":"is-page-static","duration":711695,"timestamp":412171284985,"id":95,"parentId":52,"tags":{},"startTime":1779220143531,"traceId":"3b9c1d48e983b93c"},{"name":"check-page","duration":744975,"timestamp":412171251756,"id":52,"parentId":19,"tags":{"page":"/login"},"startTime":1779220143498,"traceId":"3b9c1d48e983b93c"},{"name":"is-page-static","duration":701497,"timestamp":412171298624,"id":105,"parentId":57,"tags":{},"startTime":1779220143545,"traceId":"3b9c1d48e983b93c"},{"name":"check-page","duration":747395,"timestamp":412171252762,"id":57,"parentId":19,"tags":{"page":"/"},"startTime":1779220143499,"traceId":"3b9c1d48e983b93c"},{"name":"is-page-static","duration":715652,"timestamp":412171285244,"id":104,"parentId":63,"tags":{},"startTime":1779220143532,"traceId":"3b9c1d48e983b93c"},{"name":"check-page","duration":746407,"timestamp":412171254530,"id":63,"parentId":19,"tags":{"page":"/tasks"},"startTime":1779220143501,"traceId":"3b9c1d48e983b93c"},{"name":"is-page-static","duration":696671,"timestamp":412171308423,"id":106,"parentId":60,"tags":{},"startTime":1779220143555,"traceId":"3b9c1d48e983b93c"},{"name":"check-page","duration":751394,"timestamp":412171253745,"id":60,"parentId":19,"tags":{"page":"/settings"},"startTime":1779220143500,"traceId":"3b9c1d48e983b93c"},{"name":"is-page-static","duration":737346,"timestamp":412171285060,"id":99,"parentId":56,"tags":{},"startTime":1779220143531,"traceId":"3b9c1d48e983b93c"},{"name":"check-page","duration":769937,"timestamp":412171252522,"id":56,"parentId":19,"tags":{"page":"/nodes"},"startTime":1779220143499,"traceId":"3b9c1d48e983b93c"},{"name":"is-page-static","duration":740049,"timestamp":412171285046,"id":98,"parentId":55,"tags":{},"startTime":1779220143531,"traceId":"3b9c1d48e983b93c"},{"name":"check-page","duration":772846,"timestamp":412171252298,"id":55,"parentId":19,"tags":{"page":"/node"},"startTime":1779220143499,"traceId":"3b9c1d48e983b93c"},{"name":"is-page-static","duration":752082,"timestamp":412171285033,"id":97,"parentId":54,"tags":{},"startTime":1779220143531,"traceId":"3b9c1d48e983b93c"},{"name":"check-page","duration":785077,"timestamp":412171252089,"id":54,"parentId":19,"tags":{"page":"/messages"},"startTime":1779220143498,"traceId":"3b9c1d48e983b93c"},{"name":"static-check","duration":799281,"timestamp":412171237929,"id":19,"parentId":1,"tags":{},"startTime":1779220143484,"traceId":"3b9c1d48e983b93c"}]
2
+ [{"name":"write-routes-manifest","duration":480,"timestamp":412172046613,"id":108,"parentId":1,"tags":{},"startTime":1779220144293,"traceId":"3b9c1d48e983b93c"},{"name":"load-dotenv","duration":46,"timestamp":412172058284,"id":111,"parentId":110,"tags":{},"startTime":1779220144305,"traceId":"3b9c1d48e983b93c"},{"name":"run-export-path-map","duration":530,"timestamp":412172061552,"id":112,"parentId":110,"tags":{},"startTime":1779220144308,"traceId":"3b9c1d48e983b93c"},{"name":"next-export","duration":580863,"timestamp":412172057024,"id":110,"parentId":1,"tags":{},"startTime":1779220144303,"traceId":"3b9c1d48e983b93c"},{"name":"move-exported-app-not-found-","duration":561,"timestamp":412172641161,"id":113,"parentId":109,"tags":{},"startTime":1779220144887,"traceId":"3b9c1d48e983b93c"},{"name":"move-exported-app-global-error-","duration":513,"timestamp":412172641839,"id":114,"parentId":109,"tags":{},"startTime":1779220144888,"traceId":"3b9c1d48e983b93c"},{"name":"static-generation","duration":593316,"timestamp":412172051178,"id":109,"parentId":1,"tags":{},"startTime":1779220144297,"traceId":"3b9c1d48e983b93c"},{"name":"write-routes-manifest","duration":1618,"timestamp":412172644780,"id":115,"parentId":1,"tags":{},"startTime":1779220144891,"traceId":"3b9c1d48e983b93c"},{"name":"print-tree-view","duration":4849,"timestamp":412172662357,"id":116,"parentId":1,"tags":{},"startTime":1779220144909,"traceId":"3b9c1d48e983b93c"},{"name":"write-route-bundle-stats","duration":12583,"timestamp":412172667243,"id":117,"parentId":1,"tags":{},"startTime":1779220144914,"traceId":"3b9c1d48e983b93c"},{"name":"telemetry-flush","duration":20437,"timestamp":412172679852,"id":118,"parentId":1,"tags":{},"startTime":1779220144926,"traceId":"3b9c1d48e983b93c"},{"name":"next-build","duration":18462814,"timestamp":412154237507,"id":1,"tags":{"buildMode":"default","version":"16.2.3","bundler":"turbopack","has-custom-webpack-config":"false","use-build-worker":"true"},"startTime":1779220126484,"traceId":"3b9c1d48e983b93c"}]
package/.next/trace-build CHANGED
@@ -1 +1 @@
1
- [{"name":"run-turbopack","duration":6200207,"timestamp":411792863562,"id":14,"parentId":1,"tags":{},"startTime":1779219765110,"traceId":"24f7d7443628897a"},{"name":"turbopack-build-events","duration":86,"timestamp":411793210274,"id":15,"parentId":1,"tags":{},"startTime":1779219765457,"traceId":"24f7d7443628897a"},{"name":"run-typescript","duration":10158302,"timestamp":411799070748,"id":16,"parentId":1,"tags":{},"startTime":1779219771317,"traceId":"24f7d7443628897a"},{"name":"static-check","duration":840464,"timestamp":411809433812,"id":19,"parentId":1,"tags":{},"startTime":1779219781680,"traceId":"24f7d7443628897a"},{"name":"static-generation","duration":627954,"timestamp":411810289767,"id":109,"parentId":1,"tags":{},"startTime":1779219782536,"traceId":"24f7d7443628897a"},{"name":"telemetry-flush","duration":31397,"timestamp":411810951047,"id":118,"parentId":1,"tags":{},"startTime":1779219783197,"traceId":"24f7d7443628897a"},{"name":"next-build","duration":18348597,"timestamp":411792633884,"id":1,"tags":{"buildMode":"default","version":"16.2.3","bundler":"turbopack","has-custom-webpack-config":"false","use-build-worker":"true"},"startTime":1779219764880,"traceId":"24f7d7443628897a"}]
1
+ [{"name":"run-turbopack","duration":6357953,"timestamp":412154465292,"id":14,"parentId":1,"tags":{},"startTime":1779220126712,"traceId":"3b9c1d48e983b93c"},{"name":"turbopack-build-events","duration":130,"timestamp":412154798958,"id":15,"parentId":1,"tags":{},"startTime":1779220127045,"traceId":"3b9c1d48e983b93c"},{"name":"run-typescript","duration":10191944,"timestamp":412160839645,"id":16,"parentId":1,"tags":{},"startTime":1779220133086,"traceId":"3b9c1d48e983b93c"},{"name":"static-check","duration":799281,"timestamp":412171237929,"id":19,"parentId":1,"tags":{},"startTime":1779220143484,"traceId":"3b9c1d48e983b93c"},{"name":"static-generation","duration":593316,"timestamp":412172051178,"id":109,"parentId":1,"tags":{},"startTime":1779220144297,"traceId":"3b9c1d48e983b93c"},{"name":"telemetry-flush","duration":20437,"timestamp":412172679852,"id":118,"parentId":1,"tags":{},"startTime":1779220144926,"traceId":"3b9c1d48e983b93c"},{"name":"next-build","duration":18462814,"timestamp":412154237507,"id":1,"tags":{"buildMode":"default","version":"16.2.3","bundler":"turbopack","has-custom-webpack-config":"false","use-build-worker":"true"},"startTime":1779220126484,"traceId":"3b9c1d48e983b93c"}]
@@ -4933,7 +4933,7 @@ export function TopoGraph({ sessions, sseSessions, renameSignal }: TopoGraphProp
4933
4933
  data-topo-respiratory-dual-axis-surfaces={JSON.stringify([
4934
4934
  { anchor: "kicker", cadence_s: 6, axes: ["opacity", "transform-scale", "text-shadow"] },
4935
4935
  { anchor: "zoom-level", cadence_s: 9, axes: ["opacity", "transform-scale"] },
4936
- { anchor: "H2", cadence_s: 10, axes: ["opacity", "transform-scale"] },
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"] },
4939
4939
  { anchor: "legend", cadence_s: 8, axes: ["opacity", "font-size"] },
@@ -5075,8 +5075,9 @@ export function TopoGraph({ sessions, sseSessions, renameSignal }: TopoGraphProp
5075
5075
  triple-axis surface arrives at a different cadence and
5076
5076
  requires the pattern to be the discriminator. */
5077
5077
  data-topo-respiratory-triple-axis-surfaces={JSON.stringify([
5078
- { anchor: "kicker", cadence_s: 6, axes: ["opacity", "transform-scale", "text-shadow"] },
5079
- { anchor: "watermark", cadence_s: 6, axes: ["opacity", "letter-spacing", "text-shadow"] },
5078
+ { anchor: "kicker", cadence_s: 6, axes: ["opacity", "transform-scale", "text-shadow"] },
5079
+ { anchor: "watermark", cadence_s: 6, axes: ["opacity", "letter-spacing", "text-shadow"] },
5080
+ { anchor: "H2", cadence_s: 10, axes: ["opacity", "transform-scale", "text-shadow"] },
5080
5081
  ])}
5081
5082
  data-topo-pinned-aspect={(() => {
5082
5083
  const aspects: string[] = [];
package/app/globals.css CHANGED
@@ -1423,9 +1423,41 @@ body {
1423
1423
  needing a second class or animation. Pattern budget: prefer single-
1424
1424
  axis on most anchors (visual hierarchy) and reserve dual-axis for
1425
1425
  primary identity surfaces (H2 here = first primary-identity dual). */
1426
+ /* Round 725 — H2 section title becomes the 3RD triple-axis surface,
1427
+ FIRST triple-axis member at a NON-6 s cadence (10 s). Establishes
1428
+ that the triple-axis TIER is multi-cadence rather than 6 s-locked —
1429
+ the R724 `triple-axis-pair` pattern stays valid for kicker+watermark
1430
+ at 6 s; H2 joins the triple-axis TIER as a solo 10 s member.
1431
+
1432
+ H2's prior dual-axis (R702 opacity + R711 transform-scale @ 10 s)
1433
+ gains a 3rd CSS-animated axis: text-shadow glow at 10 s in phase.
1434
+ Reads as a slow inhale glow on the section heading — calmer than
1435
+ the 6 s pair (kicker/watermark) because H2's slower cadence keeps
1436
+ the glow appearance interval at 5 s (vs 3 s for the 6 s tier).
1437
+
1438
+ Glow tuning vs kicker (R721) and watermark (R722):
1439
+ kicker blur 6 px, alpha 0.30 @ 6 s
1440
+ watermark blur 8 px, alpha 0.20 @ 6 s
1441
+ H2 blur 8 px, alpha 0.22 @ 10 s ← this round
1442
+ H2 sits between the two at alpha; its larger fontSize (section
1443
+ heading, much bigger than kicker/watermark) needs a wider blur
1444
+ (8 px to match watermark) but a slightly higher alpha than
1445
+ watermark (0.22 vs 0.20) because at H2's slower 10 s cadence the
1446
+ glow gets a longer dwell time at peak — proportionally tighter
1447
+ alpha would feel under-emphasised vs the 6 s pair's snappier peaks.
1448
+
1449
+ The triple-axis tier now has 3 members across 2 cadences:
1450
+ 6 s kicker + watermark (R724 "triple-axis-pair" pattern)
1451
+ 10 s H2 (solo)
1452
+ R725 doesn't add a new R717 pattern entry — H2 is a solo, not
1453
+ a pair. R723 catalog (triple-axis-surfaces) extends to 3 entries.
1454
+
1455
+ prefers-reduced-motion guard already in place on the existing
1456
+ R702 H2 breath class; this round's text-shadow axis joins the
1457
+ same animation rule and is neutralised by the same @media block. */
1426
1458
  @keyframes anet-topo-section-title-breath-kf {
1427
- 0%, 100% { opacity: 1; transform: scale(1); }
1428
- 50% { opacity: 0.88; transform: scale(0.997); }
1459
+ 0%, 100% { opacity: 1; transform: scale(1); text-shadow: none; }
1460
+ 50% { opacity: 0.88; transform: scale(0.997); text-shadow: 0 0 8px rgba(34, 211, 238, 0.22); }
1429
1461
  }
1430
1462
  .anet-topo-section-title-breath {
1431
1463
  animation: anet-topo-section-title-breath-kf 10s 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.238",
3
+ "version": "0.5.3-preview.239",
4
4
  "description": "Agent Network Dashboard \u2014 Web UI for managing AI Agent networks",
5
5
  "scripts": {
6
6
  "dev": "next dev",
@@ -0,0 +1,138 @@
1
+ /* Round 725 — H2 section title becomes the 3RD triple-axis breath
2
+ * surface; FIRST triple-axis member at a NON-6 s cadence (10 s).
3
+ * Establishes that the triple-axis TIER is multi-cadence rather
4
+ * than 6 s-locked. R724's `triple-axis-pair` pattern stays valid
5
+ * (kicker + watermark still pair at 6 s); H2 joins the tier as a
6
+ * solo 10 s member.
7
+ *
8
+ * H2's 3 axes (all at 10 s in phase):
9
+ * R702 opacity (1 ↔ 0.88)
10
+ * R711 transform-scale (1 ↔ 0.997)
11
+ * R725 text-shadow (none ↔ 0 0 8 px rgba(34, 211, 238, 0.22))
12
+ *
13
+ * Glow tuning: 8 px blur (matches watermark) + 0.22 alpha (between
14
+ * kicker 0.30 and watermark 0.20). Wider blur for larger fontSize;
15
+ * slightly higher alpha than watermark because at 10 s the dwell
16
+ * time at peak is longer than the 6 s pair, so a tighter alpha
17
+ * would feel under-emphasised vs the snappier 6 s peaks.
18
+ *
19
+ * Assertions:
20
+ * - CSS keyframes 0%/100% has text-shadow: none with R702 opacity 1 + R711 scale(1)
21
+ * - CSS keyframes 50% has text-shadow: 0 0 8 px rgba(34, 211, 238, 0.22)
22
+ * with R702 opacity 0.88 + R711 scale(0.997)
23
+ * - .anet-topo-section-title-breath rule still binds 10 s cadence (R702 preserved)
24
+ * - prefers-reduced-motion guard still present
25
+ * - runtime H2 has the breath class
26
+ * - R716 catalog H2 entry axes = ["opacity", "transform-scale", "text-shadow"]
27
+ * - R723 catalog has 3 entries (was 2 pre-R725)
28
+ * - R723 catalog includes H2 with cadence 10 + axes triple
29
+ * - text-shadow now appears on 3 surfaces (kicker + watermark + H2)
30
+ * - the 6 s pair (kicker + watermark) is still INTACT inside R723
31
+ */
32
+ import { chromium } from 'playwright';
33
+ import { readFileSync } from 'node:fs';
34
+
35
+ const TOKEN = JSON.parse(readFileSync('/home/vansin/.anet/config.json', 'utf8')).token;
36
+ const fresh = new Date(Date.now() - 60 * 1000).toISOString();
37
+
38
+ const browser = await chromium.launch({ headless: true });
39
+ const ctx = await browser.newContext({ viewport: { width: 1500, height: 1200 } });
40
+ await ctx.addCookies([{ name: 'anet_dashboard_session', value: `v3:${TOKEN}`, domain: '127.0.0.1', path: '/' }]);
41
+ await ctx.addInitScript(() => {
42
+ try {
43
+ localStorage.setItem('anet-theme', 'cyber');
44
+ localStorage.setItem('anet-topo-layout', 'ring');
45
+ sessionStorage.setItem('anet_v3_auth', '1');
46
+ } catch {}
47
+ });
48
+ await ctx.route('**/api/hub/status*', async (route) => {
49
+ const r = await route.fetch();
50
+ const b = await r.json();
51
+ const nid = (b.sessions || [])[0]?.network_id || 'default';
52
+ const mk = (alias) => ({
53
+ alias, status: 'idle', model: 'claude-opus-4', runtime: 'claude-code-cli',
54
+ network_id: nid, project_dir: null,
55
+ created_at: fresh, updated_at: fresh, last_seen_at: fresh,
56
+ });
57
+ await route.fulfill({ response: r, json: { ...b, sessions: [mk('a·1'), mk('a·2')] } });
58
+ });
59
+ await ctx.route('**/api/hub/messages*', (r) => r.fulfill({ json: { messages: [] } }));
60
+ await ctx.route('**/api/hub/tasks*', (r) => r.fulfill({ json: { tasks: [] } }));
61
+ const page = await ctx.newPage();
62
+ await page.goto('http://127.0.0.1:3000/', { waitUntil: 'networkidle' });
63
+ await page.waitForSelector('.anet-topo-section-title-breath', { timeout: 15000, state: 'attached' });
64
+ await page.waitForTimeout(300);
65
+
66
+ const runtimeState = await page.evaluate(() => {
67
+ const h2 = document.querySelector('.anet-topo-section-title-breath');
68
+ if (!h2) return null;
69
+ const cs = getComputedStyle(h2);
70
+ const svg = document.querySelector('[data-topo-canvas-aria]');
71
+ return {
72
+ has_class: h2.classList.contains('anet-topo-section-title-breath'),
73
+ anim_name: cs.animationName,
74
+ anim_duration: cs.animationDuration,
75
+ dual_axis: svg?.getAttribute('data-topo-respiratory-dual-axis-surfaces') ?? null,
76
+ triple_axis: svg?.getAttribute('data-topo-respiratory-triple-axis-surfaces') ?? null,
77
+ };
78
+ });
79
+
80
+ await browser.close();
81
+
82
+ const cssSrc = readFileSync('/home/vansin/agent-network-dashboard/app/globals.css', 'utf8');
83
+ const cssKf0_Triple = /@keyframes anet-topo-section-title-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);
84
+ const cssKf50_Triple = /@keyframes anet-topo-section-title-breath-kf\s*\{[\s\S]*?50%\s*\{[\s\S]*?opacity:\s*0\.88[\s\S]*?transform:\s*scale\(0\.997\)[\s\S]*?text-shadow:\s*0\s+0\s+8px\s+rgba\(34,\s*211,\s*238,\s*0\.22\)/.test(cssSrc);
85
+ const cssClassBound10s = /\.anet-topo-section-title-breath\s*\{[\s\S]*?animation:\s*anet-topo-section-title-breath-kf\s+10s\s+ease-in-out\s+infinite/.test(cssSrc);
86
+ const cssReducedMotion = /@media\s*\(prefers-reduced-motion:\s*reduce\)\s*\{[\s\S]*?\.anet-topo-section-title-breath\s*\{\s*animation:\s*none/.test(cssSrc);
87
+
88
+ const runtimeAnimOk = runtimeState?.anim_name === 'anet-topo-section-title-breath-kf' || runtimeState?.anim_name === 'none';
89
+
90
+ let dualAxisCatalog = null;
91
+ let tripleAxisCatalog = null;
92
+ try {
93
+ dualAxisCatalog = JSON.parse(runtimeState?.dual_axis ?? '');
94
+ tripleAxisCatalog = JSON.parse(runtimeState?.triple_axis ?? '');
95
+ } catch {}
96
+
97
+ const h2DualAxisEntry = Array.isArray(dualAxisCatalog) ? dualAxisCatalog.find(e => e.anchor === 'H2') : null;
98
+ const h2TripleAxes_inR716 = !!h2DualAxisEntry
99
+ && Array.isArray(h2DualAxisEntry.axes)
100
+ && JSON.stringify(h2DualAxisEntry.axes) === JSON.stringify(['opacity', 'transform-scale', 'text-shadow']);
101
+
102
+ const h2TripleEntry = Array.isArray(tripleAxisCatalog) ? tripleAxisCatalog.find(e => e.anchor === 'H2') : null;
103
+ const h2InTripleCatalog = !!h2TripleEntry
104
+ && h2TripleEntry.cadence_s === 10
105
+ && JSON.stringify(h2TripleEntry.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 textShadowOnThree = JSON.stringify(textShadowAnchors) === JSON.stringify(['H2', 'kicker', 'watermark']);
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 results = {
118
+ h2_present: !!runtimeState,
119
+ has_breath_class: runtimeState?.has_class === true,
120
+ runtime_anim_h2_kf: runtimeAnimOk,
121
+ css_0_100_triple_axis: cssKf0_Triple,
122
+ css_50_triple_axis_with_glow: cssKf50_Triple,
123
+ css_class_binds_10s: cssClassBound10s,
124
+ css_reduced_motion_guard: cssReducedMotion,
125
+ r716_h2_three_axes: h2TripleAxes_inR716,
126
+ r723_three_entries: Array.isArray(tripleAxisCatalog) && tripleAxisCatalog.length === 3,
127
+ r723_h2_entry: h2InTripleCatalog,
128
+ text_shadow_on_three_surfaces: textShadowOnThree,
129
+ six_second_pair_still_intact: sixSecondPairIntact,
130
+ };
131
+ const ok = Object.values(results).every(Boolean);
132
+ console.log(`${ok ? '✅' : '❌'} R725 H2 triple-axis breath (3rd triple-axis surface, first non-6s @ 10s):`,
133
+ JSON.stringify(results, null, 2),
134
+ `\n H2 R716 entry: ${JSON.stringify(h2DualAxisEntry)}`,
135
+ `\n H2 R723 entry: ${JSON.stringify(h2TripleEntry)}`,
136
+ `\n text-shadow surfaces: ${JSON.stringify(textShadowAnchors)}`,
137
+ `\n 6s pair: ${JSON.stringify(sixSecondAnchors)}`);
138
+ process.exit(ok ? 0 : 1);
@@ -77,11 +77,22 @@ const pairEntry = Array.isArray(patterns) ? patterns.find(p => p.name === 'tripl
77
77
  const titleBlockEntry = Array.isArray(patterns) ? patterns.find(p => p.name === 'title-block') : null;
78
78
  const canvasBrandPairEntry = Array.isArray(patterns) ? patterns.find(p => p.name === 'canvas-brand-pair') : null;
79
79
 
80
+ /* R725 extended R723 to 3 entries (H2 added at 10 s). The strict
81
+ * equality between R723's anchor set and the R717 pair anchors no
82
+ * longer holds — R723 is the full triple-axis SUPERSET now, the
83
+ * pair is a subset. Widen the cross-check: every pair anchor must
84
+ * exist in R723 (mapping watermark → watermark text), AND R723's
85
+ * 6 s subset (members with cadence_s === 6) must equal the pair. */
80
86
  const r723AnchorsNormalised = Array.isArray(triple)
81
- ? triple.map(e => e.anchor === 'watermark' ? 'watermark text' : e.anchor).sort()
87
+ ? triple.map(e => e.anchor === 'watermark' ? 'watermark text' : e.anchor)
88
+ : [];
89
+ const r723SixSecAnchorsNormalised = Array.isArray(triple)
90
+ ? triple.filter(e => e.cadence_s === 6).map(e => e.anchor === 'watermark' ? 'watermark text' : e.anchor).sort()
82
91
  : [];
83
92
  const pairAnchorsSorted = pairEntry?.anchors ? [...pairEntry.anchors].sort() : [];
84
- const crossCheckR723 = JSON.stringify(r723AnchorsNormalised) === JSON.stringify(pairAnchorsSorted);
93
+ const pairSubsetOfR723 = Array.isArray(pairEntry?.anchors)
94
+ && pairEntry.anchors.every(a => r723AnchorsNormalised.includes(a));
95
+ const r723SixSecondSubsetEqualsPair = JSON.stringify(r723SixSecAnchorsNormalised) === JSON.stringify(pairAnchorsSorted);
85
96
 
86
97
  const results = {
87
98
  patterns_has_6_entries: Array.isArray(patterns) && patterns.length === 6,
@@ -89,7 +100,8 @@ const results = {
89
100
  pair_cadences_is_6: JSON.stringify(pairEntry?.cadences) === JSON.stringify([6]),
90
101
  pair_shape_correct: pairEntry?.shape === '6s-triple-pair',
91
102
  pair_anchors_correct: JSON.stringify(pairEntry?.anchors) === JSON.stringify(['kicker', 'watermark text']),
92
- cross_check_with_r723: crossCheckR723,
103
+ pair_is_subset_of_r723: pairSubsetOfR723,
104
+ r723_6s_subset_equals_pair: r723SixSecondSubsetEqualsPair,
93
105
  kicker_also_in_title_block: Array.isArray(titleBlockEntry?.anchors) && titleBlockEntry.anchors.includes('kicker'),
94
106
  watermark_also_in_canvas_brand: Array.isArray(canvasBrandPairEntry?.anchors) && canvasBrandPairEntry.anchors.includes('watermark text'),
95
107
  };
@@ -86,7 +86,17 @@ const validShape = Array.isArray(triple)
86
86
  const anchors = Array.isArray(triple) ? triple.map(e => e.anchor).sort() : [];
87
87
  const allOpacityFirst = Array.isArray(triple) ? triple.every(e => e.axes[0] === 'opacity') : false;
88
88
  const allTextShadowThird = Array.isArray(triple) ? triple.every(e => e.axes[2] === 'text-shadow') : false;
89
- const allCadence6 = Array.isArray(triple) ? triple.every(e => e.cadence_s === 6) : false;
89
+ /* R725 added H2 at 10 s as the 3rd triple-axis surface — the tier
90
+ * is now multi-cadence rather than 6 s-locked. The 6 s pair (kicker
91
+ * + watermark) SUBSET still exists; the all-6 s invariant is retired
92
+ * in favour of "every cadence ∈ rolodex" + "6 s pair intact". */
93
+ const cadencesInRolodex = Array.isArray(triple)
94
+ ? triple.every(e => [3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 15, 17, 19, 21, 23, 25].includes(e.cadence_s))
95
+ : false;
96
+ const sixSecondAnchors = Array.isArray(triple)
97
+ ? triple.filter(e => e.cadence_s === 6).map(e => e.anchor).sort()
98
+ : [];
99
+ const sixSecondPairIntact = JSON.stringify(sixSecondAnchors) === JSON.stringify(['kicker', 'watermark']);
90
100
 
91
101
  const r716ByAnchor = new Map(Array.isArray(dualAxis)
92
102
  ? dualAxis.map(e => [e.anchor, e])
@@ -100,12 +110,13 @@ const results = {
100
110
  attr_present: !!runtimeAttrs.triple,
101
111
  json_parses: triple !== null && parseError === null,
102
112
  is_array: Array.isArray(triple),
103
- has_2_entries: Array.isArray(triple) && triple.length === 2,
113
+ has_3_entries: Array.isArray(triple) && triple.length === 3,
104
114
  shape_valid_three_axes: validShape,
105
- anchors_match_expected: JSON.stringify(anchors) === JSON.stringify(['kicker', 'watermark']),
115
+ anchors_match_expected: JSON.stringify(anchors) === JSON.stringify(['H2', 'kicker', 'watermark']),
106
116
  all_opacity_first: allOpacityFirst,
107
117
  all_text_shadow_third: allTextShadowThird,
108
- all_cadence_6s: allCadence6,
118
+ all_cadences_in_rolodex: cadencesInRolodex,
119
+ six_second_pair_intact: sixSecondPairIntact,
109
120
  back_compat_subset_of_r716: backCompatStrict,
110
121
  };
111
122
  const ok = Object.values(results).every(Boolean);
@@ -96,10 +96,15 @@ const tripleAxisSurfaces = Array.isArray(catalog)
96
96
  ? catalog.filter(e => Array.isArray(e.axes) && e.axes.length === 3)
97
97
  : [];
98
98
  const tripleAxisAnchorsSorted = tripleAxisSurfaces.map(e => e.anchor).sort();
99
+ /* R725 added H2 as a 3rd triple-axis surface at 10 s — the "6 s pair"
100
+ * subset still exists (kicker + watermark @ 6 s), but the catalog
101
+ * has 3 total entries now. Widen the assertion to verify the 6 s
102
+ * pair SUBSET is intact rather than asserting it's the whole set. */
103
+ const sixSecondMembers = tripleAxisSurfaces.filter(e => e.cadence_s === 6);
104
+ const sixSecondAnchorsSorted = sixSecondMembers.map(e => e.anchor).sort();
99
105
  const triple6sPair =
100
- tripleAxisSurfaces.length === 2
101
- && JSON.stringify(tripleAxisAnchorsSorted) === JSON.stringify(['kicker', 'watermark'])
102
- && tripleAxisSurfaces.every(e => e.cadence_s === 6);
106
+ sixSecondMembers.length === 2
107
+ && JSON.stringify(sixSecondAnchorsSorted) === JSON.stringify(['kicker', 'watermark']);
103
108
 
104
109
  const results = {
105
110
  watermark_present: !!runtimeState,