@sleep2agi/agent-network-dashboard 0.4.6-preview.33 → 0.4.6-preview.34
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 +4 -4
- package/.next/fallback-build-manifest.json +3 -3
- package/.next/prerender-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/page_client-reference-manifest.js +1 -1
- package/.next/server/app/_not-found.html +2 -2
- package/.next/server/app/_not-found.rsc +2 -2
- package/.next/server/app/_not-found.segments/_full.segment.rsc +2 -2
- package/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
- package/.next/server/app/_not-found.segments/_index.segment.rsc +2 -2
- 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 +2 -2
- package/.next/server/app/admin/page_client-reference-manifest.js +1 -1
- package/.next/server/app/admin.html +2 -2
- package/.next/server/app/admin.rsc +2 -2
- package/.next/server/app/admin.segments/_full.segment.rsc +2 -2
- package/.next/server/app/admin.segments/_head.segment.rsc +1 -1
- package/.next/server/app/admin.segments/_index.segment.rsc +2 -2
- package/.next/server/app/admin.segments/_tree.segment.rsc +2 -2
- 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 +3 -3
- package/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
- package/.next/server/app/index.segments/_full.segment.rsc +3 -3
- package/.next/server/app/index.segments/_head.segment.rsc +1 -1
- package/.next/server/app/index.segments/_index.segment.rsc +2 -2
- package/.next/server/app/index.segments/_tree.segment.rsc +2 -2
- 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 +3 -3
- package/.next/server/app/login.segments/_full.segment.rsc +3 -3
- package/.next/server/app/login.segments/_head.segment.rsc +1 -1
- package/.next/server/app/login.segments/_index.segment.rsc +2 -2
- package/.next/server/app/login.segments/_tree.segment.rsc +2 -2
- 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/page_client-reference-manifest.js +1 -1
- package/.next/server/app/logs.html +2 -2
- package/.next/server/app/logs.rsc +2 -2
- package/.next/server/app/logs.segments/_full.segment.rsc +2 -2
- package/.next/server/app/logs.segments/_head.segment.rsc +1 -1
- package/.next/server/app/logs.segments/_index.segment.rsc +2 -2
- package/.next/server/app/logs.segments/_tree.segment.rsc +2 -2
- 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/page_client-reference-manifest.js +1 -1
- package/.next/server/app/messages.html +2 -2
- package/.next/server/app/messages.rsc +2 -2
- package/.next/server/app/messages.segments/_full.segment.rsc +2 -2
- package/.next/server/app/messages.segments/_head.segment.rsc +1 -1
- package/.next/server/app/messages.segments/_index.segment.rsc +2 -2
- package/.next/server/app/messages.segments/_tree.segment.rsc +2 -2
- 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/page_client-reference-manifest.js +1 -1
- package/.next/server/app/node.html +2 -2
- package/.next/server/app/node.rsc +2 -2
- package/.next/server/app/node.segments/_full.segment.rsc +2 -2
- package/.next/server/app/node.segments/_head.segment.rsc +1 -1
- package/.next/server/app/node.segments/_index.segment.rsc +2 -2
- package/.next/server/app/node.segments/_tree.segment.rsc +2 -2
- 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/page_client-reference-manifest.js +1 -1
- package/.next/server/app/nodes.html +2 -2
- package/.next/server/app/nodes.rsc +2 -2
- package/.next/server/app/nodes.segments/_full.segment.rsc +2 -2
- package/.next/server/app/nodes.segments/_head.segment.rsc +1 -1
- package/.next/server/app/nodes.segments/_index.segment.rsc +2 -2
- package/.next/server/app/nodes.segments/_tree.segment.rsc +2 -2
- 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/page_client-reference-manifest.js +1 -1
- package/.next/server/app/server-logs.html +2 -2
- package/.next/server/app/server-logs.rsc +2 -2
- package/.next/server/app/server-logs.segments/_full.segment.rsc +2 -2
- package/.next/server/app/server-logs.segments/_head.segment.rsc +1 -1
- package/.next/server/app/server-logs.segments/_index.segment.rsc +2 -2
- package/.next/server/app/server-logs.segments/_tree.segment.rsc +2 -2
- 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/page_client-reference-manifest.js +1 -1
- package/.next/server/app/settings/networks.html +2 -2
- package/.next/server/app/settings/networks.rsc +2 -2
- package/.next/server/app/settings/networks.segments/_full.segment.rsc +2 -2
- package/.next/server/app/settings/networks.segments/_head.segment.rsc +1 -1
- package/.next/server/app/settings/networks.segments/_index.segment.rsc +2 -2
- package/.next/server/app/settings/networks.segments/_tree.segment.rsc +2 -2
- 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/page_client-reference-manifest.js +1 -1
- package/.next/server/app/settings/tokens.html +2 -2
- package/.next/server/app/settings/tokens.rsc +2 -2
- package/.next/server/app/settings/tokens.segments/_full.segment.rsc +2 -2
- package/.next/server/app/settings/tokens.segments/_head.segment.rsc +1 -1
- package/.next/server/app/settings/tokens.segments/_index.segment.rsc +2 -2
- package/.next/server/app/settings/tokens.segments/_tree.segment.rsc +2 -2
- 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 +3 -3
- package/.next/server/app/settings.segments/_full.segment.rsc +3 -3
- package/.next/server/app/settings.segments/_head.segment.rsc +1 -1
- package/.next/server/app/settings.segments/_index.segment.rsc +2 -2
- package/.next/server/app/settings.segments/_tree.segment.rsc +2 -2
- 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/[id]/page_client-reference-manifest.js +1 -1
- package/.next/server/app/tasks/page_client-reference-manifest.js +1 -1
- package/.next/server/app/tasks.html +2 -2
- package/.next/server/app/tasks.rsc +2 -2
- package/.next/server/app/tasks.segments/_full.segment.rsc +2 -2
- package/.next/server/app/tasks.segments/_head.segment.rsc +1 -1
- package/.next/server/app/tasks.segments/_index.segment.rsc +2 -2
- package/.next/server/app/tasks.segments/_tree.segment.rsc +2 -2
- 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 +1 -1
- 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 +2 -2
- package/.next/server/pages/500.html +1 -1
- package/.next/server/server-reference-manifest.js +1 -1
- package/.next/server/server-reference-manifest.json +1 -1
- package/.next/static/chunks/{0y8v4grez.a76.js → 02pgt3ua.i4ac.js} +1 -1
- package/.next/static/chunks/{0sjqjenh7~k-j.js → 0fiwcvzqs7ily.js} +1 -1
- package/.next/static/chunks/12m8i9_5p2n~8.js +1 -0
- package/.next/static/chunks/{09nd.t_hd.y6t.css → 13.zti9ix.1eh.css} +1 -1
- package/.next/trace +2 -2
- package/.next/trace-build +1 -1
- package/app/components/TopoGraph.tsx +38 -9
- package/package.json +1 -1
- package/scripts/topo-label-lift-test.mjs +115 -0
- package/scripts/topo-overlap-test.mjs +32 -5
- package/.next/static/chunks/0_8snedeata9k.js +0 -1
- /package/.next/static/{Q3_3F7glo-M3CFrXA8POE → CF6cwAmsx-YPti9XxgcEF}/_buildManifest.js +0 -0
- /package/.next/static/{Q3_3F7glo-M3CFrXA8POE → CF6cwAmsx-YPti9XxgcEF}/_clientMiddlewareManifest.js +0 -0
- /package/.next/static/{Q3_3F7glo-M3CFrXA8POE → CF6cwAmsx-YPti9XxgcEF}/_ssgManifest.js +0 -0
package/.next/trace
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
[{"name":"generate-buildid","duration":273,"timestamp":13628053560,"id":4,"parentId":1,"tags":{},"startTime":1778821600300,"traceId":"a309209d9e3cd974"},{"name":"load-custom-routes","duration":465,"timestamp":13628053972,"id":5,"parentId":1,"tags":{},"startTime":1778821600300,"traceId":"a309209d9e3cd974"},{"name":"create-dist-dir","duration":646,"timestamp":13628054481,"id":6,"parentId":1,"tags":{},"startTime":1778821600301,"traceId":"a309209d9e3cd974"},{"name":"clean","duration":533,"timestamp":13628055711,"id":7,"parentId":1,"tags":{},"startTime":1778821600302,"traceId":"a309209d9e3cd974"},{"name":"discover-routes","duration":8766,"timestamp":13628137671,"id":8,"parentId":1,"tags":{},"startTime":1778821600384,"traceId":"a309209d9e3cd974"},{"name":"create-root-mapping","duration":106,"timestamp":13628146497,"id":9,"parentId":1,"tags":{},"startTime":1778821600393,"traceId":"a309209d9e3cd974"},{"name":"generate-route-types","duration":31514,"timestamp":13628148835,"id":10,"parentId":1,"tags":{},"startTime":1778821600395,"traceId":"a309209d9e3cd974"},{"name":"public-dir-conflict-check","duration":102,"timestamp":13628180499,"id":11,"parentId":1,"tags":{},"startTime":1778821600427,"traceId":"a309209d9e3cd974"},{"name":"generate-routes-manifest","duration":4198,"timestamp":13628180713,"id":12,"parentId":1,"tags":{},"startTime":1778821600427,"traceId":"a309209d9e3cd974"},{"name":"run-turbopack","duration":5479065,"timestamp":13628190383,"id":14,"parentId":1,"tags":{},"startTime":1778821600437,"traceId":"a309209d9e3cd974"},{"name":"turbopack-build-events","duration":101,"timestamp":13628544506,"id":15,"parentId":1,"tags":{},"startTime":1778821600791,"traceId":"a309209d9e3cd974"},{"name":"run-typescript","duration":8228736,"timestamp":13633684536,"id":16,"parentId":1,"tags":{},"startTime":1778821605931,"traceId":"a309209d9e3cd974"},{"name":"generate-required-server-files","duration":2417,"timestamp":13641914349,"id":18,"parentId":1,"tags":{},"startTime":1778821614161,"traceId":"a309209d9e3cd974"},{"name":"check-static-error-page","duration":11730,"timestamp":13642088721,"id":20,"parentId":19,"tags":{},"startTime":1778821614335,"traceId":"a309209d9e3cd974"},{"name":"is-page-static","duration":405245,"timestamp":13642102986,"id":63,"parentId":22,"tags":{},"startTime":1778821614349,"traceId":"a309209d9e3cd974"},{"name":"check-page","duration":417268,"timestamp":13642091130,"id":22,"parentId":19,"tags":{"page":"/_global-error"},"startTime":1778821614337,"traceId":"a309209d9e3cd974"},{"name":"is-page-static","duration":506064,"timestamp":13642107236,"id":69,"parentId":30,"tags":{},"startTime":1778821614354,"traceId":"a309209d9e3cd974"},{"name":"check-page","duration":519279,"timestamp":13642094120,"id":30,"parentId":19,"tags":{"page":"/api/hub/broadcast"},"startTime":1778821614340,"traceId":"a309209d9e3cd974"},{"name":"is-page-static","duration":517889,"timestamp":13642107436,"id":70,"parentId":32,"tags":{},"startTime":1778821614354,"traceId":"a309209d9e3cd974"},{"name":"check-page","duration":530977,"timestamp":13642094433,"id":32,"parentId":19,"tags":{"page":"/api/hub/health"},"startTime":1778821614341,"traceId":"a309209d9e3cd974"},{"name":"is-page-static","duration":535613,"timestamp":13642105500,"id":66,"parentId":27,"tags":{},"startTime":1778821614352,"traceId":"a309209d9e3cd974"},{"name":"check-page","duration":547398,"timestamp":13642093800,"id":27,"parentId":19,"tags":{"page":"/api/auth/v3"},"startTime":1778821614340,"traceId":"a309209d9e3cd974"},{"name":"is-page-static","duration":538782,"timestamp":13642107499,"id":71,"parentId":33,"tags":{},"startTime":1778821614354,"traceId":"a309209d9e3cd974"},{"name":"check-page","duration":551832,"timestamp":13642094526,"id":33,"parentId":19,"tags":{"page":"/api/hub/inbox"},"startTime":1778821614341,"traceId":"a309209d9e3cd974"},{"name":"is-page-static","duration":539150,"timestamp":13642107580,"id":72,"parentId":34,"tags":{},"startTime":1778821614354,"traceId":"a309209d9e3cd974"},{"name":"check-page","duration":552180,"timestamp":13642094606,"id":34,"parentId":19,"tags":{"page":"/api/hub/license"},"startTime":1778821614341,"traceId":"a309209d9e3cd974"},{"name":"is-page-static","duration":548639,"timestamp":13642107611,"id":73,"parentId":35,"tags":{},"startTime":1778821614354,"traceId":"a309209d9e3cd974"},{"name":"check-page","duration":561610,"timestamp":13642094709,"id":35,"parentId":19,"tags":{"page":"/api/hub/messages"},"startTime":1778821614341,"traceId":"a309209d9e3cd974"},{"name":"is-page-static","duration":549405,"timestamp":13642107760,"id":75,"parentId":37,"tags":{},"startTime":1778821614354,"traceId":"a309209d9e3cd974"},{"name":"check-page","duration":561979,"timestamp":13642095236,"id":37,"parentId":19,"tags":{"page":"/api/hub/nodes"},"startTime":1778821614342,"traceId":"a309209d9e3cd974"},{"name":"is-page-static","duration":555010,"timestamp":13642105957,"id":68,"parentId":29,"tags":{},"startTime":1778821614352,"traceId":"a309209d9e3cd974"},{"name":"check-page","duration":567066,"timestamp":13642093968,"id":29,"parentId":19,"tags":{"page":"/api/hub/auth"},"startTime":1778821614340,"traceId":"a309209d9e3cd974"},{"name":"is-page-static","duration":553977,"timestamp":13642107779,"id":76,"parentId":38,"tags":{},"startTime":1778821614354,"traceId":"a309209d9e3cd974"},{"name":"check-page","duration":566466,"timestamp":13642095330,"id":38,"parentId":19,"tags":{"page":"/api/hub/register"},"startTime":1778821614342,"traceId":"a309209d9e3cd974"},{"name":"is-page-static","duration":558833,"timestamp":13642103143,"id":64,"parentId":25,"tags":{},"startTime":1778821614349,"traceId":"a309209d9e3cd974"},{"name":"check-page","duration":568470,"timestamp":13642093557,"id":25,"parentId":19,"tags":{"page":"/api/auth/login"},"startTime":1778821614340,"traceId":"a309209d9e3cd974"},{"name":"is-page-static","duration":559815,"timestamp":13642105788,"id":67,"parentId":28,"tags":{},"startTime":1778821614352,"traceId":"a309209d9e3cd974"},{"name":"check-page","duration":571762,"timestamp":13642093886,"id":28,"parentId":19,"tags":{"page":"/api/hub/audit-log"},"startTime":1778821614340,"traceId":"a309209d9e3cd974"},{"name":"is-page-static","duration":558287,"timestamp":13642107802,"id":78,"parentId":40,"tags":{},"startTime":1778821614354,"traceId":"a309209d9e3cd974"},{"name":"check-page","duration":570671,"timestamp":13642095466,"id":40,"parentId":19,"tags":{"page":"/api/hub/server-logs"},"startTime":1778821614342,"traceId":"a309209d9e3cd974"},{"name":"is-page-static","duration":558527,"timestamp":13642107793,"id":77,"parentId":39,"tags":{},"startTime":1778821614354,"traceId":"a309209d9e3cd974"},{"name":"check-page","duration":571123,"timestamp":13642095400,"id":39,"parentId":19,"tags":{"page":"/api/hub/send"},"startTime":1778821614342,"traceId":"a309209d9e3cd974"},{"name":"is-page-static","duration":562642,"timestamp":13642107832,"id":80,"parentId":42,"tags":{},"startTime":1778821614354,"traceId":"a309209d9e3cd974"},{"name":"check-page","duration":574913,"timestamp":13642095608,"id":42,"parentId":19,"tags":{"page":"/api/hub/session"},"startTime":1778821614342,"traceId":"a309209d9e3cd974"},{"name":"is-page-static","duration":563474,"timestamp":13642107841,"id":81,"parentId":43,"tags":{},"startTime":1778821614354,"traceId":"a309209d9e3cd974"},{"name":"check-page","duration":575674,"timestamp":13642095691,"id":43,"parentId":19,"tags":{"page":"/api/hub/stats"},"startTime":1778821614342,"traceId":"a309209d9e3cd974"},{"name":"is-page-static","duration":568089,"timestamp":13642107879,"id":84,"parentId":46,"tags":{},"startTime":1778821614354,"traceId":"a309209d9e3cd974"},{"name":"check-page","duration":580010,"timestamp":13642096053,"id":46,"parentId":19,"tags":{"page":"/api/hub/tasks"},"startTime":1778821614342,"traceId":"a309209d9e3cd974"},{"name":"is-page-static","duration":572215,"timestamp":13642107816,"id":79,"parentId":41,"tags":{},"startTime":1778821614354,"traceId":"a309209d9e3cd974"},{"name":"check-page","duration":584540,"timestamp":13642095535,"id":41,"parentId":19,"tags":{"page":"/api/hub/servers"},"startTime":1778821614342,"traceId":"a309209d9e3cd974"},{"name":"is-page-static","duration":572758,"timestamp":13642107891,"id":85,"parentId":47,"tags":{},"startTime":1778821614354,"traceId":"a309209d9e3cd974"},{"name":"check-page","duration":584513,"timestamp":13642096190,"id":47,"parentId":19,"tags":{"page":"/api/hub/tmux"},"startTime":1778821614342,"traceId":"a309209d9e3cd974"},{"name":"is-page-static","duration":580470,"timestamp":13642107727,"id":74,"parentId":36,"tags":{},"startTime":1778821614354,"traceId":"a309209d9e3cd974"},{"name":"check-page","duration":593148,"timestamp":13642095092,"id":36,"parentId":19,"tags":{"page":"/api/hub/networks"},"startTime":1778821614341,"traceId":"a309209d9e3cd974"},{"name":"is-page-static","duration":583030,"timestamp":13642107903,"id":86,"parentId":48,"tags":{},"startTime":1778821614354,"traceId":"a309209d9e3cd974"},{"name":"check-page","duration":593164,"timestamp":13642097814,"id":48,"parentId":19,"tags":{"page":"/api/hub/tokens"},"startTime":1778821614344,"traceId":"a309209d9e3cd974"},{"name":"is-page-static","duration":588559,"timestamp":13642107916,"id":87,"parentId":49,"tags":{},"startTime":1778821614354,"traceId":"a309209d9e3cd974"},{"name":"check-page","duration":598612,"timestamp":13642097906,"id":49,"parentId":19,"tags":{"page":"/favicon.ico"},"startTime":1778821614344,"traceId":"a309209d9e3cd974"},{"name":"is-page-static","duration":585423,"timestamp":13642111832,"id":88,"parentId":24,"tags":{},"startTime":1778821614358,"traceId":"a309209d9e3cd974"},{"name":"check-page","duration":605770,"timestamp":13642091527,"id":24,"parentId":19,"tags":{"page":"/api/anet/config"},"startTime":1778821614338,"traceId":"a309209d9e3cd974"},{"name":"is-page-static","duration":584452,"timestamp":13642112999,"id":89,"parentId":31,"tags":{},"startTime":1778821614359,"traceId":"a309209d9e3cd974"},{"name":"check-page","duration":603257,"timestamp":13642094222,"id":31,"parentId":19,"tags":{"page":"/api/hub/events"},"startTime":1778821614340,"traceId":"a309209d9e3cd974"},{"name":"is-page-static","duration":597664,"timestamp":13642102652,"id":62,"parentId":21,"tags":{},"startTime":1778821614349,"traceId":"a309209d9e3cd974"},{"name":"check-page","duration":610413,"timestamp":13642089945,"id":21,"parentId":19,"tags":{"page":"/_not-found"},"startTime":1778821614336,"traceId":"a309209d9e3cd974"},{"name":"is-page-static","duration":592632,"timestamp":13642107867,"id":83,"parentId":45,"tags":{},"startTime":1778821614354,"traceId":"a309209d9e3cd974"},{"name":"check-page","duration":604594,"timestamp":13642095935,"id":45,"parentId":19,"tags":{"page":"/api/hub/task-events"},"startTime":1778821614342,"traceId":"a309209d9e3cd974"},{"name":"is-page-static","duration":606733,"timestamp":13642107854,"id":82,"parentId":44,"tags":{},"startTime":1778821614354,"traceId":"a309209d9e3cd974"},{"name":"check-page","duration":618881,"timestamp":13642095793,"id":44,"parentId":19,"tags":{"page":"/api/hub/status"},"startTime":1778821614342,"traceId":"a309209d9e3cd974"},{"name":"is-page-static","duration":615025,"timestamp":13642104378,"id":65,"parentId":26,"tags":{},"startTime":1778821614351,"traceId":"a309209d9e3cd974"},{"name":"check-page","duration":625749,"timestamp":13642093715,"id":26,"parentId":19,"tags":{"page":"/api/auth/logout"},"startTime":1778821614340,"traceId":"a309209d9e3cd974"},{"name":"is-page-static","duration":632201,"timestamp":13642115391,"id":93,"parentId":52,"tags":{},"startTime":1778821614362,"traceId":"a309209d9e3cd974"},{"name":"check-page","duration":649168,"timestamp":13642098522,"id":52,"parentId":19,"tags":{"page":"/messages"},"startTime":1778821614345,"traceId":"a309209d9e3cd974"},{"name":"is-page-static","duration":639920,"timestamp":13642115433,"id":97,"parentId":57,"tags":{},"startTime":1778821614362,"traceId":"a309209d9e3cd974"},{"name":"check-page","duration":655865,"timestamp":13642099588,"id":57,"parentId":19,"tags":{"page":"/settings/networks"},"startTime":1778821614346,"traceId":"a309209d9e3cd974"},{"name":"is-page-static","duration":643281,"timestamp":13642115335,"id":90,"parentId":23,"tags":{},"startTime":1778821614362,"traceId":"a309209d9e3cd974"},{"name":"check-page","duration":667337,"timestamp":13642091351,"id":23,"parentId":19,"tags":{"page":"/admin"},"startTime":1778821614338,"traceId":"a309209d9e3cd974"},{"name":"is-page-static","duration":648270,"timestamp":13642115445,"id":98,"parentId":59,"tags":{},"startTime":1778821614362,"traceId":"a309209d9e3cd974"},{"name":"check-page","duration":663750,"timestamp":13642100023,"id":59,"parentId":19,"tags":{"page":"/settings/tokens"},"startTime":1778821614346,"traceId":"a309209d9e3cd974"},{"name":"is-page-static","duration":659607,"timestamp":13642115475,"id":100,"parentId":61,"tags":{},"startTime":1778821614362,"traceId":"a309209d9e3cd974"},{"name":"check-page","duration":674905,"timestamp":13642100274,"id":61,"parentId":19,"tags":{"page":"/tasks"},"startTime":1778821614347,"traceId":"a309209d9e3cd974"},{"name":"is-page-static","duration":659952,"timestamp":13642115461,"id":99,"parentId":60,"tags":{},"startTime":1778821614362,"traceId":"a309209d9e3cd974"},{"name":"check-page","duration":675310,"timestamp":13642100165,"id":60,"parentId":19,"tags":{"page":"/tasks/[id]"},"startTime":1778821614346,"traceId":"a309209d9e3cd974"},{"name":"is-page-static","duration":658661,"timestamp":13642121278,"id":101,"parentId":58,"tags":{},"startTime":1778821614368,"traceId":"a309209d9e3cd974"},{"name":"check-page","duration":680260,"timestamp":13642099723,"id":58,"parentId":19,"tags":{"page":"/settings"},"startTime":1778821614346,"traceId":"a309209d9e3cd974"},{"name":"is-page-static","duration":666964,"timestamp":13642115402,"id":94,"parentId":53,"tags":{},"startTime":1778821614362,"traceId":"a309209d9e3cd974"},{"name":"check-page","duration":683719,"timestamp":13642098693,"id":53,"parentId":19,"tags":{"page":"/node"},"startTime":1778821614345,"traceId":"a309209d9e3cd974"},{"name":"is-page-static","duration":646426,"timestamp":13642137498,"id":102,"parentId":55,"tags":{},"startTime":1778821614384,"traceId":"a309209d9e3cd974"},{"name":"check-page","duration":684923,"timestamp":13642099038,"id":55,"parentId":19,"tags":{"page":"/"},"startTime":1778821614345,"traceId":"a309209d9e3cd974"},{"name":"is-page-static","duration":671621,"timestamp":13642115414,"id":95,"parentId":54,"tags":{},"startTime":1778821614362,"traceId":"a309209d9e3cd974"},{"name":"check-page","duration":688236,"timestamp":13642098841,"id":54,"parentId":19,"tags":{"page":"/nodes"},"startTime":1778821614345,"traceId":"a309209d9e3cd974"},{"name":"is-page-static","duration":678792,"timestamp":13642115365,"id":91,"parentId":50,"tags":{},"startTime":1778821614362,"traceId":"a309209d9e3cd974"},{"name":"check-page","duration":695940,"timestamp":13642098252,"id":50,"parentId":19,"tags":{"page":"/login"},"startTime":1778821614345,"traceId":"a309209d9e3cd974"},{"name":"is-page-static","duration":679762,"timestamp":13642115381,"id":92,"parentId":51,"tags":{},"startTime":1778821614362,"traceId":"a309209d9e3cd974"},{"name":"check-page","duration":696793,"timestamp":13642098370,"id":51,"parentId":19,"tags":{"page":"/logs"},"startTime":1778821614345,"traceId":"a309209d9e3cd974"},{"name":"is-page-static","duration":685770,"timestamp":13642115421,"id":96,"parentId":56,"tags":{},"startTime":1778821614362,"traceId":"a309209d9e3cd974"},{"name":"check-page","duration":701782,"timestamp":13642099439,"id":56,"parentId":19,"tags":{"page":"/server-logs"},"startTime":1778821614346,"traceId":"a309209d9e3cd974"},{"name":"static-check","duration":713353,"timestamp":13642087907,"id":19,"parentId":1,"tags":{},"startTime":1778821614334,"traceId":"a309209d9e3cd974"},{"name":"write-routes-manifest","duration":584,"timestamp":13642807582,"id":104,"parentId":1,"tags":{},"startTime":1778821615054,"traceId":"a309209d9e3cd974"},{"name":"load-dotenv","duration":53,"timestamp":13642820613,"id":107,"parentId":106,"tags":{},"startTime":1778821615067,"traceId":"a309209d9e3cd974"},{"name":"run-export-path-map","duration":590,"timestamp":13642824408,"id":108,"parentId":106,"tags":{},"startTime":1778821615071,"traceId":"a309209d9e3cd974"},{"name":"next-export","duration":630839,"timestamp":13642819435,"id":106,"parentId":1,"tags":{},"startTime":1778821615066,"traceId":"a309209d9e3cd974"}]
|
|
2
|
-
[{"name":"move-exported-app-not-found-","duration":
|
|
1
|
+
[{"name":"generate-buildid","duration":324,"timestamp":14660751802,"id":4,"parentId":1,"tags":{},"startTime":1778822632998,"traceId":"c1985a2799753063"},{"name":"load-custom-routes","duration":673,"timestamp":14660752281,"id":5,"parentId":1,"tags":{},"startTime":1778822632999,"traceId":"c1985a2799753063"},{"name":"create-dist-dir","duration":752,"timestamp":14660753035,"id":6,"parentId":1,"tags":{},"startTime":1778822632999,"traceId":"c1985a2799753063"},{"name":"clean","duration":587,"timestamp":14660754460,"id":7,"parentId":1,"tags":{},"startTime":1778822633001,"traceId":"c1985a2799753063"},{"name":"discover-routes","duration":11274,"timestamp":14660847101,"id":8,"parentId":1,"tags":{},"startTime":1778822633093,"traceId":"c1985a2799753063"},{"name":"create-root-mapping","duration":118,"timestamp":14660858445,"id":9,"parentId":1,"tags":{},"startTime":1778822633105,"traceId":"c1985a2799753063"},{"name":"generate-route-types","duration":32115,"timestamp":14660861587,"id":10,"parentId":1,"tags":{},"startTime":1778822633108,"traceId":"c1985a2799753063"},{"name":"public-dir-conflict-check","duration":102,"timestamp":14660893865,"id":11,"parentId":1,"tags":{},"startTime":1778822633140,"traceId":"c1985a2799753063"},{"name":"generate-routes-manifest","duration":6615,"timestamp":14660894143,"id":12,"parentId":1,"tags":{},"startTime":1778822633140,"traceId":"c1985a2799753063"},{"name":"run-turbopack","duration":5936003,"timestamp":14660907302,"id":14,"parentId":1,"tags":{},"startTime":1778822633154,"traceId":"c1985a2799753063"},{"name":"turbopack-build-events","duration":114,"timestamp":14661209357,"id":15,"parentId":1,"tags":{},"startTime":1778822633456,"traceId":"c1985a2799753063"},{"name":"run-typescript","duration":8724258,"timestamp":14666853018,"id":16,"parentId":1,"tags":{},"startTime":1778822639099,"traceId":"c1985a2799753063"},{"name":"generate-required-server-files","duration":2624,"timestamp":14675578600,"id":18,"parentId":1,"tags":{},"startTime":1778822647825,"traceId":"c1985a2799753063"},{"name":"check-static-error-page","duration":12974,"timestamp":14675752124,"id":20,"parentId":19,"tags":{},"startTime":1778822647998,"traceId":"c1985a2799753063"},{"name":"is-page-static","duration":557687,"timestamp":14675769801,"id":66,"parentId":27,"tags":{},"startTime":1778822648016,"traceId":"c1985a2799753063"},{"name":"check-page","duration":569843,"timestamp":14675757827,"id":27,"parentId":19,"tags":{"page":"/api/auth/v3"},"startTime":1778822648004,"traceId":"c1985a2799753063"},{"name":"is-page-static","duration":562825,"timestamp":14675770389,"id":69,"parentId":30,"tags":{},"startTime":1778822648017,"traceId":"c1985a2799753063"},{"name":"check-page","duration":575005,"timestamp":14675758288,"id":30,"parentId":19,"tags":{"page":"/api/hub/broadcast"},"startTime":1778822648005,"traceId":"c1985a2799753063"},{"name":"is-page-static","duration":592823,"timestamp":14675768429,"id":63,"parentId":22,"tags":{},"startTime":1778822648015,"traceId":"c1985a2799753063"},{"name":"check-page","duration":606857,"timestamp":14675754471,"id":22,"parentId":19,"tags":{"page":"/_global-error"},"startTime":1778822648001,"traceId":"c1985a2799753063"},{"name":"is-page-static","duration":592003,"timestamp":14675769506,"id":64,"parentId":25,"tags":{},"startTime":1778822648016,"traceId":"c1985a2799753063"},{"name":"check-page","duration":604058,"timestamp":14675757491,"id":25,"parentId":19,"tags":{"page":"/api/auth/login"},"startTime":1778822648004,"traceId":"c1985a2799753063"},{"name":"is-page-static","duration":591128,"timestamp":14675770566,"id":70,"parentId":32,"tags":{},"startTime":1778822648017,"traceId":"c1985a2799753063"},{"name":"check-page","duration":603058,"timestamp":14675758675,"id":32,"parentId":19,"tags":{"page":"/api/hub/health"},"startTime":1778822648005,"traceId":"c1985a2799753063"},{"name":"is-page-static","duration":596374,"timestamp":14675770770,"id":73,"parentId":35,"tags":{},"startTime":1778822648017,"traceId":"c1985a2799753063"},{"name":"check-page","duration":608252,"timestamp":14675758951,"id":35,"parentId":19,"tags":{"page":"/api/hub/messages"},"startTime":1778822648005,"traceId":"c1985a2799753063"},{"name":"is-page-static","duration":603245,"timestamp":14675770902,"id":74,"parentId":36,"tags":{},"startTime":1778822648017,"traceId":"c1985a2799753063"},{"name":"check-page","duration":614789,"timestamp":14675759422,"id":36,"parentId":19,"tags":{"page":"/api/hub/networks"},"startTime":1778822648006,"traceId":"c1985a2799753063"},{"name":"is-page-static","duration":609120,"timestamp":14675770097,"id":67,"parentId":28,"tags":{},"startTime":1778822648016,"traceId":"c1985a2799753063"},{"name":"check-page","duration":621325,"timestamp":14675757955,"id":28,"parentId":19,"tags":{"page":"/api/hub/audit-log"},"startTime":1778822648004,"traceId":"c1985a2799753063"},{"name":"is-page-static","duration":614321,"timestamp":14675770961,"id":76,"parentId":38,"tags":{},"startTime":1778822648017,"traceId":"c1985a2799753063"},{"name":"check-page","duration":625552,"timestamp":14675759803,"id":38,"parentId":19,"tags":{"page":"/api/hub/register"},"startTime":1778822648006,"traceId":"c1985a2799753063"},{"name":"is-page-static","duration":616544,"timestamp":14675770736,"id":72,"parentId":34,"tags":{},"startTime":1778822648017,"traceId":"c1985a2799753063"},{"name":"check-page","duration":628468,"timestamp":14675758865,"id":34,"parentId":19,"tags":{"page":"/api/hub/license"},"startTime":1778822648005,"traceId":"c1985a2799753063"},{"name":"is-page-static","duration":617835,"timestamp":14675769704,"id":65,"parentId":26,"tags":{},"startTime":1778822648016,"traceId":"c1985a2799753063"},{"name":"check-page","duration":629890,"timestamp":14675757685,"id":26,"parentId":19,"tags":{"page":"/api/auth/logout"},"startTime":1778822648004,"traceId":"c1985a2799753063"},{"name":"is-page-static","duration":617913,"timestamp":14675770940,"id":75,"parentId":37,"tags":{},"startTime":1778822648017,"traceId":"c1985a2799753063"},{"name":"check-page","duration":629244,"timestamp":14675759650,"id":37,"parentId":19,"tags":{"page":"/api/hub/nodes"},"startTime":1778822648006,"traceId":"c1985a2799753063"},{"name":"is-page-static","duration":622267,"timestamp":14675770256,"id":68,"parentId":29,"tags":{},"startTime":1778822648017,"traceId":"c1985a2799753063"},{"name":"check-page","duration":634446,"timestamp":14675758119,"id":29,"parentId":19,"tags":{"page":"/api/hub/auth"},"startTime":1778822648004,"traceId":"c1985a2799753063"},{"name":"is-page-static","duration":623394,"timestamp":14675771043,"id":80,"parentId":42,"tags":{},"startTime":1778822648017,"traceId":"c1985a2799753063"},{"name":"check-page","duration":634354,"timestamp":14675760126,"id":42,"parentId":19,"tags":{"page":"/api/hub/session"},"startTime":1778822648006,"traceId":"c1985a2799753063"},{"name":"is-page-static","duration":626584,"timestamp":14675768110,"id":62,"parentId":21,"tags":{},"startTime":1778822648014,"traceId":"c1985a2799753063"},{"name":"check-page","duration":641400,"timestamp":14675753328,"id":21,"parentId":19,"tags":{"page":"/_not-found"},"startTime":1778822648000,"traceId":"c1985a2799753063"},{"name":"is-page-static","duration":623879,"timestamp":14675770995,"id":78,"parentId":40,"tags":{},"startTime":1778822648017,"traceId":"c1985a2799753063"},{"name":"check-page","duration":634955,"timestamp":14675759956,"id":40,"parentId":19,"tags":{"page":"/api/hub/server-logs"},"startTime":1778822648006,"traceId":"c1985a2799753063"},{"name":"is-page-static","duration":630181,"timestamp":14675771069,"id":82,"parentId":44,"tags":{},"startTime":1778822648017,"traceId":"c1985a2799753063"},{"name":"check-page","duration":641020,"timestamp":14675760295,"id":44,"parentId":19,"tags":{"page":"/api/hub/status"},"startTime":1778822648007,"traceId":"c1985a2799753063"},{"name":"is-page-static","duration":637070,"timestamp":14675771113,"id":85,"parentId":47,"tags":{},"startTime":1778822648017,"traceId":"c1985a2799753063"},{"name":"check-page","duration":647709,"timestamp":14675760527,"id":47,"parentId":19,"tags":{"page":"/api/hub/tmux"},"startTime":1778822648007,"traceId":"c1985a2799753063"},{"name":"is-page-static","duration":638314,"timestamp":14675771098,"id":84,"parentId":46,"tags":{},"startTime":1778822648017,"traceId":"c1985a2799753063"},{"name":"check-page","duration":649036,"timestamp":14675760435,"id":46,"parentId":19,"tags":{"page":"/api/hub/tasks"},"startTime":1778822648007,"traceId":"c1985a2799753063"},{"name":"is-page-static","duration":640206,"timestamp":14675770976,"id":77,"parentId":39,"tags":{},"startTime":1778822648017,"traceId":"c1985a2799753063"},{"name":"check-page","duration":651343,"timestamp":14675759884,"id":39,"parentId":19,"tags":{"page":"/api/hub/send"},"startTime":1778822648006,"traceId":"c1985a2799753063"},{"name":"is-page-static","duration":640234,"timestamp":14675771124,"id":86,"parentId":48,"tags":{},"startTime":1778822648017,"traceId":"c1985a2799753063"},{"name":"check-page","duration":650792,"timestamp":14675760598,"id":48,"parentId":19,"tags":{"page":"/api/hub/tokens"},"startTime":1778822648007,"traceId":"c1985a2799753063"},{"name":"is-page-static","duration":642766,"timestamp":14675771137,"id":87,"parentId":49,"tags":{},"startTime":1778822648017,"traceId":"c1985a2799753063"},{"name":"check-page","duration":651836,"timestamp":14675762123,"id":49,"parentId":19,"tags":{"page":"/favicon.ico"},"startTime":1778822648008,"traceId":"c1985a2799753063"},{"name":"is-page-static","duration":642455,"timestamp":14675775707,"id":89,"parentId":31,"tags":{},"startTime":1778822648022,"traceId":"c1985a2799753063"},{"name":"check-page","duration":659805,"timestamp":14675758408,"id":31,"parentId":19,"tags":{"page":"/api/hub/events"},"startTime":1778822648005,"traceId":"c1985a2799753063"},{"name":"is-page-static","duration":654150,"timestamp":14675771058,"id":81,"parentId":43,"tags":{},"startTime":1778822648017,"traceId":"c1985a2799753063"},{"name":"check-page","duration":665022,"timestamp":14675760226,"id":43,"parentId":19,"tags":{"page":"/api/hub/stats"},"startTime":1778822648006,"traceId":"c1985a2799753063"},{"name":"is-page-static","duration":650836,"timestamp":14675774538,"id":88,"parentId":24,"tags":{},"startTime":1778822648021,"traceId":"c1985a2799753063"},{"name":"check-page","duration":670502,"timestamp":14675754896,"id":24,"parentId":19,"tags":{"page":"/api/anet/config"},"startTime":1778822648001,"traceId":"c1985a2799753063"},{"name":"is-page-static","duration":654470,"timestamp":14675771027,"id":79,"parentId":41,"tags":{},"startTime":1778822648017,"traceId":"c1985a2799753063"},{"name":"check-page","duration":665479,"timestamp":14675760039,"id":41,"parentId":19,"tags":{"page":"/api/hub/servers"},"startTime":1778822648006,"traceId":"c1985a2799753063"},{"name":"is-page-static","duration":692670,"timestamp":14675783267,"id":90,"parentId":23,"tags":{},"startTime":1778822648030,"traceId":"c1985a2799753063"},{"name":"check-page","duration":721344,"timestamp":14675754697,"id":23,"parentId":19,"tags":{"page":"/admin"},"startTime":1778822648001,"traceId":"c1985a2799753063"},{"name":"is-page-static","duration":709415,"timestamp":14675771082,"id":83,"parentId":45,"tags":{},"startTime":1778822648017,"traceId":"c1985a2799753063"},{"name":"check-page","duration":720341,"timestamp":14675760369,"id":45,"parentId":19,"tags":{"page":"/api/hub/task-events"},"startTime":1778822648007,"traceId":"c1985a2799753063"},{"name":"is-page-static","duration":701448,"timestamp":14675783373,"id":95,"parentId":54,"tags":{},"startTime":1778822648030,"traceId":"c1985a2799753063"},{"name":"check-page","duration":721886,"timestamp":14675762983,"id":54,"parentId":19,"tags":{"page":"/nodes"},"startTime":1778822648009,"traceId":"c1985a2799753063"},{"name":"is-page-static","duration":708391,"timestamp":14675783389,"id":96,"parentId":56,"tags":{},"startTime":1778822648030,"traceId":"c1985a2799753063"},{"name":"check-page","duration":728258,"timestamp":14675763566,"id":56,"parentId":19,"tags":{"page":"/server-logs"},"startTime":1778822648010,"traceId":"c1985a2799753063"},{"name":"is-page-static","duration":708666,"timestamp":14675783304,"id":91,"parentId":50,"tags":{},"startTime":1778822648030,"traceId":"c1985a2799753063"},{"name":"check-page","duration":729568,"timestamp":14675762463,"id":50,"parentId":19,"tags":{"page":"/login"},"startTime":1778822648009,"traceId":"c1985a2799753063"},{"name":"is-page-static","duration":708782,"timestamp":14675783404,"id":97,"parentId":57,"tags":{},"startTime":1778822648030,"traceId":"c1985a2799753063"},{"name":"check-page","duration":728422,"timestamp":14675763794,"id":57,"parentId":19,"tags":{"page":"/settings/networks"},"startTime":1778822648010,"traceId":"c1985a2799753063"},{"name":"is-page-static","duration":713307,"timestamp":14675783342,"id":93,"parentId":52,"tags":{},"startTime":1778822648030,"traceId":"c1985a2799753063"},{"name":"check-page","duration":734011,"timestamp":14675762704,"id":52,"parentId":19,"tags":{"page":"/messages"},"startTime":1778822648009,"traceId":"c1985a2799753063"},{"name":"is-page-static","duration":717239,"timestamp":14675783362,"id":94,"parentId":53,"tags":{},"startTime":1778822648030,"traceId":"c1985a2799753063"},{"name":"check-page","duration":737813,"timestamp":14675762843,"id":53,"parentId":19,"tags":{"page":"/node"},"startTime":1778822648009,"traceId":"c1985a2799753063"},{"name":"is-page-static","duration":717324,"timestamp":14675783416,"id":98,"parentId":59,"tags":{},"startTime":1778822648030,"traceId":"c1985a2799753063"},{"name":"check-page","duration":736311,"timestamp":14675764459,"id":59,"parentId":19,"tags":{"page":"/settings/tokens"},"startTime":1778822648011,"traceId":"c1985a2799753063"},{"name":"is-page-static","duration":717507,"timestamp":14675783326,"id":92,"parentId":51,"tags":{},"startTime":1778822648030,"traceId":"c1985a2799753063"},{"name":"check-page","duration":738276,"timestamp":14675762578,"id":51,"parentId":19,"tags":{"page":"/logs"},"startTime":1778822648009,"traceId":"c1985a2799753063"},{"name":"is-page-static","duration":719117,"timestamp":14675783457,"id":100,"parentId":61,"tags":{},"startTime":1778822648030,"traceId":"c1985a2799753063"},{"name":"check-page","duration":737814,"timestamp":14675764813,"id":61,"parentId":19,"tags":{"page":"/tasks"},"startTime":1778822648011,"traceId":"c1985a2799753063"},{"name":"is-page-static","duration":720666,"timestamp":14675783473,"id":101,"parentId":58,"tags":{},"startTime":1778822648030,"traceId":"c1985a2799753063"},{"name":"check-page","duration":740188,"timestamp":14675763982,"id":58,"parentId":19,"tags":{"page":"/settings"},"startTime":1778822648010,"traceId":"c1985a2799753063"},{"name":"is-page-static","duration":707426,"timestamp":14675799861,"id":102,"parentId":55,"tags":{},"startTime":1778822648046,"traceId":"c1985a2799753063"},{"name":"check-page","duration":744144,"timestamp":14675763169,"id":55,"parentId":19,"tags":{"page":"/"},"startTime":1778822648009,"traceId":"c1985a2799753063"},{"name":"is-page-static","duration":736961,"timestamp":14675770653,"id":71,"parentId":33,"tags":{},"startTime":1778822648017,"traceId":"c1985a2799753063"},{"name":"check-page","duration":748850,"timestamp":14675758784,"id":33,"parentId":19,"tags":{"page":"/api/hub/inbox"},"startTime":1778822648005,"traceId":"c1985a2799753063"},{"name":"is-page-static","duration":725501,"timestamp":14675783436,"id":99,"parentId":60,"tags":{},"startTime":1778822648030,"traceId":"c1985a2799753063"},{"name":"check-page","duration":744330,"timestamp":14675764641,"id":60,"parentId":19,"tags":{"page":"/tasks/[id]"},"startTime":1778822648011,"traceId":"c1985a2799753063"},{"name":"static-check","duration":757736,"timestamp":14675751277,"id":19,"parentId":1,"tags":{},"startTime":1778822647998,"traceId":"c1985a2799753063"},{"name":"write-routes-manifest","duration":431,"timestamp":14676515459,"id":104,"parentId":1,"tags":{},"startTime":1778822648762,"traceId":"c1985a2799753063"},{"name":"load-dotenv","duration":49,"timestamp":14676526346,"id":107,"parentId":106,"tags":{},"startTime":1778822648773,"traceId":"c1985a2799753063"},{"name":"run-export-path-map","duration":600,"timestamp":14676529939,"id":108,"parentId":106,"tags":{},"startTime":1778822648776,"traceId":"c1985a2799753063"},{"name":"next-export","duration":597471,"timestamp":14676525105,"id":106,"parentId":1,"tags":{},"startTime":1778822648771,"traceId":"c1985a2799753063"}]
|
|
2
|
+
[{"name":"move-exported-app-not-found-","duration":1811,"timestamp":14677126365,"id":109,"parentId":105,"tags":{},"startTime":1778822649373,"traceId":"c1985a2799753063"},{"name":"move-exported-app-global-error-","duration":1094,"timestamp":14677128264,"id":110,"parentId":105,"tags":{},"startTime":1778822649375,"traceId":"c1985a2799753063"},{"name":"static-generation","duration":611576,"timestamp":14676519845,"id":105,"parentId":1,"tags":{},"startTime":1778822648766,"traceId":"c1985a2799753063"},{"name":"write-routes-manifest","duration":446,"timestamp":14677131589,"id":111,"parentId":1,"tags":{},"startTime":1778822649378,"traceId":"c1985a2799753063"},{"name":"print-tree-view","duration":3692,"timestamp":14677143233,"id":112,"parentId":1,"tags":{},"startTime":1778822649390,"traceId":"c1985a2799753063"},{"name":"write-route-bundle-stats","duration":13407,"timestamp":14677146963,"id":113,"parentId":1,"tags":{},"startTime":1778822649393,"traceId":"c1985a2799753063"},{"name":"telemetry-flush","duration":28059,"timestamp":14677160402,"id":114,"parentId":1,"tags":{},"startTime":1778822649407,"traceId":"c1985a2799753063"},{"name":"next-build","duration":16489128,"timestamp":14660699368,"id":1,"tags":{"buildMode":"default","version":"16.2.3","bundler":"turbopack","has-custom-webpack-config":"false","use-build-worker":"true"},"startTime":1778822632946,"traceId":"c1985a2799753063"}]
|
package/.next/trace-build
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
[{"name":"run-turbopack","duration":
|
|
1
|
+
[{"name":"run-turbopack","duration":5936003,"timestamp":14660907302,"id":14,"parentId":1,"tags":{},"startTime":1778822633154,"traceId":"c1985a2799753063"},{"name":"turbopack-build-events","duration":114,"timestamp":14661209357,"id":15,"parentId":1,"tags":{},"startTime":1778822633456,"traceId":"c1985a2799753063"},{"name":"run-typescript","duration":8724258,"timestamp":14666853018,"id":16,"parentId":1,"tags":{},"startTime":1778822639099,"traceId":"c1985a2799753063"},{"name":"static-check","duration":757736,"timestamp":14675751277,"id":19,"parentId":1,"tags":{},"startTime":1778822647998,"traceId":"c1985a2799753063"},{"name":"static-generation","duration":611576,"timestamp":14676519845,"id":105,"parentId":1,"tags":{},"startTime":1778822648766,"traceId":"c1985a2799753063"},{"name":"telemetry-flush","duration":28059,"timestamp":14677160402,"id":114,"parentId":1,"tags":{},"startTime":1778822649407,"traceId":"c1985a2799753063"},{"name":"next-build","duration":16489128,"timestamp":14660699368,"id":1,"tags":{"buildMode":"default","version":"16.2.3","bundler":"turbopack","has-custom-webpack-config":"false","use-build-worker":"true"},"startTime":1778822632946,"traceId":"c1985a2799753063"}]
|
|
@@ -424,12 +424,17 @@ export function TopoGraph({ sessions, sseSessions, renameSignal }: TopoGraphProp
|
|
|
424
424
|
// index, so contiguous-in-array becomes contiguous-in-ring, i.e.
|
|
425
425
|
// each team visually clusters. localeCompare keeps CJK ordering sane.
|
|
426
426
|
const byAlias = (a: Session, b: Session) => a.alias.localeCompare(b.alias);
|
|
427
|
-
// #112 umbrella: ghost age-out — an offline node not seen
|
|
428
|
-
//
|
|
427
|
+
// #112 umbrella: ghost age-out — an offline node not seen recently is
|
|
428
|
+
// almost certainly a deleted node the server `/api/status` still
|
|
429
429
|
// returns (#74 root cause is server-side; this is the dashboard-side
|
|
430
430
|
// fallback so stale ghosts stop cluttering the topology). A missing
|
|
431
431
|
// last_seen_at is kept (conservative — could be a legitimately new node).
|
|
432
|
-
|
|
432
|
+
// Round 27 / P0: the 24h threshold was too lenient — Vincent's preview.29
|
|
433
|
+
// screenshot showed B站马 nodes deleted ~4 h earlier still visible. A
|
|
434
|
+
// healthy agent heartbeats every few seconds; if it's been silent for
|
|
435
|
+
// an hour it's effectively gone. 1 h gives a fresh disconnect time to
|
|
436
|
+
// come back while removing dead nodes well within an operator session.
|
|
437
|
+
const GHOST_MS = 60 * 60 * 1000;
|
|
433
438
|
const now = Date.now();
|
|
434
439
|
const isGhost = (s: Session) => {
|
|
435
440
|
if (s.status !== 'offline' || sseCount(s) || !s.last_seen_at) return false;
|
|
@@ -497,11 +502,25 @@ export function TopoGraph({ sessions, sseSessions, renameSignal }: TopoGraphProp
|
|
|
497
502
|
// padding always fit and stacked group boxes never touch; past the
|
|
498
503
|
// floor the grid overflows and zoom/pan handles it.
|
|
499
504
|
const GROUP_TOP = nodeR + 20;
|
|
500
|
-
//
|
|
501
|
-
// (
|
|
502
|
-
//
|
|
503
|
-
//
|
|
504
|
-
|
|
505
|
+
// Round 27 / P0 (Vincent screenshot preview.29): dense plain-text
|
|
506
|
+
// node labels (`pos.y + radius + denseDrop`, with a 3 px containerBg
|
|
507
|
+
// stroke halo for readability) at the BOTTOM row of band N would
|
|
508
|
+
// paint OVER the start of band N+1's group label, creating the
|
|
509
|
+
// "blueleap → eleap", "agent-network-dashboard → t-network / board"
|
|
510
|
+
// visual chopping. Geometry of the collision:
|
|
511
|
+
// dense label visual bottom = node_N.y + radius + denseDrop + halo
|
|
512
|
+
// group label glyph top = boxY + 4 (text y=boxY+14, ~10px ascent)
|
|
513
|
+
// = node_N+1.y - GROUP_TOP + 4
|
|
514
|
+
// node_N+1.y - node_N.y = cellH for consecutive rows, so no-collide:
|
|
515
|
+
// cellH ≥ radius + denseDrop + halo + GROUP_TOP - 4 + buffer
|
|
516
|
+
// With halo=3 buffer=4: cellH ≥ nodeR + denseDrop + GROUP_TOP + 3.
|
|
517
|
+
const denseDrop = nodeScale < 0.8 ? 12 : 14;
|
|
518
|
+
const cellH = Math.max(
|
|
519
|
+
2 * nodeR + 22, // node + dense label within band
|
|
520
|
+
GROUP_TOP + 12, // group-label band + box padding
|
|
521
|
+
nodeR + denseDrop + GROUP_TOP + 3, // round-27 dense↔group label clearance
|
|
522
|
+
Math.min(100, (gy1 - gy0) / totalRows),
|
|
523
|
+
);
|
|
505
524
|
|
|
506
525
|
// Pass 2 — place each band's members.
|
|
507
526
|
for (const band of bands) {
|
|
@@ -1529,8 +1548,17 @@ export function TopoGraph({ sessions, sseSessions, renameSignal }: TopoGraphProp
|
|
|
1529
1548
|
const fullMax = isSmall ? 11 : 12;
|
|
1530
1549
|
const denseFs = isSmall ? 9 : 10;
|
|
1531
1550
|
const denseDrop = isSmall ? 12 : 14;
|
|
1551
|
+
// Round 26 / Loop: micro-lift the label group on hover —
|
|
1552
|
+
// 1.5 px upward, 200 ms ease. Pairs with the Round 18
|
|
1553
|
+
// group-box hover-accent treatment to give the same
|
|
1554
|
+
// "this is the focused element" feedback at the per-
|
|
1555
|
+
// node level. CSS transform stacks onto the SVG
|
|
1556
|
+
// positioning transform attribute (SVG 2 cascade);
|
|
1557
|
+
// bbox is unchanged at rest, so the overlap-test gate
|
|
1558
|
+
// continues to see the geometric layout it expects.
|
|
1532
1559
|
return showFullLabel ? (
|
|
1533
|
-
<g transform={`translate(${pos.x}, ${pos.y + radius + dropY})`} style={{ pointerEvents: 'none' }}
|
|
1560
|
+
<g transform={`translate(${pos.x}, ${pos.y + radius + dropY})`} style={{ pointerEvents: 'none' }}
|
|
1561
|
+
className="transition-transform duration-200 group-hover:-translate-y-[1.5px]">
|
|
1534
1562
|
<rect x={-cardW / 2} y={cardTopY} width={cardW} height={cardH} rx="6" fill={pal.labelBox.fill} stroke={pal.labelBox.stroke} opacity={isLight ? 1 : 0.94} />
|
|
1535
1563
|
<text x="0" y="1" textAnchor="middle" fill={status.text} fontSize={aliasFs} fontFamily="monospace" fontWeight="700">
|
|
1536
1564
|
{truncate(session.alias, fullMax)}
|
|
@@ -1549,6 +1577,7 @@ export function TopoGraph({ sessions, sseSessions, renameSignal }: TopoGraphProp
|
|
|
1549
1577
|
fontFamily="monospace"
|
|
1550
1578
|
fontWeight="700"
|
|
1551
1579
|
opacity={0.9}
|
|
1580
|
+
className="transition-transform duration-200 group-hover:-translate-y-[1.5px]"
|
|
1552
1581
|
style={{ pointerEvents: 'none', paintOrder: 'stroke' }}
|
|
1553
1582
|
stroke={pal.containerBg}
|
|
1554
1583
|
strokeWidth="3"
|
package/package.json
CHANGED
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
/* Round 26 verification: hovering a node lifts its label group up by
|
|
2
|
+
* 1.5 px (CSS transform stacked on the SVG positioning translate). Both
|
|
3
|
+
* the full-card path (sparse fleet) and the dense plain-text path
|
|
4
|
+
* (large fleet) should respond. */
|
|
5
|
+
import { chromium } from 'playwright';
|
|
6
|
+
import { readFileSync } from 'node:fs';
|
|
7
|
+
|
|
8
|
+
const TOKEN = JSON.parse(readFileSync('/home/vansin/.anet/config.json', 'utf8')).token;
|
|
9
|
+
const browser = await chromium.launch({ headless: true });
|
|
10
|
+
|
|
11
|
+
async function probe(fleetSize) {
|
|
12
|
+
const ctx = await browser.newContext({ viewport: { width: 1280, height: 1600 } });
|
|
13
|
+
await ctx.addCookies([{ name: 'anet_dashboard_session', value: `v3:${TOKEN}`, domain: '127.0.0.1', path: '/' }]);
|
|
14
|
+
await ctx.addInitScript(() => {
|
|
15
|
+
try {
|
|
16
|
+
localStorage.setItem('anet-theme', 'cyber');
|
|
17
|
+
localStorage.setItem('anet-topo-layout', 'grid');
|
|
18
|
+
localStorage.setItem('anet-topo-nodescale', '1');
|
|
19
|
+
sessionStorage.setItem('anet_v3_auth', '1');
|
|
20
|
+
} catch {}
|
|
21
|
+
});
|
|
22
|
+
const fresh = new Date(Date.now() - 60 * 1000).toISOString();
|
|
23
|
+
await ctx.route('**/api/hub/status*', async (route) => {
|
|
24
|
+
const r = await route.fetch();
|
|
25
|
+
const b = await r.json();
|
|
26
|
+
const nid = (b.sessions || [])[0]?.network_id || 'default';
|
|
27
|
+
const sessions = Array.from({ length: fleetSize }, (_, i) => ({
|
|
28
|
+
alias: `lab${i + 1}`, status: 'idle', network_id: nid, project_dir: null,
|
|
29
|
+
created_at: fresh, updated_at: fresh, last_seen_at: fresh,
|
|
30
|
+
}));
|
|
31
|
+
await route.fulfill({ response: r, json: { ...b, sessions } });
|
|
32
|
+
});
|
|
33
|
+
await ctx.route('**/api/hub/tasks*', (route) => route.fulfill({ json: { tasks: [] } }));
|
|
34
|
+
const page = await ctx.newPage();
|
|
35
|
+
await page.goto('http://127.0.0.1:3000/', { waitUntil: 'domcontentloaded' });
|
|
36
|
+
await page.waitForFunction((n) => {
|
|
37
|
+
const svg = document.querySelector('svg[viewBox="0 0 1000 680"]');
|
|
38
|
+
return !!svg && svg.querySelectorAll('g[data-node]').length === n;
|
|
39
|
+
}, fleetSize, { timeout: 30000 }).catch(() => {});
|
|
40
|
+
await page.waitForTimeout(500);
|
|
41
|
+
|
|
42
|
+
// Re-query the label element fresh each sample — React re-renders on
|
|
43
|
+
// hover (hoveredAlias state change) so any element handle captured
|
|
44
|
+
// before the hover would be detached/stale by the time we read its
|
|
45
|
+
// post-hover position.
|
|
46
|
+
const readLabelTop = () => page.evaluate(() => {
|
|
47
|
+
const node = document.querySelector('g[data-node="lab1"]');
|
|
48
|
+
if (!node) return null;
|
|
49
|
+
const full = [...node.querySelectorAll('g')].find(g => /group-hover:-translate-y/.test(g.getAttribute('class') || ''));
|
|
50
|
+
const el = full || [...node.querySelectorAll('text')].find(t => /group-hover:-translate-y/.test(t.getAttribute('class') || ''));
|
|
51
|
+
return el ? el.getBoundingClientRect().top : null;
|
|
52
|
+
});
|
|
53
|
+
|
|
54
|
+
const beforeY = await readLabelTop();
|
|
55
|
+
await page.locator('g[data-node="lab1"]').hover();
|
|
56
|
+
await page.waitForTimeout(300);
|
|
57
|
+
const afterY = await readLabelTop();
|
|
58
|
+
|
|
59
|
+
await ctx.close();
|
|
60
|
+
return { beforeY, afterY };
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
const sparse = await probe(4);
|
|
64
|
+
// Note: in dense mode the same alias's hover triggers `showFullLabel`,
|
|
65
|
+
// which swaps the plain-text element for the full-card <g>. That path
|
|
66
|
+
// switch makes a same-element before/after comparison meaningless.
|
|
67
|
+
// The plain-text element still carries the same hover-lift class, so
|
|
68
|
+
// the lift wiring is verified at the DOM level via the second probe.
|
|
69
|
+
const denseClassPresent = await (async () => {
|
|
70
|
+
const ctx = await browser.newContext({ viewport: { width: 1280, height: 1600 } });
|
|
71
|
+
const TOKEN = JSON.parse(readFileSync('/home/vansin/.anet/config.json', 'utf8')).token;
|
|
72
|
+
await ctx.addCookies([{ name: 'anet_dashboard_session', value: `v3:${TOKEN}`, domain: '127.0.0.1', path: '/' }]);
|
|
73
|
+
await ctx.addInitScript(() => {
|
|
74
|
+
localStorage.setItem('anet-topo-layout', 'grid');
|
|
75
|
+
localStorage.setItem('anet-topo-nodescale', '1');
|
|
76
|
+
sessionStorage.setItem('anet_v3_auth', '1');
|
|
77
|
+
});
|
|
78
|
+
const fresh = new Date(Date.now() - 60 * 1000).toISOString();
|
|
79
|
+
await ctx.route('**/api/hub/status*', async (route) => {
|
|
80
|
+
const r = await route.fetch();
|
|
81
|
+
const b = await r.json();
|
|
82
|
+
const nid = (b.sessions || [])[0]?.network_id || 'default';
|
|
83
|
+
const sessions = Array.from({ length: 28 }, (_, i) => ({
|
|
84
|
+
alias: `lab${i + 1}`, status: 'idle', network_id: nid, project_dir: null,
|
|
85
|
+
created_at: fresh, updated_at: fresh, last_seen_at: fresh,
|
|
86
|
+
}));
|
|
87
|
+
await route.fulfill({ response: r, json: { ...b, sessions } });
|
|
88
|
+
});
|
|
89
|
+
await ctx.route('**/api/hub/tasks*', (route) => route.fulfill({ json: { tasks: [] } }));
|
|
90
|
+
const page = await ctx.newPage();
|
|
91
|
+
await page.goto('http://127.0.0.1:3000/', { waitUntil: 'domcontentloaded' });
|
|
92
|
+
await page.waitForFunction(() => document.querySelectorAll('g[data-node]').length === 28, { timeout: 30000 }).catch(() => {});
|
|
93
|
+
await page.waitForTimeout(500);
|
|
94
|
+
const has = await page.evaluate(() => {
|
|
95
|
+
const node = document.querySelector('g[data-node="lab2"]'); // not the one we'd hover
|
|
96
|
+
if (!node) return false;
|
|
97
|
+
const t = [...node.querySelectorAll('text')].find(x => /group-hover:-translate-y/.test(x.getAttribute('class') || ''));
|
|
98
|
+
return !!t;
|
|
99
|
+
});
|
|
100
|
+
await ctx.close();
|
|
101
|
+
return has;
|
|
102
|
+
})();
|
|
103
|
+
|
|
104
|
+
await browser.close();
|
|
105
|
+
|
|
106
|
+
const lifted = (m) => m.beforeY != null && m.afterY != null && m.beforeY - m.afterY >= 1 && m.beforeY - m.afterY <= 2.5;
|
|
107
|
+
|
|
108
|
+
const results = {
|
|
109
|
+
sparseLabelLifts: lifted(sparse),
|
|
110
|
+
densePlainTextHasLiftClass: denseClassPresent,
|
|
111
|
+
};
|
|
112
|
+
const ok = Object.values(results).every(Boolean);
|
|
113
|
+
console.log(`${ok ? '✅' : '❌'} label hover lift:`, JSON.stringify(results),
|
|
114
|
+
`sparse=Δ${(sparse.beforeY - sparse.afterY)?.toFixed(2)}px`);
|
|
115
|
+
process.exit(ok ? 0 : 1);
|
|
@@ -3,7 +3,10 @@
|
|
|
3
3
|
* - node ↔ node — status rings don't intersect
|
|
4
4
|
* - node ↔ panel — no node circle intersects an overlay panel rect
|
|
5
5
|
* - node ↔ group-label — no group-box label text covers a node
|
|
6
|
-
* - group-box ↔ box — no two group boxes overlap
|
|
6
|
+
* - group-box ↔ box — no two group boxes overlap
|
|
7
|
+
* - label ↔ label — no two text labels overlap (Round 27 — caught
|
|
8
|
+
* the dense-node-label vs group-label collision
|
|
9
|
+
* Vincent reported in preview.29) */
|
|
7
10
|
import { chromium } from 'playwright';
|
|
8
11
|
import { readFileSync, mkdirSync } from 'node:fs';
|
|
9
12
|
|
|
@@ -80,11 +83,24 @@ async function check(layout) {
|
|
|
80
83
|
label: { x: bb.x, y: bb.y, w: bb.width, h: bb.height },
|
|
81
84
|
};
|
|
82
85
|
});
|
|
83
|
-
|
|
86
|
+
// Round 27 / P0: every visible label bbox (node alias text + group
|
|
87
|
+
// headings) so we can assert label↔label clearance. Skip elements
|
|
88
|
+
// with empty bboxes (e.g., text inside an unrendered <g>).
|
|
89
|
+
const allLabels = [];
|
|
90
|
+
for (const t of svg.querySelectorAll('g[data-node] text, g[data-group] text')) {
|
|
91
|
+
const bb = t.getBBox();
|
|
92
|
+
if (bb.width === 0 || bb.height === 0) continue;
|
|
93
|
+
allLabels.push({
|
|
94
|
+
kind: t.closest('g[data-group]') ? 'group' : 'node',
|
|
95
|
+
owner: (t.closest('g[data-group]')?.getAttribute('data-group')) || (t.closest('g[data-node]')?.getAttribute('data-node')) || '?',
|
|
96
|
+
x: bb.x, y: bb.y, w: bb.width, h: bb.height,
|
|
97
|
+
});
|
|
98
|
+
}
|
|
99
|
+
return { nodes, panels, groups, allLabels };
|
|
84
100
|
});
|
|
85
101
|
|
|
86
102
|
const TOL = 2; // px slack — touching edges is fine, real overlap is not
|
|
87
|
-
let nodeNode = 0, nodePanel = 0, nodeLabel = 0, boxBox = 0;
|
|
103
|
+
let nodeNode = 0, nodePanel = 0, nodeLabel = 0, boxBox = 0, labelLabel = 0;
|
|
88
104
|
|
|
89
105
|
// node ↔ node
|
|
90
106
|
for (let i = 0; i < data.nodes.length; i++) {
|
|
@@ -119,12 +135,23 @@ async function check(layout) {
|
|
|
119
135
|
overlaps1D(a.y, a.y + a.h, b.y, b.y + b.h, TOL)) boxBox++;
|
|
120
136
|
}
|
|
121
137
|
}
|
|
138
|
+
// label ↔ label (Round 27)
|
|
139
|
+
// Same-node node-labels (e.g. alias + sub-status in the full card) are
|
|
140
|
+
// intentionally close and adjacent — skip pairs that share an owner.
|
|
141
|
+
for (let i = 0; i < data.allLabels.length; i++) {
|
|
142
|
+
for (let j = i + 1; j < data.allLabels.length; j++) {
|
|
143
|
+
const a = data.allLabels[i], b = data.allLabels[j];
|
|
144
|
+
if (a.owner === b.owner) continue;
|
|
145
|
+
if (overlaps1D(a.x, a.x + a.w, b.x, b.x + b.w, TOL) &&
|
|
146
|
+
overlaps1D(a.y, a.y + a.h, b.y, b.y + b.h, TOL)) labelLabel++;
|
|
147
|
+
}
|
|
148
|
+
}
|
|
122
149
|
|
|
123
150
|
await page.screenshot({ path: `/tmp/anet-issue-112/overlap-${layout}.png` });
|
|
124
151
|
await ctx.close();
|
|
125
|
-
const ok = nodeNode === 0 && nodePanel === 0 && nodeLabel === 0 && boxBox === 0;
|
|
152
|
+
const ok = nodeNode === 0 && nodePanel === 0 && nodeLabel === 0 && boxBox === 0 && labelLabel === 0;
|
|
126
153
|
console.log(`${ok ? '✅' : '❌'} [${layout}] nodes=${data.nodes.length} groups=${data.groups.length} — ` +
|
|
127
|
-
`node↔node:${nodeNode} node↔panel:${nodePanel} node↔label:${nodeLabel} box↔box:${boxBox}`);
|
|
154
|
+
`node↔node:${nodeNode} node↔panel:${nodePanel} node↔label:${nodeLabel} box↔box:${boxBox} label↔label:${labelLabel}`);
|
|
128
155
|
return ok;
|
|
129
156
|
}
|
|
130
157
|
|