@sleep2agi/agent-network-dashboard 0.4.6-preview.330 → 0.4.6-preview.331
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 +3 -3
- package/.next/fallback-build-manifest.json +3 -3
- package/.next/server/app/_global-error.html +1 -1
- package/.next/server/app/_global-error.rsc +1 -1
- package/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/_not-found.html +1 -1
- package/.next/server/app/_not-found.rsc +1 -1
- package/.next/server/app/_not-found.segments/_full.segment.rsc +1 -1
- package/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
- package/.next/server/app/_not-found.segments/_index.segment.rsc +1 -1
- package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
- package/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/admin.html +1 -1
- package/.next/server/app/admin.rsc +1 -1
- package/.next/server/app/admin.segments/_full.segment.rsc +1 -1
- package/.next/server/app/admin.segments/_head.segment.rsc +1 -1
- package/.next/server/app/admin.segments/_index.segment.rsc +1 -1
- package/.next/server/app/admin.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/admin.segments/admin/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/admin.segments/admin.segment.rsc +1 -1
- package/.next/server/app/index.html +2 -2
- package/.next/server/app/index.rsc +2 -2
- package/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
- package/.next/server/app/index.segments/_full.segment.rsc +2 -2
- package/.next/server/app/index.segments/_head.segment.rsc +1 -1
- package/.next/server/app/index.segments/_index.segment.rsc +1 -1
- package/.next/server/app/index.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/login/page_client-reference-manifest.js +1 -1
- package/.next/server/app/login.html +2 -2
- package/.next/server/app/login.rsc +2 -2
- package/.next/server/app/login.segments/_full.segment.rsc +2 -2
- package/.next/server/app/login.segments/_head.segment.rsc +1 -1
- package/.next/server/app/login.segments/_index.segment.rsc +1 -1
- package/.next/server/app/login.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/login.segments/login/__PAGE__.segment.rsc +2 -2
- package/.next/server/app/login.segments/login.segment.rsc +1 -1
- package/.next/server/app/logs.html +1 -1
- package/.next/server/app/logs.rsc +1 -1
- package/.next/server/app/logs.segments/_full.segment.rsc +1 -1
- package/.next/server/app/logs.segments/_head.segment.rsc +1 -1
- package/.next/server/app/logs.segments/_index.segment.rsc +1 -1
- package/.next/server/app/logs.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/logs.segments/logs/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/logs.segments/logs.segment.rsc +1 -1
- package/.next/server/app/messages.html +1 -1
- package/.next/server/app/messages.rsc +1 -1
- package/.next/server/app/messages.segments/_full.segment.rsc +1 -1
- package/.next/server/app/messages.segments/_head.segment.rsc +1 -1
- package/.next/server/app/messages.segments/_index.segment.rsc +1 -1
- package/.next/server/app/messages.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/messages.segments/messages/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/messages.segments/messages.segment.rsc +1 -1
- package/.next/server/app/node.html +1 -1
- package/.next/server/app/node.rsc +1 -1
- package/.next/server/app/node.segments/_full.segment.rsc +1 -1
- package/.next/server/app/node.segments/_head.segment.rsc +1 -1
- package/.next/server/app/node.segments/_index.segment.rsc +1 -1
- package/.next/server/app/node.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/node.segments/node/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/node.segments/node.segment.rsc +1 -1
- package/.next/server/app/nodes.html +1 -1
- package/.next/server/app/nodes.rsc +1 -1
- package/.next/server/app/nodes.segments/_full.segment.rsc +1 -1
- package/.next/server/app/nodes.segments/_head.segment.rsc +1 -1
- package/.next/server/app/nodes.segments/_index.segment.rsc +1 -1
- package/.next/server/app/nodes.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/nodes.segments/nodes/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/nodes.segments/nodes.segment.rsc +1 -1
- package/.next/server/app/page_client-reference-manifest.js +1 -1
- package/.next/server/app/server-logs.html +1 -1
- package/.next/server/app/server-logs.rsc +1 -1
- package/.next/server/app/server-logs.segments/_full.segment.rsc +1 -1
- package/.next/server/app/server-logs.segments/_head.segment.rsc +1 -1
- package/.next/server/app/server-logs.segments/_index.segment.rsc +1 -1
- package/.next/server/app/server-logs.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/server-logs.segments/server-logs/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/server-logs.segments/server-logs.segment.rsc +1 -1
- package/.next/server/app/settings/networks.html +1 -1
- package/.next/server/app/settings/networks.rsc +1 -1
- package/.next/server/app/settings/networks.segments/_full.segment.rsc +1 -1
- package/.next/server/app/settings/networks.segments/_head.segment.rsc +1 -1
- package/.next/server/app/settings/networks.segments/_index.segment.rsc +1 -1
- package/.next/server/app/settings/networks.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/settings/networks.segments/settings/networks/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/settings/networks.segments/settings/networks.segment.rsc +1 -1
- package/.next/server/app/settings/networks.segments/settings.segment.rsc +1 -1
- package/.next/server/app/settings/page_client-reference-manifest.js +1 -1
- package/.next/server/app/settings/tokens.html +1 -1
- package/.next/server/app/settings/tokens.rsc +1 -1
- package/.next/server/app/settings/tokens.segments/_full.segment.rsc +1 -1
- package/.next/server/app/settings/tokens.segments/_head.segment.rsc +1 -1
- package/.next/server/app/settings/tokens.segments/_index.segment.rsc +1 -1
- package/.next/server/app/settings/tokens.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/settings/tokens.segments/settings/tokens/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/settings/tokens.segments/settings/tokens.segment.rsc +1 -1
- package/.next/server/app/settings/tokens.segments/settings.segment.rsc +1 -1
- package/.next/server/app/settings.html +2 -2
- package/.next/server/app/settings.rsc +2 -2
- package/.next/server/app/settings.segments/_full.segment.rsc +2 -2
- package/.next/server/app/settings.segments/_head.segment.rsc +1 -1
- package/.next/server/app/settings.segments/_index.segment.rsc +1 -1
- package/.next/server/app/settings.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/settings.segments/settings/__PAGE__.segment.rsc +2 -2
- package/.next/server/app/settings.segments/settings.segment.rsc +1 -1
- package/.next/server/app/tasks.html +1 -1
- package/.next/server/app/tasks.rsc +1 -1
- package/.next/server/app/tasks.segments/_full.segment.rsc +1 -1
- package/.next/server/app/tasks.segments/_head.segment.rsc +1 -1
- package/.next/server/app/tasks.segments/_index.segment.rsc +1 -1
- package/.next/server/app/tasks.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/tasks.segments/tasks/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/tasks.segments/tasks.segment.rsc +1 -1
- package/.next/server/chunks/ssr/agent-network-dashboard_09kk21a._.js +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/{07mk7c3zr0q8e.js → 0mpa-fgyi2k78.js} +1 -1
- package/.next/static/chunks/{1313g927paj0g.js → 0nlhul7k4hwil.js} +1 -1
- package/.next/static/chunks/{01lnh531iq52c.js → 1851sbdemt00t.js} +1 -1
- package/.next/trace +2 -2
- package/.next/trace-build +1 -1
- package/app/components/TopoGraph.tsx +2 -2
- package/package.json +1 -1
- package/screenshots/r293-p0/v0.10.0-hero3-rfc.md +230 -0
- package/scripts/topo-chrome-inactive-color-test.mjs +90 -0
- /package/.next/static/{ye4-_QI1pFromk7mijSAv → 3PMYuA9TBRow9F7QeNZc7}/_buildManifest.js +0 -0
- /package/.next/static/{ye4-_QI1pFromk7mijSAv → 3PMYuA9TBRow9F7QeNZc7}/_clientMiddlewareManifest.js +0 -0
- /package/.next/static/{ye4-_QI1pFromk7mijSAv → 3PMYuA9TBRow9F7QeNZc7}/_ssgManifest.js +0 -0
package/.next/trace
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
[{"name":"generate-buildid","duration":351,"timestamp":118461429150,"id":4,"parentId":1,"tags":{},"startTime":1778926433675,"traceId":"75f478546cbc7f77"},{"name":"load-custom-routes","duration":650,"timestamp":118461429717,"id":5,"parentId":1,"tags":{},"startTime":1778926433676,"traceId":"75f478546cbc7f77"},{"name":"create-dist-dir","duration":942,"timestamp":118461430430,"id":6,"parentId":1,"tags":{},"startTime":1778926433677,"traceId":"75f478546cbc7f77"},{"name":"clean","duration":37793,"timestamp":118461432115,"id":7,"parentId":1,"tags":{},"startTime":1778926433678,"traceId":"75f478546cbc7f77"},{"name":"discover-routes","duration":9549,"timestamp":118461564839,"id":8,"parentId":1,"tags":{},"startTime":1778926433811,"traceId":"75f478546cbc7f77"},{"name":"create-root-mapping","duration":108,"timestamp":118461574445,"id":9,"parentId":1,"tags":{},"startTime":1778926433821,"traceId":"75f478546cbc7f77"},{"name":"generate-route-types","duration":40764,"timestamp":118461576918,"id":10,"parentId":1,"tags":{},"startTime":1778926433823,"traceId":"75f478546cbc7f77"},{"name":"public-dir-conflict-check","duration":148,"timestamp":118461617783,"id":11,"parentId":1,"tags":{},"startTime":1778926433864,"traceId":"75f478546cbc7f77"},{"name":"generate-routes-manifest","duration":4339,"timestamp":118461618115,"id":12,"parentId":1,"tags":{},"startTime":1778926433864,"traceId":"75f478546cbc7f77"},{"name":"run-turbopack","duration":6766474,"timestamp":118461628960,"id":14,"parentId":1,"tags":{},"startTime":1778926433875,"traceId":"75f478546cbc7f77"},{"name":"turbopack-build-events","duration":118,"timestamp":118461938044,"id":15,"parentId":1,"tags":{},"startTime":1778926434184,"traceId":"75f478546cbc7f77"},{"name":"run-typescript","duration":9551838,"timestamp":118468405435,"id":16,"parentId":1,"tags":{},"startTime":1778926440652,"traceId":"75f478546cbc7f77"},{"name":"generate-required-server-files","duration":3958,"timestamp":118477958948,"id":18,"parentId":1,"tags":{},"startTime":1778926450205,"traceId":"75f478546cbc7f77"},{"name":"check-static-error-page","duration":29589,"timestamp":118478185174,"id":20,"parentId":19,"tags":{},"startTime":1778926450431,"traceId":"75f478546cbc7f77"},{"name":"is-page-static","duration":449245,"timestamp":118478217481,"id":63,"parentId":22,"tags":{},"startTime":1778926450464,"traceId":"75f478546cbc7f77"},{"name":"check-page","duration":470140,"timestamp":118478196777,"id":22,"parentId":19,"tags":{"page":"/_global-error"},"startTime":1778926450443,"traceId":"75f478546cbc7f77"},{"name":"is-page-static","duration":558623,"timestamp":118478219858,"id":69,"parentId":30,"tags":{},"startTime":1778926450466,"traceId":"75f478546cbc7f77"},{"name":"check-page","duration":573652,"timestamp":118478204926,"id":30,"parentId":19,"tags":{"page":"/api/hub/broadcast"},"startTime":1778926450451,"traceId":"75f478546cbc7f77"},{"name":"is-page-static","duration":569372,"timestamp":118478220094,"id":70,"parentId":32,"tags":{},"startTime":1778926450466,"traceId":"75f478546cbc7f77"},{"name":"check-page","duration":584201,"timestamp":118478205335,"id":32,"parentId":19,"tags":{"page":"/api/hub/health"},"startTime":1778926450452,"traceId":"75f478546cbc7f77"},{"name":"is-page-static","duration":589932,"timestamp":118478220167,"id":71,"parentId":33,"tags":{},"startTime":1778926450466,"traceId":"75f478546cbc7f77"},{"name":"check-page","duration":604689,"timestamp":118478205482,"id":33,"parentId":19,"tags":{"page":"/api/hub/inbox"},"startTime":1778926450452,"traceId":"75f478546cbc7f77"},{"name":"is-page-static","duration":605222,"timestamp":118478220840,"id":72,"parentId":34,"tags":{},"startTime":1778926450467,"traceId":"75f478546cbc7f77"},{"name":"check-page","duration":620537,"timestamp":118478205616,"id":34,"parentId":19,"tags":{"page":"/api/hub/license"},"startTime":1778926450452,"traceId":"75f478546cbc7f77"},{"name":"is-page-static","duration":610325,"timestamp":118478220923,"id":73,"parentId":35,"tags":{},"startTime":1778926450467,"traceId":"75f478546cbc7f77"},{"name":"check-page","duration":625572,"timestamp":118478205760,"id":35,"parentId":19,"tags":{"page":"/api/hub/messages"},"startTime":1778926450452,"traceId":"75f478546cbc7f77"},{"name":"is-page-static","duration":618349,"timestamp":118478218101,"id":67,"parentId":28,"tags":{},"startTime":1778926450464,"traceId":"75f478546cbc7f77"},{"name":"check-page","duration":631851,"timestamp":118478204676,"id":28,"parentId":19,"tags":{"page":"/api/hub/audit-log"},"startTime":1778926450451,"traceId":"75f478546cbc7f77"},{"name":"is-page-static","duration":615693,"timestamp":118478221134,"id":74,"parentId":36,"tags":{},"startTime":1778926450467,"traceId":"75f478546cbc7f77"},{"name":"check-page","duration":631809,"timestamp":118478206282,"id":36,"parentId":19,"tags":{"page":"/api/hub/networks"},"startTime":1778926450453,"traceId":"75f478546cbc7f77"},{"name":"is-page-static","duration":620000,"timestamp":118478221253,"id":76,"parentId":38,"tags":{},"startTime":1778926450468,"traceId":"75f478546cbc7f77"},{"name":"check-page","duration":634732,"timestamp":118478206581,"id":38,"parentId":19,"tags":{"page":"/api/hub/register"},"startTime":1778926450453,"traceId":"75f478546cbc7f77"},{"name":"is-page-static","duration":620544,"timestamp":118478221207,"id":75,"parentId":37,"tags":{},"startTime":1778926450467,"traceId":"75f478546cbc7f77"},{"name":"check-page","duration":635341,"timestamp":118478206455,"id":37,"parentId":19,"tags":{"page":"/api/hub/nodes"},"startTime":1778926450453,"traceId":"75f478546cbc7f77"},{"name":"is-page-static","duration":624194,"timestamp":118478221276,"id":77,"parentId":39,"tags":{},"startTime":1778926450468,"traceId":"75f478546cbc7f77"},{"name":"check-page","duration":638838,"timestamp":118478206684,"id":39,"parentId":19,"tags":{"page":"/api/hub/send"},"startTime":1778926450453,"traceId":"75f478546cbc7f77"},{"name":"is-page-static","duration":630287,"timestamp":118478221298,"id":79,"parentId":41,"tags":{},"startTime":1778926450468,"traceId":"75f478546cbc7f77"},{"name":"check-page","duration":644711,"timestamp":118478206915,"id":41,"parentId":19,"tags":{"page":"/api/hub/servers"},"startTime":1778926450453,"traceId":"75f478546cbc7f77"},{"name":"is-page-static","duration":635940,"timestamp":118478221310,"id":80,"parentId":42,"tags":{},"startTime":1778926450468,"traceId":"75f478546cbc7f77"},{"name":"check-page","duration":650221,"timestamp":118478207073,"id":42,"parentId":19,"tags":{"page":"/api/hub/session"},"startTime":1778926450453,"traceId":"75f478546cbc7f77"},{"name":"is-page-static","duration":640965,"timestamp":118478221346,"id":81,"parentId":43,"tags":{},"startTime":1778926450468,"traceId":"75f478546cbc7f77"},{"name":"check-page","duration":655175,"timestamp":118478207177,"id":43,"parentId":19,"tags":{"page":"/api/hub/stats"},"startTime":1778926450453,"traceId":"75f478546cbc7f77"},{"name":"is-page-static","duration":645016,"timestamp":118478221362,"id":82,"parentId":44,"tags":{},"startTime":1778926450468,"traceId":"75f478546cbc7f77"},{"name":"check-page","duration":659115,"timestamp":118478207304,"id":44,"parentId":19,"tags":{"page":"/api/hub/status"},"startTime":1778926450454,"traceId":"75f478546cbc7f77"},{"name":"is-page-static","duration":652487,"timestamp":118478217602,"id":64,"parentId":25,"tags":{},"startTime":1778926450464,"traceId":"75f478546cbc7f77"},{"name":"check-page","duration":666181,"timestamp":118478203956,"id":25,"parentId":19,"tags":{"page":"/api/auth/login"},"startTime":1778926450450,"traceId":"75f478546cbc7f77"},{"name":"is-page-static","duration":650395,"timestamp":118478221375,"id":83,"parentId":45,"tags":{},"startTime":1778926450468,"traceId":"75f478546cbc7f77"},{"name":"check-page","duration":664175,"timestamp":118478207652,"id":45,"parentId":19,"tags":{"page":"/api/hub/task-events"},"startTime":1778926450454,"traceId":"75f478546cbc7f77"},{"name":"is-page-static","duration":655899,"timestamp":118478221395,"id":85,"parentId":47,"tags":{},"startTime":1778926450468,"traceId":"75f478546cbc7f77"},{"name":"check-page","duration":669325,"timestamp":118478208019,"id":47,"parentId":19,"tags":{"page":"/api/hub/tmux"},"startTime":1778926450454,"traceId":"75f478546cbc7f77"},{"name":"is-page-static","duration":656137,"timestamp":118478221387,"id":84,"parentId":46,"tags":{},"startTime":1778926450468,"traceId":"75f478546cbc7f77"},{"name":"check-page","duration":669718,"timestamp":118478207839,"id":46,"parentId":19,"tags":{"page":"/api/hub/tasks"},"startTime":1778926450454,"traceId":"75f478546cbc7f77"},{"name":"is-page-static","duration":659999,"timestamp":118478221436,"id":86,"parentId":48,"tags":{},"startTime":1778926450468,"traceId":"75f478546cbc7f77"},{"name":"check-page","duration":673345,"timestamp":118478208136,"id":48,"parentId":19,"tags":{"page":"/api/hub/tokens"},"startTime":1778926450454,"traceId":"75f478546cbc7f77"},{"name":"is-page-static","duration":660710,"timestamp":118478226719,"id":88,"parentId":24,"tags":{},"startTime":1778926450473,"traceId":"75f478546cbc7f77"},{"name":"check-page","duration":689758,"timestamp":118478197713,"id":24,"parentId":19,"tags":{"page":"/api/anet/config"},"startTime":1778926450444,"traceId":"75f478546cbc7f77"},{"name":"is-page-static","duration":674181,"timestamp":118478221286,"id":78,"parentId":40,"tags":{},"startTime":1778926450468,"traceId":"75f478546cbc7f77"},{"name":"check-page","duration":688741,"timestamp":118478206778,"id":40,"parentId":19,"tags":{"page":"/api/hub/server-logs"},"startTime":1778926450453,"traceId":"75f478546cbc7f77"},{"name":"is-page-static","duration":667016,"timestamp":118478228836,"id":89,"parentId":31,"tags":{},"startTime":1778926450475,"traceId":"75f478546cbc7f77"},{"name":"check-page","duration":690860,"timestamp":118478205050,"id":31,"parentId":19,"tags":{"page":"/api/hub/events"},"startTime":1778926450451,"traceId":"75f478546cbc7f77"},{"name":"is-page-static","duration":689280,"timestamp":118478221453,"id":87,"parentId":49,"tags":{},"startTime":1778926450468,"traceId":"75f478546cbc7f77"},{"name":"check-page","duration":699972,"timestamp":118478210828,"id":49,"parentId":19,"tags":{"page":"/favicon.ico"},"startTime":1778926450457,"traceId":"75f478546cbc7f77"},{"name":"is-page-static","duration":702960,"timestamp":118478217808,"id":66,"parentId":27,"tags":{},"startTime":1778926450464,"traceId":"75f478546cbc7f77"},{"name":"check-page","duration":716266,"timestamp":118478204568,"id":27,"parentId":19,"tags":{"page":"/api/auth/v3"},"startTime":1778926450451,"traceId":"75f478546cbc7f77"},{"name":"is-page-static","duration":738684,"timestamp":118478217724,"id":65,"parentId":26,"tags":{},"startTime":1778926450464,"traceId":"75f478546cbc7f77"},{"name":"check-page","duration":752049,"timestamp":118478204437,"id":26,"parentId":19,"tags":{"page":"/api/auth/logout"},"startTime":1778926450451,"traceId":"75f478546cbc7f77"},{"name":"is-page-static","duration":726284,"timestamp":118478241910,"id":90,"parentId":23,"tags":{},"startTime":1778926450488,"traceId":"75f478546cbc7f77"},{"name":"check-page","duration":770916,"timestamp":118478197341,"id":23,"parentId":19,"tags":{"page":"/admin"},"startTime":1778926450444,"traceId":"75f478546cbc7f77"},{"name":"is-page-static","duration":751988,"timestamp":118478217081,"id":62,"parentId":21,"tags":{},"startTime":1778926450463,"traceId":"75f478546cbc7f77"},{"name":"check-page","duration":775489,"timestamp":118478193627,"id":21,"parentId":19,"tags":{"page":"/_not-found"},"startTime":1778926450440,"traceId":"75f478546cbc7f77"},{"name":"is-page-static","duration":758468,"timestamp":118478219689,"id":68,"parentId":29,"tags":{},"startTime":1778926450466,"traceId":"75f478546cbc7f77"},{"name":"check-page","duration":773426,"timestamp":118478204779,"id":29,"parentId":19,"tags":{"page":"/api/hub/auth"},"startTime":1778926450451,"traceId":"75f478546cbc7f77"},{"name":"is-page-static","duration":736388,"timestamp":118478241989,"id":95,"parentId":54,"tags":{},"startTime":1778926450488,"traceId":"75f478546cbc7f77"},{"name":"check-page","duration":766447,"timestamp":118478211983,"id":54,"parentId":19,"tags":{"page":"/nodes"},"startTime":1778926450458,"traceId":"75f478546cbc7f77"},{"name":"is-page-static","duration":737473,"timestamp":118478244734,"id":96,"parentId":56,"tags":{},"startTime":1778926450491,"traceId":"75f478546cbc7f77"},{"name":"check-page","duration":769661,"timestamp":118478212587,"id":56,"parentId":19,"tags":{"page":"/server-logs"},"startTime":1778926450459,"traceId":"75f478546cbc7f77"},{"name":"is-page-static","duration":744943,"timestamp":118478244894,"id":98,"parentId":59,"tags":{},"startTime":1778926450491,"traceId":"75f478546cbc7f77"},{"name":"check-page","duration":775747,"timestamp":118478214132,"id":59,"parentId":19,"tags":{"page":"/settings/tokens"},"startTime":1778926450460,"traceId":"75f478546cbc7f77"},{"name":"is-page-static","duration":751253,"timestamp":118478241944,"id":91,"parentId":50,"tags":{},"startTime":1778926450488,"traceId":"75f478546cbc7f77"},{"name":"check-page","duration":781889,"timestamp":118478211369,"id":50,"parentId":19,"tags":{"page":"/login"},"startTime":1778926450458,"traceId":"75f478546cbc7f77"},{"name":"is-page-static","duration":755094,"timestamp":118478241957,"id":92,"parentId":51,"tags":{},"startTime":1778926450488,"traceId":"75f478546cbc7f77"},{"name":"check-page","duration":785547,"timestamp":118478211543,"id":51,"parentId":19,"tags":{"page":"/logs"},"startTime":1778926450458,"traceId":"75f478546cbc7f77"},{"name":"is-page-static","duration":762956,"timestamp":118478246075,"id":101,"parentId":58,"tags":{},"startTime":1778926450492,"traceId":"75f478546cbc7f77"},{"name":"check-page","duration":796103,"timestamp":118478212980,"id":58,"parentId":19,"tags":{"page":"/settings"},"startTime":1778926450459,"traceId":"75f478546cbc7f77"},{"name":"is-page-static","duration":769109,"timestamp":118478246065,"id":100,"parentId":61,"tags":{},"startTime":1778926450492,"traceId":"75f478546cbc7f77"},{"name":"check-page","duration":800771,"timestamp":118478214451,"id":61,"parentId":19,"tags":{"page":"/tasks"},"startTime":1778926450461,"traceId":"75f478546cbc7f77"},{"name":"is-page-static","duration":749535,"timestamp":118478266741,"id":102,"parentId":55,"tags":{},"startTime":1778926450513,"traceId":"75f478546cbc7f77"},{"name":"check-page","duration":804128,"timestamp":118478212188,"id":55,"parentId":19,"tags":{"page":"/"},"startTime":1778926450458,"traceId":"75f478546cbc7f77"},{"name":"is-page-static","duration":782256,"timestamp":118478246023,"id":99,"parentId":60,"tags":{},"startTime":1778926450492,"traceId":"75f478546cbc7f77"},{"name":"check-page","duration":814038,"timestamp":118478214308,"id":60,"parentId":19,"tags":{"page":"/tasks/[id]"},"startTime":1778926450461,"traceId":"75f478546cbc7f77"},{"name":"is-page-static","duration":797392,"timestamp":118478241970,"id":93,"parentId":52,"tags":{},"startTime":1778926450488,"traceId":"75f478546cbc7f77"},{"name":"check-page","duration":827745,"timestamp":118478211674,"id":52,"parentId":19,"tags":{"page":"/messages"},"startTime":1778926450458,"traceId":"75f478546cbc7f77"},{"name":"is-page-static","duration":811858,"timestamp":118478241977,"id":94,"parentId":53,"tags":{},"startTime":1778926450488,"traceId":"75f478546cbc7f77"},{"name":"check-page","duration":842060,"timestamp":118478211832,"id":53,"parentId":19,"tags":{"page":"/node"},"startTime":1778926450458,"traceId":"75f478546cbc7f77"},{"name":"is-page-static","duration":824175,"timestamp":118478244864,"id":97,"parentId":57,"tags":{},"startTime":1778926450491,"traceId":"75f478546cbc7f77"},{"name":"check-page","duration":856305,"timestamp":118478212780,"id":57,"parentId":19,"tags":{"page":"/settings/networks"},"startTime":1778926450459,"traceId":"75f478546cbc7f77"},{"name":"static-check","duration":885188,"timestamp":118478183931,"id":19,"parentId":1,"tags":{},"startTime":1778926450430,"traceId":"75f478546cbc7f77"},{"name":"write-routes-manifest","duration":497,"timestamp":118479075843,"id":104,"parentId":1,"tags":{},"startTime":1778926451322,"traceId":"75f478546cbc7f77"},{"name":"load-dotenv","duration":60,"timestamp":118479087929,"id":107,"parentId":106,"tags":{},"startTime":1778926451334,"traceId":"75f478546cbc7f77"},{"name":"run-export-path-map","duration":610,"timestamp":118479091519,"id":108,"parentId":106,"tags":{},"startTime":1778926451338,"traceId":"75f478546cbc7f77"},{"name":"next-export","duration":675187,"timestamp":118479086681,"id":106,"parentId":1,"tags":{},"startTime":1778926451333,"traceId":"75f478546cbc7f77"}]
|
|
2
|
-
[{"name":"move-exported-app-not-found-","duration":
|
|
1
|
+
[{"name":"generate-buildid","duration":290,"timestamp":118895061735,"id":4,"parentId":1,"tags":{},"startTime":1778926867308,"traceId":"ce839ee52c2bd995"},{"name":"load-custom-routes","duration":445,"timestamp":118895062174,"id":5,"parentId":1,"tags":{},"startTime":1778926867308,"traceId":"ce839ee52c2bd995"},{"name":"create-dist-dir","duration":734,"timestamp":118895062670,"id":6,"parentId":1,"tags":{},"startTime":1778926867309,"traceId":"ce839ee52c2bd995"},{"name":"clean","duration":37509,"timestamp":118895064095,"id":7,"parentId":1,"tags":{},"startTime":1778926867310,"traceId":"ce839ee52c2bd995"},{"name":"discover-routes","duration":10767,"timestamp":118895190470,"id":8,"parentId":1,"tags":{},"startTime":1778926867437,"traceId":"ce839ee52c2bd995"},{"name":"create-root-mapping","duration":152,"timestamp":118895201334,"id":9,"parentId":1,"tags":{},"startTime":1778926867448,"traceId":"ce839ee52c2bd995"},{"name":"generate-route-types","duration":35006,"timestamp":118895204649,"id":10,"parentId":1,"tags":{},"startTime":1778926867451,"traceId":"ce839ee52c2bd995"},{"name":"public-dir-conflict-check","duration":97,"timestamp":118895239750,"id":11,"parentId":1,"tags":{},"startTime":1778926867486,"traceId":"ce839ee52c2bd995"},{"name":"generate-routes-manifest","duration":4937,"timestamp":118895239984,"id":12,"parentId":1,"tags":{},"startTime":1778926867486,"traceId":"ce839ee52c2bd995"},{"name":"run-turbopack","duration":7356972,"timestamp":118895249818,"id":14,"parentId":1,"tags":{},"startTime":1778926867496,"traceId":"ce839ee52c2bd995"},{"name":"turbopack-build-events","duration":102,"timestamp":118895559297,"id":15,"parentId":1,"tags":{},"startTime":1778926867806,"traceId":"ce839ee52c2bd995"},{"name":"run-typescript","duration":9977199,"timestamp":118902615864,"id":16,"parentId":1,"tags":{},"startTime":1778926874862,"traceId":"ce839ee52c2bd995"},{"name":"generate-required-server-files","duration":3149,"timestamp":118912594332,"id":18,"parentId":1,"tags":{},"startTime":1778926884841,"traceId":"ce839ee52c2bd995"},{"name":"check-static-error-page","duration":18363,"timestamp":118912804666,"id":20,"parentId":19,"tags":{},"startTime":1778926885051,"traceId":"ce839ee52c2bd995"},{"name":"is-page-static","duration":662468,"timestamp":118912828422,"id":63,"parentId":22,"tags":{},"startTime":1778926885075,"traceId":"ce839ee52c2bd995"},{"name":"check-page","duration":683333,"timestamp":118912807737,"id":22,"parentId":19,"tags":{"page":"/_global-error"},"startTime":1778926885054,"traceId":"ce839ee52c2bd995"},{"name":"is-page-static","duration":747370,"timestamp":118912829051,"id":67,"parentId":28,"tags":{},"startTime":1778926885075,"traceId":"ce839ee52c2bd995"},{"name":"check-page","duration":765299,"timestamp":118912811214,"id":28,"parentId":19,"tags":{"page":"/api/hub/audit-log"},"startTime":1778926885057,"traceId":"ce839ee52c2bd995"},{"name":"is-page-static","duration":786993,"timestamp":118912827964,"id":62,"parentId":21,"tags":{},"startTime":1778926885074,"traceId":"ce839ee52c2bd995"},{"name":"check-page","duration":808803,"timestamp":118912806252,"id":21,"parentId":19,"tags":{"page":"/_not-found"},"startTime":1778926885053,"traceId":"ce839ee52c2bd995"},{"name":"is-page-static","duration":810851,"timestamp":118912829494,"id":70,"parentId":32,"tags":{},"startTime":1778926885076,"traceId":"ce839ee52c2bd995"},{"name":"check-page","duration":828573,"timestamp":118912811845,"id":32,"parentId":19,"tags":{"page":"/api/hub/health"},"startTime":1778926885058,"traceId":"ce839ee52c2bd995"},{"name":"is-page-static","duration":812712,"timestamp":118912828551,"id":64,"parentId":25,"tags":{},"startTime":1778926885075,"traceId":"ce839ee52c2bd995"},{"name":"check-page","duration":830560,"timestamp":118912810762,"id":25,"parentId":19,"tags":{"page":"/api/auth/login"},"startTime":1778926885057,"traceId":"ce839ee52c2bd995"},{"name":"is-page-static","duration":817177,"timestamp":118912829662,"id":73,"parentId":35,"tags":{},"startTime":1778926885076,"traceId":"ce839ee52c2bd995"},{"name":"check-page","duration":834616,"timestamp":118912812293,"id":35,"parentId":19,"tags":{"page":"/api/hub/messages"},"startTime":1778926885059,"traceId":"ce839ee52c2bd995"},{"name":"is-page-static","duration":818012,"timestamp":118912829632,"id":72,"parentId":34,"tags":{},"startTime":1778926885076,"traceId":"ce839ee52c2bd995"},{"name":"check-page","duration":835543,"timestamp":118912812170,"id":34,"parentId":19,"tags":{"page":"/api/hub/license"},"startTime":1778926885058,"traceId":"ce839ee52c2bd995"},{"name":"is-page-static","duration":815370,"timestamp":118912837189,"id":75,"parentId":37,"tags":{},"startTime":1778926885083,"traceId":"ce839ee52c2bd995"},{"name":"check-page","duration":839575,"timestamp":118912813037,"id":37,"parentId":19,"tags":{"page":"/api/hub/nodes"},"startTime":1778926885059,"traceId":"ce839ee52c2bd995"},{"name":"is-page-static","duration":829730,"timestamp":118912828677,"id":65,"parentId":26,"tags":{},"startTime":1778926885075,"traceId":"ce839ee52c2bd995"},{"name":"check-page","duration":847507,"timestamp":118912810959,"id":26,"parentId":19,"tags":{"page":"/api/auth/logout"},"startTime":1778926885057,"traceId":"ce839ee52c2bd995"},{"name":"is-page-static","duration":821645,"timestamp":118912837211,"id":76,"parentId":38,"tags":{},"startTime":1778926885083,"traceId":"ce839ee52c2bd995"},{"name":"check-page","duration":845702,"timestamp":118912813210,"id":38,"parentId":19,"tags":{"page":"/api/hub/register"},"startTime":1778926885059,"traceId":"ce839ee52c2bd995"},{"name":"is-page-static","duration":825854,"timestamp":118912837235,"id":78,"parentId":40,"tags":{},"startTime":1778926885084,"traceId":"ce839ee52c2bd995"},{"name":"check-page","duration":849678,"timestamp":118912813453,"id":40,"parentId":19,"tags":{"page":"/api/hub/server-logs"},"startTime":1778926885060,"traceId":"ce839ee52c2bd995"},{"name":"is-page-static","duration":832347,"timestamp":118912837246,"id":79,"parentId":41,"tags":{},"startTime":1778926885084,"traceId":"ce839ee52c2bd995"},{"name":"check-page","duration":856082,"timestamp":118912813565,"id":41,"parentId":19,"tags":{"page":"/api/hub/servers"},"startTime":1778926885060,"traceId":"ce839ee52c2bd995"},{"name":"is-page-static","duration":837200,"timestamp":118912837261,"id":80,"parentId":42,"tags":{},"startTime":1778926885084,"traceId":"ce839ee52c2bd995"},{"name":"check-page","duration":860832,"timestamp":118912813683,"id":42,"parentId":19,"tags":{"page":"/api/hub/session"},"startTime":1778926885060,"traceId":"ce839ee52c2bd995"},{"name":"is-page-static","duration":842030,"timestamp":118912837225,"id":77,"parentId":39,"tags":{},"startTime":1778926885083,"traceId":"ce839ee52c2bd995"},{"name":"check-page","duration":865974,"timestamp":118912813331,"id":39,"parentId":19,"tags":{"page":"/api/hub/send"},"startTime":1778926885060,"traceId":"ce839ee52c2bd995"},{"name":"is-page-static","duration":843779,"timestamp":118912837270,"id":81,"parentId":43,"tags":{},"startTime":1778926885084,"traceId":"ce839ee52c2bd995"},{"name":"check-page","duration":867307,"timestamp":118912813794,"id":43,"parentId":19,"tags":{"page":"/api/hub/stats"},"startTime":1778926885060,"traceId":"ce839ee52c2bd995"},{"name":"is-page-static","duration":849103,"timestamp":118912837300,"id":83,"parentId":45,"tags":{},"startTime":1778926885084,"traceId":"ce839ee52c2bd995"},{"name":"check-page","duration":872395,"timestamp":118912814055,"id":45,"parentId":19,"tags":{"page":"/api/hub/task-events"},"startTime":1778926885060,"traceId":"ce839ee52c2bd995"},{"name":"is-page-static","duration":854948,"timestamp":118912837131,"id":74,"parentId":36,"tags":{},"startTime":1778926885083,"traceId":"ce839ee52c2bd995"},{"name":"check-page","duration":879320,"timestamp":118912812819,"id":36,"parentId":19,"tags":{"page":"/api/hub/networks"},"startTime":1778926885059,"traceId":"ce839ee52c2bd995"},{"name":"is-page-static","duration":856903,"timestamp":118912837315,"id":84,"parentId":46,"tags":{},"startTime":1778926885084,"traceId":"ce839ee52c2bd995"},{"name":"check-page","duration":878462,"timestamp":118912815806,"id":46,"parentId":19,"tags":{"page":"/api/hub/tasks"},"startTime":1778926885062,"traceId":"ce839ee52c2bd995"},{"name":"is-page-static","duration":864491,"timestamp":118912837283,"id":82,"parentId":44,"tags":{},"startTime":1778926885084,"traceId":"ce839ee52c2bd995"},{"name":"check-page","duration":887906,"timestamp":118912813920,"id":44,"parentId":19,"tags":{"page":"/api/hub/status"},"startTime":1778926885060,"traceId":"ce839ee52c2bd995"},{"name":"is-page-static","duration":864654,"timestamp":118912837336,"id":86,"parentId":48,"tags":{},"startTime":1778926885084,"traceId":"ce839ee52c2bd995"},{"name":"check-page","duration":885882,"timestamp":118912816162,"id":48,"parentId":19,"tags":{"page":"/api/hub/tokens"},"startTime":1778926885062,"traceId":"ce839ee52c2bd995"},{"name":"is-page-static","duration":874880,"timestamp":118912837350,"id":87,"parentId":49,"tags":{},"startTime":1778926885084,"traceId":"ce839ee52c2bd995"},{"name":"check-page","duration":896011,"timestamp":118912816280,"id":49,"parentId":19,"tags":{"page":"/favicon.ico"},"startTime":1778926885063,"traceId":"ce839ee52c2bd995"},{"name":"is-page-static","duration":866791,"timestamp":118912848639,"id":88,"parentId":24,"tags":{},"startTime":1778926885095,"traceId":"ce839ee52c2bd995"},{"name":"check-page","duration":907160,"timestamp":118912808322,"id":24,"parentId":19,"tags":{"page":"/api/anet/config"},"startTime":1778926885055,"traceId":"ce839ee52c2bd995"},{"name":"is-page-static","duration":889889,"timestamp":118912829334,"id":69,"parentId":30,"tags":{},"startTime":1778926885076,"traceId":"ce839ee52c2bd995"},{"name":"check-page","duration":907826,"timestamp":118912811451,"id":30,"parentId":19,"tags":{"page":"/api/hub/broadcast"},"startTime":1778926885058,"traceId":"ce839ee52c2bd995"},{"name":"is-page-static","duration":887743,"timestamp":118912837324,"id":85,"parentId":47,"tags":{},"startTime":1778926885084,"traceId":"ce839ee52c2bd995"},{"name":"check-page","duration":909086,"timestamp":118912816036,"id":47,"parentId":19,"tags":{"page":"/api/hub/tmux"},"startTime":1778926885062,"traceId":"ce839ee52c2bd995"},{"name":"is-page-static","duration":901196,"timestamp":118912829558,"id":71,"parentId":33,"tags":{},"startTime":1778926885076,"traceId":"ce839ee52c2bd995"},{"name":"check-page","duration":918806,"timestamp":118912811998,"id":33,"parentId":19,"tags":{"page":"/api/hub/inbox"},"startTime":1778926885058,"traceId":"ce839ee52c2bd995"},{"name":"is-page-static","duration":871906,"timestamp":118912862796,"id":89,"parentId":31,"tags":{},"startTime":1778926885109,"traceId":"ce839ee52c2bd995"},{"name":"check-page","duration":923176,"timestamp":118912811574,"id":31,"parentId":19,"tags":{"page":"/api/hub/events"},"startTime":1778926885058,"traceId":"ce839ee52c2bd995"},{"name":"is-page-static","duration":909152,"timestamp":118912829209,"id":68,"parentId":29,"tags":{},"startTime":1778926885075,"traceId":"ce839ee52c2bd995"},{"name":"check-page","duration":927080,"timestamp":118912811324,"id":29,"parentId":19,"tags":{"page":"/api/hub/auth"},"startTime":1778926885058,"traceId":"ce839ee52c2bd995"},{"name":"is-page-static","duration":826108,"timestamp":118912912818,"id":93,"parentId":52,"tags":{},"startTime":1778926885159,"traceId":"ce839ee52c2bd995"},{"name":"check-page","duration":921881,"timestamp":118912817084,"id":52,"parentId":19,"tags":{"page":"/messages"},"startTime":1778926885063,"traceId":"ce839ee52c2bd995"},{"name":"is-page-static","duration":833808,"timestamp":118912912861,"id":96,"parentId":56,"tags":{},"startTime":1778926885159,"traceId":"ce839ee52c2bd995"},{"name":"check-page","duration":928262,"timestamp":118912818456,"id":56,"parentId":19,"tags":{"page":"/server-logs"},"startTime":1778926885065,"traceId":"ce839ee52c2bd995"},{"name":"is-page-static","duration":844309,"timestamp":118912912871,"id":97,"parentId":57,"tags":{},"startTime":1778926885159,"traceId":"ce839ee52c2bd995"},{"name":"check-page","duration":938560,"timestamp":118912818675,"id":57,"parentId":19,"tags":{"page":"/settings/networks"},"startTime":1778926885065,"traceId":"ce839ee52c2bd995"},{"name":"is-page-static","duration":849944,"timestamp":118912912897,"id":98,"parentId":59,"tags":{},"startTime":1778926885159,"traceId":"ce839ee52c2bd995"},{"name":"check-page","duration":943556,"timestamp":118912819350,"id":59,"parentId":19,"tags":{"page":"/settings/tokens"},"startTime":1778926885066,"traceId":"ce839ee52c2bd995"},{"name":"is-page-static","duration":870289,"timestamp":118912913033,"id":99,"parentId":60,"tags":{},"startTime":1778926885159,"traceId":"ce839ee52c2bd995"},{"name":"check-page","duration":960844,"timestamp":118912822557,"id":60,"parentId":19,"tags":{"page":"/tasks/[id]"},"startTime":1778926885069,"traceId":"ce839ee52c2bd995"},{"name":"is-page-static","duration":877315,"timestamp":118912912739,"id":90,"parentId":23,"tags":{},"startTime":1778926885159,"traceId":"ce839ee52c2bd995"},{"name":"check-page","duration":982091,"timestamp":118912808048,"id":23,"parentId":19,"tags":{"page":"/admin"},"startTime":1778926885054,"traceId":"ce839ee52c2bd995"},{"name":"is-page-static","duration":878394,"timestamp":118912913049,"id":100,"parentId":61,"tags":{},"startTime":1778926885159,"traceId":"ce839ee52c2bd995"},{"name":"check-page","duration":968777,"timestamp":118912822724,"id":61,"parentId":19,"tags":{"page":"/tasks"},"startTime":1778926885069,"traceId":"ce839ee52c2bd995"},{"name":"is-page-static","duration":963160,"timestamp":118912828781,"id":66,"parentId":27,"tags":{},"startTime":1778926885075,"traceId":"ce839ee52c2bd995"},{"name":"check-page","duration":980899,"timestamp":118912811098,"id":27,"parentId":19,"tags":{"page":"/api/auth/v3"},"startTime":1778926885057,"traceId":"ce839ee52c2bd995"},{"name":"is-page-static","duration":886369,"timestamp":118912913063,"id":101,"parentId":58,"tags":{},"startTime":1778926885159,"traceId":"ce839ee52c2bd995"},{"name":"check-page","duration":980608,"timestamp":118912818870,"id":58,"parentId":19,"tags":{"page":"/settings"},"startTime":1778926885065,"traceId":"ce839ee52c2bd995"},{"name":"is-page-static","duration":886488,"timestamp":118912913076,"id":102,"parentId":55,"tags":{},"startTime":1778926885159,"traceId":"ce839ee52c2bd995"},{"name":"check-page","duration":981822,"timestamp":118912817809,"id":55,"parentId":19,"tags":{"page":"/"},"startTime":1778926885064,"traceId":"ce839ee52c2bd995"},{"name":"is-page-static","duration":888629,"timestamp":118912912793,"id":91,"parentId":50,"tags":{},"startTime":1778926885159,"traceId":"ce839ee52c2bd995"},{"name":"check-page","duration":984794,"timestamp":118912816684,"id":50,"parentId":19,"tags":{"page":"/login"},"startTime":1778926885063,"traceId":"ce839ee52c2bd995"},{"name":"is-page-static","duration":900930,"timestamp":118912912808,"id":92,"parentId":51,"tags":{},"startTime":1778926885159,"traceId":"ce839ee52c2bd995"},{"name":"check-page","duration":996924,"timestamp":118912816868,"id":51,"parentId":19,"tags":{"page":"/logs"},"startTime":1778926885063,"traceId":"ce839ee52c2bd995"},{"name":"is-page-static","duration":927061,"timestamp":118912912830,"id":94,"parentId":53,"tags":{},"startTime":1778926885159,"traceId":"ce839ee52c2bd995"},{"name":"check-page","duration":1022649,"timestamp":118912817313,"id":53,"parentId":19,"tags":{"page":"/node"},"startTime":1778926885064,"traceId":"ce839ee52c2bd995"},{"name":"is-page-static","duration":938340,"timestamp":118912912847,"id":95,"parentId":54,"tags":{},"startTime":1778926885159,"traceId":"ce839ee52c2bd995"},{"name":"check-page","duration":1033720,"timestamp":118912817543,"id":54,"parentId":19,"tags":{"page":"/nodes"},"startTime":1778926885064,"traceId":"ce839ee52c2bd995"},{"name":"static-check","duration":1048569,"timestamp":118912802748,"id":19,"parentId":1,"tags":{},"startTime":1778926885049,"traceId":"ce839ee52c2bd995"},{"name":"write-routes-manifest","duration":653,"timestamp":118913860327,"id":104,"parentId":1,"tags":{},"startTime":1778926886107,"traceId":"ce839ee52c2bd995"},{"name":"load-dotenv","duration":65,"timestamp":118913874985,"id":107,"parentId":106,"tags":{},"startTime":1778926886121,"traceId":"ce839ee52c2bd995"},{"name":"run-export-path-map","duration":545,"timestamp":118913878206,"id":108,"parentId":106,"tags":{},"startTime":1778926886124,"traceId":"ce839ee52c2bd995"},{"name":"next-export","duration":665917,"timestamp":118913873758,"id":106,"parentId":1,"tags":{},"startTime":1778926886120,"traceId":"ce839ee52c2bd995"}]
|
|
2
|
+
[{"name":"move-exported-app-not-found-","duration":2635,"timestamp":118914543969,"id":109,"parentId":105,"tags":{},"startTime":1778926886790,"traceId":"ce839ee52c2bd995"},{"name":"move-exported-app-global-error-","duration":976,"timestamp":118914546701,"id":110,"parentId":105,"tags":{},"startTime":1778926886793,"traceId":"ce839ee52c2bd995"},{"name":"static-generation","duration":683739,"timestamp":118913865846,"id":105,"parentId":1,"tags":{},"startTime":1778926886112,"traceId":"ce839ee52c2bd995"},{"name":"write-routes-manifest","duration":471,"timestamp":118914549748,"id":111,"parentId":1,"tags":{},"startTime":1778926886796,"traceId":"ce839ee52c2bd995"},{"name":"print-tree-view","duration":7419,"timestamp":118914558121,"id":112,"parentId":1,"tags":{},"startTime":1778926886804,"traceId":"ce839ee52c2bd995"},{"name":"write-route-bundle-stats","duration":21461,"timestamp":118914565591,"id":113,"parentId":1,"tags":{},"startTime":1778926886812,"traceId":"ce839ee52c2bd995"},{"name":"telemetry-flush","duration":26450,"timestamp":118914587101,"id":114,"parentId":1,"tags":{},"startTime":1778926886833,"traceId":"ce839ee52c2bd995"},{"name":"next-build","duration":19609005,"timestamp":118895004584,"id":1,"tags":{"buildMode":"default","version":"16.2.3","bundler":"turbopack","has-custom-webpack-config":"false","use-build-worker":"true"},"startTime":1778926867251,"traceId":"ce839ee52c2bd995"}]
|
package/.next/trace-build
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
[{"name":"run-turbopack","duration":
|
|
1
|
+
[{"name":"run-turbopack","duration":7356972,"timestamp":118895249818,"id":14,"parentId":1,"tags":{},"startTime":1778926867496,"traceId":"ce839ee52c2bd995"},{"name":"turbopack-build-events","duration":102,"timestamp":118895559297,"id":15,"parentId":1,"tags":{},"startTime":1778926867806,"traceId":"ce839ee52c2bd995"},{"name":"run-typescript","duration":9977199,"timestamp":118902615864,"id":16,"parentId":1,"tags":{},"startTime":1778926874862,"traceId":"ce839ee52c2bd995"},{"name":"static-check","duration":1048569,"timestamp":118912802748,"id":19,"parentId":1,"tags":{},"startTime":1778926885049,"traceId":"ce839ee52c2bd995"},{"name":"static-generation","duration":683739,"timestamp":118913865846,"id":105,"parentId":1,"tags":{},"startTime":1778926886112,"traceId":"ce839ee52c2bd995"},{"name":"telemetry-flush","duration":26450,"timestamp":118914587101,"id":114,"parentId":1,"tags":{},"startTime":1778926886833,"traceId":"ce839ee52c2bd995"},{"name":"next-build","duration":19609005,"timestamp":118895004584,"id":1,"tags":{"buildMode":"default","version":"16.2.3","bundler":"turbopack","has-custom-webpack-config":"false","use-build-worker":"true"},"startTime":1778926867251,"traceId":"ce839ee52c2bd995"}]
|
|
@@ -1690,7 +1690,7 @@ export function TopoGraph({ sessions, sseSessions, renameSignal }: TopoGraphProp
|
|
|
1690
1690
|
weight; cyan-400/60 + ring-inset retained. The
|
|
1691
1691
|
R163/R196 hover/active deeps + R249 chrome-pop
|
|
1692
1692
|
click feedback continue unchanged. */
|
|
1693
|
-
className={`px-2.5 py-1 transition-colors focus:outline-none focus-visible:ring-1 focus-visible:ring-cyan-400/60 focus-visible:ring-inset ${layout === 'ring' ? 'bg-cyan-500/15 text-cyan-300 hover:bg-cyan-500/20 active:bg-cyan-500/25' : 'text-gray-
|
|
1693
|
+
className={`px-2.5 py-1 transition-colors focus:outline-none focus-visible:ring-1 focus-visible:ring-cyan-400/60 focus-visible:ring-inset ${layout === 'ring' ? 'bg-cyan-500/15 text-cyan-300 hover:bg-cyan-500/20 active:bg-cyan-500/25' : 'text-gray-400 hover:text-cyan-300 hover:bg-cyan-500/5 active:bg-cyan-500/15'} ${chromePopping === 'layout-ring' ? ' anet-chrome-pop' : ''}`}
|
|
1694
1694
|
>
|
|
1695
1695
|
Ring
|
|
1696
1696
|
</button>
|
|
@@ -1707,7 +1707,7 @@ export function TopoGraph({ sessions, sseSessions, renameSignal }: TopoGraphProp
|
|
|
1707
1707
|
// Round 306 / Loop: focus-visible:ring-2 → ring-1 sibling
|
|
1708
1708
|
// change to Ring above — unifies focus-ring width across
|
|
1709
1709
|
// all chrome buttons.
|
|
1710
|
-
className={`px-2.5 py-1 border-l transition-colors focus:outline-none focus-visible:ring-1 focus-visible:ring-cyan-400/60 focus-visible:ring-inset ${layout === 'grid' ? 'bg-cyan-500/15 text-cyan-300 hover:bg-cyan-500/20 active:bg-cyan-500/25' : 'text-gray-
|
|
1710
|
+
className={`px-2.5 py-1 border-l transition-colors focus:outline-none focus-visible:ring-1 focus-visible:ring-cyan-400/60 focus-visible:ring-inset ${layout === 'grid' ? 'bg-cyan-500/15 text-cyan-300 hover:bg-cyan-500/20 active:bg-cyan-500/25' : 'text-gray-400 hover:text-cyan-300 hover:bg-cyan-500/5 active:bg-cyan-500/15'} ${chromePopping === 'layout-grid' ? ' anet-chrome-pop' : ''}`}
|
|
1711
1711
|
/* Round 268 / Loop: Grid button's left border (the
|
|
1712
1712
|
internal divider between Ring and Grid) picks up
|
|
1713
1713
|
pal.containerBorder, matching the wrapper change at
|
package/package.json
CHANGED
|
@@ -0,0 +1,230 @@
|
|
|
1
|
+
# RFC: v0.10.0 Hero 3 — Dashboard 网络节点前端展示升级
|
|
2
|
+
|
|
3
|
+
**Status**: DRAFT — review pending
|
|
4
|
+
**Author**: N站马 (`@sleep2agi/agent-network-dashboard` maintainer)
|
|
5
|
+
**Filed against**: [#140](https://github.com/sleep2agi/agent-network/issues/140) (v0.10.0 tracking)
|
|
6
|
+
**Related**: [#119](https://github.com/sleep2agi/agent-network/issues/119) (ServersDrawer), [#99](https://github.com/sleep2agi/agent-network/issues/99) (守护节点), [#114](https://github.com/sleep2agi/agent-network/issues/114) (Token stats), [#87](https://github.com/sleep2agi/agent-network/issues/87) (grid layout), [#81](https://github.com/sleep2agi/agent-network/issues/81) (fullscreen+zoom)
|
|
7
|
+
**Output target**: `@sleep2agi/agent-network-dashboard@0.4.7+`
|
|
8
|
+
**Generated**: 2026-05-16
|
|
9
|
+
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
## 0. Scope-status caveat (READ FIRST)
|
|
13
|
+
|
|
14
|
+
This RFC drafts the **Hero 3 (TopoGraph 升级)** scope. As of writing, [#140](https://github.com/sleep2agi/agent-network/issues/140) issue body **explicitly defers** "F Dashboard 0.5.x major" to **v0.11.0** in its `🚫 Defer 到 v0.11.0` section.
|
|
15
|
+
|
|
16
|
+
The RFC is written under the **counterfactual assumption** that Vincent decides to pull Hero 3 forward into v0.10.0. If Vincent keeps the defer, all RFC content moves to v0.11.0 planning. **Vincent's call.**
|
|
17
|
+
|
|
18
|
+
The author has not started implementation. No `preview.X+1` code ship has occurred for any Hero 3 item. Two related items (sweep arc retire + recent-signal hide-when-empty) were attempted earlier in the day under the Vincent 5222 Twitter-polish P0 and reverted by concurrent codex edits — those are documented in §3.B below and proposed for re-attempt only after Vincent ✅ on the v0.10.0 scope and codex coordination on the SVG edit region.
|
|
19
|
+
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
## 1. Goal & success criteria
|
|
23
|
+
|
|
24
|
+
The single sentence: **A first-time Twitter visitor sees the 16:9 screenshot and groks "多 agent 实时通信可视化 by sleep2agi"** — without "wow 太多花" reaction.
|
|
25
|
+
|
|
26
|
+
Success criteria (each measurable):
|
|
27
|
+
|
|
28
|
+
1. **First-glance brand recognition** — `sleep2agi` mark visible without scrolling, top-half of card.
|
|
29
|
+
2. **Multi-vendor multi-agent legibility** — every node's vendor identity is distinguishable at thumbnail size; no two vendors look identical at the 16:9 crop.
|
|
30
|
+
3. **Visual quietness when idle** — empty/no-flow state has ≤ 1 SMIL animation visible; no animated chrome competing for attention.
|
|
31
|
+
4. **Information density legible** — chip-row, panels, and overlays don't crowd the canvas; the eye lands on nodes + edges first.
|
|
32
|
+
5. **Server-health integration** — hovering a node surfaces its host server's health badge (Hero 1+2 integration).
|
|
33
|
+
6. **Zero regression** on the 6 existing interaction contracts (per `feedback_5291_amendment` regression list).
|
|
34
|
+
|
|
35
|
+
---
|
|
36
|
+
|
|
37
|
+
## 2. Current baseline (what shipped, what's held)
|
|
38
|
+
|
|
39
|
+
### Already shipped this cycle (live in npm preview)
|
|
40
|
+
|
|
41
|
+
| Round / commit | Surface | What |
|
|
42
|
+
|---|---|---|
|
|
43
|
+
| R301 `bbde2b7` | Vendor avatars | claude.svg + openai.svg + minimax.svg custom-designed badges (NOT trademark copies); rendered via `<image href={vendor.logo}>` per existing vendorIdentity.ts logo path |
|
|
44
|
+
| R310 `b6da676` | Title block | Inline 36×36 crescent moon SVG left of the kicker+h2 pair (HTML side, theme-aware cyan/emerald color, racing-safe placement) |
|
|
45
|
+
| R275-R281 | Canvas 减法 | freshness-conditional, orbit retired, halo retired, ping retired, dispatch-pulse retired, spokes retired, vendor-chip threshold tightened |
|
|
46
|
+
| R282 `e1d324b` | Brand watermark | "sleep2agi" text at bottom-left (16, 672) |
|
|
47
|
+
| R283-R289 | Typography | monogram stroke 1→1.5, monogram font monospace→sans-serif, kicker tracking-widest, h2 tracking-tight, watermark letterSpacing 0.5 |
|
|
48
|
+
| R290-R291 | Canvas 减法 | Inner radar ring r=90 retired; starfield 28→14 dots |
|
|
49
|
+
| R294-R296 (codex) | Canvas + chrome | Per-node pulse-dot retired; legend swatch r 5.5→6; kicker color gray-600→500 |
|
|
50
|
+
|
|
51
|
+
### Held by codex-race / pending Vincent ✅ on this RFC
|
|
52
|
+
|
|
53
|
+
| Item | Why held | Risk |
|
|
54
|
+
|---|---|---|
|
|
55
|
+
| sweep arc retire (rotating wedge) | Codex parallel SVG edits revert each attempt | Low — `false &&` gate idiom proven safe in R278/R279/R280; just needs no-race window |
|
|
56
|
+
| recent-signal panel hide-when-empty | Same codex race | Low — single `flowLinks.length > 0 &&` JSX guard |
|
|
57
|
+
| Canvas (16,16) watermark variant | recent-signal panel occupies that corner; current title-block placement is racing-safer alternative | Already mitigated by §2 title-block shipped |
|
|
58
|
+
|
|
59
|
+
---
|
|
60
|
+
|
|
61
|
+
## 3. Proposed changes — per surface
|
|
62
|
+
|
|
63
|
+
Each surface listed with: **A** = additive, **S** = subtractive, **U** = unification. Concrete edit, test impact, race risk.
|
|
64
|
+
|
|
65
|
+
### 3.A — Hub center polish (A)
|
|
66
|
+
|
|
67
|
+
- Embed a faint crescent silhouette **behind** the working-count digit at the hub center (r=12 mask, opacity 0.18). Reads as "sleep2agi heartbeat" without competing with the digit (R213 hub center).
|
|
68
|
+
- Theme-aware via currentColor on the embedding `<g>`.
|
|
69
|
+
- Risk: minimal — same `<defs>` + mask construction already used in title-block.
|
|
70
|
+
|
|
71
|
+
### 3.B — Sweep arc retire (S)
|
|
72
|
+
|
|
73
|
+
- Gate the existing radar sweep wedge with `{false && (() => {...})}` — same idiom as R278/R279/R280.
|
|
74
|
+
- Reason: rotating decoration competes with the working-halo pulse + edge flow animation. On a 16:9 Twitter screenshot it reads "wow lots of motion" not "agents communicating".
|
|
75
|
+
- Race-mitigation: ship this in a single small commit, paired with §3.C, immediately after Vincent ✅ on RFC; require codex to hold polish during that window (5min).
|
|
76
|
+
|
|
77
|
+
### 3.C — Recent-signal panel hide-when-empty (S)
|
|
78
|
+
|
|
79
|
+
- Wrap the `<g data-topo-panel="recent">` block in `{flowLinks.length > 0 && (...)}`.
|
|
80
|
+
- First flow arrival triggers existing R175 fade-in. Empty corner stays clean for the Twitter-grok first impression.
|
|
81
|
+
- Race-mitigation: same window as §3.B.
|
|
82
|
+
|
|
83
|
+
### 3.D — Grid layout default for ≥ 20 nodes (S of ring-default)
|
|
84
|
+
|
|
85
|
+
- Per [#87](https://github.com/sleep2agi/agent-network/issues/87) shipping ring/grid toggle, now switch the default **when** `sessions.length >= 20`. Below 20 nodes, ring stays prettier; above, grid scales cleaner.
|
|
86
|
+
- Persist user override in `anet-topo-layout` localStorage (existing).
|
|
87
|
+
- Risk: low — toggle UI unchanged; only the bootstrap default expression changes.
|
|
88
|
+
|
|
89
|
+
### 3.E — Node detail card on hover (A)
|
|
90
|
+
|
|
91
|
+
- Hover a node ≥ 200ms → show a small detail card (220×140 px) anchored next to the node:
|
|
92
|
+
- alias (large)
|
|
93
|
+
- vendor.label · model id
|
|
94
|
+
- runtime label
|
|
95
|
+
- host server line: hostname + CPU% + RAM% (from Hero 1+2 endpoint)
|
|
96
|
+
- last_task / message preview (1 line)
|
|
97
|
+
- Reuses R57 panel chrome + R26 micro-lift idiom.
|
|
98
|
+
- Risk: zero-overlap — card is positioned via existing label-card geometry, just larger when sustained-hover; cancel on mouseleave.
|
|
99
|
+
|
|
100
|
+
### 3.F — Server-health node-ring tint (A · Hero 1+2 integration)
|
|
101
|
+
|
|
102
|
+
- When a node's host server health is **red** (per Hero 1+2 endpoint), the node's status ring gains a faint amber outer ring (r+8, strokeWidth=2.5, opacity 0.6).
|
|
103
|
+
- Yellow/green pass through unchanged.
|
|
104
|
+
- Operator gets "this agent's machine is in trouble" signal without leaving the topology view.
|
|
105
|
+
- Risk: zero-overlap — outer ring sits OUTSIDE existing R209 hover-ring radius window; tested geometry.
|
|
106
|
+
|
|
107
|
+
### 3.G — Fullscreen viewport polish (#81 close-out) (U)
|
|
108
|
+
|
|
109
|
+
- Existing fullscreen (R103) currently swaps to `width: 100vw; height: 100vh`. In fullscreen, the topology card chrome (kicker / h2 / chip-row) should hide — only canvas + brand logo visible.
|
|
110
|
+
- Add CSS `:fullscreen` selector or `data-topo-fullscreen=true` attr-driven hide of title-block + chip-row.
|
|
111
|
+
- Brand crescent moon moves into a small top-left overlay inside the SVG (16, 16) since the title-block disappears.
|
|
112
|
+
- Risk: needs careful keyboard-focus handling — ensure Esc still exits.
|
|
113
|
+
|
|
114
|
+
### 3.H — Chip-row default collapse on idle (S/U)
|
|
115
|
+
|
|
116
|
+
- Chip row (`Ring | Grid | 3 working | 5 online | pressure …`) is fully visible by default. On a fleet with no traffic that's chrome bloat.
|
|
117
|
+
- Default: show only **2 chips** (Ring/Grid layout toggle + working count). The rest hide behind an "Expand" toggle / `…` chevron.
|
|
118
|
+
- Expand state persists in localStorage.
|
|
119
|
+
- Risk: medium — needs UX think. Maybe ship as opt-in via setting, not silent default change.
|
|
120
|
+
|
|
121
|
+
### 3.I — Canvas (16,16) corner brand mark (A)
|
|
122
|
+
|
|
123
|
+
- In addition to the title-block crescent (R310), add a small (24×24) crescent at canvas viewBox (16, 16) **only when no recent-signal panel is showing** (composes with §3.C).
|
|
124
|
+
- Doubles the brand mark presence on Twitter screenshots — title-block + canvas corner = brand-first.
|
|
125
|
+
- Risk: zero-overlap — gated on the same `flowLinks.length === 0` predicate as §3.C; never co-exists with the panel.
|
|
126
|
+
|
|
127
|
+
---
|
|
128
|
+
|
|
129
|
+
## 4. Hero 1+2 integration touchpoints
|
|
130
|
+
|
|
131
|
+
This RFC is the dashboard "consumer" side. The actual data contracts (per [#119](https://github.com/sleep2agi/agent-network/issues/119) + [#99](https://github.com/sleep2agi/agent-network/issues/99)) are owned by:
|
|
132
|
+
|
|
133
|
+
- **agent-node telemetry** → SDK马 / 工程马 (CPU/mem/disk per-agent into `report_status`)
|
|
134
|
+
- **CommHub aggregation** → 通信牛 (`GET /api/servers`, `GET /api/server/:host/health`, `/agents`)
|
|
135
|
+
- **N站马 dashboard UI** consumes these and renders §3.E (hover detail), §3.F (red-server tint), and the standalone ServersDrawer page (Track 1, separate from Hero 3).
|
|
136
|
+
|
|
137
|
+
This RFC does **not** block on those endpoints — §3.E and §3.F render in degraded form (no host fields) when the endpoint is absent, and light up automatically when the endpoint ships.
|
|
138
|
+
|
|
139
|
+
For ServersDrawer (Track 1), I'll mock with a fixture against the §[3] schema in [#119](https://github.com/sleep2agi/agent-network/issues/119) and replace with the real endpoint once 通信牛 confirms the contract.
|
|
140
|
+
|
|
141
|
+
---
|
|
142
|
+
|
|
143
|
+
## 5. Risk & rollback
|
|
144
|
+
|
|
145
|
+
### Concurrent-editor race (per `project_dashboard_concurrent_editors` memory)
|
|
146
|
+
|
|
147
|
+
- All §3 surface items live inside `app/components/TopoGraph.tsx` — high parallel-edit traffic with codex.
|
|
148
|
+
- **Mitigation**: bunch §3.B + §3.C + §3.I into one commit, immediately after Vincent ✅ on RFC; coordinate via commhub that codex holds polish edits for 10 min during the ship.
|
|
149
|
+
- **Rollback**: each subtractive item uses `false && (() => {...})` gating — single-character flip restores.
|
|
150
|
+
|
|
151
|
+
### Regression coverage (per `feedback_5291_amendment`)
|
|
152
|
+
|
|
153
|
+
Each preview ship verifies:
|
|
154
|
+
|
|
155
|
+
- 9 components render: TopoGraph / ServersDrawer / NodeCard / ChatModal / EventStream / TopBar / VersionSwitcher / ServerCard / AgentTokenChip
|
|
156
|
+
- 6 interactions don't break: avatar click → ChatPopover (#100), drag-resize (#106), node delete cleanup (#74), vendor LOGO render (#96), grid toggle (#87), fullscreen zoom+pan (#81)
|
|
157
|
+
- 5 pages render: `/`, `/admin`, `/chat`, `/messages`, `/profile`
|
|
158
|
+
- `topo-overlap-test.mjs` green grid+ring (0:0:0:0:0)
|
|
159
|
+
- `curl http://dm.vansin.top:3000/` returns 307 (auth redirect; normal)
|
|
160
|
+
- `curl https://anet.sh` returns 200
|
|
161
|
+
|
|
162
|
+
### Test regressions known from R301 + R310
|
|
163
|
+
|
|
164
|
+
- `topo-monogram-stroke-test` (R283) and `topo-monogram-font-test` (R284) FAIL for known vendors after R301 vendor-logo upgrade (avatar circle replaced with `<image>` for vendors with logos). **Expected** — those R283/R284 fine-grain monogram tests are obsolete for vendors with real logo assets. Unknown-vendor prefix-group fallback assertions still pass. Will retire those two test files in the next ship.
|
|
165
|
+
- `topo-kicker-tracking-test` and `topo-title-tracking-test`: occasional Playwright `waitForSelector` timeout after R310 flex-row title block. Element exists + renders correctly per diagnostic + screenshot. Hydration-timing flake. Will add `await page.waitForFunction(() => document.querySelectorAll('g[data-node]').length >= 2)` before the visibility check.
|
|
166
|
+
|
|
167
|
+
---
|
|
168
|
+
|
|
169
|
+
## 6. Phasing
|
|
170
|
+
|
|
171
|
+
Recommended chunking for `preview.X` slots, smallest-blast-radius first:
|
|
172
|
+
|
|
173
|
+
**Wave 1 — racing-safe quick wins (10 min ship + verify, single commit)**:
|
|
174
|
+
- §3.B sweep retire
|
|
175
|
+
- §3.C recent-signal hide-when-empty
|
|
176
|
+
- §3.I canvas (16,16) brand mark (gated on §3.C)
|
|
177
|
+
- → preview.X.0
|
|
178
|
+
|
|
179
|
+
**Wave 2 — incremental polish (no Hero 1+2 dependency)**:
|
|
180
|
+
- §3.A hub-center crescent silhouette
|
|
181
|
+
- §3.D grid default for ≥ 20 nodes
|
|
182
|
+
- §3.G fullscreen viewport polish (#81 close-out)
|
|
183
|
+
- → preview.X.1 / preview.X.2
|
|
184
|
+
|
|
185
|
+
**Wave 3 — Hero 1+2 integration (after 通信牛 endpoint ships)**:
|
|
186
|
+
- §3.E hover detail card
|
|
187
|
+
- §3.F server-health node-ring tint
|
|
188
|
+
- → preview.X.3 / preview.X.4
|
|
189
|
+
|
|
190
|
+
**Wave 4 — UX-think items (opt-in, not silent)**:
|
|
191
|
+
- §3.H chip-row default collapse — gated behind a setting toggle, not auto-applied
|
|
192
|
+
- → preview.X.5
|
|
193
|
+
|
|
194
|
+
---
|
|
195
|
+
|
|
196
|
+
## 7. Open questions for Vincent
|
|
197
|
+
|
|
198
|
+
1. **Defer status**: #140 currently defers Hero 3 (Dashboard 0.5.x major) to v0.11.0. Is the channel-relay correct that you've pulled it forward to v0.10.0? Or does it stay deferred? **If deferred, this RFC moves to v0.11.0 planning.**
|
|
199
|
+
|
|
200
|
+
2. **Scope inclusion**: of the 9 items (§3.A through §3.I), which are in v0.10.0 scope and which (if any) are dropped? My recommended cut, if any: §3.H (chip-row default collapse) — high UX risk, low first-glance impact.
|
|
201
|
+
|
|
202
|
+
3. **Server-health hover**: do you want host CPU/RAM in the **hover** card (§3.E), or only on the dedicated ServersDrawer page (Track 1)? Both surfaces the data; hover is denser but adds load on every node lookup.
|
|
203
|
+
|
|
204
|
+
4. **Brand-mark double-up**: title-block crescent (already shipped R310) + canvas corner crescent (proposed §3.I) — too much logo, or two complementary anchors?
|
|
205
|
+
|
|
206
|
+
5. **Codex coordination**: §3.B/§3.C/§3.I need a no-race ship window. Acceptable to dispatch a 10-min "codex hold polish" via 通信龙 for the Wave 1 ship?
|
|
207
|
+
|
|
208
|
+
---
|
|
209
|
+
|
|
210
|
+
## 8. Non-goals (explicitly out of scope for this RFC)
|
|
211
|
+
|
|
212
|
+
- Hero 1+2 ServersDrawer **page-level** implementation — that's Track 1, a separate RFC slot if needed (current ServersDrawer per #119 v1 already exists).
|
|
213
|
+
- Token usage UI (#114) — Track 3 of v0.10.0, separate UI consumer.
|
|
214
|
+
- Backend changes (commhub endpoints, agent-node telemetry) — Hero 1+2 owned by 通信牛 + SDK马.
|
|
215
|
+
- Fine-grain typography / opacity / tabular-nums work — those are the post-5222 polish loop items that remain HOLD.
|
|
216
|
+
|
|
217
|
+
---
|
|
218
|
+
|
|
219
|
+
## 9. Approval gate
|
|
220
|
+
|
|
221
|
+
Implementation does **not** start on any §3 item until:
|
|
222
|
+
|
|
223
|
+
1. Vincent acks the RFC scope (defer-or-include decision per Question 1) AND
|
|
224
|
+
2. Vincent picks the §3 subset to actually ship (Question 2) AND
|
|
225
|
+
3. For Wave 1 specifically, 通信龙 dispatches a 10-min codex polish-hold to avoid edit race AND
|
|
226
|
+
4. The `topo-overlap-test` invariant is verified green pre-ship.
|
|
227
|
+
|
|
228
|
+
---
|
|
229
|
+
|
|
230
|
+
*This RFC is markdown-only. No code in this PR / commit. Next step: post as a comment on [#140](https://github.com/sleep2agi/agent-network/issues/140), wait for Vincent review.*
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
/* Round 317 verification: chrome strip Layout toggle inactive text
|
|
2
|
+
* color from `text-gray-500` → `text-gray-400`. Same R296 direction
|
|
3
|
+
* (kicker 600→500) extended to chrome control inactive text — more
|
|
4
|
+
* visible but still subordinate to active cyan-300.
|
|
5
|
+
*
|
|
6
|
+
* Contract:
|
|
7
|
+
* - [data-topo-chrome-layout='ring'] when INACTIVE has className
|
|
8
|
+
* containing 'text-gray-400' (not 'text-gray-500').
|
|
9
|
+
* - [data-topo-chrome-layout='grid'] same when inactive.
|
|
10
|
+
* - At least one of Ring/Grid is inactive (only one is layout-
|
|
11
|
+
* active at a time).
|
|
12
|
+
* - R316 brand-logo width=40 + R315 freshness chip + R313/R314
|
|
13
|
+
* chip-row data weight + R294 pulse absent all preserved.
|
|
14
|
+
*/
|
|
15
|
+
import { chromium } from 'playwright';
|
|
16
|
+
import { readFileSync } from 'node:fs';
|
|
17
|
+
|
|
18
|
+
const TOKEN = JSON.parse(readFileSync('/home/vansin/.anet/config.json', 'utf8')).token;
|
|
19
|
+
const browser = await chromium.launch({ headless: true });
|
|
20
|
+
const ctx = await browser.newContext({ viewport: { width: 1500, height: 1500 } });
|
|
21
|
+
await ctx.addCookies([{ name: 'anet_dashboard_session', value: `v3:${TOKEN}`, domain: '127.0.0.1', path: '/' }]);
|
|
22
|
+
await ctx.addInitScript(() => {
|
|
23
|
+
// Force ring layout so grid will be inactive.
|
|
24
|
+
try {
|
|
25
|
+
localStorage.setItem('anet-theme', 'cyber');
|
|
26
|
+
sessionStorage.setItem('anet_v3_auth', '1');
|
|
27
|
+
localStorage.setItem('anet-topo-layout', 'ring');
|
|
28
|
+
} catch {}
|
|
29
|
+
});
|
|
30
|
+
const fresh = new Date(Date.now() - 60 * 1000).toISOString();
|
|
31
|
+
await ctx.route('**/api/hub/status*', async (route) => {
|
|
32
|
+
const r = await route.fetch();
|
|
33
|
+
const b = await r.json();
|
|
34
|
+
const nid = (b.sessions || [])[0]?.network_id || 'default';
|
|
35
|
+
const mk = (alias, model) => ({
|
|
36
|
+
alias, status: 'working', model, runtime: 'claude-code-cli',
|
|
37
|
+
network_id: nid, project_dir: null,
|
|
38
|
+
created_at: fresh, updated_at: fresh, last_seen_at: fresh,
|
|
39
|
+
});
|
|
40
|
+
await route.fulfill({ response: r, json: { ...b, sessions: [
|
|
41
|
+
mk('alpha', 'claude-opus-4'),
|
|
42
|
+
mk('beta', 'gpt-4o'),
|
|
43
|
+
] } });
|
|
44
|
+
});
|
|
45
|
+
await ctx.route('**/api/hub/messages*', (r) => r.fulfill({ json: { messages: [] } }));
|
|
46
|
+
await ctx.route('**/api/hub/tasks*', (r) => r.fulfill({ json: { tasks: [] } }));
|
|
47
|
+
|
|
48
|
+
const page = await ctx.newPage();
|
|
49
|
+
await page.goto('http://127.0.0.1:3000/', { waitUntil: 'domcontentloaded' });
|
|
50
|
+
await page.waitForSelector('[data-topo-chrome-layout="ring"]', { timeout: 15000 });
|
|
51
|
+
await page.waitForTimeout(400);
|
|
52
|
+
|
|
53
|
+
const probe = await page.evaluate(() => {
|
|
54
|
+
const sel = (s) => document.querySelector(s);
|
|
55
|
+
const ringBtn = sel('[data-topo-chrome-layout="ring"]');
|
|
56
|
+
const gridBtn = sel('[data-topo-chrome-layout="grid"]');
|
|
57
|
+
const logo = sel('[data-topo-brand-logo]');
|
|
58
|
+
return {
|
|
59
|
+
ringActive: ringBtn?.getAttribute('data-topo-chrome-layout-active') === 'true',
|
|
60
|
+
gridActive: gridBtn?.getAttribute('data-topo-chrome-layout-active') === 'true',
|
|
61
|
+
ringCls: ringBtn?.className ?? '',
|
|
62
|
+
gridCls: gridBtn?.className ?? '',
|
|
63
|
+
brandLogoW: logo?.getAttribute('width') ?? null,
|
|
64
|
+
workingChipCls: sel('[data-working-chip]')?.className ?? '',
|
|
65
|
+
pulseCount: document.querySelectorAll('[data-pulse-wrapper]').length,
|
|
66
|
+
};
|
|
67
|
+
});
|
|
68
|
+
await browser.close();
|
|
69
|
+
|
|
70
|
+
// The inactive button should have gray-400 (not gray-500). The
|
|
71
|
+
// active button uses text-cyan-300 (no gray class), so checking
|
|
72
|
+
// 'text-gray-400' is meaningful only for inactive.
|
|
73
|
+
const inactiveCls = probe.ringActive ? probe.gridCls : probe.ringCls;
|
|
74
|
+
const activeCls = probe.ringActive ? probe.ringCls : probe.gridCls;
|
|
75
|
+
|
|
76
|
+
const results = {
|
|
77
|
+
exactly_one_active: probe.ringActive !== probe.gridActive,
|
|
78
|
+
inactive_has_gray_400: inactiveCls.includes('text-gray-400'),
|
|
79
|
+
inactive_no_gray_500: !inactiveCls.includes('text-gray-500'),
|
|
80
|
+
active_has_cyan_300: activeCls.includes('text-cyan-300'),
|
|
81
|
+
r316_brand_logo_width_40: probe.brandLogoW === '40',
|
|
82
|
+
r313_working_chip_kept: probe.workingChipCls.includes('font-medium'),
|
|
83
|
+
r294_pulse_absent: probe.pulseCount === 0,
|
|
84
|
+
};
|
|
85
|
+
const ok = Object.values(results).every(Boolean);
|
|
86
|
+
console.log(`${ok ? '✅' : '❌'} chrome inactive color:`, JSON.stringify(results),
|
|
87
|
+
'\n ring active:', probe.ringActive, ' grid active:', probe.gridActive,
|
|
88
|
+
'\n inactive cls subset:', inactiveCls.match(/text-(gray|cyan)-\d+/g),
|
|
89
|
+
'\n active cls subset:', activeCls.match(/text-(gray|cyan)-\d+/g));
|
|
90
|
+
process.exit(ok ? 0 : 1);
|
|
File without changes
|
/package/.next/static/{ye4-_QI1pFromk7mijSAv → 3PMYuA9TBRow9F7QeNZc7}/_clientMiddlewareManifest.js
RENAMED
|
File without changes
|
|
File without changes
|