@sleep2agi/agent-network-dashboard 0.5.1-preview.0 → 0.5.1-preview.10
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.
- package/.next/BUILD_ID +1 -1
- package/.next/build-manifest.json +3 -3
- package/.next/diagnostics/route-bundle-stats.json +6 -6
- package/.next/fallback-build-manifest.json +3 -3
- package/.next/server/app/_global-error.html +1 -1
- package/.next/server/app/_global-error.rsc +1 -1
- package/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/_not-found.html +1 -1
- package/.next/server/app/_not-found.rsc +1 -1
- package/.next/server/app/_not-found.segments/_full.segment.rsc +1 -1
- package/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
- package/.next/server/app/_not-found.segments/_index.segment.rsc +1 -1
- package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
- package/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/admin.html +1 -1
- package/.next/server/app/admin.rsc +1 -1
- package/.next/server/app/admin.segments/_full.segment.rsc +1 -1
- package/.next/server/app/admin.segments/_head.segment.rsc +1 -1
- package/.next/server/app/admin.segments/_index.segment.rsc +1 -1
- package/.next/server/app/admin.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/admin.segments/admin/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/admin.segments/admin.segment.rsc +1 -1
- package/.next/server/app/index.html +2 -2
- package/.next/server/app/index.rsc +2 -2
- package/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
- package/.next/server/app/index.segments/_full.segment.rsc +2 -2
- package/.next/server/app/index.segments/_head.segment.rsc +1 -1
- package/.next/server/app/index.segments/_index.segment.rsc +1 -1
- package/.next/server/app/index.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/login/page_client-reference-manifest.js +1 -1
- package/.next/server/app/login.html +2 -2
- package/.next/server/app/login.rsc +2 -2
- package/.next/server/app/login.segments/_full.segment.rsc +2 -2
- package/.next/server/app/login.segments/_head.segment.rsc +1 -1
- package/.next/server/app/login.segments/_index.segment.rsc +1 -1
- package/.next/server/app/login.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/login.segments/login/__PAGE__.segment.rsc +2 -2
- package/.next/server/app/login.segments/login.segment.rsc +1 -1
- package/.next/server/app/logs.html +1 -1
- package/.next/server/app/logs.rsc +1 -1
- package/.next/server/app/logs.segments/_full.segment.rsc +1 -1
- package/.next/server/app/logs.segments/_head.segment.rsc +1 -1
- package/.next/server/app/logs.segments/_index.segment.rsc +1 -1
- package/.next/server/app/logs.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/logs.segments/logs/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/logs.segments/logs.segment.rsc +1 -1
- package/.next/server/app/messages.html +1 -1
- package/.next/server/app/messages.rsc +1 -1
- package/.next/server/app/messages.segments/_full.segment.rsc +1 -1
- package/.next/server/app/messages.segments/_head.segment.rsc +1 -1
- package/.next/server/app/messages.segments/_index.segment.rsc +1 -1
- package/.next/server/app/messages.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/messages.segments/messages/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/messages.segments/messages.segment.rsc +1 -1
- package/.next/server/app/node.html +1 -1
- package/.next/server/app/node.rsc +1 -1
- package/.next/server/app/node.segments/_full.segment.rsc +1 -1
- package/.next/server/app/node.segments/_head.segment.rsc +1 -1
- package/.next/server/app/node.segments/_index.segment.rsc +1 -1
- package/.next/server/app/node.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/node.segments/node/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/node.segments/node.segment.rsc +1 -1
- package/.next/server/app/nodes.html +1 -1
- package/.next/server/app/nodes.rsc +1 -1
- package/.next/server/app/nodes.segments/_full.segment.rsc +1 -1
- package/.next/server/app/nodes.segments/_head.segment.rsc +1 -1
- package/.next/server/app/nodes.segments/_index.segment.rsc +1 -1
- package/.next/server/app/nodes.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/nodes.segments/nodes/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/nodes.segments/nodes.segment.rsc +1 -1
- package/.next/server/app/page_client-reference-manifest.js +1 -1
- package/.next/server/app/server-logs.html +1 -1
- package/.next/server/app/server-logs.rsc +1 -1
- package/.next/server/app/server-logs.segments/_full.segment.rsc +1 -1
- package/.next/server/app/server-logs.segments/_head.segment.rsc +1 -1
- package/.next/server/app/server-logs.segments/_index.segment.rsc +1 -1
- package/.next/server/app/server-logs.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/server-logs.segments/server-logs/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/server-logs.segments/server-logs.segment.rsc +1 -1
- package/.next/server/app/settings/networks.html +1 -1
- package/.next/server/app/settings/networks.rsc +1 -1
- package/.next/server/app/settings/networks.segments/_full.segment.rsc +1 -1
- package/.next/server/app/settings/networks.segments/_head.segment.rsc +1 -1
- package/.next/server/app/settings/networks.segments/_index.segment.rsc +1 -1
- package/.next/server/app/settings/networks.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/settings/networks.segments/settings/networks/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/settings/networks.segments/settings/networks.segment.rsc +1 -1
- package/.next/server/app/settings/networks.segments/settings.segment.rsc +1 -1
- package/.next/server/app/settings/page_client-reference-manifest.js +1 -1
- package/.next/server/app/settings/tokens.html +1 -1
- package/.next/server/app/settings/tokens.rsc +1 -1
- package/.next/server/app/settings/tokens.segments/_full.segment.rsc +1 -1
- package/.next/server/app/settings/tokens.segments/_head.segment.rsc +1 -1
- package/.next/server/app/settings/tokens.segments/_index.segment.rsc +1 -1
- package/.next/server/app/settings/tokens.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/settings/tokens.segments/settings/tokens/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/settings/tokens.segments/settings/tokens.segment.rsc +1 -1
- package/.next/server/app/settings/tokens.segments/settings.segment.rsc +1 -1
- package/.next/server/app/settings.html +2 -2
- package/.next/server/app/settings.rsc +2 -2
- package/.next/server/app/settings.segments/_full.segment.rsc +2 -2
- package/.next/server/app/settings.segments/_head.segment.rsc +1 -1
- package/.next/server/app/settings.segments/_index.segment.rsc +1 -1
- package/.next/server/app/settings.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/settings.segments/settings/__PAGE__.segment.rsc +2 -2
- package/.next/server/app/settings.segments/settings.segment.rsc +1 -1
- package/.next/server/app/tasks.html +1 -1
- package/.next/server/app/tasks.rsc +1 -1
- package/.next/server/app/tasks.segments/_full.segment.rsc +1 -1
- package/.next/server/app/tasks.segments/_head.segment.rsc +1 -1
- package/.next/server/app/tasks.segments/_index.segment.rsc +1 -1
- package/.next/server/app/tasks.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/tasks.segments/tasks/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/tasks.segments/tasks.segment.rsc +1 -1
- package/.next/server/chunks/ssr/agent-network-dashboard_09kk21a._.js +3 -3
- package/.next/server/chunks/ssr/agent-network-dashboard_09kk21a._.js.map +1 -1
- package/.next/server/chunks/ssr/agent-network-dashboard_app_01jhlxz._.js +1 -1
- package/.next/server/chunks/ssr/agent-network-dashboard_app_01jhlxz._.js.map +1 -1
- package/.next/server/chunks/ssr/agent-network-dashboard_app_09d29my._.js +1 -1
- package/.next/server/chunks/ssr/agent-network-dashboard_app_09d29my._.js.map +1 -1
- package/.next/server/middleware-build-manifest.js +3 -3
- package/.next/server/pages/404.html +1 -1
- package/.next/server/pages/500.html +1 -1
- package/.next/static/chunks/0jwtl1a1lwyp5.js +1 -0
- package/.next/static/chunks/0lpe~8qw.tb2-.js +4 -0
- package/.next/static/chunks/0sl9zcww9om1e.js +1 -0
- package/.next/trace +2 -2
- package/.next/trace-build +1 -1
- package/app/components/TopoGraph.tsx +155 -17
- package/package.json +1 -1
- package/scripts/topo-active-links-freshness-color-test.mjs +86 -0
- package/scripts/topo-filter-pill-weight-test.mjs +75 -0
- package/scripts/topo-minimap-viewport-hover-test.mjs +109 -0
- package/scripts/topo-more-flows-hover-letterspacing-test.mjs +98 -0
- package/scripts/topo-more-flows-unit-test.mjs +95 -0
- package/scripts/topo-panel-count-letterspacing-test.mjs +89 -0
- package/scripts/topo-panel-rect-opacity-hover-test.mjs +109 -0
- package/scripts/topo-panel-title-hover-letterspacing-test.mjs +97 -0
- package/scripts/topo-pin-intersection-unit-test.mjs +100 -0
- package/scripts/topo-zoom-level-hover-letterspacing-test.mjs +91 -0
- package/.next/static/chunks/03v-0n3d~t1sm.js +0 -4
- package/.next/static/chunks/0vt5wron8jig5.js +0 -1
- package/.next/static/chunks/180biiw78-hb_.js +0 -1
- /package/.next/static/{ypixDJRds4g4TLoUdmrwN → O8CVuAcu03lV_emn4fTFW}/_buildManifest.js +0 -0
- /package/.next/static/{ypixDJRds4g4TLoUdmrwN → O8CVuAcu03lV_emn4fTFW}/_clientMiddlewareManifest.js +0 -0
- /package/.next/static/{ypixDJRds4g4TLoUdmrwN → O8CVuAcu03lV_emn4fTFW}/_ssgManifest.js +0 -0
package/.next/trace
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
[{"name":"generate-buildid","duration":252,"timestamp":129277071175,"id":4,"parentId":1,"tags":{},"startTime":1778937249317,"traceId":"49e8fa4d0a5e4d2a"},{"name":"load-custom-routes","duration":489,"timestamp":129277071565,"id":5,"parentId":1,"tags":{},"startTime":1778937249318,"traceId":"49e8fa4d0a5e4d2a"},{"name":"create-dist-dir","duration":665,"timestamp":129277072097,"id":6,"parentId":1,"tags":{},"startTime":1778937249318,"traceId":"49e8fa4d0a5e4d2a"},{"name":"clean","duration":36861,"timestamp":129277073464,"id":7,"parentId":1,"tags":{},"startTime":1778937249320,"traceId":"49e8fa4d0a5e4d2a"},{"name":"discover-routes","duration":24871,"timestamp":129277193814,"id":8,"parentId":1,"tags":{},"startTime":1778937249440,"traceId":"49e8fa4d0a5e4d2a"},{"name":"create-root-mapping","duration":168,"timestamp":129277218762,"id":9,"parentId":1,"tags":{},"startTime":1778937249465,"traceId":"49e8fa4d0a5e4d2a"},{"name":"generate-route-types","duration":24112,"timestamp":129277221997,"id":10,"parentId":1,"tags":{},"startTime":1778937249468,"traceId":"49e8fa4d0a5e4d2a"},{"name":"public-dir-conflict-check","duration":133,"timestamp":129277246204,"id":11,"parentId":1,"tags":{},"startTime":1778937249492,"traceId":"49e8fa4d0a5e4d2a"},{"name":"generate-routes-manifest","duration":4599,"timestamp":129277246462,"id":12,"parentId":1,"tags":{},"startTime":1778937249493,"traceId":"49e8fa4d0a5e4d2a"},{"name":"run-turbopack","duration":5887974,"timestamp":129277256291,"id":14,"parentId":1,"tags":{},"startTime":1778937249503,"traceId":"49e8fa4d0a5e4d2a"},{"name":"turbopack-build-events","duration":78,"timestamp":129277577411,"id":15,"parentId":1,"tags":{},"startTime":1778937249824,"traceId":"49e8fa4d0a5e4d2a"},{"name":"run-typescript","duration":9694194,"timestamp":129283153413,"id":16,"parentId":1,"tags":{},"startTime":1778937255400,"traceId":"49e8fa4d0a5e4d2a"},{"name":"generate-required-server-files","duration":3021,"timestamp":129292848681,"id":18,"parentId":1,"tags":{},"startTime":1778937265095,"traceId":"49e8fa4d0a5e4d2a"},{"name":"check-static-error-page","duration":13401,"timestamp":129293020831,"id":20,"parentId":19,"tags":{},"startTime":1778937265267,"traceId":"49e8fa4d0a5e4d2a"},{"name":"is-page-static","duration":506732,"timestamp":129293037371,"id":65,"parentId":22,"tags":{},"startTime":1778937265284,"traceId":"49e8fa4d0a5e4d2a"},{"name":"check-page","duration":520823,"timestamp":129293023448,"id":22,"parentId":19,"tags":{"page":"/_global-error"},"startTime":1778937265270,"traceId":"49e8fa4d0a5e4d2a"},{"name":"is-page-static","duration":557585,"timestamp":129293038727,"id":67,"parentId":26,"tags":{},"startTime":1778937265285,"traceId":"49e8fa4d0a5e4d2a"},{"name":"check-page","duration":570339,"timestamp":129293026079,"id":26,"parentId":19,"tags":{"page":"/api/auth/logout"},"startTime":1778937265272,"traceId":"49e8fa4d0a5e4d2a"},{"name":"is-page-static","duration":589702,"timestamp":129293038955,"id":69,"parentId":28,"tags":{},"startTime":1778937265285,"traceId":"49e8fa4d0a5e4d2a"},{"name":"check-page","duration":602446,"timestamp":129293026299,"id":28,"parentId":19,"tags":{"page":"/api/hub/audit-log"},"startTime":1778937265273,"traceId":"49e8fa4d0a5e4d2a"},{"name":"is-page-static","duration":593694,"timestamp":129293039496,"id":72,"parentId":32,"tags":{},"startTime":1778937265286,"traceId":"49e8fa4d0a5e4d2a"},{"name":"check-page","duration":606261,"timestamp":129293026998,"id":32,"parentId":19,"tags":{"page":"/api/hub/health"},"startTime":1778937265273,"traceId":"49e8fa4d0a5e4d2a"},{"name":"is-page-static","duration":596990,"timestamp":129293039665,"id":73,"parentId":33,"tags":{},"startTime":1778937265286,"traceId":"49e8fa4d0a5e4d2a"},{"name":"check-page","duration":609546,"timestamp":129293027167,"id":33,"parentId":19,"tags":{"page":"/api/hub/inbox"},"startTime":1778937265273,"traceId":"49e8fa4d0a5e4d2a"},{"name":"is-page-static","duration":607083,"timestamp":129293039751,"id":74,"parentId":34,"tags":{},"startTime":1778937265286,"traceId":"49e8fa4d0a5e4d2a"},{"name":"check-page","duration":619597,"timestamp":129293027308,"id":34,"parentId":19,"tags":{"page":"/api/hub/license"},"startTime":1778937265274,"traceId":"49e8fa4d0a5e4d2a"},{"name":"is-page-static","duration":613425,"timestamp":129293039809,"id":76,"parentId":36,"tags":{},"startTime":1778937265286,"traceId":"49e8fa4d0a5e4d2a"},{"name":"check-page","duration":625386,"timestamp":129293027910,"id":36,"parentId":19,"tags":{"page":"/api/hub/networks"},"startTime":1778937265274,"traceId":"49e8fa4d0a5e4d2a"},{"name":"is-page-static","duration":629195,"timestamp":129293039836,"id":77,"parentId":37,"tags":{},"startTime":1778937265286,"traceId":"49e8fa4d0a5e4d2a"},{"name":"check-page","duration":641002,"timestamp":129293028098,"id":37,"parentId":19,"tags":{"page":"/api/hub/nodes"},"startTime":1778937265274,"traceId":"49e8fa4d0a5e4d2a"},{"name":"is-page-static","duration":636040,"timestamp":129293039869,"id":78,"parentId":38,"tags":{},"startTime":1778937265286,"traceId":"49e8fa4d0a5e4d2a"},{"name":"check-page","duration":647746,"timestamp":129293028224,"id":38,"parentId":19,"tags":{"page":"/api/hub/register"},"startTime":1778937265274,"traceId":"49e8fa4d0a5e4d2a"},{"name":"is-page-static","duration":636502,"timestamp":129293039789,"id":75,"parentId":35,"tags":{},"startTime":1778937265286,"traceId":"49e8fa4d0a5e4d2a"},{"name":"check-page","duration":648881,"timestamp":129293027455,"id":35,"parentId":19,"tags":{"page":"/api/hub/messages"},"startTime":1778937265274,"traceId":"49e8fa4d0a5e4d2a"},{"name":"is-page-static","duration":638159,"timestamp":129293039882,"id":79,"parentId":39,"tags":{},"startTime":1778937265286,"traceId":"49e8fa4d0a5e4d2a"},{"name":"check-page","duration":649723,"timestamp":129293028364,"id":39,"parentId":19,"tags":{"page":"/api/hub/send"},"startTime":1778937265275,"traceId":"49e8fa4d0a5e4d2a"},{"name":"is-page-static","duration":648779,"timestamp":129293039425,"id":71,"parentId":30,"tags":{},"startTime":1778937265286,"traceId":"49e8fa4d0a5e4d2a"},{"name":"check-page","duration":661678,"timestamp":129293026574,"id":30,"parentId":19,"tags":{"page":"/api/hub/broadcast"},"startTime":1778937265273,"traceId":"49e8fa4d0a5e4d2a"},{"name":"is-page-static","duration":648553,"timestamp":129293039902,"id":81,"parentId":42,"tags":{},"startTime":1778937265286,"traceId":"49e8fa4d0a5e4d2a"},{"name":"check-page","duration":659602,"timestamp":129293028912,"id":42,"parentId":19,"tags":{"page":"/api/hub/server/[hostname]/health"},"startTime":1778937265275,"traceId":"49e8fa4d0a5e4d2a"},{"name":"is-page-static","duration":648794,"timestamp":129293039890,"id":80,"parentId":40,"tags":{},"startTime":1778937265286,"traceId":"49e8fa4d0a5e4d2a"},{"name":"check-page","duration":660222,"timestamp":129293028504,"id":40,"parentId":19,"tags":{"page":"/api/hub/server-logs"},"startTime":1778937265275,"traceId":"49e8fa4d0a5e4d2a"},{"name":"is-page-static","duration":655544,"timestamp":129293039934,"id":84,"parentId":46,"tags":{},"startTime":1778937265286,"traceId":"49e8fa4d0a5e4d2a"},{"name":"check-page","duration":665812,"timestamp":129293029710,"id":46,"parentId":19,"tags":{"page":"/api/hub/status"},"startTime":1778937265276,"traceId":"49e8fa4d0a5e4d2a"},{"name":"is-page-static","duration":656672,"timestamp":129293039925,"id":83,"parentId":45,"tags":{},"startTime":1778937265286,"traceId":"49e8fa4d0a5e4d2a"},{"name":"check-page","duration":667049,"timestamp":129293029586,"id":45,"parentId":19,"tags":{"page":"/api/hub/stats"},"startTime":1778937265276,"traceId":"49e8fa4d0a5e4d2a"},{"name":"is-page-static","duration":661820,"timestamp":129293039262,"id":70,"parentId":29,"tags":{},"startTime":1778937265286,"traceId":"49e8fa4d0a5e4d2a"},{"name":"check-page","duration":674719,"timestamp":129293026426,"id":29,"parentId":19,"tags":{"page":"/api/hub/auth"},"startTime":1778937265273,"traceId":"49e8fa4d0a5e4d2a"},{"name":"is-page-static","duration":661386,"timestamp":129293039958,"id":86,"parentId":48,"tags":{},"startTime":1778937265286,"traceId":"49e8fa4d0a5e4d2a"},{"name":"check-page","duration":671417,"timestamp":129293029973,"id":48,"parentId":19,"tags":{"page":"/api/hub/tasks"},"startTime":1778937265276,"traceId":"49e8fa4d0a5e4d2a"},{"name":"is-page-static","duration":662012,"timestamp":129293039946,"id":85,"parentId":47,"tags":{},"startTime":1778937265286,"traceId":"49e8fa4d0a5e4d2a"},{"name":"check-page","duration":672170,"timestamp":129293029829,"id":47,"parentId":19,"tags":{"page":"/api/hub/task-events"},"startTime":1778937265276,"traceId":"49e8fa4d0a5e4d2a"},{"name":"is-page-static","duration":664462,"timestamp":129293039969,"id":87,"parentId":49,"tags":{},"startTime":1778937265286,"traceId":"49e8fa4d0a5e4d2a"},{"name":"check-page","duration":674347,"timestamp":129293030128,"id":49,"parentId":19,"tags":{"page":"/api/hub/tmux"},"startTime":1778937265276,"traceId":"49e8fa4d0a5e4d2a"},{"name":"is-page-static","duration":665960,"timestamp":129293039914,"id":82,"parentId":44,"tags":{},"startTime":1778937265286,"traceId":"49e8fa4d0a5e4d2a"},{"name":"check-page","duration":676482,"timestamp":129293029438,"id":44,"parentId":19,"tags":{"page":"/api/hub/session"},"startTime":1778937265276,"traceId":"49e8fa4d0a5e4d2a"},{"name":"is-page-static","duration":667451,"timestamp":129293038834,"id":68,"parentId":27,"tags":{},"startTime":1778937265285,"traceId":"49e8fa4d0a5e4d2a"},{"name":"check-page","duration":680149,"timestamp":129293026181,"id":27,"parentId":19,"tags":{"page":"/api/auth/v3"},"startTime":1778937265272,"traceId":"49e8fa4d0a5e4d2a"},{"name":"is-page-static","duration":669676,"timestamp":129293036960,"id":64,"parentId":21,"tags":{},"startTime":1778937265283,"traceId":"49e8fa4d0a5e4d2a"},{"name":"check-page","duration":684381,"timestamp":129293022296,"id":21,"parentId":19,"tags":{"page":"/_not-found"},"startTime":1778937265269,"traceId":"49e8fa4d0a5e4d2a"},{"name":"is-page-static","duration":666880,"timestamp":129293039981,"id":88,"parentId":50,"tags":{},"startTime":1778937265286,"traceId":"49e8fa4d0a5e4d2a"},{"name":"check-page","duration":675445,"timestamp":129293031452,"id":50,"parentId":19,"tags":{"page":"/api/hub/tokens"},"startTime":1778937265278,"traceId":"49e8fa4d0a5e4d2a"},{"name":"is-page-static","duration":669828,"timestamp":129293049469,"id":92,"parentId":41,"tags":{},"startTime":1778937265296,"traceId":"49e8fa4d0a5e4d2a"},{"name":"check-page","duration":690746,"timestamp":129293028618,"id":41,"parentId":19,"tags":{"page":"/api/hub/server/[hostname]/agents"},"startTime":1778937265275,"traceId":"49e8fa4d0a5e4d2a"},{"name":"is-page-static","duration":679552,"timestamp":129293039993,"id":89,"parentId":51,"tags":{},"startTime":1778937265286,"traceId":"49e8fa4d0a5e4d2a"},{"name":"check-page","duration":688025,"timestamp":129293031557,"id":51,"parentId":19,"tags":{"page":"/favicon.ico"},"startTime":1778937265278,"traceId":"49e8fa4d0a5e4d2a"},{"name":"is-page-static","duration":692666,"timestamp":129293038577,"id":66,"parentId":25,"tags":{},"startTime":1778937265285,"traceId":"49e8fa4d0a5e4d2a"},{"name":"check-page","duration":705392,"timestamp":129293025914,"id":25,"parentId":19,"tags":{"page":"/api/auth/login"},"startTime":1778937265272,"traceId":"49e8fa4d0a5e4d2a"},{"name":"is-page-static","duration":701637,"timestamp":129293047499,"id":90,"parentId":24,"tags":{},"startTime":1778937265294,"traceId":"49e8fa4d0a5e4d2a"},{"name":"check-page","duration":725354,"timestamp":129293023858,"id":24,"parentId":19,"tags":{"page":"/api/anet/config"},"startTime":1778937265270,"traceId":"49e8fa4d0a5e4d2a"},{"name":"is-page-static","duration":705734,"timestamp":129293048608,"id":91,"parentId":31,"tags":{},"startTime":1778937265295,"traceId":"49e8fa4d0a5e4d2a"},{"name":"check-page","duration":727704,"timestamp":129293026706,"id":31,"parentId":19,"tags":{"page":"/api/hub/events"},"startTime":1778937265273,"traceId":"49e8fa4d0a5e4d2a"},{"name":"is-page-static","duration":741501,"timestamp":129293057068,"id":94,"parentId":23,"tags":{},"startTime":1778937265303,"traceId":"49e8fa4d0a5e4d2a"},{"name":"check-page","duration":774978,"timestamp":129293023662,"id":23,"parentId":19,"tags":{"page":"/admin"},"startTime":1778937265270,"traceId":"49e8fa4d0a5e4d2a"},{"name":"is-page-static","duration":746667,"timestamp":129293057107,"id":96,"parentId":53,"tags":{},"startTime":1778937265303,"traceId":"49e8fa4d0a5e4d2a"},{"name":"check-page","duration":771874,"timestamp":129293031989,"id":53,"parentId":19,"tags":{"page":"/logs"},"startTime":1778937265278,"traceId":"49e8fa4d0a5e4d2a"},{"name":"is-page-static","duration":752844,"timestamp":129293055085,"id":93,"parentId":43,"tags":{},"startTime":1778937265301,"traceId":"49e8fa4d0a5e4d2a"},{"name":"check-page","duration":778889,"timestamp":129293029097,"id":43,"parentId":19,"tags":{"page":"/api/hub/servers"},"startTime":1778937265275,"traceId":"49e8fa4d0a5e4d2a"},{"name":"is-page-static","duration":754498,"timestamp":129293057160,"id":100,"parentId":58,"tags":{},"startTime":1778937265303,"traceId":"49e8fa4d0a5e4d2a"},{"name":"check-page","duration":778681,"timestamp":129293033041,"id":58,"parentId":19,"tags":{"page":"/server-logs"},"startTime":1778937265279,"traceId":"49e8fa4d0a5e4d2a"},{"name":"is-page-static","duration":754637,"timestamp":129293057259,"id":101,"parentId":59,"tags":{},"startTime":1778937265304,"traceId":"49e8fa4d0a5e4d2a"},{"name":"check-page","duration":778665,"timestamp":129293033267,"id":59,"parentId":19,"tags":{"page":"/settings/networks"},"startTime":1778937265280,"traceId":"49e8fa4d0a5e4d2a"},{"name":"is-page-static","duration":756058,"timestamp":129293057128,"id":98,"parentId":55,"tags":{},"startTime":1778937265303,"traceId":"49e8fa4d0a5e4d2a"},{"name":"check-page","duration":780966,"timestamp":129293032278,"id":55,"parentId":19,"tags":{"page":"/node"},"startTime":1778937265279,"traceId":"49e8fa4d0a5e4d2a"},{"name":"is-page-static","duration":760557,"timestamp":129293057272,"id":102,"parentId":61,"tags":{},"startTime":1778937265304,"traceId":"49e8fa4d0a5e4d2a"},{"name":"check-page","duration":784090,"timestamp":129293033796,"id":61,"parentId":19,"tags":{"page":"/settings/tokens"},"startTime":1778937265280,"traceId":"49e8fa4d0a5e4d2a"},{"name":"is-page-static","duration":748363,"timestamp":129293072570,"id":105,"parentId":60,"tags":{},"startTime":1778937265319,"traceId":"49e8fa4d0a5e4d2a"},{"name":"check-page","duration":787522,"timestamp":129293033453,"id":60,"parentId":19,"tags":{"page":"/settings"},"startTime":1778937265280,"traceId":"49e8fa4d0a5e4d2a"},{"name":"is-page-static","duration":764236,"timestamp":129293057284,"id":103,"parentId":62,"tags":{},"startTime":1778937265304,"traceId":"49e8fa4d0a5e4d2a"},{"name":"check-page","duration":787637,"timestamp":129293033923,"id":62,"parentId":19,"tags":{"page":"/tasks/[id]"},"startTime":1778937265280,"traceId":"49e8fa4d0a5e4d2a"},{"name":"is-page-static","duration":765760,"timestamp":129293057295,"id":104,"parentId":63,"tags":{},"startTime":1778937265304,"traceId":"49e8fa4d0a5e4d2a"},{"name":"check-page","duration":789055,"timestamp":129293034043,"id":63,"parentId":19,"tags":{"page":"/tasks"},"startTime":1778937265280,"traceId":"49e8fa4d0a5e4d2a"},{"name":"is-page-static","duration":734620,"timestamp":129293090779,"id":106,"parentId":57,"tags":{},"startTime":1778937265337,"traceId":"49e8fa4d0a5e4d2a"},{"name":"check-page","duration":792856,"timestamp":129293032584,"id":57,"parentId":19,"tags":{"page":"/"},"startTime":1778937265279,"traceId":"49e8fa4d0a5e4d2a"},{"name":"is-page-static","duration":769591,"timestamp":129293057148,"id":99,"parentId":56,"tags":{},"startTime":1778937265303,"traceId":"49e8fa4d0a5e4d2a"},{"name":"check-page","duration":794360,"timestamp":129293032418,"id":56,"parentId":19,"tags":{"page":"/nodes"},"startTime":1778937265279,"traceId":"49e8fa4d0a5e4d2a"},{"name":"is-page-static","duration":778519,"timestamp":129293057094,"id":95,"parentId":52,"tags":{},"startTime":1778937265303,"traceId":"49e8fa4d0a5e4d2a"},{"name":"check-page","duration":803783,"timestamp":129293031878,"id":52,"parentId":19,"tags":{"page":"/login"},"startTime":1778937265278,"traceId":"49e8fa4d0a5e4d2a"},{"name":"is-page-static","duration":796925,"timestamp":129293057120,"id":97,"parentId":54,"tags":{},"startTime":1778937265303,"traceId":"49e8fa4d0a5e4d2a"},{"name":"check-page","duration":821969,"timestamp":129293032133,"id":54,"parentId":19,"tags":{"page":"/messages"},"startTime":1778937265278,"traceId":"49e8fa4d0a5e4d2a"},{"name":"static-check","duration":834181,"timestamp":129293019974,"id":19,"parentId":1,"tags":{},"startTime":1778937265266,"traceId":"49e8fa4d0a5e4d2a"}]
|
|
2
|
-
[{"name":"write-routes-manifest","duration":
|
|
1
|
+
[{"name":"generate-buildid","duration":245,"timestamp":132804720352,"id":4,"parentId":1,"tags":{},"startTime":1778940776967,"traceId":"70171d193e8b9bcb"},{"name":"load-custom-routes","duration":471,"timestamp":132804720750,"id":5,"parentId":1,"tags":{},"startTime":1778940776967,"traceId":"70171d193e8b9bcb"},{"name":"create-dist-dir","duration":654,"timestamp":132804721264,"id":6,"parentId":1,"tags":{},"startTime":1778940776968,"traceId":"70171d193e8b9bcb"},{"name":"clean","duration":31816,"timestamp":132804722590,"id":7,"parentId":1,"tags":{},"startTime":1778940776969,"traceId":"70171d193e8b9bcb"},{"name":"discover-routes","duration":10352,"timestamp":132804836122,"id":8,"parentId":1,"tags":{},"startTime":1778940777082,"traceId":"70171d193e8b9bcb"},{"name":"create-root-mapping","duration":169,"timestamp":132804846547,"id":9,"parentId":1,"tags":{},"startTime":1778940777093,"traceId":"70171d193e8b9bcb"},{"name":"generate-route-types","duration":20589,"timestamp":132804850281,"id":10,"parentId":1,"tags":{},"startTime":1778940777097,"traceId":"70171d193e8b9bcb"},{"name":"public-dir-conflict-check","duration":113,"timestamp":132804870952,"id":11,"parentId":1,"tags":{},"startTime":1778940777117,"traceId":"70171d193e8b9bcb"},{"name":"generate-routes-manifest","duration":4973,"timestamp":132804871175,"id":12,"parentId":1,"tags":{},"startTime":1778940777117,"traceId":"70171d193e8b9bcb"},{"name":"run-turbopack","duration":6177386,"timestamp":132804894789,"id":14,"parentId":1,"tags":{},"startTime":1778940777141,"traceId":"70171d193e8b9bcb"},{"name":"turbopack-build-events","duration":126,"timestamp":132805191940,"id":15,"parentId":1,"tags":{},"startTime":1778940777438,"traceId":"70171d193e8b9bcb"},{"name":"run-typescript","duration":9585686,"timestamp":132811081059,"id":16,"parentId":1,"tags":{},"startTime":1778940783327,"traceId":"70171d193e8b9bcb"},{"name":"generate-required-server-files","duration":2220,"timestamp":132820668042,"id":18,"parentId":1,"tags":{},"startTime":1778940792914,"traceId":"70171d193e8b9bcb"},{"name":"check-static-error-page","duration":12031,"timestamp":132820826819,"id":20,"parentId":19,"tags":{},"startTime":1778940793073,"traceId":"70171d193e8b9bcb"},{"name":"is-page-static","duration":436129,"timestamp":132820841164,"id":65,"parentId":22,"tags":{},"startTime":1778940793087,"traceId":"70171d193e8b9bcb"},{"name":"check-page","duration":448173,"timestamp":132820829287,"id":22,"parentId":19,"tags":{"page":"/_global-error"},"startTime":1778940793076,"traceId":"70171d193e8b9bcb"},{"name":"is-page-static","duration":552310,"timestamp":132820844446,"id":71,"parentId":30,"tags":{},"startTime":1778940793091,"traceId":"70171d193e8b9bcb"},{"name":"check-page","duration":564562,"timestamp":132820832314,"id":30,"parentId":19,"tags":{"page":"/api/hub/broadcast"},"startTime":1778940793079,"traceId":"70171d193e8b9bcb"},{"name":"is-page-static","duration":557584,"timestamp":132820844501,"id":72,"parentId":32,"tags":{},"startTime":1778940793091,"traceId":"70171d193e8b9bcb"},{"name":"check-page","duration":569551,"timestamp":132820832603,"id":32,"parentId":19,"tags":{"page":"/api/hub/health"},"startTime":1778940793079,"traceId":"70171d193e8b9bcb"},{"name":"is-page-static","duration":604650,"timestamp":132820843708,"id":67,"parentId":26,"tags":{},"startTime":1778940793090,"traceId":"70171d193e8b9bcb"},{"name":"check-page","duration":616508,"timestamp":132820831929,"id":26,"parentId":19,"tags":{"page":"/api/auth/logout"},"startTime":1778940793078,"traceId":"70171d193e8b9bcb"},{"name":"is-page-static","duration":606611,"timestamp":132820844646,"id":73,"parentId":33,"tags":{},"startTime":1778940793091,"traceId":"70171d193e8b9bcb"},{"name":"check-page","duration":618621,"timestamp":132820832700,"id":33,"parentId":19,"tags":{"page":"/api/hub/inbox"},"startTime":1778940793079,"traceId":"70171d193e8b9bcb"},{"name":"is-page-static","duration":609275,"timestamp":132820843876,"id":68,"parentId":27,"tags":{},"startTime":1778940793090,"traceId":"70171d193e8b9bcb"},{"name":"check-page","duration":621309,"timestamp":132820832027,"id":27,"parentId":19,"tags":{"page":"/api/auth/v3"},"startTime":1778940793078,"traceId":"70171d193e8b9bcb"},{"name":"is-page-static","duration":609606,"timestamp":132820844711,"id":74,"parentId":34,"tags":{},"startTime":1778940793091,"traceId":"70171d193e8b9bcb"},{"name":"check-page","duration":621583,"timestamp":132820832795,"id":34,"parentId":19,"tags":{"page":"/api/hub/license"},"startTime":1778940793079,"traceId":"70171d193e8b9bcb"},{"name":"is-page-static","duration":616672,"timestamp":132820844763,"id":76,"parentId":36,"tags":{},"startTime":1778940793091,"traceId":"70171d193e8b9bcb"},{"name":"check-page","duration":628446,"timestamp":132820833233,"id":36,"parentId":19,"tags":{"page":"/api/hub/networks"},"startTime":1778940793080,"traceId":"70171d193e8b9bcb"},{"name":"is-page-static","duration":621301,"timestamp":132820844746,"id":75,"parentId":35,"tags":{},"startTime":1778940793091,"traceId":"70171d193e8b9bcb"},{"name":"check-page","duration":633220,"timestamp":132820832891,"id":35,"parentId":19,"tags":{"page":"/api/hub/messages"},"startTime":1778940793079,"traceId":"70171d193e8b9bcb"},{"name":"is-page-static","duration":645127,"timestamp":132820843997,"id":69,"parentId":28,"tags":{},"startTime":1778940793090,"traceId":"70171d193e8b9bcb"},{"name":"check-page","duration":658223,"timestamp":132820832123,"id":28,"parentId":19,"tags":{"page":"/api/hub/audit-log"},"startTime":1778940793078,"traceId":"70171d193e8b9bcb"},{"name":"is-page-static","duration":645824,"timestamp":132820844787,"id":77,"parentId":37,"tags":{},"startTime":1778940793091,"traceId":"70171d193e8b9bcb"},{"name":"check-page","duration":657285,"timestamp":132820833364,"id":37,"parentId":19,"tags":{"page":"/api/hub/nodes"},"startTime":1778940793080,"traceId":"70171d193e8b9bcb"},{"name":"is-page-static","duration":646021,"timestamp":132820844809,"id":79,"parentId":39,"tags":{},"startTime":1778940793091,"traceId":"70171d193e8b9bcb"},{"name":"check-page","duration":657327,"timestamp":132820833538,"id":39,"parentId":19,"tags":{"page":"/api/hub/send"},"startTime":1778940793080,"traceId":"70171d193e8b9bcb"},{"name":"is-page-static","duration":663530,"timestamp":132820842803,"id":66,"parentId":25,"tags":{},"startTime":1778940793089,"traceId":"70171d193e8b9bcb"},{"name":"check-page","duration":674624,"timestamp":132820831779,"id":25,"parentId":19,"tags":{"page":"/api/auth/login"},"startTime":1778940793078,"traceId":"70171d193e8b9bcb"},{"name":"is-page-static","duration":678374,"timestamp":132820844832,"id":81,"parentId":42,"tags":{},"startTime":1778940793091,"traceId":"70171d193e8b9bcb"},{"name":"check-page","duration":689418,"timestamp":132820833886,"id":42,"parentId":19,"tags":{"page":"/api/hub/server/[hostname]/health"},"startTime":1778940793080,"traceId":"70171d193e8b9bcb"},{"name":"is-page-static","duration":682483,"timestamp":132820844287,"id":70,"parentId":29,"tags":{},"startTime":1778940793091,"traceId":"70171d193e8b9bcb"},{"name":"check-page","duration":694633,"timestamp":132820832206,"id":29,"parentId":19,"tags":{"page":"/api/hub/auth"},"startTime":1778940793078,"traceId":"70171d193e8b9bcb"},{"name":"is-page-static","duration":682418,"timestamp":132820844851,"id":83,"parentId":45,"tags":{},"startTime":1778940793091,"traceId":"70171d193e8b9bcb"},{"name":"check-page","duration":693009,"timestamp":132820834302,"id":45,"parentId":19,"tags":{"page":"/api/hub/stats"},"startTime":1778940793081,"traceId":"70171d193e8b9bcb"},{"name":"is-page-static","duration":688633,"timestamp":132820844820,"id":80,"parentId":40,"tags":{},"startTime":1778940793091,"traceId":"70171d193e8b9bcb"},{"name":"check-page","duration":699911,"timestamp":132820833609,"id":40,"parentId":19,"tags":{"page":"/api/hub/server-logs"},"startTime":1778940793080,"traceId":"70171d193e8b9bcb"},{"name":"is-page-static","duration":696463,"timestamp":132820840748,"id":64,"parentId":21,"tags":{},"startTime":1778940793087,"traceId":"70171d193e8b9bcb"},{"name":"check-page","duration":709128,"timestamp":132820828130,"id":21,"parentId":19,"tags":{"page":"/_not-found"},"startTime":1778940793074,"traceId":"70171d193e8b9bcb"},{"name":"is-page-static","duration":692516,"timestamp":132820844883,"id":86,"parentId":48,"tags":{},"startTime":1778940793091,"traceId":"70171d193e8b9bcb"},{"name":"check-page","duration":702908,"timestamp":132820834521,"id":48,"parentId":19,"tags":{"page":"/api/hub/tasks"},"startTime":1778940793081,"traceId":"70171d193e8b9bcb"},{"name":"is-page-static","duration":692927,"timestamp":132820844840,"id":82,"parentId":44,"tags":{},"startTime":1778940793091,"traceId":"70171d193e8b9bcb"},{"name":"check-page","duration":703599,"timestamp":132820834213,"id":44,"parentId":19,"tags":{"page":"/api/hub/session"},"startTime":1778940793080,"traceId":"70171d193e8b9bcb"},{"name":"is-page-static","duration":715188,"timestamp":132820844797,"id":78,"parentId":38,"tags":{},"startTime":1778940793091,"traceId":"70171d193e8b9bcb"},{"name":"check-page","duration":726606,"timestamp":132820833457,"id":38,"parentId":19,"tags":{"page":"/api/hub/register"},"startTime":1778940793080,"traceId":"70171d193e8b9bcb"},{"name":"is-page-static","duration":715390,"timestamp":132820844914,"id":89,"parentId":51,"tags":{},"startTime":1778940793091,"traceId":"70171d193e8b9bcb"},{"name":"check-page","duration":724300,"timestamp":132820836043,"id":51,"parentId":19,"tags":{"page":"/favicon.ico"},"startTime":1778940793082,"traceId":"70171d193e8b9bcb"},{"name":"is-page-static","duration":715829,"timestamp":132820844865,"id":84,"parentId":46,"tags":{},"startTime":1778940793091,"traceId":"70171d193e8b9bcb"},{"name":"check-page","duration":726376,"timestamp":132820834370,"id":46,"parentId":19,"tags":{"page":"/api/hub/status"},"startTime":1778940793081,"traceId":"70171d193e8b9bcb"},{"name":"is-page-static","duration":716014,"timestamp":132820844895,"id":87,"parentId":49,"tags":{},"startTime":1778940793091,"traceId":"70171d193e8b9bcb"},{"name":"check-page","duration":726325,"timestamp":132820834616,"id":49,"parentId":19,"tags":{"page":"/api/hub/tmux"},"startTime":1778940793081,"traceId":"70171d193e8b9bcb"},{"name":"is-page-static","duration":710003,"timestamp":132820851112,"id":90,"parentId":24,"tags":{},"startTime":1778940793097,"traceId":"70171d193e8b9bcb"},{"name":"check-page","duration":731453,"timestamp":132820829694,"id":24,"parentId":19,"tags":{"page":"/api/anet/config"},"startTime":1778940793076,"traceId":"70171d193e8b9bcb"},{"name":"is-page-static","duration":719148,"timestamp":132820844872,"id":85,"parentId":47,"tags":{},"startTime":1778940793091,"traceId":"70171d193e8b9bcb"},{"name":"check-page","duration":729622,"timestamp":132820834447,"id":47,"parentId":19,"tags":{"page":"/api/hub/task-events"},"startTime":1778940793081,"traceId":"70171d193e8b9bcb"},{"name":"is-page-static","duration":711328,"timestamp":132820855249,"id":93,"parentId":43,"tags":{},"startTime":1778940793102,"traceId":"70171d193e8b9bcb"},{"name":"check-page","duration":732641,"timestamp":132820833983,"id":43,"parentId":19,"tags":{"page":"/api/hub/servers"},"startTime":1778940793080,"traceId":"70171d193e8b9bcb"},{"name":"is-page-static","duration":718462,"timestamp":132820852335,"id":91,"parentId":31,"tags":{},"startTime":1778940793099,"traceId":"70171d193e8b9bcb"},{"name":"check-page","duration":738450,"timestamp":132820832396,"id":31,"parentId":19,"tags":{"page":"/api/hub/events"},"startTime":1778940793079,"traceId":"70171d193e8b9bcb"},{"name":"is-page-static","duration":729519,"timestamp":132820853205,"id":92,"parentId":41,"tags":{},"startTime":1778940793099,"traceId":"70171d193e8b9bcb"},{"name":"check-page","duration":749119,"timestamp":132820833672,"id":41,"parentId":19,"tags":{"page":"/api/hub/server/[hostname]/agents"},"startTime":1778940793080,"traceId":"70171d193e8b9bcb"},{"name":"is-page-static","duration":766178,"timestamp":132820844906,"id":88,"parentId":50,"tags":{},"startTime":1778940793091,"traceId":"70171d193e8b9bcb"},{"name":"check-page","duration":775255,"timestamp":132820835900,"id":50,"parentId":19,"tags":{"page":"/api/hub/tokens"},"startTime":1778940793082,"traceId":"70171d193e8b9bcb"},{"name":"is-page-static","duration":761771,"timestamp":132820857596,"id":100,"parentId":58,"tags":{},"startTime":1778940793104,"traceId":"70171d193e8b9bcb"},{"name":"check-page","duration":781647,"timestamp":132820837779,"id":58,"parentId":19,"tags":{"page":"/server-logs"},"startTime":1778940793084,"traceId":"70171d193e8b9bcb"},{"name":"is-page-static","duration":766861,"timestamp":132820857569,"id":98,"parentId":55,"tags":{},"startTime":1778940793104,"traceId":"70171d193e8b9bcb"},{"name":"check-page","duration":787453,"timestamp":132820837038,"id":55,"parentId":19,"tags":{"page":"/node"},"startTime":1778940793083,"traceId":"70171d193e8b9bcb"},{"name":"is-page-static","duration":769261,"timestamp":132820857712,"id":101,"parentId":59,"tags":{},"startTime":1778940793104,"traceId":"70171d193e8b9bcb"},{"name":"check-page","duration":789135,"timestamp":132820837932,"id":59,"parentId":19,"tags":{"page":"/settings/networks"},"startTime":1778940793084,"traceId":"70171d193e8b9bcb"},{"name":"is-page-static","duration":770196,"timestamp":132820857500,"id":94,"parentId":23,"tags":{},"startTime":1778940793104,"traceId":"70171d193e8b9bcb"},{"name":"check-page","duration":798241,"timestamp":132820829510,"id":23,"parentId":19,"tags":{"page":"/admin"},"startTime":1778940793076,"traceId":"70171d193e8b9bcb"},{"name":"is-page-static","duration":772731,"timestamp":132820857530,"id":95,"parentId":52,"tags":{},"startTime":1778940793104,"traceId":"70171d193e8b9bcb"},{"name":"check-page","duration":793881,"timestamp":132820836425,"id":52,"parentId":19,"tags":{"page":"/login"},"startTime":1778940793083,"traceId":"70171d193e8b9bcb"},{"name":"is-page-static","duration":772909,"timestamp":132820857546,"id":96,"parentId":53,"tags":{},"startTime":1778940793104,"traceId":"70171d193e8b9bcb"},{"name":"check-page","duration":793878,"timestamp":132820836609,"id":53,"parentId":19,"tags":{"page":"/logs"},"startTime":1778940793083,"traceId":"70171d193e8b9bcb"},{"name":"is-page-static","duration":772917,"timestamp":132820857747,"id":102,"parentId":61,"tags":{},"startTime":1778940793104,"traceId":"70171d193e8b9bcb"},{"name":"check-page","duration":792325,"timestamp":132820838377,"id":61,"parentId":19,"tags":{"page":"/settings/tokens"},"startTime":1778940793085,"traceId":"70171d193e8b9bcb"},{"name":"is-page-static","duration":778196,"timestamp":132820857773,"id":104,"parentId":63,"tags":{},"startTime":1778940793104,"traceId":"70171d193e8b9bcb"},{"name":"check-page","duration":797432,"timestamp":132820838596,"id":63,"parentId":19,"tags":{"page":"/tasks"},"startTime":1778940793085,"traceId":"70171d193e8b9bcb"},{"name":"is-page-static","duration":757246,"timestamp":132820880077,"id":106,"parentId":57,"tags":{},"startTime":1778940793126,"traceId":"70171d193e8b9bcb"},{"name":"check-page","duration":799982,"timestamp":132820837379,"id":57,"parentId":19,"tags":{"page":"/"},"startTime":1778940793084,"traceId":"70171d193e8b9bcb"},{"name":"is-page-static","duration":770234,"timestamp":132820868273,"id":105,"parentId":60,"tags":{},"startTime":1778940793115,"traceId":"70171d193e8b9bcb"},{"name":"check-page","duration":800462,"timestamp":132820838078,"id":60,"parentId":19,"tags":{"page":"/settings"},"startTime":1778940793084,"traceId":"70171d193e8b9bcb"},{"name":"is-page-static","duration":781722,"timestamp":132820857763,"id":103,"parentId":62,"tags":{},"startTime":1778940793104,"traceId":"70171d193e8b9bcb"},{"name":"check-page","duration":801019,"timestamp":132820838486,"id":62,"parentId":19,"tags":{"page":"/tasks/[id]"},"startTime":1778940793085,"traceId":"70171d193e8b9bcb"},{"name":"is-page-static","duration":795257,"timestamp":132820857556,"id":97,"parentId":54,"tags":{},"startTime":1778940793104,"traceId":"70171d193e8b9bcb"},{"name":"check-page","duration":816053,"timestamp":132820836792,"id":54,"parentId":19,"tags":{"page":"/messages"},"startTime":1778940793083,"traceId":"70171d193e8b9bcb"},{"name":"is-page-static","duration":799792,"timestamp":132820857582,"id":99,"parentId":56,"tags":{},"startTime":1778940793104,"traceId":"70171d193e8b9bcb"},{"name":"check-page","duration":820201,"timestamp":132820837205,"id":56,"parentId":19,"tags":{"page":"/nodes"},"startTime":1778940793083,"traceId":"70171d193e8b9bcb"},{"name":"static-check","duration":831878,"timestamp":132820825662,"id":19,"parentId":1,"tags":{},"startTime":1778940793072,"traceId":"70171d193e8b9bcb"}]
|
|
2
|
+
[{"name":"write-routes-manifest","duration":536,"timestamp":132821665879,"id":108,"parentId":1,"tags":{},"startTime":1778940793912,"traceId":"70171d193e8b9bcb"},{"name":"load-dotenv","duration":44,"timestamp":132821679079,"id":111,"parentId":110,"tags":{},"startTime":1778940793925,"traceId":"70171d193e8b9bcb"},{"name":"run-export-path-map","duration":570,"timestamp":132821681805,"id":112,"parentId":110,"tags":{},"startTime":1778940793928,"traceId":"70171d193e8b9bcb"},{"name":"next-export","duration":571462,"timestamp":132821677898,"id":110,"parentId":1,"tags":{},"startTime":1778940793924,"traceId":"70171d193e8b9bcb"},{"name":"move-exported-app-not-found-","duration":560,"timestamp":132822253592,"id":113,"parentId":109,"tags":{},"startTime":1778940794500,"traceId":"70171d193e8b9bcb"},{"name":"move-exported-app-global-error-","duration":394,"timestamp":132822254246,"id":114,"parentId":109,"tags":{},"startTime":1778940794501,"traceId":"70171d193e8b9bcb"},{"name":"static-generation","duration":585693,"timestamp":132821671111,"id":109,"parentId":1,"tags":{},"startTime":1778940793917,"traceId":"70171d193e8b9bcb"},{"name":"write-routes-manifest","duration":376,"timestamp":132822257058,"id":115,"parentId":1,"tags":{},"startTime":1778940794503,"traceId":"70171d193e8b9bcb"},{"name":"print-tree-view","duration":3994,"timestamp":132822277787,"id":116,"parentId":1,"tags":{},"startTime":1778940794524,"traceId":"70171d193e8b9bcb"},{"name":"write-route-bundle-stats","duration":14733,"timestamp":132822281819,"id":117,"parentId":1,"tags":{},"startTime":1778940794528,"traceId":"70171d193e8b9bcb"},{"name":"telemetry-flush","duration":13499,"timestamp":132822296586,"id":118,"parentId":1,"tags":{},"startTime":1778940794543,"traceId":"70171d193e8b9bcb"},{"name":"next-build","duration":17641557,"timestamp":132804668556,"id":1,"tags":{"buildMode":"default","version":"16.2.3","bundler":"turbopack","has-custom-webpack-config":"false","use-build-worker":"true"},"startTime":1778940776915,"traceId":"70171d193e8b9bcb"}]
|
package/.next/trace-build
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
[{"name":"run-turbopack","duration":
|
|
1
|
+
[{"name":"run-turbopack","duration":6177386,"timestamp":132804894789,"id":14,"parentId":1,"tags":{},"startTime":1778940777141,"traceId":"70171d193e8b9bcb"},{"name":"turbopack-build-events","duration":126,"timestamp":132805191940,"id":15,"parentId":1,"tags":{},"startTime":1778940777438,"traceId":"70171d193e8b9bcb"},{"name":"run-typescript","duration":9585686,"timestamp":132811081059,"id":16,"parentId":1,"tags":{},"startTime":1778940783327,"traceId":"70171d193e8b9bcb"},{"name":"static-check","duration":831878,"timestamp":132820825662,"id":19,"parentId":1,"tags":{},"startTime":1778940793072,"traceId":"70171d193e8b9bcb"},{"name":"static-generation","duration":585693,"timestamp":132821671111,"id":109,"parentId":1,"tags":{},"startTime":1778940793917,"traceId":"70171d193e8b9bcb"},{"name":"telemetry-flush","duration":13499,"timestamp":132822296586,"id":118,"parentId":1,"tags":{},"startTime":1778940794543,"traceId":"70171d193e8b9bcb"},{"name":"next-build","duration":17641557,"timestamp":132804668556,"id":1,"tags":{"buildMode":"default","version":"16.2.3","bundler":"turbopack","has-custom-webpack-config":"false","use-build-worker":"true"},"startTime":1778940776915,"traceId":"70171d193e8b9bcb"}]
|
|
@@ -1026,6 +1026,30 @@ export function TopoGraph({ sessions, sseSessions, renameSignal }: TopoGraphProp
|
|
|
1026
1026
|
// navigation footer. Drives the on-hover opacity boost + underline
|
|
1027
1027
|
// that signals interactivity, mirroring the hoveredHub idiom above.
|
|
1028
1028
|
const [hoveredRecentMore, setHoveredRecentMore] = useState(false);
|
|
1029
|
+
// Round 346 / Loop: minimap-container hover affordance. The minimap
|
|
1030
|
+
// is a click-target (role=button at line ~7810, recenter-on-click +
|
|
1031
|
+
// Enter→resetView) but pre-R346 nothing visually changed on hover —
|
|
1032
|
+
// the only hint was the `cursor: crosshair` style. R346 lifts the
|
|
1033
|
+
// viewport rect (strokeWidth 1.5 → 1.75 + opacity 0.9 → 1.0) when
|
|
1034
|
+
// the user enters the minimap, marking "this is the recenter target
|
|
1035
|
+
// and it's alive". Sibling polish to the R332 minimap rounded-md →
|
|
1036
|
+
// rounded-lg corner family — that round refined geometry, this one
|
|
1037
|
+
// gives the viewport indicator inside the geometry a hover state.
|
|
1038
|
+
// 280ms ease-out transition list matches R199 smoothView vocabulary
|
|
1039
|
+
// so the visual joins the existing rhythm on the same rect.
|
|
1040
|
+
const [hoveredMinimap, setHoveredMinimap] = useState(false);
|
|
1041
|
+
// Round 347 / Loop: zoom-level readout hover-state letter-spacing
|
|
1042
|
+
// tween (0 → 0.5 px). The readout sandwiched between zoom-out /
|
|
1043
|
+
// zoom-in is a passive percent display — pre-R347 it had no hover
|
|
1044
|
+
// feedback at all (only a `title` tooltip). R347 extends the R344
|
|
1045
|
+
// (`+N more flows` footer) + R345 (panel titles) hover-letter-
|
|
1046
|
+
// spacing family from panel/footer surfaces into the HTML chrome
|
|
1047
|
+
// strip. Hovering the readout spreads its digits 0.5 px, signalling
|
|
1048
|
+
// "this is alive". tabular-nums + minWidth: 46 from R225 still lock
|
|
1049
|
+
// the column so the tween doesn't shove neighbouring controls.
|
|
1050
|
+
// 200ms ease-out joins the existing R264 color/border transition
|
|
1051
|
+
// list on the same span.
|
|
1052
|
+
const [hoveredZoomLevel, setHoveredZoomLevel] = useState(false);
|
|
1029
1053
|
// R135: panel-wide hover-elevation. The recent-signal + legend
|
|
1030
1054
|
// panels both already host clickable rows (R56/R116 recent rows,
|
|
1031
1055
|
// R55/R61 legend rows) and a clickable footer (R133), so the
|
|
@@ -2259,7 +2283,7 @@ export function TopoGraph({ sessions, sseSessions, renameSignal }: TopoGraphProp
|
|
|
2259
2283
|
data-active-filter="status"
|
|
2260
2284
|
data-filter-match-count={matchCount}
|
|
2261
2285
|
data-filter-match-aliases={matchAliases.join(',')}
|
|
2262
|
-
className="inline-flex items-center gap-1.5 px-2.5 py-1 rounded-md font-mono text-xs border anet-fade-in anet-topo-chip-focus"
|
|
2286
|
+
className="inline-flex items-center gap-1.5 px-2.5 py-1 rounded-md font-mono font-medium text-xs border anet-fade-in anet-topo-chip-focus"
|
|
2263
2287
|
title={matchCount > 0 ? `${matchPreview}${matchSuffix} — click to clear` : 'Click to clear filter'}
|
|
2264
2288
|
onClick={() => setPinnedStatus(null)}
|
|
2265
2289
|
style={{
|
|
@@ -2297,7 +2321,7 @@ export function TopoGraph({ sessions, sseSessions, renameSignal }: TopoGraphProp
|
|
|
2297
2321
|
data-active-filter="group"
|
|
2298
2322
|
data-filter-match-count={matchCount}
|
|
2299
2323
|
data-filter-match-aliases={matchAliases.join(',')}
|
|
2300
|
-
className="inline-flex items-center gap-1.5 px-2.5 py-1 rounded-md font-mono text-xs border anet-fade-in anet-topo-chip-focus"
|
|
2324
|
+
className="inline-flex items-center gap-1.5 px-2.5 py-1 rounded-md font-mono font-medium text-xs border anet-fade-in anet-topo-chip-focus"
|
|
2301
2325
|
title={matchCount > 0 ? `${matchPreview}${matchSuffix} — click to clear` : 'Click to clear filter'}
|
|
2302
2326
|
onClick={() => setPinnedGroup(null)}
|
|
2303
2327
|
style={{
|
|
@@ -2347,7 +2371,7 @@ export function TopoGraph({ sessions, sseSessions, renameSignal }: TopoGraphProp
|
|
|
2347
2371
|
data-active-filter="vendor"
|
|
2348
2372
|
data-filter-match-count={matchCount}
|
|
2349
2373
|
data-filter-match-aliases={matchAliases.join(',')}
|
|
2350
|
-
className="inline-flex items-center gap-1.5 px-2.5 py-1 rounded-md font-mono text-xs border anet-fade-in anet-topo-chip-focus"
|
|
2374
|
+
className="inline-flex items-center gap-1.5 px-2.5 py-1 rounded-md font-mono font-medium text-xs border anet-fade-in anet-topo-chip-focus"
|
|
2351
2375
|
title={matchCount > 0 ? `${matchPreview}${matchSuffix} — click to clear` : 'Click to clear vendor filter'}
|
|
2352
2376
|
onClick={() => setPinnedVendor(null)}
|
|
2353
2377
|
style={{
|
|
@@ -2395,7 +2419,7 @@ export function TopoGraph({ sessions, sseSessions, renameSignal }: TopoGraphProp
|
|
|
2395
2419
|
data-filter-match-count={link.count}
|
|
2396
2420
|
data-filter-match-aliases={`${link.from},${link.to}`}
|
|
2397
2421
|
data-active-filter-edge-hot={isHot ? 'true' : 'false'}
|
|
2398
|
-
className="inline-flex items-center gap-1.5 px-2.5 py-1 rounded-md font-mono text-xs border anet-fade-in anet-topo-chip-focus"
|
|
2422
|
+
className="inline-flex items-center gap-1.5 px-2.5 py-1 rounded-md font-mono font-medium text-xs border anet-fade-in anet-topo-chip-focus"
|
|
2399
2423
|
title={`${link.from} → ${link.to} (${link.count} msg${link.count === 1 ? '' : 's'}${isHot ? ', hot lane · ≥ 10' : ''}) — click to clear`}
|
|
2400
2424
|
onClick={() => setPinnedEdgeKey(null)}
|
|
2401
2425
|
style={{
|
|
@@ -2586,7 +2610,22 @@ export function TopoGraph({ sessions, sseSessions, renameSignal }: TopoGraphProp
|
|
|
2586
2610
|
R150 pin-pill family parity now complete with
|
|
2587
2611
|
this composed-pin sibling). data-pin-intersection-
|
|
2588
2612
|
count-* attrs expose both spans for tests. */}
|
|
2589
|
-
|
|
2613
|
+
{/* Round 341 / Loop: middle " pins" unit word
|
|
2614
|
+
previously sat as a bare text node between the
|
|
2615
|
+
two count spans, while the matches-count span
|
|
2616
|
+
already carried opacity-0.7 (R335 + R324 era).
|
|
2617
|
+
The pinDimCount span is prominent and the
|
|
2618
|
+
matches count is recessive — but the literal
|
|
2619
|
+
" pins" was at FULL opacity, breaking the
|
|
2620
|
+
chip-internal hierarchy unified across R333/
|
|
2621
|
+
R335/R336/R337/R338/R340. R341 wraps " pins"
|
|
2622
|
+
in an opacity-0.7 span so the chip reads:
|
|
2623
|
+
pinDimCount (prominent value)
|
|
2624
|
+
" pins" (recessive unit)
|
|
2625
|
+
" · {N}" (recessive count)
|
|
2626
|
+
Three-tier hierarchy on a single chip; 7th
|
|
2627
|
+
surface in the chip-internal-hierarchy arc. */}
|
|
2628
|
+
<span className="tabular-nums" data-pin-intersection-count-dims>{pinDimCount}</span><span className="opacity-70" data-pin-intersection-unit> pins</span><span className="opacity-70 tabular-nums" data-pin-intersection-count-matches> · {matchAliases.length}</span>
|
|
2590
2629
|
{/* Round 237 / Loop: ⚠ warning glyph picks up the
|
|
2591
2630
|
always-mount-opacity-gate idiom. Pre-R237 the
|
|
2592
2631
|
glyph was conditionally rendered on isEmpty,
|
|
@@ -2900,8 +2939,19 @@ export function TopoGraph({ sessions, sseSessions, renameSignal }: TopoGraphProp
|
|
|
2900
2939
|
const dotColor = isLight
|
|
2901
2940
|
? `rgba(13, 148, 136, ${alpha.toFixed(2)})`
|
|
2902
2941
|
: `rgba(34, 211, 238, ${alpha.toFixed(2)})`;
|
|
2942
|
+
// Round 342 / Loop: active-links chip freshness suffix
|
|
2943
|
+
// wrapper text-gray-500 → text-gray-400 (R317
|
|
2944
|
+
// subordinate-text-lift family applied to chrome
|
|
2945
|
+
// inactive Layout toggle + R333 vendor count suffix).
|
|
2946
|
+
// The "last 5s ago" suffix is chip-subordinate
|
|
2947
|
+
// metadata; gray-500 sat near-invisible against the
|
|
2948
|
+
// chip's outer color, gray-400 lifts it into the band
|
|
2949
|
+
// where the eye reads it as deliberate freshness
|
|
2950
|
+
// annotation. The freshness DOT keeps its own inline
|
|
2951
|
+
// color: dotColor — the lift only affects the trailing
|
|
2952
|
+
// literal "last {rel}" text.
|
|
2903
2953
|
return (
|
|
2904
|
-
<span className="text-gray-
|
|
2954
|
+
<span className="text-gray-400">
|
|
2905
2955
|
<span
|
|
2906
2956
|
data-active-links-freshness-dot
|
|
2907
2957
|
data-active-links-freshness-alpha={alpha.toFixed(2)}
|
|
@@ -6198,7 +6248,17 @@ export function TopoGraph({ sessions, sseSessions, renameSignal }: TopoGraphProp
|
|
|
6198
6248
|
x="0" y="0" width="230" height="88" rx="10"
|
|
6199
6249
|
fill={pal.legendBox.fill}
|
|
6200
6250
|
stroke={pal.legendBox.stroke}
|
|
6201
|
-
|
|
6251
|
+
// Round 348 / Loop: recent-signal panel rect opacity hover-
|
|
6252
|
+
// state bump — joins the panel-hover cue stack (R135 drop-
|
|
6253
|
+
// shadow boost + R345 title letter-spacing tween 0.3 → 0.4
|
|
6254
|
+
// + R266 fill theme-flip). Cyber 0.92 → 0.97, light 0.97 →
|
|
6255
|
+
// 1.0 on hoveredPanel === 'recent'. The panel "solidifies"
|
|
6256
|
+
// on hover — pure paint-level change, geometry-safe (bbox
|
|
6257
|
+
// unchanged so topo-overlap-test invariants hold). The
|
|
6258
|
+
// R247 transition list already includes `opacity 200ms
|
|
6259
|
+
// ease-out` so the value tween is automatic. Sibling
|
|
6260
|
+
// change at legend panel rect below (~line 7222).
|
|
6261
|
+
opacity={hoveredPanel === 'recent' ? (isLight ? 1 : 0.97) : (isLight ? 0.97 : 0.92)}
|
|
6202
6262
|
style={{
|
|
6203
6263
|
/* R135: drop-shadow intensifies on panel hover. Base
|
|
6204
6264
|
shadow (2px / 6px blur) signals card elevation
|
|
@@ -6250,7 +6310,17 @@ export function TopoGraph({ sessions, sseSessions, renameSignal }: TopoGraphProp
|
|
|
6250
6310
|
title (line ~6556) — both panels share the same
|
|
6251
6311
|
editorial-text-spacing convention. data-recent-panel-
|
|
6252
6312
|
title handle unchanged so R266 test still resolves. */}
|
|
6253
|
-
|
|
6313
|
+
{/* Round 345 / Loop: recent-signal panel title gains
|
|
6314
|
+
letter-spacing tween 0.3 → 0.4 on panel hover.
|
|
6315
|
+
hoveredPanel === 'recent' is set by the panel <g>
|
|
6316
|
+
wrapper's onMouseEnter (line ~6263 area). Sibling to
|
|
6317
|
+
R344 hover-letter-spacing applied to the +N more
|
|
6318
|
+
flows footer — same gesture vocabulary at a panel-
|
|
6319
|
+
title scope: hovering the panel chrome spreads the
|
|
6320
|
+
title 0.1 px, signalling "this is a coherent unit
|
|
6321
|
+
you're entering". transition list extends letter-
|
|
6322
|
+
spacing 200ms ease-out alongside existing fill 200ms. */}
|
|
6323
|
+
<text x="13" y="21" fill={pal.legendHeadline} fontSize="12" fontFamily="monospace" fontWeight="700" letterSpacing={hoveredPanel === 'recent' ? '0.4' : '0.3'} style={{ transition: 'fill 200ms ease-out, letter-spacing 200ms ease-out' }} data-recent-panel-title>recent signal</text>
|
|
6254
6324
|
{/* R96: header count now matches what the rows show. Pre-R96
|
|
6255
6325
|
this read "X msgs" off the raw messages array, but the
|
|
6256
6326
|
rows below render DEDUPED flowLinks — so a fleet with 10
|
|
@@ -6325,6 +6395,21 @@ export function TopoGraph({ sessions, sseSessions, renameSignal }: TopoGraphProp
|
|
|
6325
6395
|
textAnchor="end"
|
|
6326
6396
|
fontSize="10"
|
|
6327
6397
|
fontFamily="monospace"
|
|
6398
|
+
// Round 349 / Loop: editorial letter-spacing 0.2 on the
|
|
6399
|
+
// recent-signal panel header count. Sits one tier below
|
|
6400
|
+
// the R301 panel title letterSpacing="0.3" so the panel
|
|
6401
|
+
// header reads as a 2-step hierarchy (title 0.3 / count
|
|
6402
|
+
// 0.2). Sibling change on the legend panel count below
|
|
6403
|
+
// closes the panel-pair editorial symmetry. Joins the
|
|
6404
|
+
// R285 / R289 / R301 / R302 / R304 / R325 editorial-
|
|
6405
|
+
// letterspacing tier at the panel-summary scope. The
|
|
6406
|
+
// R162 freshness fill, R225 tabular-nums, R311 fw=600,
|
|
6407
|
+
// R336 unit-tspan opacity-0.7 split all preserved —
|
|
6408
|
+
// the tier propagates to all descendant tspans via
|
|
6409
|
+
// SVG inheritance. data-recent-panel-count-letter-
|
|
6410
|
+
// spacing exposes the value for tests.
|
|
6411
|
+
letterSpacing="0.2"
|
|
6412
|
+
data-recent-panel-count-letter-spacing="0.2"
|
|
6328
6413
|
>
|
|
6329
6414
|
{/* Round 225 / Loop: tabular-nums on the panel-header
|
|
6330
6415
|
flow-count tspan. The "{N} flows" string lives in
|
|
@@ -7074,6 +7159,28 @@ export function TopoGraph({ sessions, sseSessions, renameSignal }: TopoGraphProp
|
|
|
7074
7159
|
R302 empty main: 0.2px (empty-state hint)
|
|
7075
7160
|
R325 footer link: 0.2px (panel nav action) ← NEW
|
|
7076
7161
|
R304 empty sub: 0.15px (instructional sub) */}
|
|
7162
|
+
{/* Round 340 / Loop: +N more flows footer link extends
|
|
7163
|
+
the R333/R335/R336/R337/R338 chip-internal-hierarchy
|
|
7164
|
+
arc to a 6th surface. The digit `{moreCount}` reads
|
|
7165
|
+
as the primary data ("how many more flows"); the
|
|
7166
|
+
unit text ` more flow(s)` recedes via a nested
|
|
7167
|
+
tspan with opacity-0.7 (multiplicative against the
|
|
7168
|
+
parent <text>'s hover/rest opacity, so unit always
|
|
7169
|
+
sits below the digit). The `label` variable is
|
|
7170
|
+
preserved for the <title> tooltip — only the SVG
|
|
7171
|
+
render splits. data-recent-panel-more-unit exposes
|
|
7172
|
+
the unit tspan for tests. */}
|
|
7173
|
+
{/* Round 344 / Loop: footer hover gains letter-spacing
|
|
7174
|
+
tween 0.2 → 0.3. R325 set rest letter-spacing
|
|
7175
|
+
0.2 to join the editorial-spacing family; R344
|
|
7176
|
+
adds a 0.1px hover spread that layers on top of
|
|
7177
|
+
R195 cyan fill + R325 spacing + R133 underline
|
|
7178
|
+
so the footer reads "lit up and spaced" on
|
|
7179
|
+
hover — sibling to R218/R219/R220 pin-signature
|
|
7180
|
+
letter-spacing family applied to a hover-only
|
|
7181
|
+
surface. transition list extends letter-spacing
|
|
7182
|
+
200ms ease-out alongside the existing opacity/
|
|
7183
|
+
fill easings. */}
|
|
7077
7184
|
<text
|
|
7078
7185
|
x="115" y="82"
|
|
7079
7186
|
textAnchor="middle"
|
|
@@ -7081,14 +7188,15 @@ export function TopoGraph({ sessions, sseSessions, renameSignal }: TopoGraphProp
|
|
|
7081
7188
|
fontSize="9"
|
|
7082
7189
|
fontFamily="monospace"
|
|
7083
7190
|
fontStyle="italic"
|
|
7084
|
-
letterSpacing=
|
|
7191
|
+
letterSpacing={hoveredRecentMore ? '0.3' : '0.2'}
|
|
7085
7192
|
opacity={hoveredRecentMore ? 0.85 : 0.55}
|
|
7086
7193
|
textDecoration={hoveredRecentMore ? 'underline' : 'none'}
|
|
7087
7194
|
data-recent-panel-more={moreCount}
|
|
7088
7195
|
data-recent-panel-more-hovered={hoveredRecentMore ? 'true' : 'false'}
|
|
7089
|
-
style={{ transition: 'opacity 150ms ease-out, fill 200ms ease-out' }}
|
|
7196
|
+
style={{ transition: 'opacity 150ms ease-out, fill 200ms ease-out, letter-spacing 200ms ease-out' }}
|
|
7090
7197
|
>
|
|
7091
|
-
{
|
|
7198
|
+
{`+ ${moreCount}`}
|
|
7199
|
+
<tspan opacity="0.7" data-recent-panel-more-unit>{` more flow${moreCount === 1 ? '' : 's'}`}</tspan>
|
|
7092
7200
|
</text>
|
|
7093
7201
|
</g>
|
|
7094
7202
|
);
|
|
@@ -7137,7 +7245,12 @@ export function TopoGraph({ sessions, sseSessions, renameSignal }: TopoGraphProp
|
|
|
7137
7245
|
x="0" y="0" width="224" height="88" rx="10"
|
|
7138
7246
|
fill={pal.legendBox.fill}
|
|
7139
7247
|
stroke={pal.legendBox.stroke}
|
|
7140
|
-
|
|
7248
|
+
// R348 sibling — legend panel rect opacity hover-state
|
|
7249
|
+
// bump 0.92 → 0.97 (cyber) / 0.97 → 1 (light) on
|
|
7250
|
+
// hoveredPanel === 'legend'. Pairs with the recent-signal
|
|
7251
|
+
// panel rect above so the two corner panels' hover cues
|
|
7252
|
+
// stay symmetric. Geometry-safe (paint-only).
|
|
7253
|
+
opacity={hoveredPanel === 'legend' ? (isLight ? 1 : 0.97) : (isLight ? 0.97 : 0.92)}
|
|
7141
7254
|
style={{
|
|
7142
7255
|
filter: hoveredPanel === 'legend'
|
|
7143
7256
|
? (isLight ? 'drop-shadow(0 4px 12px rgba(15,23,42,0.14))'
|
|
@@ -7160,7 +7273,9 @@ export function TopoGraph({ sessions, sseSessions, renameSignal }: TopoGraphProp
|
|
|
7160
7273
|
surrounding chrome eased; R266 closes both at once. */}
|
|
7161
7274
|
{/* R301: sibling to recent-signal panel title above —
|
|
7162
7275
|
same letterSpacing 0.3 for editorial parity. */}
|
|
7163
|
-
|
|
7276
|
+
{/* R345 sibling — legend panel title same hover letter-
|
|
7277
|
+
spacing tween 0.3 → 0.4 on panel hover. */}
|
|
7278
|
+
<text x="13" y="21" fill={pal.legendHeadline} fontSize="12" fontFamily="monospace" fontWeight="700" letterSpacing={hoveredPanel === 'legend' ? '0.4' : '0.3'} style={{ transition: 'fill 200ms ease-out, letter-spacing 200ms ease-out' }} data-legend-panel-title>legend</text>
|
|
7164
7279
|
{/* Round 257 / Loop: legend panel header count picks up the
|
|
7165
7280
|
symmetric 13L/13R inner-padding pattern from the recent-
|
|
7166
7281
|
signal panel. Pre-R257 the legend header was 13px from
|
|
@@ -7224,7 +7339,14 @@ export function TopoGraph({ sessions, sseSessions, renameSignal }: TopoGraphProp
|
|
|
7224
7339
|
<text
|
|
7225
7340
|
x="211" y="21" textAnchor="end"
|
|
7226
7341
|
fill={pal.legendAccent} fontSize="10" fontFamily="monospace" fontWeight="600"
|
|
7342
|
+
// R349 sibling — legend panel header count picks up
|
|
7343
|
+
// letterSpacing="0.2", one tier below the R301 panel
|
|
7344
|
+
// title 0.3. Pairs with the recent-signal panel count
|
|
7345
|
+
// letter-spacing above so the two corner panels' header
|
|
7346
|
+
// typography stays editorially symmetric.
|
|
7347
|
+
letterSpacing="0.2"
|
|
7227
7348
|
data-legend-panel-count
|
|
7349
|
+
data-legend-panel-count-letter-spacing="0.2"
|
|
7228
7350
|
style={{
|
|
7229
7351
|
transition: 'fill 200ms ease-out',
|
|
7230
7352
|
fontVariantNumeric: 'tabular-nums',
|
|
@@ -7766,7 +7888,13 @@ export function TopoGraph({ sessions, sseSessions, renameSignal }: TopoGraphProp
|
|
|
7766
7888
|
resetView();
|
|
7767
7889
|
}
|
|
7768
7890
|
}}
|
|
7891
|
+
// R346: viewport rect hover affordance driven by parent.
|
|
7892
|
+
onMouseEnter={() => setHoveredMinimap(true)}
|
|
7893
|
+
onMouseLeave={() => setHoveredMinimap(false)}
|
|
7894
|
+
onFocus={() => setHoveredMinimap(true)}
|
|
7895
|
+
onBlur={() => setHoveredMinimap(false)}
|
|
7769
7896
|
data-topo-minimap
|
|
7897
|
+
data-topo-minimap-hovered={hoveredMinimap ? 'true' : 'false'}
|
|
7770
7898
|
>
|
|
7771
7899
|
<svg width={MW} height={MH} viewBox={`0 0 ${MW} ${MH}`} style={{ display: 'block' }}>
|
|
7772
7900
|
{/* Round 198 / Loop: minimap dots gain smooth status
|
|
@@ -7845,13 +7973,17 @@ export function TopoGraph({ sessions, sseSessions, renameSignal }: TopoGraphProp
|
|
|
7845
7973
|
x={Math.max(0, rectX)} y={Math.max(0, rectY)}
|
|
7846
7974
|
width={Math.max(0, Math.min(MW - Math.max(0, rectX), rectW))}
|
|
7847
7975
|
height={Math.max(0, Math.min(MH - Math.max(0, rectY), rectH))}
|
|
7848
|
-
fill="none" stroke={pal.legendAccent}
|
|
7976
|
+
fill="none" stroke={pal.legendAccent}
|
|
7977
|
+
// R346: strokeWidth + opacity tween on container hover.
|
|
7978
|
+
strokeWidth={hoveredMinimap ? '1.75' : '1.5'}
|
|
7979
|
+
opacity={hoveredMinimap ? '1' : '0.9'}
|
|
7849
7980
|
data-topo-minimap-viewport
|
|
7850
7981
|
data-topo-minimap-viewport-smooth={smoothView ? 'true' : 'false'}
|
|
7982
|
+
data-topo-minimap-viewport-hover={hoveredMinimap ? 'true' : 'false'}
|
|
7851
7983
|
style={{
|
|
7852
7984
|
transition: smoothView
|
|
7853
|
-
? 'x 280ms ease-out, y 280ms ease-out, width 280ms ease-out, height 280ms ease-out'
|
|
7854
|
-
: '
|
|
7985
|
+
? 'x 280ms ease-out, y 280ms ease-out, width 280ms ease-out, height 280ms ease-out, stroke-width 200ms ease-out, opacity 200ms ease-out'
|
|
7986
|
+
: 'stroke-width 200ms ease-out, opacity 200ms ease-out',
|
|
7855
7987
|
} as React.CSSProperties}
|
|
7856
7988
|
/>
|
|
7857
7989
|
</svg>
|
|
@@ -8062,11 +8194,17 @@ export function TopoGraph({ sessions, sseSessions, renameSignal }: TopoGraphProp
|
|
|
8062
8194
|
chromePopping === 'zoom-in' || chromePopping === 'zoom-out'
|
|
8063
8195
|
? 'true' : 'false'
|
|
8064
8196
|
}
|
|
8197
|
+
data-topo-chrome-zoom-level-hover={hoveredZoomLevel ? 'true' : 'false'}
|
|
8198
|
+
onMouseEnter={() => setHoveredZoomLevel(true)}
|
|
8199
|
+
onMouseLeave={() => setHoveredZoomLevel(false)}
|
|
8065
8200
|
style={{
|
|
8066
8201
|
color: pal.legendText,
|
|
8067
8202
|
borderColor: pal.containerBorder,
|
|
8068
8203
|
minWidth: 46,
|
|
8069
8204
|
display: 'inline-block',
|
|
8205
|
+
// R347: letter-spacing hover tween — extends R344/R345
|
|
8206
|
+
// hover-letter-spacing family into the chrome strip.
|
|
8207
|
+
letterSpacing: hoveredZoomLevel ? '0.5px' : '0',
|
|
8070
8208
|
/* Round 264 / Loop: zoom level readout gains theme-toggle
|
|
8071
8209
|
transition. The span has theme-driven color (pal.
|
|
8072
8210
|
legendText) + border-x (pal.containerBorder via the
|
|
@@ -8075,7 +8213,7 @@ export function TopoGraph({ sessions, sseSessions, renameSignal }: TopoGraphProp
|
|
|
8075
8213
|
on theme flip while siblings eased. Sibling treatment
|
|
8076
8214
|
to the nodeSize + zoom wrapper transitions added this
|
|
8077
8215
|
round. */
|
|
8078
|
-
transition: 'color 200ms ease-out, border-color 200ms ease-out',
|
|
8216
|
+
transition: 'color 200ms ease-out, border-color 200ms ease-out, letter-spacing 200ms ease-out',
|
|
8079
8217
|
}}
|
|
8080
8218
|
title="Current zoom level"
|
|
8081
8219
|
>
|
package/package.json
CHANGED
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
/* Round 342 verification: active-links chip freshness suffix wrapper
|
|
2
|
+
* lifts text-gray-500 → text-gray-400 (R317 subordinate-text-lift
|
|
3
|
+
* family). Affects the literal "last {rel}" text; the freshness dot
|
|
4
|
+
* keeps its own inline color via `style={{color: dotColor}}`.
|
|
5
|
+
*
|
|
6
|
+
* Contract:
|
|
7
|
+
* - The wrapper span containing [data-active-links-freshness-dot]
|
|
8
|
+
* has className containing 'text-gray-400' (not 'text-gray-500').
|
|
9
|
+
* - Wrapper textContent includes 'last' (the trailing literal).
|
|
10
|
+
* - Freshness dot keeps its own color (not the wrapper's).
|
|
11
|
+
* - R341 pin-intersection " pins" unit + R317/R318 chrome
|
|
12
|
+
* regressions intact.
|
|
13
|
+
* - R294 pulse absent.
|
|
14
|
+
*/
|
|
15
|
+
import { chromium } from 'playwright';
|
|
16
|
+
import { readFileSync } from 'node:fs';
|
|
17
|
+
|
|
18
|
+
const TOKEN = JSON.parse(readFileSync('/home/vansin/.anet/config.json', 'utf8')).token;
|
|
19
|
+
const browser = await chromium.launch({ headless: true });
|
|
20
|
+
const ctx = await browser.newContext({ viewport: { width: 1500, height: 1500 } });
|
|
21
|
+
await ctx.addCookies([{ name: 'anet_dashboard_session', value: `v3:${TOKEN}`, domain: '127.0.0.1', path: '/' }]);
|
|
22
|
+
await ctx.addInitScript(() => {
|
|
23
|
+
try { localStorage.setItem('anet-theme', 'cyber'); sessionStorage.setItem('anet_v3_auth', '1'); } catch {}
|
|
24
|
+
});
|
|
25
|
+
const fresh = new Date(Date.now() - 60 * 1000).toISOString();
|
|
26
|
+
await ctx.route('**/api/hub/status*', async (route) => {
|
|
27
|
+
const r = await route.fetch();
|
|
28
|
+
const b = await r.json();
|
|
29
|
+
const nid = (b.sessions || [])[0]?.network_id || 'default';
|
|
30
|
+
const mk = (alias) => ({
|
|
31
|
+
alias, status: 'working', model: 'claude-opus-4', runtime: 'claude-code-cli',
|
|
32
|
+
network_id: nid, project_dir: null,
|
|
33
|
+
created_at: fresh, updated_at: fresh, last_seen_at: fresh,
|
|
34
|
+
});
|
|
35
|
+
await route.fulfill({ response: r, json: { ...b, sessions: [
|
|
36
|
+
mk('alpha'), mk('beta'), mk('gamma'),
|
|
37
|
+
] } });
|
|
38
|
+
});
|
|
39
|
+
// One recent message → active-links chip's freshness suffix renders.
|
|
40
|
+
const now = Date.now();
|
|
41
|
+
await ctx.route('**/api/hub/messages*', (r) => r.fulfill({ json: { messages: [
|
|
42
|
+
{ id: 'm1', from_alias: 'alpha', to_alias: 'beta', content: 'ping',
|
|
43
|
+
network_id: 'default', created_at: new Date(now - 5000).toISOString() },
|
|
44
|
+
] } }));
|
|
45
|
+
await ctx.route('**/api/hub/tasks*', (r) => r.fulfill({ json: { tasks: [] } }));
|
|
46
|
+
|
|
47
|
+
const page = await ctx.newPage();
|
|
48
|
+
await page.goto('http://127.0.0.1:3000/', { waitUntil: 'domcontentloaded' });
|
|
49
|
+
await page.waitForSelector('[data-active-links-freshness-dot]', { timeout: 15000 });
|
|
50
|
+
await page.waitForTimeout(300);
|
|
51
|
+
|
|
52
|
+
const probe = await page.evaluate(() => {
|
|
53
|
+
const dot = document.querySelector('[data-active-links-freshness-dot]');
|
|
54
|
+
const wrapper = dot?.parentElement || null;
|
|
55
|
+
return {
|
|
56
|
+
wrapperClass: wrapper?.className ?? '',
|
|
57
|
+
wrapperText: wrapper?.textContent ?? null,
|
|
58
|
+
dotInlineColor: dot?.getAttribute('style') ?? '',
|
|
59
|
+
// R341 regression.
|
|
60
|
+
pinIntersectionUnit: document.querySelector('[data-pin-intersection-unit]')?.className ?? '',
|
|
61
|
+
layoutInactiveCls: document.querySelector('[data-topo-chrome-layout="grid"]')?.className ?? '',
|
|
62
|
+
layoutActiveCls: document.querySelector('[data-topo-chrome-layout="ring"]')?.className ?? '',
|
|
63
|
+
pulseCount: document.querySelectorAll('[data-pulse-wrapper]').length,
|
|
64
|
+
};
|
|
65
|
+
});
|
|
66
|
+
await browser.close();
|
|
67
|
+
|
|
68
|
+
const results = {
|
|
69
|
+
wrapper_has_gray_400: /text-gray-400/.test(probe.wrapperClass),
|
|
70
|
+
wrapper_no_gray_500: !/text-gray-500/.test(probe.wrapperClass),
|
|
71
|
+
wrapper_text_last: /\blast\b/.test(probe.wrapperText || ''),
|
|
72
|
+
dot_has_inline_color: /color:/.test(probe.dotInlineColor),
|
|
73
|
+
// R341 regression — only triggers when a pin is active. Test
|
|
74
|
+
// doesn't click filters, so accept null OR opacity-70.
|
|
75
|
+
r341_pin_unit_or_absent: probe.pinIntersectionUnit === '' ||
|
|
76
|
+
/opacity-70/.test(probe.pinIntersectionUnit),
|
|
77
|
+
// R317 / R318 chrome regression.
|
|
78
|
+
r317_inactive_gray_400: probe.layoutInactiveCls.includes('text-gray-400'),
|
|
79
|
+
r318_active_font_medium: probe.layoutActiveCls.includes('font-medium'),
|
|
80
|
+
r294_pulse_absent: probe.pulseCount === 0,
|
|
81
|
+
};
|
|
82
|
+
const ok = Object.values(results).every(Boolean);
|
|
83
|
+
console.log(`${ok ? '✅' : '❌'} active-links freshness wrapper gray-400:`, JSON.stringify(results),
|
|
84
|
+
'\n wrapper class:', probe.wrapperClass,
|
|
85
|
+
'\n wrapper text:', JSON.stringify(probe.wrapperText));
|
|
86
|
+
process.exit(ok ? 0 : 1);
|