@sleep2agi/agent-network-dashboard 0.5.3-preview.115 → 0.5.3-preview.117
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 +5 -5
- 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/[root-of-the-server]__0sv~g.o._.js +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__0sv~g.o._.js.map +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 +1 -1
- package/.next/server/pages/500.html +1 -1
- package/.next/static/chunks/{03i86t3.~.8ll.js → 00o-zgown.97f.js} +1 -1
- package/.next/static/chunks/{030.uuu7efnb8.js → 0n6zuvbiruc.7.js} +1 -1
- package/.next/static/chunks/{0je0sy~2psa.e.js → 12x616uychgd3.js} +1 -1
- package/.next/static/chunks/17nyaiknx8jvz.js +4 -0
- package/.next/trace +2 -2
- package/.next/trace-build +1 -1
- package/app/components/TopoGraph.tsx +65 -5
- package/package.json +1 -1
- package/scripts/topo-avatar-scale-test.mjs +89 -0
- package/scripts/topo-edge-badge-circle-brightness-test.mjs +82 -0
- package/.next/static/chunks/10wwrp2zvsbul.js +0 -4
- /package/.next/static/{U1vNDIvDsljKqTiX3VDnp → VxBWiTVRwrbqqD8Nnaf6q}/_buildManifest.js +0 -0
- /package/.next/static/{U1vNDIvDsljKqTiX3VDnp → VxBWiTVRwrbqqD8Nnaf6q}/_clientMiddlewareManifest.js +0 -0
- /package/.next/static/{U1vNDIvDsljKqTiX3VDnp → VxBWiTVRwrbqqD8Nnaf6q}/_ssgManifest.js +0 -0
package/.next/trace
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
[{"name":"generate-buildid","duration":248,"timestamp":235758911517,"id":4,"parentId":1,"tags":{},"startTime":1779043731158,"traceId":"9922a64a2d8292a7"},{"name":"load-custom-routes","duration":514,"timestamp":235758911920,"id":5,"parentId":1,"tags":{},"startTime":1779043731158,"traceId":"9922a64a2d8292a7"},{"name":"create-dist-dir","duration":686,"timestamp":235758912477,"id":6,"parentId":1,"tags":{},"startTime":1779043731159,"traceId":"9922a64a2d8292a7"},{"name":"clean","duration":31716,"timestamp":235758913792,"id":7,"parentId":1,"tags":{},"startTime":1779043731160,"traceId":"9922a64a2d8292a7"},{"name":"discover-routes","duration":27603,"timestamp":235759024069,"id":8,"parentId":1,"tags":{},"startTime":1779043731270,"traceId":"9922a64a2d8292a7"},{"name":"create-root-mapping","duration":176,"timestamp":235759051759,"id":9,"parentId":1,"tags":{},"startTime":1779043731298,"traceId":"9922a64a2d8292a7"},{"name":"generate-route-types","duration":18814,"timestamp":235759054399,"id":10,"parentId":1,"tags":{},"startTime":1779043731301,"traceId":"9922a64a2d8292a7"},{"name":"public-dir-conflict-check","duration":91,"timestamp":235759073293,"id":11,"parentId":1,"tags":{},"startTime":1779043731320,"traceId":"9922a64a2d8292a7"},{"name":"generate-routes-manifest","duration":5451,"timestamp":235759073488,"id":12,"parentId":1,"tags":{},"startTime":1779043731320,"traceId":"9922a64a2d8292a7"},{"name":"run-turbopack","duration":5887590,"timestamp":235759085982,"id":14,"parentId":1,"tags":{},"startTime":1779043731332,"traceId":"9922a64a2d8292a7"},{"name":"turbopack-build-events","duration":109,"timestamp":235759392456,"id":15,"parentId":1,"tags":{},"startTime":1779043731639,"traceId":"9922a64a2d8292a7"},{"name":"run-typescript","duration":9722832,"timestamp":235764984962,"id":16,"parentId":1,"tags":{},"startTime":1779043737231,"traceId":"9922a64a2d8292a7"},{"name":"generate-required-server-files","duration":2658,"timestamp":235774708784,"id":18,"parentId":1,"tags":{},"startTime":1779043746955,"traceId":"9922a64a2d8292a7"},{"name":"check-static-error-page","duration":14069,"timestamp":235774939585,"id":20,"parentId":19,"tags":{},"startTime":1779043747186,"traceId":"9922a64a2d8292a7"},{"name":"is-page-static","duration":462442,"timestamp":235774955958,"id":65,"parentId":22,"tags":{},"startTime":1779043747202,"traceId":"9922a64a2d8292a7"},{"name":"check-page","duration":476164,"timestamp":235774942402,"id":22,"parentId":19,"tags":{"page":"/_global-error"},"startTime":1779043747189,"traceId":"9922a64a2d8292a7"},{"name":"is-page-static","duration":545231,"timestamp":235774956066,"id":66,"parentId":25,"tags":{},"startTime":1779043747202,"traceId":"9922a64a2d8292a7"},{"name":"check-page","duration":556135,"timestamp":235774945265,"id":25,"parentId":19,"tags":{"page":"/api/auth/login"},"startTime":1779043747192,"traceId":"9922a64a2d8292a7"},{"name":"is-page-static","duration":559360,"timestamp":235774957838,"id":72,"parentId":32,"tags":{},"startTime":1779043747204,"traceId":"9922a64a2d8292a7"},{"name":"check-page","duration":571473,"timestamp":235774945959,"id":32,"parentId":19,"tags":{"page":"/api/hub/health"},"startTime":1779043747192,"traceId":"9922a64a2d8292a7"},{"name":"is-page-static","duration":569067,"timestamp":235774957243,"id":69,"parentId":28,"tags":{},"startTime":1779043747204,"traceId":"9922a64a2d8292a7"},{"name":"check-page","duration":580845,"timestamp":235774945532,"id":28,"parentId":19,"tags":{"page":"/api/hub/audit-log"},"startTime":1779043747192,"traceId":"9922a64a2d8292a7"},{"name":"is-page-static","duration":568497,"timestamp":235774958071,"id":73,"parentId":33,"tags":{},"startTime":1779043747204,"traceId":"9922a64a2d8292a7"},{"name":"check-page","duration":580552,"timestamp":235774946067,"id":33,"parentId":19,"tags":{"page":"/api/hub/inbox"},"startTime":1779043747192,"traceId":"9922a64a2d8292a7"},{"name":"is-page-static","duration":582349,"timestamp":235774957761,"id":71,"parentId":30,"tags":{},"startTime":1779043747204,"traceId":"9922a64a2d8292a7"},{"name":"check-page","duration":594484,"timestamp":235774945691,"id":30,"parentId":19,"tags":{"page":"/api/hub/broadcast"},"startTime":1779043747192,"traceId":"9922a64a2d8292a7"},{"name":"is-page-static","duration":587028,"timestamp":235774958191,"id":75,"parentId":35,"tags":{},"startTime":1779043747204,"traceId":"9922a64a2d8292a7"},{"name":"check-page","duration":598979,"timestamp":235774946294,"id":35,"parentId":19,"tags":{"page":"/api/hub/messages"},"startTime":1779043747193,"traceId":"9922a64a2d8292a7"},{"name":"is-page-static","duration":591578,"timestamp":235774958248,"id":77,"parentId":37,"tags":{},"startTime":1779043747205,"traceId":"9922a64a2d8292a7"},{"name":"check-page","duration":602946,"timestamp":235774946946,"id":37,"parentId":19,"tags":{"page":"/api/hub/nodes"},"startTime":1779043747193,"traceId":"9922a64a2d8292a7"},{"name":"is-page-static","duration":599184,"timestamp":235774957098,"id":68,"parentId":27,"tags":{},"startTime":1779043747203,"traceId":"9922a64a2d8292a7"},{"name":"check-page","duration":610874,"timestamp":235774945462,"id":27,"parentId":19,"tags":{"page":"/api/auth/v3"},"startTime":1779043747192,"traceId":"9922a64a2d8292a7"},{"name":"is-page-static","duration":600515,"timestamp":235774956141,"id":67,"parentId":26,"tags":{},"startTime":1779043747202,"traceId":"9922a64a2d8292a7"},{"name":"check-page","duration":611307,"timestamp":235774945392,"id":26,"parentId":19,"tags":{"page":"/api/auth/logout"},"startTime":1779043747192,"traceId":"9922a64a2d8292a7"},{"name":"is-page-static","duration":598579,"timestamp":235774958265,"id":78,"parentId":38,"tags":{},"startTime":1779043747205,"traceId":"9922a64a2d8292a7"},{"name":"check-page","duration":609839,"timestamp":235774947053,"id":38,"parentId":19,"tags":{"page":"/api/hub/register"},"startTime":1779043747193,"traceId":"9922a64a2d8292a7"},{"name":"is-page-static","duration":598849,"timestamp":235774958214,"id":76,"parentId":36,"tags":{},"startTime":1779043747204,"traceId":"9922a64a2d8292a7"},{"name":"check-page","duration":610312,"timestamp":235774946784,"id":36,"parentId":19,"tags":{"page":"/api/hub/networks"},"startTime":1779043747193,"traceId":"9922a64a2d8292a7"},{"name":"is-page-static","duration":606057,"timestamp":235774958154,"id":74,"parentId":34,"tags":{},"startTime":1779043747204,"traceId":"9922a64a2d8292a7"},{"name":"check-page","duration":618076,"timestamp":235774946182,"id":34,"parentId":19,"tags":{"page":"/api/hub/license"},"startTime":1779043747192,"traceId":"9922a64a2d8292a7"},{"name":"is-page-static","duration":609504,"timestamp":235774958290,"id":80,"parentId":40,"tags":{},"startTime":1779043747205,"traceId":"9922a64a2d8292a7"},{"name":"check-page","duration":620667,"timestamp":235774947171,"id":40,"parentId":19,"tags":{"page":"/api/hub/server-logs"},"startTime":1779043747193,"traceId":"9922a64a2d8292a7"},{"name":"is-page-static","duration":612670,"timestamp":235774958278,"id":79,"parentId":39,"tags":{},"startTime":1779043747205,"traceId":"9922a64a2d8292a7"},{"name":"check-page","duration":623875,"timestamp":235774947115,"id":39,"parentId":19,"tags":{"page":"/api/hub/send"},"startTime":1779043747193,"traceId":"9922a64a2d8292a7"},{"name":"is-page-static","duration":617974,"timestamp":235774958339,"id":84,"parentId":46,"tags":{},"startTime":1779043747205,"traceId":"9922a64a2d8292a7"},{"name":"check-page","duration":626903,"timestamp":235774949457,"id":46,"parentId":19,"tags":{"page":"/api/hub/status"},"startTime":1779043747196,"traceId":"9922a64a2d8292a7"},{"name":"is-page-static","duration":619199,"timestamp":235774958302,"id":81,"parentId":42,"tags":{},"startTime":1779043747205,"traceId":"9922a64a2d8292a7"},{"name":"check-page","duration":630174,"timestamp":235774947399,"id":42,"parentId":19,"tags":{"page":"/api/hub/server/[hostname]/health"},"startTime":1779043747194,"traceId":"9922a64a2d8292a7"},{"name":"is-page-static","duration":620186,"timestamp":235774957552,"id":70,"parentId":29,"tags":{},"startTime":1779043747204,"traceId":"9922a64a2d8292a7"},{"name":"check-page","duration":632165,"timestamp":235774945606,"id":29,"parentId":19,"tags":{"page":"/api/hub/auth"},"startTime":1779043747192,"traceId":"9922a64a2d8292a7"},{"name":"is-page-static","duration":623710,"timestamp":235774958363,"id":86,"parentId":48,"tags":{},"startTime":1779043747205,"traceId":"9922a64a2d8292a7"},{"name":"check-page","duration":632520,"timestamp":235774949600,"id":48,"parentId":19,"tags":{"page":"/api/hub/tasks"},"startTime":1779043747196,"traceId":"9922a64a2d8292a7"},{"name":"is-page-static","duration":626481,"timestamp":235774958327,"id":83,"parentId":45,"tags":{},"startTime":1779043747205,"traceId":"9922a64a2d8292a7"},{"name":"check-page","duration":635467,"timestamp":235774949383,"id":45,"parentId":19,"tags":{"page":"/api/hub/stats"},"startTime":1779043747196,"traceId":"9922a64a2d8292a7"},{"name":"is-page-static","duration":631013,"timestamp":235774955668,"id":64,"parentId":21,"tags":{},"startTime":1779043747202,"traceId":"9922a64a2d8292a7"},{"name":"check-page","duration":645831,"timestamp":235774940890,"id":21,"parentId":19,"tags":{"page":"/_not-found"},"startTime":1779043747187,"traceId":"9922a64a2d8292a7"},{"name":"is-page-static","duration":628510,"timestamp":235774958401,"id":89,"parentId":51,"tags":{},"startTime":1779043747205,"traceId":"9922a64a2d8292a7"},{"name":"check-page","duration":637136,"timestamp":235774949817,"id":51,"parentId":19,"tags":{"page":"/favicon.ico"},"startTime":1779043747196,"traceId":"9922a64a2d8292a7"},{"name":"is-page-static","duration":632585,"timestamp":235774958376,"id":87,"parentId":49,"tags":{},"startTime":1779043747205,"traceId":"9922a64a2d8292a7"},{"name":"check-page","duration":641333,"timestamp":235774949689,"id":49,"parentId":19,"tags":{"page":"/api/hub/tmux"},"startTime":1779043747196,"traceId":"9922a64a2d8292a7"},{"name":"is-page-static","duration":629031,"timestamp":235774962153,"id":90,"parentId":24,"tags":{},"startTime":1779043747208,"traceId":"9922a64a2d8292a7"},{"name":"check-page","duration":648432,"timestamp":235774942779,"id":24,"parentId":19,"tags":{"page":"/api/anet/config"},"startTime":1779043747189,"traceId":"9922a64a2d8292a7"},{"name":"is-page-static","duration":627139,"timestamp":235774965798,"id":93,"parentId":43,"tags":{},"startTime":1779043747212,"traceId":"9922a64a2d8292a7"},{"name":"check-page","duration":645498,"timestamp":235774947478,"id":43,"parentId":19,"tags":{"page":"/api/hub/servers"},"startTime":1779043747194,"traceId":"9922a64a2d8292a7"},{"name":"is-page-static","duration":634903,"timestamp":235774964454,"id":92,"parentId":41,"tags":{},"startTime":1779043747211,"traceId":"9922a64a2d8292a7"},{"name":"check-page","duration":652179,"timestamp":235774947224,"id":41,"parentId":19,"tags":{"page":"/api/hub/server/[hostname]/agents"},"startTime":1779043747193,"traceId":"9922a64a2d8292a7"},{"name":"is-page-static","duration":650948,"timestamp":235774958388,"id":88,"parentId":50,"tags":{},"startTime":1779043747205,"traceId":"9922a64a2d8292a7"},{"name":"check-page","duration":659638,"timestamp":235774949754,"id":50,"parentId":19,"tags":{"page":"/api/hub/tokens"},"startTime":1779043747196,"traceId":"9922a64a2d8292a7"},{"name":"is-page-static","duration":652903,"timestamp":235774958315,"id":82,"parentId":44,"tags":{},"startTime":1779043747205,"traceId":"9922a64a2d8292a7"},{"name":"check-page","duration":662005,"timestamp":235774949259,"id":44,"parentId":19,"tags":{"page":"/api/hub/session"},"startTime":1779043747196,"traceId":"9922a64a2d8292a7"},{"name":"is-page-static","duration":670714,"timestamp":235774958351,"id":85,"parentId":47,"tags":{},"startTime":1779043747205,"traceId":"9922a64a2d8292a7"},{"name":"check-page","duration":679604,"timestamp":235774949534,"id":47,"parentId":19,"tags":{"page":"/api/hub/task-events"},"startTime":1779043747196,"traceId":"9922a64a2d8292a7"},{"name":"is-page-static","duration":690296,"timestamp":235774978447,"id":94,"parentId":23,"tags":{},"startTime":1779043747225,"traceId":"9922a64a2d8292a7"},{"name":"check-page","duration":726189,"timestamp":235774942627,"id":23,"parentId":19,"tags":{"page":"/admin"},"startTime":1779043747189,"traceId":"9922a64a2d8292a7"},{"name":"is-page-static","duration":699050,"timestamp":235774978558,"id":100,"parentId":58,"tags":{},"startTime":1779043747225,"traceId":"9922a64a2d8292a7"},{"name":"check-page","duration":726238,"timestamp":235774951440,"id":58,"parentId":19,"tags":{"page":"/server-logs"},"startTime":1779043747198,"traceId":"9922a64a2d8292a7"},{"name":"is-page-static","duration":701773,"timestamp":235774978530,"id":98,"parentId":55,"tags":{},"startTime":1779043747225,"traceId":"9922a64a2d8292a7"},{"name":"check-page","duration":729770,"timestamp":235774950592,"id":55,"parentId":19,"tags":{"page":"/node"},"startTime":1779043747197,"traceId":"9922a64a2d8292a7"},{"name":"is-page-static","duration":706576,"timestamp":235774978695,"id":101,"parentId":59,"tags":{},"startTime":1779043747225,"traceId":"9922a64a2d8292a7"},{"name":"check-page","duration":733740,"timestamp":235774951615,"id":59,"parentId":19,"tags":{"page":"/settings/networks"},"startTime":1779043747198,"traceId":"9922a64a2d8292a7"},{"name":"is-page-static","duration":709947,"timestamp":235774978720,"id":102,"parentId":61,"tags":{},"startTime":1779043747225,"traceId":"9922a64a2d8292a7"},{"name":"check-page","duration":736611,"timestamp":235774952111,"id":61,"parentId":19,"tags":{"page":"/settings/tokens"},"startTime":1779043747198,"traceId":"9922a64a2d8292a7"},{"name":"is-page-static","duration":713655,"timestamp":235774978546,"id":99,"parentId":56,"tags":{},"startTime":1779043747225,"traceId":"9922a64a2d8292a7"},{"name":"check-page","duration":741490,"timestamp":235774950767,"id":56,"parentId":19,"tags":{"page":"/nodes"},"startTime":1779043747197,"traceId":"9922a64a2d8292a7"},{"name":"is-page-static","duration":717276,"timestamp":235774978497,"id":96,"parentId":53,"tags":{},"startTime":1779043747225,"traceId":"9922a64a2d8292a7"},{"name":"check-page","duration":745531,"timestamp":235774950295,"id":53,"parentId":19,"tags":{"page":"/logs"},"startTime":1779043747197,"traceId":"9922a64a2d8292a7"},{"name":"is-page-static","duration":718580,"timestamp":235774978483,"id":95,"parentId":52,"tags":{},"startTime":1779043747225,"traceId":"9922a64a2d8292a7"},{"name":"check-page","duration":746944,"timestamp":235774950167,"id":52,"parentId":19,"tags":{"page":"/login"},"startTime":1779043747196,"traceId":"9922a64a2d8292a7"},{"name":"is-page-static","duration":719785,"timestamp":235774978747,"id":104,"parentId":63,"tags":{},"startTime":1779043747225,"traceId":"9922a64a2d8292a7"},{"name":"check-page","duration":746131,"timestamp":235774952460,"id":63,"parentId":19,"tags":{"page":"/tasks"},"startTime":1779043747199,"traceId":"9922a64a2d8292a7"},{"name":"is-page-static","duration":722573,"timestamp":235774978514,"id":97,"parentId":54,"tags":{},"startTime":1779043747225,"traceId":"9922a64a2d8292a7"},{"name":"check-page","duration":750705,"timestamp":235774950422,"id":54,"parentId":19,"tags":{"page":"/messages"},"startTime":1779043747197,"traceId":"9922a64a2d8292a7"},{"name":"is-page-static","duration":723347,"timestamp":235774978732,"id":103,"parentId":62,"tags":{},"startTime":1779043747225,"traceId":"9922a64a2d8292a7"},{"name":"check-page","duration":749846,"timestamp":235774952275,"id":62,"parentId":19,"tags":{"page":"/tasks/[id]"},"startTime":1779043747199,"traceId":"9922a64a2d8292a7"},{"name":"is-page-static","duration":724116,"timestamp":235774978763,"id":105,"parentId":60,"tags":{},"startTime":1779043747225,"traceId":"9922a64a2d8292a7"},{"name":"check-page","duration":751140,"timestamp":235774951770,"id":60,"parentId":19,"tags":{"page":"/settings"},"startTime":1779043747198,"traceId":"9922a64a2d8292a7"},{"name":"is-page-static","duration":740945,"timestamp":235774963560,"id":91,"parentId":31,"tags":{},"startTime":1779043747210,"traceId":"9922a64a2d8292a7"},{"name":"check-page","duration":758764,"timestamp":235774945766,"id":31,"parentId":19,"tags":{"page":"/api/hub/events"},"startTime":1779043747192,"traceId":"9922a64a2d8292a7"},{"name":"is-page-static","duration":713225,"timestamp":235774991359,"id":106,"parentId":57,"tags":{},"startTime":1779043747238,"traceId":"9922a64a2d8292a7"},{"name":"check-page","duration":753626,"timestamp":235774950978,"id":57,"parentId":19,"tags":{"page":"/"},"startTime":1779043747197,"traceId":"9922a64a2d8292a7"},{"name":"static-check","duration":765901,"timestamp":235774938738,"id":19,"parentId":1,"tags":{},"startTime":1779043747185,"traceId":"9922a64a2d8292a7"}]
|
|
2
|
-
[{"name":"write-routes-manifest","duration":
|
|
1
|
+
[{"name":"generate-buildid","duration":365,"timestamp":236406108224,"id":4,"parentId":1,"tags":{},"startTime":1779044378355,"traceId":"4614e65886715bd2"},{"name":"load-custom-routes","duration":594,"timestamp":236406108767,"id":5,"parentId":1,"tags":{},"startTime":1779044378355,"traceId":"4614e65886715bd2"},{"name":"create-dist-dir","duration":889,"timestamp":236406109424,"id":6,"parentId":1,"tags":{},"startTime":1779044378356,"traceId":"4614e65886715bd2"},{"name":"clean","duration":36322,"timestamp":236406110971,"id":7,"parentId":1,"tags":{},"startTime":1779044378357,"traceId":"4614e65886715bd2"},{"name":"discover-routes","duration":26015,"timestamp":236406229145,"id":8,"parentId":1,"tags":{},"startTime":1779044378475,"traceId":"4614e65886715bd2"},{"name":"create-root-mapping","duration":105,"timestamp":236406255223,"id":9,"parentId":1,"tags":{},"startTime":1779044378502,"traceId":"4614e65886715bd2"},{"name":"generate-route-types","duration":20676,"timestamp":236406257721,"id":10,"parentId":1,"tags":{},"startTime":1779044378504,"traceId":"4614e65886715bd2"},{"name":"public-dir-conflict-check","duration":96,"timestamp":236406278475,"id":11,"parentId":1,"tags":{},"startTime":1779044378525,"traceId":"4614e65886715bd2"},{"name":"generate-routes-manifest","duration":4784,"timestamp":236406278676,"id":12,"parentId":1,"tags":{},"startTime":1779044378525,"traceId":"4614e65886715bd2"},{"name":"run-turbopack","duration":6201832,"timestamp":236406289146,"id":14,"parentId":1,"tags":{},"startTime":1779044378535,"traceId":"4614e65886715bd2"},{"name":"turbopack-build-events","duration":73,"timestamp":236406590636,"id":15,"parentId":1,"tags":{},"startTime":1779044378837,"traceId":"4614e65886715bd2"},{"name":"run-typescript","duration":10052795,"timestamp":236412505112,"id":16,"parentId":1,"tags":{},"startTime":1779044384751,"traceId":"4614e65886715bd2"},{"name":"generate-required-server-files","duration":2601,"timestamp":236422559141,"id":18,"parentId":1,"tags":{},"startTime":1779044394805,"traceId":"4614e65886715bd2"},{"name":"check-static-error-page","duration":15148,"timestamp":236422773976,"id":20,"parentId":19,"tags":{},"startTime":1779044395020,"traceId":"4614e65886715bd2"},{"name":"is-page-static","duration":513050,"timestamp":236422792940,"id":65,"parentId":22,"tags":{},"startTime":1779044395039,"traceId":"4614e65886715bd2"},{"name":"check-page","duration":529285,"timestamp":236422777074,"id":22,"parentId":19,"tags":{"page":"/_global-error"},"startTime":1779044395023,"traceId":"4614e65886715bd2"},{"name":"is-page-static","duration":606286,"timestamp":236422793101,"id":66,"parentId":25,"tags":{},"startTime":1779044395039,"traceId":"4614e65886715bd2"},{"name":"check-page","duration":619341,"timestamp":236422780144,"id":25,"parentId":19,"tags":{"page":"/api/auth/login"},"startTime":1779044395026,"traceId":"4614e65886715bd2"},{"name":"is-page-static","duration":637326,"timestamp":236422793440,"id":69,"parentId":28,"tags":{},"startTime":1779044395040,"traceId":"4614e65886715bd2"},{"name":"check-page","duration":650316,"timestamp":236422780558,"id":28,"parentId":19,"tags":{"page":"/api/hub/audit-log"},"startTime":1779044395027,"traceId":"4614e65886715bd2"},{"name":"is-page-static","duration":640496,"timestamp":236422792631,"id":64,"parentId":21,"tags":{},"startTime":1779044395039,"traceId":"4614e65886715bd2"},{"name":"check-page","duration":657799,"timestamp":236422775394,"id":21,"parentId":19,"tags":{"page":"/_not-found"},"startTime":1779044395022,"traceId":"4614e65886715bd2"},{"name":"is-page-static","duration":654889,"timestamp":236422793324,"id":68,"parentId":27,"tags":{},"startTime":1779044395040,"traceId":"4614e65886715bd2"},{"name":"check-page","duration":667852,"timestamp":236422780438,"id":27,"parentId":19,"tags":{"page":"/api/auth/v3"},"startTime":1779044395027,"traceId":"4614e65886715bd2"},{"name":"is-page-static","duration":657722,"timestamp":236422794116,"id":73,"parentId":33,"tags":{},"startTime":1779044395040,"traceId":"4614e65886715bd2"},{"name":"check-page","duration":670744,"timestamp":236422781302,"id":33,"parentId":19,"tags":{"page":"/api/hub/inbox"},"startTime":1779044395028,"traceId":"4614e65886715bd2"},{"name":"is-page-static","duration":666388,"timestamp":236422793939,"id":72,"parentId":32,"tags":{},"startTime":1779044395040,"traceId":"4614e65886715bd2"},{"name":"check-page","duration":679203,"timestamp":236422781178,"id":32,"parentId":19,"tags":{"page":"/api/hub/health"},"startTime":1779044395027,"traceId":"4614e65886715bd2"},{"name":"is-page-static","duration":672845,"timestamp":236422794242,"id":76,"parentId":36,"tags":{},"startTime":1779044395041,"traceId":"4614e65886715bd2"},{"name":"check-page","duration":685052,"timestamp":236422782095,"id":36,"parentId":19,"tags":{"page":"/api/hub/networks"},"startTime":1779044395028,"traceId":"4614e65886715bd2"},{"name":"is-page-static","duration":674326,"timestamp":236422793213,"id":67,"parentId":26,"tags":{},"startTime":1779044395039,"traceId":"4614e65886715bd2"},{"name":"check-page","duration":687281,"timestamp":236422780313,"id":26,"parentId":19,"tags":{"page":"/api/auth/logout"},"startTime":1779044395027,"traceId":"4614e65886715bd2"},{"name":"is-page-static","duration":680025,"timestamp":236422794222,"id":75,"parentId":35,"tags":{},"startTime":1779044395040,"traceId":"4614e65886715bd2"},{"name":"check-page","duration":692726,"timestamp":236422781563,"id":35,"parentId":19,"tags":{"page":"/api/hub/messages"},"startTime":1779044395028,"traceId":"4614e65886715bd2"},{"name":"is-page-static","duration":685089,"timestamp":236422794268,"id":77,"parentId":37,"tags":{},"startTime":1779044395041,"traceId":"4614e65886715bd2"},{"name":"check-page","duration":697124,"timestamp":236422782279,"id":37,"parentId":19,"tags":{"page":"/api/hub/nodes"},"startTime":1779044395029,"traceId":"4614e65886715bd2"},{"name":"is-page-static","duration":692987,"timestamp":236422794280,"id":78,"parentId":38,"tags":{},"startTime":1779044395041,"traceId":"4614e65886715bd2"},{"name":"check-page","duration":704902,"timestamp":236422782414,"id":38,"parentId":19,"tags":{"page":"/api/hub/register"},"startTime":1779044395029,"traceId":"4614e65886715bd2"},{"name":"is-page-static","duration":699898,"timestamp":236422794329,"id":82,"parentId":44,"tags":{},"startTime":1779044395041,"traceId":"4614e65886715bd2"},{"name":"check-page","duration":710800,"timestamp":236422783474,"id":44,"parentId":19,"tags":{"page":"/api/hub/session"},"startTime":1779044395030,"traceId":"4614e65886715bd2"},{"name":"is-page-static","duration":704784,"timestamp":236422794316,"id":81,"parentId":42,"tags":{},"startTime":1779044395041,"traceId":"4614e65886715bd2"},{"name":"check-page","duration":716119,"timestamp":236422783047,"id":42,"parentId":19,"tags":{"page":"/api/hub/server/[hostname]/health"},"startTime":1779044395029,"traceId":"4614e65886715bd2"},{"name":"is-page-static","duration":708296,"timestamp":236422794308,"id":80,"parentId":40,"tags":{},"startTime":1779044395041,"traceId":"4614e65886715bd2"},{"name":"check-page","duration":720041,"timestamp":236422782611,"id":40,"parentId":19,"tags":{"page":"/api/hub/server-logs"},"startTime":1779044395029,"traceId":"4614e65886715bd2"},{"name":"is-page-static","duration":708491,"timestamp":236422794293,"id":79,"parentId":39,"tags":{},"startTime":1779044395041,"traceId":"4614e65886715bd2"},{"name":"check-page","duration":720295,"timestamp":236422782515,"id":39,"parentId":19,"tags":{"page":"/api/hub/send"},"startTime":1779044395029,"traceId":"4614e65886715bd2"},{"name":"is-page-static","duration":712726,"timestamp":236422794345,"id":83,"parentId":45,"tags":{},"startTime":1779044395041,"traceId":"4614e65886715bd2"},{"name":"check-page","duration":723546,"timestamp":236422783596,"id":45,"parentId":19,"tags":{"page":"/api/hub/stats"},"startTime":1779044395030,"traceId":"4614e65886715bd2"},{"name":"is-page-static","duration":712953,"timestamp":236422794358,"id":84,"parentId":46,"tags":{},"startTime":1779044395041,"traceId":"4614e65886715bd2"},{"name":"check-page","duration":721960,"timestamp":236422785386,"id":46,"parentId":19,"tags":{"page":"/api/hub/status"},"startTime":1779044395032,"traceId":"4614e65886715bd2"},{"name":"is-page-static","duration":714973,"timestamp":236422794368,"id":85,"parentId":47,"tags":{},"startTime":1779044395041,"traceId":"4614e65886715bd2"},{"name":"check-page","duration":723817,"timestamp":236422785563,"id":47,"parentId":19,"tags":{"page":"/api/hub/task-events"},"startTime":1779044395032,"traceId":"4614e65886715bd2"},{"name":"is-page-static","duration":719277,"timestamp":236422794414,"id":89,"parentId":51,"tags":{},"startTime":1779044395041,"traceId":"4614e65886715bd2"},{"name":"check-page","duration":727718,"timestamp":236422786023,"id":51,"parentId":19,"tags":{"page":"/favicon.ico"},"startTime":1779044395032,"traceId":"4614e65886715bd2"},{"name":"is-page-static","duration":719485,"timestamp":236422794393,"id":87,"parentId":49,"tags":{},"startTime":1779044395041,"traceId":"4614e65886715bd2"},{"name":"check-page","duration":728109,"timestamp":236422785800,"id":49,"parentId":19,"tags":{"page":"/api/hub/tmux"},"startTime":1779044395032,"traceId":"4614e65886715bd2"},{"name":"is-page-static","duration":722931,"timestamp":236422793867,"id":71,"parentId":30,"tags":{},"startTime":1779044395040,"traceId":"4614e65886715bd2"},{"name":"check-page","duration":736061,"timestamp":236422780790,"id":30,"parentId":19,"tags":{"page":"/api/hub/broadcast"},"startTime":1779044395027,"traceId":"4614e65886715bd2"},{"name":"is-page-static","duration":723634,"timestamp":236422794402,"id":88,"parentId":50,"tags":{},"startTime":1779044395041,"traceId":"4614e65886715bd2"},{"name":"check-page","duration":732163,"timestamp":236422785917,"id":50,"parentId":19,"tags":{"page":"/api/hub/tokens"},"startTime":1779044395032,"traceId":"4614e65886715bd2"},{"name":"is-page-static","duration":719081,"timestamp":236422799162,"id":91,"parentId":31,"tags":{},"startTime":1779044395045,"traceId":"4614e65886715bd2"},{"name":"check-page","duration":737353,"timestamp":236422780920,"id":31,"parentId":19,"tags":{"page":"/api/hub/events"},"startTime":1779044395027,"traceId":"4614e65886715bd2"},{"name":"is-page-static","duration":729712,"timestamp":236422794380,"id":86,"parentId":48,"tags":{},"startTime":1779044395041,"traceId":"4614e65886715bd2"},{"name":"check-page","duration":738459,"timestamp":236422785677,"id":48,"parentId":19,"tags":{"page":"/api/hub/tasks"},"startTime":1779044395032,"traceId":"4614e65886715bd2"},{"name":"is-page-static","duration":723080,"timestamp":236422801206,"id":93,"parentId":43,"tags":{},"startTime":1779044395047,"traceId":"4614e65886715bd2"},{"name":"check-page","duration":741129,"timestamp":236422783185,"id":43,"parentId":19,"tags":{"page":"/api/hub/servers"},"startTime":1779044395029,"traceId":"4614e65886715bd2"},{"name":"is-page-static","duration":726394,"timestamp":236422798026,"id":90,"parentId":24,"tags":{},"startTime":1779044395044,"traceId":"4614e65886715bd2"},{"name":"check-page","duration":746886,"timestamp":236422777557,"id":24,"parentId":19,"tags":{"page":"/api/anet/config"},"startTime":1779044395024,"traceId":"4614e65886715bd2"},{"name":"is-page-static","duration":749524,"timestamp":236422794188,"id":74,"parentId":34,"tags":{},"startTime":1779044395040,"traceId":"4614e65886715bd2"},{"name":"check-page","duration":762359,"timestamp":236422781415,"id":34,"parentId":19,"tags":{"page":"/api/hub/license"},"startTime":1779044395028,"traceId":"4614e65886715bd2"},{"name":"is-page-static","duration":748481,"timestamp":236422803263,"id":98,"parentId":55,"tags":{},"startTime":1779044395050,"traceId":"4614e65886715bd2"},{"name":"check-page","duration":764848,"timestamp":236422786951,"id":55,"parentId":19,"tags":{"page":"/node"},"startTime":1779044395033,"traceId":"4614e65886715bd2"},{"name":"is-page-static","duration":755882,"timestamp":236422803275,"id":99,"parentId":56,"tags":{},"startTime":1779044395050,"traceId":"4614e65886715bd2"},{"name":"check-page","duration":772041,"timestamp":236422787172,"id":56,"parentId":19,"tags":{"page":"/nodes"},"startTime":1779044395033,"traceId":"4614e65886715bd2"},{"name":"is-page-static","duration":760238,"timestamp":236422800027,"id":92,"parentId":41,"tags":{},"startTime":1779044395046,"traceId":"4614e65886715bd2"},{"name":"check-page","duration":777551,"timestamp":236422782764,"id":41,"parentId":19,"tags":{"page":"/api/hub/server/[hostname]/agents"},"startTime":1779044395029,"traceId":"4614e65886715bd2"},{"name":"is-page-static","duration":768493,"timestamp":236422793703,"id":70,"parentId":29,"tags":{},"startTime":1779044395040,"traceId":"4614e65886715bd2"},{"name":"check-page","duration":781574,"timestamp":236422780662,"id":29,"parentId":19,"tags":{"page":"/api/hub/auth"},"startTime":1779044395027,"traceId":"4614e65886715bd2"},{"name":"is-page-static","duration":763163,"timestamp":236422803285,"id":100,"parentId":58,"tags":{},"startTime":1779044395050,"traceId":"4614e65886715bd2"},{"name":"check-page","duration":778630,"timestamp":236422787878,"id":58,"parentId":19,"tags":{"page":"/server-logs"},"startTime":1779044395034,"traceId":"4614e65886715bd2"},{"name":"is-page-static","duration":777254,"timestamp":236422803418,"id":103,"parentId":62,"tags":{},"startTime":1779044395050,"traceId":"4614e65886715bd2"},{"name":"check-page","duration":791969,"timestamp":236422788754,"id":62,"parentId":19,"tags":{"page":"/tasks/[id]"},"startTime":1779044395035,"traceId":"4614e65886715bd2"},{"name":"is-page-static","duration":778121,"timestamp":236422803237,"id":96,"parentId":53,"tags":{},"startTime":1779044395050,"traceId":"4614e65886715bd2"},{"name":"check-page","duration":794825,"timestamp":236422786576,"id":53,"parentId":19,"tags":{"page":"/logs"},"startTime":1779044395033,"traceId":"4614e65886715bd2"},{"name":"is-page-static","duration":782591,"timestamp":236422803195,"id":94,"parentId":23,"tags":{},"startTime":1779044395049,"traceId":"4614e65886715bd2"},{"name":"check-page","duration":808518,"timestamp":236422777336,"id":23,"parentId":19,"tags":{"page":"/admin"},"startTime":1779044395024,"traceId":"4614e65886715bd2"},{"name":"is-page-static","duration":784585,"timestamp":236422803430,"id":104,"parentId":63,"tags":{},"startTime":1779044395050,"traceId":"4614e65886715bd2"},{"name":"check-page","duration":799161,"timestamp":236422788894,"id":63,"parentId":19,"tags":{"page":"/tasks"},"startTime":1779044395035,"traceId":"4614e65886715bd2"},{"name":"is-page-static","duration":786811,"timestamp":236422803250,"id":97,"parentId":54,"tags":{},"startTime":1779044395050,"traceId":"4614e65886715bd2"},{"name":"check-page","duration":803361,"timestamp":236422786740,"id":54,"parentId":19,"tags":{"page":"/messages"},"startTime":1779044395033,"traceId":"4614e65886715bd2"},{"name":"is-page-static","duration":780259,"timestamp":236422811456,"id":105,"parentId":60,"tags":{},"startTime":1779044395058,"traceId":"4614e65886715bd2"},{"name":"check-page","duration":803503,"timestamp":236422788252,"id":60,"parentId":19,"tags":{"page":"/settings"},"startTime":1779044395035,"traceId":"4614e65886715bd2"},{"name":"is-page-static","duration":771489,"timestamp":236422822212,"id":106,"parentId":57,"tags":{},"startTime":1779044395068,"traceId":"4614e65886715bd2"},{"name":"check-page","duration":806354,"timestamp":236422787383,"id":57,"parentId":19,"tags":{"page":"/"},"startTime":1779044395034,"traceId":"4614e65886715bd2"},{"name":"is-page-static","duration":791649,"timestamp":236422803227,"id":95,"parentId":52,"tags":{},"startTime":1779044395049,"traceId":"4614e65886715bd2"},{"name":"check-page","duration":808505,"timestamp":236422786411,"id":52,"parentId":19,"tags":{"page":"/login"},"startTime":1779044395033,"traceId":"4614e65886715bd2"},{"name":"is-page-static","duration":821771,"timestamp":236422803411,"id":102,"parentId":61,"tags":{},"startTime":1779044395050,"traceId":"4614e65886715bd2"},{"name":"check-page","duration":836622,"timestamp":236422788630,"id":61,"parentId":19,"tags":{"page":"/settings/tokens"},"startTime":1779044395035,"traceId":"4614e65886715bd2"},{"name":"is-page-static","duration":824539,"timestamp":236422803393,"id":101,"parentId":59,"tags":{},"startTime":1779044395050,"traceId":"4614e65886715bd2"},{"name":"check-page","duration":839906,"timestamp":236422788085,"id":59,"parentId":19,"tags":{"page":"/settings/networks"},"startTime":1779044395034,"traceId":"4614e65886715bd2"},{"name":"static-check","duration":855915,"timestamp":236422772142,"id":19,"parentId":1,"tags":{},"startTime":1779044395018,"traceId":"4614e65886715bd2"}]
|
|
2
|
+
[{"name":"write-routes-manifest","duration":519,"timestamp":236423638985,"id":108,"parentId":1,"tags":{},"startTime":1779044395885,"traceId":"4614e65886715bd2"},{"name":"load-dotenv","duration":71,"timestamp":236423651731,"id":111,"parentId":110,"tags":{},"startTime":1779044395898,"traceId":"4614e65886715bd2"},{"name":"run-export-path-map","duration":915,"timestamp":236423655374,"id":112,"parentId":110,"tags":{},"startTime":1779044395902,"traceId":"4614e65886715bd2"},{"name":"next-export","duration":647789,"timestamp":236423649793,"id":110,"parentId":1,"tags":{},"startTime":1779044395896,"traceId":"4614e65886715bd2"},{"name":"move-exported-app-not-found-","duration":627,"timestamp":236424300791,"id":113,"parentId":109,"tags":{},"startTime":1779044396547,"traceId":"4614e65886715bd2"},{"name":"move-exported-app-global-error-","duration":554,"timestamp":236424301527,"id":114,"parentId":109,"tags":{},"startTime":1779044396548,"traceId":"4614e65886715bd2"},{"name":"static-generation","duration":661175,"timestamp":236423643104,"id":109,"parentId":1,"tags":{},"startTime":1779044395889,"traceId":"4614e65886715bd2"},{"name":"write-routes-manifest","duration":560,"timestamp":236424304565,"id":115,"parentId":1,"tags":{},"startTime":1779044396551,"traceId":"4614e65886715bd2"},{"name":"print-tree-view","duration":6718,"timestamp":236424317620,"id":116,"parentId":1,"tags":{},"startTime":1779044396564,"traceId":"4614e65886715bd2"},{"name":"write-route-bundle-stats","duration":18601,"timestamp":236424324382,"id":117,"parentId":1,"tags":{},"startTime":1779044396571,"traceId":"4614e65886715bd2"},{"name":"telemetry-flush","duration":17863,"timestamp":236424343046,"id":118,"parentId":1,"tags":{},"startTime":1779044396589,"traceId":"4614e65886715bd2"},{"name":"next-build","duration":18308263,"timestamp":236406052687,"id":1,"tags":{"buildMode":"default","version":"16.2.3","bundler":"turbopack","has-custom-webpack-config":"false","use-build-worker":"true"},"startTime":1779044378299,"traceId":"4614e65886715bd2"}]
|
package/.next/trace-build
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
[{"name":"run-turbopack","duration":
|
|
1
|
+
[{"name":"run-turbopack","duration":6201832,"timestamp":236406289146,"id":14,"parentId":1,"tags":{},"startTime":1779044378535,"traceId":"4614e65886715bd2"},{"name":"turbopack-build-events","duration":73,"timestamp":236406590636,"id":15,"parentId":1,"tags":{},"startTime":1779044378837,"traceId":"4614e65886715bd2"},{"name":"run-typescript","duration":10052795,"timestamp":236412505112,"id":16,"parentId":1,"tags":{},"startTime":1779044384751,"traceId":"4614e65886715bd2"},{"name":"static-check","duration":855915,"timestamp":236422772142,"id":19,"parentId":1,"tags":{},"startTime":1779044395018,"traceId":"4614e65886715bd2"},{"name":"static-generation","duration":661175,"timestamp":236423643104,"id":109,"parentId":1,"tags":{},"startTime":1779044395889,"traceId":"4614e65886715bd2"},{"name":"telemetry-flush","duration":17863,"timestamp":236424343046,"id":118,"parentId":1,"tags":{},"startTime":1779044396589,"traceId":"4614e65886715bd2"},{"name":"next-build","duration":18308263,"timestamp":236406052687,"id":1,"tags":{"buildMode":"default","version":"16.2.3","bundler":"turbopack","has-custom-webpack-config":"false","use-build-worker":"true"},"startTime":1779044378299,"traceId":"4614e65886715bd2"}]
|
|
@@ -7226,6 +7226,7 @@ export function TopoGraph({ sessions, sseSessions, renameSignal }: TopoGraphProp
|
|
|
7226
7226
|
data-edge-badge-opacity-hover="1"
|
|
7227
7227
|
data-edge-badge-opacity-active="1"
|
|
7228
7228
|
data-edge-badge-glow={(isHoveredEdge || isPinned) ? 'hover' : isHot ? 'hot' : 'false'}
|
|
7229
|
+
data-edge-badge-brightness={(isHoveredEdge || isPinned || isHot) ? '1.15' : '1'}
|
|
7229
7230
|
/* Round 534 / Loop — extends edge-badge drop-shadow
|
|
7230
7231
|
coverage from hot-only (R480 amber) to also fire
|
|
7231
7232
|
on hover/pin with a cyan accent glow. Pre-R534
|
|
@@ -7262,10 +7263,38 @@ export function TopoGraph({ sessions, sseSessions, renameSignal }: TopoGraphProp
|
|
|
7262
7263
|
(not g[data-node] ancestor); filter is paint-
|
|
7263
7264
|
only; bbox unchanged. */
|
|
7264
7265
|
style={{
|
|
7266
|
+
/* R603 — edge-badge CIRCLE stacks brightness(1.15)
|
|
7267
|
+
onto the R534/R480 drop-shadow filter on hover/
|
|
7268
|
+
pin/hot. 5th hover axis on the badge ring
|
|
7269
|
+
(after R164 r, R394 sw, R395 opacity, R534
|
|
7270
|
+
filter drop-shadow → R603 filter brightness).
|
|
7271
|
+
|
|
7272
|
+
Brings the CIRCLE's brightness coverage to
|
|
7273
|
+
parity with the DIGIT's R570 brightness:
|
|
7274
|
+
both elements (ring + text) now brighten
|
|
7275
|
+
together on the same 3-state gate
|
|
7276
|
+
(hover/pin/hot). The whole edge-badge reads
|
|
7277
|
+
as one coherent "lit up under attention"
|
|
7278
|
+
unit at the brightness axis.
|
|
7279
|
+
|
|
7280
|
+
Banked R564/R570 stacked-filter pattern:
|
|
7281
|
+
`drop-shadow(...) brightness(1.15)` chains
|
|
7282
|
+
the SVG drop-shadow halo + brightness lift
|
|
7283
|
+
in one CSS filter chain on the same element.
|
|
7284
|
+
|
|
7285
|
+
Per-element brightness family extension —
|
|
7286
|
+
edge-badge circle joins as a stacked-filter
|
|
7287
|
+
anchor. Hot-only state gets amber drop-shadow
|
|
7288
|
+
+ brightness; hover/pin gets cyan/teal drop-
|
|
7289
|
+
shadow + brightness; rest gets neither.
|
|
7290
|
+
|
|
7291
|
+
transition list already includes 'filter
|
|
7292
|
+
200ms ease-out' (R534 cadence). No
|
|
7293
|
+
transition change needed. */
|
|
7265
7294
|
filter: (isHoveredEdge || isPinned)
|
|
7266
|
-
? `drop-shadow(0 0 3px ${pal.legendAccent}99)`
|
|
7295
|
+
? `drop-shadow(0 0 3px ${pal.legendAccent}99) brightness(1.15)`
|
|
7267
7296
|
: isHot
|
|
7268
|
-
? `drop-shadow(0 0 3px ${hotStroke}80)`
|
|
7297
|
+
? `drop-shadow(0 0 3px ${hotStroke}80) brightness(1.15)`
|
|
7269
7298
|
: undefined,
|
|
7270
7299
|
transition: 'r 180ms ease-out, stroke 300ms ease-out, stroke-width 300ms ease-out, fill 200ms ease-out, opacity 200ms ease-out, filter 200ms ease-out',
|
|
7271
7300
|
}}
|
|
@@ -9345,6 +9374,7 @@ export function TopoGraph({ sessions, sseSessions, renameSignal }: TopoGraphProp
|
|
|
9345
9374
|
data-node-avatar={session.alias}
|
|
9346
9375
|
data-node-avatar-hovered={isAvatarHovered ? 'true' : 'false'}
|
|
9347
9376
|
data-node-avatar-rotate={isAvatarHovered ? '3' : '0'}
|
|
9377
|
+
data-node-avatar-scale={isAvatarHovered ? '1.05' : '1'}
|
|
9348
9378
|
style={{
|
|
9349
9379
|
/* R600 milestone — node vendor avatar gains
|
|
9350
9380
|
hover-rotate-3 via Tailwind v4 individual
|
|
@@ -9391,9 +9421,25 @@ export function TopoGraph({ sessions, sseSessions, renameSignal }: TopoGraphProp
|
|
|
9391
9421
|
ease-out' alongside the existing 'filter
|
|
9392
9422
|
200ms ease-out' — both axes ride one beat. */
|
|
9393
9423
|
rotate: isAvatarHovered ? '3deg' : '0deg',
|
|
9424
|
+
/* R602 — per-node avatar gains hover-scale-1.05.
|
|
9425
|
+
Mirrors R548 brand 书生 logo's scale-105 idiom
|
|
9426
|
+
at the per-node tier. Stacks with R600 rotate
|
|
9427
|
+
+ R501 brightness so the avatar gets a 3-axis
|
|
9428
|
+
hover signature (scale + rotate + brightness)
|
|
9429
|
+
matching the brand-logo polish vocabulary.
|
|
9430
|
+
Tailwind v4 individual `scale` CSS property
|
|
9431
|
+
(banked R547 sibling to `rotate`) — independent
|
|
9432
|
+
of SVG <image>'s x/y/width/height attributes;
|
|
9433
|
+
composes cleanly with rotate. transform-origin
|
|
9434
|
+
shared with R600 — pivots around node center.
|
|
9435
|
+
Pure paint axis: SVG bbox attributes unchanged
|
|
9436
|
+
at rest, so overlap-test invariant holds (the
|
|
9437
|
+
probe reads attributes, not visual bbox post-
|
|
9438
|
+
CSS transform). Scale only fires on hover. */
|
|
9439
|
+
scale: isAvatarHovered ? '1.05' : '1',
|
|
9394
9440
|
transformOrigin: `${pos.x}px ${pos.y}px`,
|
|
9395
9441
|
filter: isAvatarHovered ? 'brightness(1.15)' : undefined,
|
|
9396
|
-
transition: 'filter 200ms ease-out, rotate 200ms ease-out',
|
|
9442
|
+
transition: 'filter 200ms ease-out, rotate 200ms ease-out, scale 200ms ease-out',
|
|
9397
9443
|
}}
|
|
9398
9444
|
/>
|
|
9399
9445
|
);
|
|
@@ -9445,6 +9491,7 @@ export function TopoGraph({ sessions, sseSessions, renameSignal }: TopoGraphProp
|
|
|
9445
9491
|
data-node-avatar-monogram={session.alias}
|
|
9446
9492
|
data-node-avatar-monogram-hovered={isAvatarFallbackHovered ? 'true' : 'false'}
|
|
9447
9493
|
data-node-avatar-monogram-rotate={isAvatarFallbackHovered ? '3' : '0'}
|
|
9494
|
+
data-node-avatar-monogram-scale={isAvatarFallbackHovered ? '1.05' : '1'}
|
|
9448
9495
|
style={{
|
|
9449
9496
|
/* R601 — vendor-monogram fallback gains hover-
|
|
9450
9497
|
rotate-3 mirroring R600's image-branch
|
|
@@ -9460,9 +9507,15 @@ export function TopoGraph({ sessions, sseSessions, renameSignal }: TopoGraphProp
|
|
|
9460
9507
|
transform-origin pinned to node center
|
|
9461
9508
|
(pos.x, pos.y) — same idiom as R600. */
|
|
9462
9509
|
rotate: isAvatarFallbackHovered ? '3deg' : '0deg',
|
|
9510
|
+
/* R602 sibling — vendor monogram fallback
|
|
9511
|
+
gains hover-scale-1.05 to match the image
|
|
9512
|
+
branch above. Per-node avatar scale coverage
|
|
9513
|
+
now 2/3 (image R602, monogram R602 here;
|
|
9514
|
+
prefix-group fallback completes 3/3 below). */
|
|
9515
|
+
scale: isAvatarFallbackHovered ? '1.05' : '1',
|
|
9463
9516
|
transformOrigin: `${pos.x}px ${pos.y}px`,
|
|
9464
9517
|
filter: isAvatarFallbackHovered ? 'brightness(1.15)' : undefined,
|
|
9465
|
-
transition: 'filter 200ms ease-out, rotate 200ms ease-out',
|
|
9518
|
+
transition: 'filter 200ms ease-out, rotate 200ms ease-out, scale 200ms ease-out',
|
|
9466
9519
|
}}
|
|
9467
9520
|
>
|
|
9468
9521
|
<circle cx={pos.x} cy={pos.y} r={ar} fill={vendor.mono.bg} stroke={vendor.mono.ring} strokeWidth="1.5" />
|
|
@@ -9507,6 +9560,7 @@ export function TopoGraph({ sessions, sseSessions, renameSignal }: TopoGraphProp
|
|
|
9507
9560
|
data-node-avatar-fallback={session.alias}
|
|
9508
9561
|
data-node-avatar-fallback-hovered={isAvatarFallbackHovered ? 'true' : 'false'}
|
|
9509
9562
|
data-node-avatar-fallback-rotate={isAvatarFallbackHovered ? '3' : '0'}
|
|
9563
|
+
data-node-avatar-fallback-scale={isAvatarFallbackHovered ? '1.05' : '1'}
|
|
9510
9564
|
style={{
|
|
9511
9565
|
/* R601 — prefix-group hue-hashed initial fallback
|
|
9512
9566
|
gains hover-rotate-3 closing per-node avatar
|
|
@@ -9521,9 +9575,15 @@ export function TopoGraph({ sessions, sseSessions, renameSignal }: TopoGraphProp
|
|
|
9521
9575
|
/ hue-hashed initial), the user gets the same
|
|
9522
9576
|
+3° wobble-awake gesture on alias hover. */
|
|
9523
9577
|
rotate: isAvatarFallbackHovered ? '3deg' : '0deg',
|
|
9578
|
+
/* R602 sibling — prefix-group hue-hashed fallback
|
|
9579
|
+
gains hover-scale-1.05 closing per-node avatar
|
|
9580
|
+
scale coverage at 3/3 branches (image + monogram
|
|
9581
|
+
+ fallback all share the same scale-1.05 +
|
|
9582
|
+
rotate-3deg + brightness-1.15 hover signature). */
|
|
9583
|
+
scale: isAvatarFallbackHovered ? '1.05' : '1',
|
|
9524
9584
|
transformOrigin: `${pos.x}px ${pos.y}px`,
|
|
9525
9585
|
filter: isAvatarFallbackHovered ? 'brightness(1.15)' : undefined,
|
|
9526
|
-
transition: 'filter 200ms ease-out, rotate 200ms ease-out',
|
|
9586
|
+
transition: 'filter 200ms ease-out, rotate 200ms ease-out, scale 200ms ease-out',
|
|
9527
9587
|
}}
|
|
9528
9588
|
>
|
|
9529
9589
|
<circle cx={pos.x} cy={pos.y} r={ar} fill={c.bg} stroke={c.ring} strokeWidth="1" />
|
package/package.json
CHANGED
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
/* Round 602 — per-node avatar gains hover-scale-1.05 across
|
|
2
|
+
* all 3 branches (image + monogram + fallback). Avatar now
|
|
3
|
+
* has 3-axis hover signature: rotate (R600/R601) + brightness
|
|
4
|
+
* (R501/R558) + scale (R602). Mirrors R548 brand 书生 logo
|
|
5
|
+
* scale-105 idiom at the per-node tier.
|
|
6
|
+
*
|
|
7
|
+
* Test phases:
|
|
8
|
+
* 1. mock 2 idle nodes → avatar renders
|
|
9
|
+
* 2. rest: scale='none' or '1', scale-attr='1'
|
|
10
|
+
* 3. computed transition-property contains 'scale'
|
|
11
|
+
* 4. source: scale conditional + data-attr + transition extension
|
|
12
|
+
* on all 3 branches
|
|
13
|
+
*/
|
|
14
|
+
import { chromium } from 'playwright';
|
|
15
|
+
import { readFileSync } from 'node:fs';
|
|
16
|
+
|
|
17
|
+
const TOKEN = JSON.parse(readFileSync('/home/vansin/.anet/config.json', 'utf8')).token;
|
|
18
|
+
const fresh = new Date(Date.now() - 60 * 1000).toISOString();
|
|
19
|
+
|
|
20
|
+
const browser = await chromium.launch({ headless: true });
|
|
21
|
+
const ctx = await browser.newContext({ viewport: { width: 1500, height: 1200 } });
|
|
22
|
+
await ctx.addCookies([{ name: 'anet_dashboard_session', value: `v3:${TOKEN}`, domain: '127.0.0.1', path: '/' }]);
|
|
23
|
+
await ctx.addInitScript(() => {
|
|
24
|
+
try {
|
|
25
|
+
localStorage.setItem('anet-theme', 'cyber');
|
|
26
|
+
localStorage.setItem('anet-topo-layout', 'ring');
|
|
27
|
+
sessionStorage.setItem('anet_v3_auth', '1');
|
|
28
|
+
} catch {}
|
|
29
|
+
});
|
|
30
|
+
await ctx.route('**/api/hub/status*', async (route) => {
|
|
31
|
+
const r = await route.fetch();
|
|
32
|
+
const b = await r.json();
|
|
33
|
+
const nid = (b.sessions || [])[0]?.network_id || 'default';
|
|
34
|
+
const mk = (alias) => ({
|
|
35
|
+
alias, status: 'idle', model: 'claude-opus-4', runtime: 'claude-code-cli',
|
|
36
|
+
network_id: nid, project_dir: null,
|
|
37
|
+
created_at: fresh, updated_at: fresh, last_seen_at: fresh,
|
|
38
|
+
});
|
|
39
|
+
await route.fulfill({ response: r, json: { ...b, sessions: [mk('a·1'), mk('a·2')] } });
|
|
40
|
+
});
|
|
41
|
+
await ctx.route('**/api/hub/messages*', (r) => r.fulfill({ json: { messages: [] } }));
|
|
42
|
+
await ctx.route('**/api/hub/tasks*', (r) => r.fulfill({ json: { tasks: [] } }));
|
|
43
|
+
const page = await ctx.newPage();
|
|
44
|
+
await page.goto('http://127.0.0.1:3000/', { waitUntil: 'networkidle' });
|
|
45
|
+
await page.waitForSelector('[data-node-avatar-scale]', { timeout: 15000, state: 'attached' });
|
|
46
|
+
await page.waitForTimeout(500);
|
|
47
|
+
|
|
48
|
+
const rest = await page.evaluate(() => {
|
|
49
|
+
const el = document.querySelector('[data-node-avatar-scale]');
|
|
50
|
+
if (!el) return null;
|
|
51
|
+
const cs = getComputedStyle(el);
|
|
52
|
+
return {
|
|
53
|
+
scale: cs.scale,
|
|
54
|
+
transitionProperty: cs.transitionProperty,
|
|
55
|
+
scaleAttr: el.getAttribute('data-node-avatar-scale'),
|
|
56
|
+
rotateAttr: el.getAttribute('data-node-avatar-rotate'),
|
|
57
|
+
hoveredAttr: el.getAttribute('data-node-avatar-hovered'),
|
|
58
|
+
};
|
|
59
|
+
});
|
|
60
|
+
|
|
61
|
+
await browser.close();
|
|
62
|
+
|
|
63
|
+
const src = readFileSync('/home/vansin/agent-network-dashboard/app/components/TopoGraph.tsx', 'utf8');
|
|
64
|
+
const sourceImageScale = /data-node-avatar-scale=\{isAvatarHovered \? '1\.05' : '1'\}/.test(src);
|
|
65
|
+
const sourceMonogramScale = /data-node-avatar-monogram-scale=\{isAvatarFallbackHovered \? '1\.05' : '1'\}/.test(src);
|
|
66
|
+
const sourceFallbackScale = /data-node-avatar-fallback-scale=\{isAvatarFallbackHovered \? '1\.05' : '1'\}/.test(src);
|
|
67
|
+
const sourceBothBranchesScale = (src.match(/scale: isAvatarFallbackHovered \? '1\.05' : '1'/g) || []).length >= 2;
|
|
68
|
+
const sourceImageBranchScale = /scale: isAvatarHovered \? '1\.05' : '1'/.test(src);
|
|
69
|
+
const sourceAllTransitions = (src.match(/transition: 'filter 200ms ease-out, rotate 200ms ease-out, scale 200ms ease-out'/g) || []).length >= 3;
|
|
70
|
+
|
|
71
|
+
const results = {
|
|
72
|
+
avatar_present: !!rest,
|
|
73
|
+
// CSS scale at rest = 'none' or '1' depending on browser
|
|
74
|
+
rest_scale_one: rest?.scale === 'none' || rest?.scale === '1',
|
|
75
|
+
rest_scale_attr: rest?.scaleAttr === '1',
|
|
76
|
+
rest_hovered_false: rest?.hoveredAttr === 'false',
|
|
77
|
+
transition_has_scale: /scale/.test(rest?.transitionProperty || ''),
|
|
78
|
+
source_image_attr: sourceImageScale,
|
|
79
|
+
source_monogram_attr: sourceMonogramScale,
|
|
80
|
+
source_fallback_attr: sourceFallbackScale,
|
|
81
|
+
source_image_branch: sourceImageBranchScale,
|
|
82
|
+
source_both_fallback: sourceBothBranchesScale,
|
|
83
|
+
source_all_3_transitions: sourceAllTransitions,
|
|
84
|
+
};
|
|
85
|
+
const ok = Object.values(results).every(Boolean);
|
|
86
|
+
console.log(`${ok ? '✅' : '❌'} R602 avatar scale (3/3 branches, 3-axis hover signature):`,
|
|
87
|
+
JSON.stringify(results, null, 2),
|
|
88
|
+
`\n rest: ${JSON.stringify(rest)}`);
|
|
89
|
+
process.exit(ok ? 0 : 1);
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
/* Round 603 — edge-badge CIRCLE stacks brightness(1.15) onto
|
|
2
|
+
* R534/R480 drop-shadow on hover/pin/hot. 5th hover axis on
|
|
3
|
+
* the badge ring; brings circle brightness to parity with the
|
|
4
|
+
* R570 digit brightness within the same edge-badge unit.
|
|
5
|
+
*
|
|
6
|
+
* Test phases:
|
|
7
|
+
* 1. mock 1 message → 1 flowLink → edge-badge renders
|
|
8
|
+
* 2. rest: filter='none', brightness-attr='1'
|
|
9
|
+
* 3. computed transition-property contains 'filter'
|
|
10
|
+
* 4. source: stacked filter conditional includes brightness +
|
|
11
|
+
* data-attr extension
|
|
12
|
+
*/
|
|
13
|
+
import { chromium } from 'playwright';
|
|
14
|
+
import { readFileSync } from 'node:fs';
|
|
15
|
+
|
|
16
|
+
const TOKEN = JSON.parse(readFileSync('/home/vansin/.anet/config.json', 'utf8')).token;
|
|
17
|
+
const fresh = new Date(Date.now() - 60 * 1000).toISOString();
|
|
18
|
+
|
|
19
|
+
const browser = await chromium.launch({ headless: true });
|
|
20
|
+
const ctx = await browser.newContext({ viewport: { width: 1500, height: 1200 } });
|
|
21
|
+
await ctx.addCookies([{ name: 'anet_dashboard_session', value: `v3:${TOKEN}`, domain: '127.0.0.1', path: '/' }]);
|
|
22
|
+
await ctx.addInitScript(() => {
|
|
23
|
+
try {
|
|
24
|
+
localStorage.setItem('anet-theme', 'cyber');
|
|
25
|
+
localStorage.setItem('anet-topo-layout', 'ring');
|
|
26
|
+
sessionStorage.setItem('anet_v3_auth', '1');
|
|
27
|
+
} catch {}
|
|
28
|
+
});
|
|
29
|
+
await ctx.route('**/api/hub/status*', async (route) => {
|
|
30
|
+
const r = await route.fetch();
|
|
31
|
+
const b = await r.json();
|
|
32
|
+
const nid = (b.sessions || [])[0]?.network_id || 'default';
|
|
33
|
+
const mk = (alias) => ({
|
|
34
|
+
alias, status: 'idle', model: 'claude-opus-4', runtime: 'claude-code-cli',
|
|
35
|
+
network_id: nid, project_dir: null,
|
|
36
|
+
created_at: fresh, updated_at: fresh, last_seen_at: fresh,
|
|
37
|
+
});
|
|
38
|
+
await route.fulfill({ response: r, json: { ...b, sessions: [mk('a·1'), mk('a·2')] } });
|
|
39
|
+
});
|
|
40
|
+
await ctx.route('**/api/hub/messages*', (r) => r.fulfill({ json: { messages: [
|
|
41
|
+
{ from_alias: 'a·1', to_alias: 'a·2', content: 'hi', created_at: fresh },
|
|
42
|
+
] } }));
|
|
43
|
+
await ctx.route('**/api/hub/tasks*', (r) => r.fulfill({ json: { tasks: [] } }));
|
|
44
|
+
const page = await ctx.newPage();
|
|
45
|
+
await page.goto('http://127.0.0.1:3000/', { waitUntil: 'networkidle' });
|
|
46
|
+
await page.waitForSelector('[data-edge-badge-brightness]', { timeout: 15000, state: 'attached' });
|
|
47
|
+
await page.waitForTimeout(500);
|
|
48
|
+
|
|
49
|
+
const rest = await page.evaluate(() => {
|
|
50
|
+
const el = document.querySelector('[data-edge-badge-brightness]');
|
|
51
|
+
if (!el) return null;
|
|
52
|
+
const cs = getComputedStyle(el);
|
|
53
|
+
return {
|
|
54
|
+
filter: cs.filter,
|
|
55
|
+
transitionProperty: cs.transitionProperty,
|
|
56
|
+
brightnessAttr: el.getAttribute('data-edge-badge-brightness'),
|
|
57
|
+
glowAttr: el.getAttribute('data-edge-badge-glow'),
|
|
58
|
+
liftedAttr: el.getAttribute('data-edge-badge-lifted'),
|
|
59
|
+
};
|
|
60
|
+
});
|
|
61
|
+
|
|
62
|
+
await browser.close();
|
|
63
|
+
|
|
64
|
+
const src = readFileSync('/home/vansin/agent-network-dashboard/app/components/TopoGraph.tsx', 'utf8');
|
|
65
|
+
const sourceFilter = /filter: \(isHoveredEdge \|\| isPinned\)\s*\?\s*`drop-shadow\(0 0 3px \$\{pal\.legendAccent\}99\) brightness\(1\.15\)`\s*:\s*isHot\s*\?\s*`drop-shadow\(0 0 3px \$\{hotStroke\}80\) brightness\(1\.15\)`\s*:\s*undefined/.test(src);
|
|
66
|
+
const sourceAttr = /data-edge-badge-brightness=\{\(isHoveredEdge \|\| isPinned \|\| isHot\) \? '1\.15' : '1'\}/.test(src);
|
|
67
|
+
|
|
68
|
+
const results = {
|
|
69
|
+
badge_present: !!rest,
|
|
70
|
+
rest_filter_none: rest?.filter === 'none',
|
|
71
|
+
rest_brightness_1: rest?.brightnessAttr === '1',
|
|
72
|
+
rest_glow_false: rest?.glowAttr === 'false',
|
|
73
|
+
rest_lifted_false: rest?.liftedAttr === 'false',
|
|
74
|
+
transition_has_filter: /filter/.test(rest?.transitionProperty || ''),
|
|
75
|
+
source_filter: sourceFilter,
|
|
76
|
+
source_attr: sourceAttr,
|
|
77
|
+
};
|
|
78
|
+
const ok = Object.values(results).every(Boolean);
|
|
79
|
+
console.log(`${ok ? '✅' : '❌'} R603 edge-badge circle brightness (5th axis, ring↔digit parity):`,
|
|
80
|
+
JSON.stringify(results, null, 2),
|
|
81
|
+
`\n rest: ${JSON.stringify(rest)}`);
|
|
82
|
+
process.exit(ok ? 0 : 1);
|