@sleep2agi/agent-network-dashboard 0.5.3-preview.233 → 0.5.3-preview.235
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/page_client-reference-manifest.js +1 -1
- package/.next/server/app/_not-found.html +2 -2
- package/.next/server/app/_not-found.rsc +2 -2
- package/.next/server/app/_not-found.segments/_full.segment.rsc +2 -2
- package/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
- package/.next/server/app/_not-found.segments/_index.segment.rsc +2 -2
- package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
- package/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/admin/page_client-reference-manifest.js +1 -1
- package/.next/server/app/admin.html +2 -2
- package/.next/server/app/admin.rsc +2 -2
- package/.next/server/app/admin.segments/_full.segment.rsc +2 -2
- package/.next/server/app/admin.segments/_head.segment.rsc +1 -1
- package/.next/server/app/admin.segments/_index.segment.rsc +2 -2
- package/.next/server/app/admin.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/admin.segments/admin/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/admin.segments/admin.segment.rsc +1 -1
- package/.next/server/app/index.html +2 -2
- package/.next/server/app/index.rsc +3 -3
- package/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
- package/.next/server/app/index.segments/_full.segment.rsc +3 -3
- package/.next/server/app/index.segments/_head.segment.rsc +1 -1
- package/.next/server/app/index.segments/_index.segment.rsc +2 -2
- package/.next/server/app/index.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/login/page_client-reference-manifest.js +1 -1
- package/.next/server/app/login.html +2 -2
- package/.next/server/app/login.rsc +3 -3
- package/.next/server/app/login.segments/_full.segment.rsc +3 -3
- package/.next/server/app/login.segments/_head.segment.rsc +1 -1
- package/.next/server/app/login.segments/_index.segment.rsc +2 -2
- package/.next/server/app/login.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/login.segments/login/__PAGE__.segment.rsc +2 -2
- package/.next/server/app/login.segments/login.segment.rsc +1 -1
- package/.next/server/app/logs/page_client-reference-manifest.js +1 -1
- package/.next/server/app/logs.html +2 -2
- package/.next/server/app/logs.rsc +2 -2
- package/.next/server/app/logs.segments/_full.segment.rsc +2 -2
- package/.next/server/app/logs.segments/_head.segment.rsc +1 -1
- package/.next/server/app/logs.segments/_index.segment.rsc +2 -2
- package/.next/server/app/logs.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/logs.segments/logs/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/logs.segments/logs.segment.rsc +1 -1
- package/.next/server/app/messages/page_client-reference-manifest.js +1 -1
- package/.next/server/app/messages.html +2 -2
- package/.next/server/app/messages.rsc +2 -2
- package/.next/server/app/messages.segments/_full.segment.rsc +2 -2
- package/.next/server/app/messages.segments/_head.segment.rsc +1 -1
- package/.next/server/app/messages.segments/_index.segment.rsc +2 -2
- package/.next/server/app/messages.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/messages.segments/messages/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/messages.segments/messages.segment.rsc +1 -1
- package/.next/server/app/node/page_client-reference-manifest.js +1 -1
- package/.next/server/app/node.html +2 -2
- package/.next/server/app/node.rsc +2 -2
- package/.next/server/app/node.segments/_full.segment.rsc +2 -2
- package/.next/server/app/node.segments/_head.segment.rsc +1 -1
- package/.next/server/app/node.segments/_index.segment.rsc +2 -2
- package/.next/server/app/node.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/node.segments/node/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/node.segments/node.segment.rsc +1 -1
- package/.next/server/app/nodes/page_client-reference-manifest.js +1 -1
- package/.next/server/app/nodes.html +2 -2
- package/.next/server/app/nodes.rsc +2 -2
- package/.next/server/app/nodes.segments/_full.segment.rsc +2 -2
- package/.next/server/app/nodes.segments/_head.segment.rsc +1 -1
- package/.next/server/app/nodes.segments/_index.segment.rsc +2 -2
- package/.next/server/app/nodes.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/nodes.segments/nodes/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/nodes.segments/nodes.segment.rsc +1 -1
- package/.next/server/app/page_client-reference-manifest.js +1 -1
- package/.next/server/app/server-logs/page_client-reference-manifest.js +1 -1
- package/.next/server/app/server-logs.html +2 -2
- package/.next/server/app/server-logs.rsc +2 -2
- package/.next/server/app/server-logs.segments/_full.segment.rsc +2 -2
- package/.next/server/app/server-logs.segments/_head.segment.rsc +1 -1
- package/.next/server/app/server-logs.segments/_index.segment.rsc +2 -2
- package/.next/server/app/server-logs.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/server-logs.segments/server-logs/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/server-logs.segments/server-logs.segment.rsc +1 -1
- package/.next/server/app/settings/networks/page_client-reference-manifest.js +1 -1
- package/.next/server/app/settings/networks.html +2 -2
- package/.next/server/app/settings/networks.rsc +2 -2
- package/.next/server/app/settings/networks.segments/_full.segment.rsc +2 -2
- package/.next/server/app/settings/networks.segments/_head.segment.rsc +1 -1
- package/.next/server/app/settings/networks.segments/_index.segment.rsc +2 -2
- package/.next/server/app/settings/networks.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/settings/networks.segments/settings/networks/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/settings/networks.segments/settings/networks.segment.rsc +1 -1
- package/.next/server/app/settings/networks.segments/settings.segment.rsc +1 -1
- package/.next/server/app/settings/page_client-reference-manifest.js +1 -1
- package/.next/server/app/settings/tokens/page_client-reference-manifest.js +1 -1
- package/.next/server/app/settings/tokens.html +2 -2
- package/.next/server/app/settings/tokens.rsc +2 -2
- package/.next/server/app/settings/tokens.segments/_full.segment.rsc +2 -2
- package/.next/server/app/settings/tokens.segments/_head.segment.rsc +1 -1
- package/.next/server/app/settings/tokens.segments/_index.segment.rsc +2 -2
- package/.next/server/app/settings/tokens.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/settings/tokens.segments/settings/tokens/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/settings/tokens.segments/settings/tokens.segment.rsc +1 -1
- package/.next/server/app/settings/tokens.segments/settings.segment.rsc +1 -1
- package/.next/server/app/settings.html +2 -2
- package/.next/server/app/settings.rsc +3 -3
- package/.next/server/app/settings.segments/_full.segment.rsc +3 -3
- package/.next/server/app/settings.segments/_head.segment.rsc +1 -1
- package/.next/server/app/settings.segments/_index.segment.rsc +2 -2
- package/.next/server/app/settings.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/settings.segments/settings/__PAGE__.segment.rsc +2 -2
- package/.next/server/app/settings.segments/settings.segment.rsc +1 -1
- package/.next/server/app/tasks/[id]/page_client-reference-manifest.js +1 -1
- package/.next/server/app/tasks/page_client-reference-manifest.js +1 -1
- package/.next/server/app/tasks.html +2 -2
- package/.next/server/app/tasks.rsc +2 -2
- package/.next/server/app/tasks.segments/_full.segment.rsc +2 -2
- package/.next/server/app/tasks.segments/_head.segment.rsc +1 -1
- package/.next/server/app/tasks.segments/_index.segment.rsc +2 -2
- package/.next/server/app/tasks.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/tasks.segments/tasks/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/tasks.segments/tasks.segment.rsc +1 -1
- package/.next/server/chunks/ssr/[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 +2 -2
- package/.next/server/pages/500.html +1 -1
- package/.next/static/chunks/{0tv.7azxi9c8q.js → 0akslw86.4d-o.js} +1 -1
- package/.next/static/chunks/{06kfquwfj2-y6.js → 0q9iic728qbh2.js} +1 -1
- package/.next/static/chunks/{02nawp.e3jxot.js → 0xw2-22j63rz_.js} +1 -1
- package/.next/static/chunks/{09bnx6qoatdin.js → 14~-7wbixt59z.js} +3 -3
- package/.next/static/chunks/{0r.u_oq5pe~z6.css → 17e86fz5zp7-i.css} +1 -1
- package/.next/trace +2 -2
- package/.next/trace-build +1 -1
- package/app/components/TopoGraph.tsx +53 -1
- package/app/globals.css +33 -2
- package/package.json +1 -1
- package/scripts/topo-kicker-triple-axis-breath-test.mjs +118 -0
- package/scripts/topo-respiratory-tiers-catalog-test.mjs +119 -0
- /package/.next/static/{GPHOxGVRvfcbBH1hj4hTD → O43cywiS3WLyRFKTuDOur}/_buildManifest.js +0 -0
- /package/.next/static/{GPHOxGVRvfcbBH1hj4hTD → O43cywiS3WLyRFKTuDOur}/_clientMiddlewareManifest.js +0 -0
- /package/.next/static/{GPHOxGVRvfcbBH1hj4hTD → O43cywiS3WLyRFKTuDOur}/_ssgManifest.js +0 -0
package/.next/trace
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
[{"name":"generate-buildid","duration":342,"timestamp":410020346950,"id":4,"parentId":1,"tags":{},"startTime":1779217992593,"traceId":"7d784225e6fe825f"},{"name":"load-custom-routes","duration":458,"timestamp":410020347456,"id":5,"parentId":1,"tags":{},"startTime":1779217992594,"traceId":"7d784225e6fe825f"},{"name":"create-dist-dir","duration":955,"timestamp":410020347975,"id":6,"parentId":1,"tags":{},"startTime":1779217992594,"traceId":"7d784225e6fe825f"},{"name":"clean","duration":32385,"timestamp":410020349705,"id":7,"parentId":1,"tags":{},"startTime":1779217992596,"traceId":"7d784225e6fe825f"},{"name":"discover-routes","duration":10069,"timestamp":410020462592,"id":8,"parentId":1,"tags":{},"startTime":1779217992709,"traceId":"7d784225e6fe825f"},{"name":"create-root-mapping","duration":107,"timestamp":410020472722,"id":9,"parentId":1,"tags":{},"startTime":1779217992719,"traceId":"7d784225e6fe825f"},{"name":"generate-route-types","duration":33130,"timestamp":410020475346,"id":10,"parentId":1,"tags":{},"startTime":1779217992722,"traceId":"7d784225e6fe825f"},{"name":"public-dir-conflict-check","duration":112,"timestamp":410020508572,"id":11,"parentId":1,"tags":{},"startTime":1779217992755,"traceId":"7d784225e6fe825f"},{"name":"generate-routes-manifest","duration":5320,"timestamp":410020508797,"id":12,"parentId":1,"tags":{},"startTime":1779217992755,"traceId":"7d784225e6fe825f"},{"name":"run-turbopack","duration":6324612,"timestamp":410020519416,"id":14,"parentId":1,"tags":{},"startTime":1779217992766,"traceId":"7d784225e6fe825f"},{"name":"turbopack-build-events","duration":103,"timestamp":410020823164,"id":15,"parentId":1,"tags":{},"startTime":1779217993069,"traceId":"7d784225e6fe825f"},{"name":"run-typescript","duration":10079511,"timestamp":410026855222,"id":16,"parentId":1,"tags":{},"startTime":1779217999102,"traceId":"7d784225e6fe825f"},{"name":"generate-required-server-files","duration":2429,"timestamp":410036936306,"id":18,"parentId":1,"tags":{},"startTime":1779218009183,"traceId":"7d784225e6fe825f"},{"name":"check-static-error-page","duration":16274,"timestamp":410037185358,"id":20,"parentId":19,"tags":{},"startTime":1779218009432,"traceId":"7d784225e6fe825f"},{"name":"is-page-static","duration":484045,"timestamp":410037204907,"id":65,"parentId":22,"tags":{},"startTime":1779218009451,"traceId":"7d784225e6fe825f"},{"name":"check-page","duration":500340,"timestamp":410037188799,"id":22,"parentId":19,"tags":{"page":"/_global-error"},"startTime":1779218009435,"traceId":"7d784225e6fe825f"},{"name":"is-page-static","duration":557870,"timestamp":410037205421,"id":69,"parentId":28,"tags":{},"startTime":1779218009452,"traceId":"7d784225e6fe825f"},{"name":"check-page","duration":570654,"timestamp":410037192766,"id":28,"parentId":19,"tags":{"page":"/api/hub/audit-log"},"startTime":1779218009439,"traceId":"7d784225e6fe825f"},{"name":"is-page-static","duration":562261,"timestamp":410037205280,"id":68,"parentId":27,"tags":{},"startTime":1779218009452,"traceId":"7d784225e6fe825f"},{"name":"check-page","duration":575006,"timestamp":410037192612,"id":27,"parentId":19,"tags":{"page":"/api/auth/v3"},"startTime":1779218009439,"traceId":"7d784225e6fe825f"},{"name":"is-page-static","duration":566220,"timestamp":410037205982,"id":72,"parentId":32,"tags":{},"startTime":1779218009452,"traceId":"7d784225e6fe825f"},{"name":"check-page","duration":578611,"timestamp":410037193651,"id":32,"parentId":19,"tags":{"page":"/api/hub/health"},"startTime":1779218009440,"traceId":"7d784225e6fe825f"},{"name":"is-page-static","duration":569486,"timestamp":410037206192,"id":73,"parentId":33,"tags":{},"startTime":1779218009452,"traceId":"7d784225e6fe825f"},{"name":"check-page","duration":581910,"timestamp":410037193820,"id":33,"parentId":19,"tags":{"page":"/api/hub/inbox"},"startTime":1779218009440,"traceId":"7d784225e6fe825f"},{"name":"is-page-static","duration":577160,"timestamp":410037205727,"id":70,"parentId":29,"tags":{},"startTime":1779218009452,"traceId":"7d784225e6fe825f"},{"name":"check-page","duration":590020,"timestamp":410037192924,"id":29,"parentId":19,"tags":{"page":"/api/hub/auth"},"startTime":1779218009439,"traceId":"7d784225e6fe825f"},{"name":"is-page-static","duration":583637,"timestamp":410037205164,"id":67,"parentId":26,"tags":{},"startTime":1779218009451,"traceId":"7d784225e6fe825f"},{"name":"check-page","duration":596394,"timestamp":410037192464,"id":26,"parentId":19,"tags":{"page":"/api/auth/logout"},"startTime":1779218009439,"traceId":"7d784225e6fe825f"},{"name":"is-page-static","duration":595700,"timestamp":410037204598,"id":64,"parentId":21,"tags":{},"startTime":1779218009451,"traceId":"7d784225e6fe825f"},{"name":"check-page","duration":613259,"timestamp":410037187104,"id":21,"parentId":19,"tags":{"page":"/_not-found"},"startTime":1779218009433,"traceId":"7d784225e6fe825f"},{"name":"is-page-static","duration":594419,"timestamp":410037206383,"id":77,"parentId":37,"tags":{},"startTime":1779218009453,"traceId":"7d784225e6fe825f"},{"name":"check-page","duration":606067,"timestamp":410037194930,"id":37,"parentId":19,"tags":{"page":"/api/hub/nodes"},"startTime":1779218009441,"traceId":"7d784225e6fe825f"},{"name":"is-page-static","duration":595417,"timestamp":410037206347,"id":76,"parentId":36,"tags":{},"startTime":1779218009453,"traceId":"7d784225e6fe825f"},{"name":"check-page","duration":607094,"timestamp":410037194718,"id":36,"parentId":19,"tags":{"page":"/api/hub/networks"},"startTime":1779218009441,"traceId":"7d784225e6fe825f"},{"name":"is-page-static","duration":599888,"timestamp":410037206310,"id":75,"parentId":35,"tags":{},"startTime":1779218009453,"traceId":"7d784225e6fe825f"},{"name":"check-page","duration":612087,"timestamp":410037194152,"id":35,"parentId":19,"tags":{"page":"/api/hub/messages"},"startTime":1779218009440,"traceId":"7d784225e6fe825f"},{"name":"is-page-static","duration":601489,"timestamp":410037205032,"id":66,"parentId":25,"tags":{},"startTime":1779218009451,"traceId":"7d784225e6fe825f"},{"name":"check-page","duration":614289,"timestamp":410037192265,"id":25,"parentId":19,"tags":{"page":"/api/auth/login"},"startTime":1779218009439,"traceId":"7d784225e6fe825f"},{"name":"is-page-static","duration":604956,"timestamp":410037206278,"id":74,"parentId":34,"tags":{},"startTime":1779218009453,"traceId":"7d784225e6fe825f"},{"name":"check-page","duration":617307,"timestamp":410037193972,"id":34,"parentId":19,"tags":{"page":"/api/hub/license"},"startTime":1779218009440,"traceId":"7d784225e6fe825f"},{"name":"is-page-static","duration":608179,"timestamp":410037206431,"id":80,"parentId":40,"tags":{},"startTime":1779218009453,"traceId":"7d784225e6fe825f"},{"name":"check-page","duration":619227,"timestamp":410037195426,"id":40,"parentId":19,"tags":{"page":"/api/hub/server-logs"},"startTime":1779218009442,"traceId":"7d784225e6fe825f"},{"name":"is-page-static","duration":613345,"timestamp":410037206443,"id":81,"parentId":42,"tags":{},"startTime":1779218009453,"traceId":"7d784225e6fe825f"},{"name":"check-page","duration":623995,"timestamp":410037195848,"id":42,"parentId":19,"tags":{"page":"/api/hub/server/[hostname]/health"},"startTime":1779218009442,"traceId":"7d784225e6fe825f"},{"name":"is-page-static","duration":620124,"timestamp":410037206478,"id":83,"parentId":45,"tags":{},"startTime":1779218009453,"traceId":"7d784225e6fe825f"},{"name":"check-page","duration":630085,"timestamp":410037196565,"id":45,"parentId":19,"tags":{"page":"/api/hub/stats"},"startTime":1779218009443,"traceId":"7d784225e6fe825f"},{"name":"is-page-static","duration":624350,"timestamp":410037205907,"id":71,"parentId":30,"tags":{},"startTime":1779218009452,"traceId":"7d784225e6fe825f"},{"name":"check-page","duration":637186,"timestamp":410037193128,"id":30,"parentId":19,"tags":{"page":"/api/hub/broadcast"},"startTime":1779218009439,"traceId":"7d784225e6fe825f"},{"name":"is-page-static","duration":630553,"timestamp":410037206524,"id":86,"parentId":48,"tags":{},"startTime":1779218009453,"traceId":"7d784225e6fe825f"},{"name":"check-page","duration":638250,"timestamp":410037198889,"id":48,"parentId":19,"tags":{"page":"/api/hub/tasks"},"startTime":1779218009445,"traceId":"7d784225e6fe825f"},{"name":"is-page-static","duration":630805,"timestamp":410037206508,"id":85,"parentId":47,"tags":{},"startTime":1779218009453,"traceId":"7d784225e6fe825f"},{"name":"check-page","duration":638625,"timestamp":410037198738,"id":47,"parentId":19,"tags":{"page":"/api/hub/task-events"},"startTime":1779218009445,"traceId":"7d784225e6fe825f"},{"name":"is-page-static","duration":631052,"timestamp":410037206462,"id":82,"parentId":44,"tags":{},"startTime":1779218009453,"traceId":"7d784225e6fe825f"},{"name":"check-page","duration":641144,"timestamp":410037196400,"id":44,"parentId":19,"tags":{"page":"/api/hub/session"},"startTime":1779218009443,"traceId":"7d784225e6fe825f"},{"name":"is-page-static","duration":631978,"timestamp":410037206551,"id":88,"parentId":50,"tags":{},"startTime":1779218009453,"traceId":"7d784225e6fe825f"},{"name":"check-page","duration":639450,"timestamp":410037199123,"id":50,"parentId":19,"tags":{"page":"/api/hub/tokens"},"startTime":1779218009445,"traceId":"7d784225e6fe825f"},{"name":"is-page-static","duration":634654,"timestamp":410037206567,"id":89,"parentId":51,"tags":{},"startTime":1779218009453,"traceId":"7d784225e6fe825f"},{"name":"check-page","duration":642075,"timestamp":410037199188,"id":51,"parentId":19,"tags":{"page":"/favicon.ico"},"startTime":1779218009445,"traceId":"7d784225e6fe825f"},{"name":"is-page-static","duration":630551,"timestamp":410037212737,"id":91,"parentId":31,"tags":{},"startTime":1779218009459,"traceId":"7d784225e6fe825f"},{"name":"check-page","duration":650056,"timestamp":410037193292,"id":31,"parentId":19,"tags":{"page":"/api/hub/events"},"startTime":1779218009440,"traceId":"7d784225e6fe825f"},{"name":"is-page-static","duration":632749,"timestamp":410037213635,"id":92,"parentId":41,"tags":{},"startTime":1779218009460,"traceId":"7d784225e6fe825f"},{"name":"check-page","duration":650876,"timestamp":410037195551,"id":41,"parentId":19,"tags":{"page":"/api/hub/server/[hostname]/agents"},"startTime":1779218009442,"traceId":"7d784225e6fe825f"},{"name":"is-page-static","duration":632395,"timestamp":410037215359,"id":93,"parentId":43,"tags":{},"startTime":1779218009462,"traceId":"7d784225e6fe825f"},{"name":"check-page","duration":651742,"timestamp":410037196054,"id":43,"parentId":19,"tags":{"page":"/api/hub/servers"},"startTime":1779218009442,"traceId":"7d784225e6fe825f"},{"name":"is-page-static","duration":641437,"timestamp":410037206539,"id":87,"parentId":49,"tags":{},"startTime":1779218009453,"traceId":"7d784225e6fe825f"},{"name":"check-page","duration":648991,"timestamp":410037199041,"id":49,"parentId":19,"tags":{"page":"/api/hub/tmux"},"startTime":1779218009445,"traceId":"7d784225e6fe825f"},{"name":"is-page-static","duration":641690,"timestamp":410037206496,"id":84,"parentId":46,"tags":{},"startTime":1779218009453,"traceId":"7d784225e6fe825f"},{"name":"check-page","duration":651530,"timestamp":410037196689,"id":46,"parentId":19,"tags":{"page":"/api/hub/status"},"startTime":1779218009443,"traceId":"7d784225e6fe825f"},{"name":"is-page-static","duration":644250,"timestamp":410037211546,"id":90,"parentId":24,"tags":{},"startTime":1779218009458,"traceId":"7d784225e6fe825f"},{"name":"check-page","duration":666370,"timestamp":410037189473,"id":24,"parentId":19,"tags":{"page":"/api/anet/config"},"startTime":1779218009436,"traceId":"7d784225e6fe825f"},{"name":"is-page-static","duration":659339,"timestamp":410037206415,"id":79,"parentId":39,"tags":{},"startTime":1779218009453,"traceId":"7d784225e6fe825f"},{"name":"check-page","duration":670524,"timestamp":410037195280,"id":39,"parentId":19,"tags":{"page":"/api/hub/send"},"startTime":1779218009442,"traceId":"7d784225e6fe825f"},{"name":"is-page-static","duration":671877,"timestamp":410037206399,"id":78,"parentId":38,"tags":{},"startTime":1779218009453,"traceId":"7d784225e6fe825f"},{"name":"check-page","duration":683191,"timestamp":410037195138,"id":38,"parentId":19,"tags":{"page":"/api/hub/register"},"startTime":1779218009441,"traceId":"7d784225e6fe825f"},{"name":"is-page-static","duration":679633,"timestamp":410037217841,"id":100,"parentId":58,"tags":{},"startTime":1779218009464,"traceId":"7d784225e6fe825f"},{"name":"check-page","duration":696911,"timestamp":410037200627,"id":58,"parentId":19,"tags":{"page":"/server-logs"},"startTime":1779218009447,"traceId":"7d784225e6fe825f"},{"name":"is-page-static","duration":687518,"timestamp":410037217977,"id":101,"parentId":59,"tags":{},"startTime":1779218009464,"traceId":"7d784225e6fe825f"},{"name":"check-page","duration":704765,"timestamp":410037200790,"id":59,"parentId":19,"tags":{"page":"/settings/networks"},"startTime":1779218009447,"traceId":"7d784225e6fe825f"},{"name":"is-page-static","duration":687998,"timestamp":410037217737,"id":94,"parentId":23,"tags":{},"startTime":1779218009464,"traceId":"7d784225e6fe825f"},{"name":"check-page","duration":716641,"timestamp":410037189153,"id":23,"parentId":19,"tags":{"page":"/admin"},"startTime":1779218009435,"traceId":"7d784225e6fe825f"},{"name":"is-page-static","duration":689672,"timestamp":410037217799,"id":97,"parentId":54,"tags":{},"startTime":1779218009464,"traceId":"7d784225e6fe825f"},{"name":"check-page","duration":707813,"timestamp":410037199698,"id":54,"parentId":19,"tags":{"page":"/messages"},"startTime":1779218009446,"traceId":"7d784225e6fe825f"},{"name":"is-page-static","duration":690159,"timestamp":410037217769,"id":95,"parentId":52,"tags":{},"startTime":1779218009464,"traceId":"7d784225e6fe825f"},{"name":"check-page","duration":708486,"timestamp":410037199487,"id":52,"parentId":19,"tags":{"page":"/login"},"startTime":1779218009446,"traceId":"7d784225e6fe825f"},{"name":"is-page-static","duration":694608,"timestamp":410037218049,"id":104,"parentId":63,"tags":{},"startTime":1779218009464,"traceId":"7d784225e6fe825f"},{"name":"check-page","duration":711238,"timestamp":410037201461,"id":63,"parentId":19,"tags":{"page":"/tasks"},"startTime":1779218009448,"traceId":"7d784225e6fe825f"},{"name":"is-page-static","duration":694903,"timestamp":410037218020,"id":102,"parentId":61,"tags":{},"startTime":1779218009464,"traceId":"7d784225e6fe825f"},{"name":"check-page","duration":711726,"timestamp":410037201240,"id":61,"parentId":19,"tags":{"page":"/settings/tokens"},"startTime":1779218009448,"traceId":"7d784225e6fe825f"},{"name":"is-page-static","duration":697031,"timestamp":410037218032,"id":103,"parentId":62,"tags":{},"startTime":1779218009464,"traceId":"7d784225e6fe825f"},{"name":"check-page","duration":713737,"timestamp":410037201357,"id":62,"parentId":19,"tags":{"page":"/tasks/[id]"},"startTime":1779218009448,"traceId":"7d784225e6fe825f"},{"name":"is-page-static","duration":688833,"timestamp":410037227758,"id":105,"parentId":60,"tags":{},"startTime":1779218009474,"traceId":"7d784225e6fe825f"},{"name":"check-page","duration":715710,"timestamp":410037200914,"id":60,"parentId":19,"tags":{"page":"/settings"},"startTime":1779218009447,"traceId":"7d784225e6fe825f"},{"name":"is-page-static","duration":699324,"timestamp":410037217814,"id":98,"parentId":55,"tags":{},"startTime":1779218009464,"traceId":"7d784225e6fe825f"},{"name":"check-page","duration":717331,"timestamp":410037199836,"id":55,"parentId":19,"tags":{"page":"/node"},"startTime":1779218009446,"traceId":"7d784225e6fe825f"},{"name":"is-page-static","duration":678744,"timestamp":410037240694,"id":106,"parentId":57,"tags":{},"startTime":1779218009487,"traceId":"7d784225e6fe825f"},{"name":"check-page","duration":719291,"timestamp":410037200175,"id":57,"parentId":19,"tags":{"page":"/"},"startTime":1779218009446,"traceId":"7d784225e6fe825f"},{"name":"is-page-static","duration":706888,"timestamp":410037217829,"id":99,"parentId":56,"tags":{},"startTime":1779218009464,"traceId":"7d784225e6fe825f"},{"name":"check-page","duration":724781,"timestamp":410037199978,"id":56,"parentId":19,"tags":{"page":"/nodes"},"startTime":1779218009446,"traceId":"7d784225e6fe825f"},{"name":"is-page-static","duration":715271,"timestamp":410037217782,"id":96,"parentId":53,"tags":{},"startTime":1779218009464,"traceId":"7d784225e6fe825f"},{"name":"check-page","duration":733503,"timestamp":410037199593,"id":53,"parentId":19,"tags":{"page":"/logs"},"startTime":1779218009446,"traceId":"7d784225e6fe825f"},{"name":"static-check","duration":749024,"timestamp":410037184113,"id":19,"parentId":1,"tags":{},"startTime":1779218009430,"traceId":"7d784225e6fe825f"}]
|
|
2
|
-
[{"name":"write-routes-manifest","duration":
|
|
1
|
+
[{"name":"generate-buildid","duration":311,"timestamp":410701790605,"id":4,"parentId":1,"tags":{},"startTime":1779218674037,"traceId":"713a0190ce067588"},{"name":"load-custom-routes","duration":684,"timestamp":410701791100,"id":5,"parentId":1,"tags":{},"startTime":1779218674037,"traceId":"713a0190ce067588"},{"name":"create-dist-dir","duration":944,"timestamp":410701791845,"id":6,"parentId":1,"tags":{},"startTime":1779218674038,"traceId":"713a0190ce067588"},{"name":"clean","duration":41932,"timestamp":410701793676,"id":7,"parentId":1,"tags":{},"startTime":1779218674040,"traceId":"713a0190ce067588"},{"name":"discover-routes","duration":12158,"timestamp":410701925804,"id":8,"parentId":1,"tags":{},"startTime":1779218674172,"traceId":"713a0190ce067588"},{"name":"create-root-mapping","duration":188,"timestamp":410701938052,"id":9,"parentId":1,"tags":{},"startTime":1779218674184,"traceId":"713a0190ce067588"},{"name":"generate-route-types","duration":35563,"timestamp":410701941091,"id":10,"parentId":1,"tags":{},"startTime":1779218674187,"traceId":"713a0190ce067588"},{"name":"public-dir-conflict-check","duration":111,"timestamp":410701976756,"id":11,"parentId":1,"tags":{},"startTime":1779218674223,"traceId":"713a0190ce067588"},{"name":"generate-routes-manifest","duration":5260,"timestamp":410701977031,"id":12,"parentId":1,"tags":{},"startTime":1779218674223,"traceId":"713a0190ce067588"},{"name":"run-turbopack","duration":7275252,"timestamp":410701988878,"id":14,"parentId":1,"tags":{},"startTime":1779218674235,"traceId":"713a0190ce067588"},{"name":"turbopack-build-events","duration":134,"timestamp":410702326847,"id":15,"parentId":1,"tags":{},"startTime":1779218674573,"traceId":"713a0190ce067588"},{"name":"run-typescript","duration":11272454,"timestamp":410709273921,"id":16,"parentId":1,"tags":{},"startTime":1779218681520,"traceId":"713a0190ce067588"},{"name":"generate-required-server-files","duration":3186,"timestamp":410720547689,"id":18,"parentId":1,"tags":{},"startTime":1779218692794,"traceId":"713a0190ce067588"},{"name":"check-static-error-page","duration":16141,"timestamp":410720790800,"id":20,"parentId":19,"tags":{},"startTime":1779218693037,"traceId":"713a0190ce067588"},{"name":"is-page-static","duration":603841,"timestamp":410720812083,"id":65,"parentId":22,"tags":{},"startTime":1779218693058,"traceId":"713a0190ce067588"},{"name":"check-page","duration":622229,"timestamp":410720793880,"id":22,"parentId":19,"tags":{"page":"/_global-error"},"startTime":1779218693040,"traceId":"713a0190ce067588"},{"name":"is-page-static","duration":655266,"timestamp":410720811690,"id":64,"parentId":21,"tags":{},"startTime":1779218693058,"traceId":"713a0190ce067588"},{"name":"check-page","duration":674652,"timestamp":410720792429,"id":21,"parentId":19,"tags":{"page":"/_not-found"},"startTime":1779218693039,"traceId":"713a0190ce067588"},{"name":"is-page-static","duration":687766,"timestamp":410720812268,"id":67,"parentId":26,"tags":{},"startTime":1779218693059,"traceId":"713a0190ce067588"},{"name":"check-page","duration":703097,"timestamp":410720797041,"id":26,"parentId":19,"tags":{"page":"/api/auth/logout"},"startTime":1779218693043,"traceId":"713a0190ce067588"},{"name":"is-page-static","duration":691562,"timestamp":410720815532,"id":73,"parentId":33,"tags":{},"startTime":1779218693062,"traceId":"713a0190ce067588"},{"name":"check-page","duration":709086,"timestamp":410720798091,"id":33,"parentId":19,"tags":{"page":"/api/hub/inbox"},"startTime":1779218693044,"traceId":"713a0190ce067588"},{"name":"is-page-static","duration":708264,"timestamp":410720812189,"id":66,"parentId":25,"tags":{},"startTime":1779218693058,"traceId":"713a0190ce067588"},{"name":"check-page","duration":723691,"timestamp":410720796847,"id":25,"parentId":19,"tags":{"page":"/api/auth/login"},"startTime":1779218693043,"traceId":"713a0190ce067588"},{"name":"is-page-static","duration":710398,"timestamp":410720815660,"id":75,"parentId":35,"tags":{},"startTime":1779218693062,"traceId":"713a0190ce067588"},{"name":"check-page","duration":727722,"timestamp":410720798410,"id":35,"parentId":19,"tags":{"page":"/api/hub/messages"},"startTime":1779218693045,"traceId":"713a0190ce067588"},{"name":"is-page-static","duration":728621,"timestamp":410720815629,"id":74,"parentId":34,"tags":{},"startTime":1779218693062,"traceId":"713a0190ce067588"},{"name":"check-page","duration":746121,"timestamp":410720798208,"id":34,"parentId":19,"tags":{"page":"/api/hub/license"},"startTime":1779218693044,"traceId":"713a0190ce067588"},{"name":"is-page-static","duration":731673,"timestamp":410720812989,"id":72,"parentId":32,"tags":{},"startTime":1779218693059,"traceId":"713a0190ce067588"},{"name":"check-page","duration":746753,"timestamp":410720797946,"id":32,"parentId":19,"tags":{"page":"/api/hub/health"},"startTime":1779218693044,"traceId":"713a0190ce067588"},{"name":"is-page-static","duration":737761,"timestamp":410720815706,"id":77,"parentId":37,"tags":{},"startTime":1779218693062,"traceId":"713a0190ce067588"},{"name":"check-page","duration":754404,"timestamp":410720799118,"id":37,"parentId":19,"tags":{"page":"/api/hub/nodes"},"startTime":1779218693045,"traceId":"713a0190ce067588"},{"name":"is-page-static","duration":743387,"timestamp":410720812917,"id":71,"parentId":30,"tags":{},"startTime":1779218693059,"traceId":"713a0190ce067588"},{"name":"check-page","duration":758806,"timestamp":410720797558,"id":30,"parentId":19,"tags":{"page":"/api/hub/broadcast"},"startTime":1779218693044,"traceId":"713a0190ce067588"},{"name":"is-page-static","duration":754742,"timestamp":410720815680,"id":76,"parentId":36,"tags":{},"startTime":1779218693062,"traceId":"713a0190ce067588"},{"name":"check-page","duration":771579,"timestamp":410720798915,"id":36,"parentId":19,"tags":{"page":"/api/hub/networks"},"startTime":1779218693045,"traceId":"713a0190ce067588"},{"name":"is-page-static","duration":760253,"timestamp":410720815723,"id":78,"parentId":38,"tags":{},"startTime":1779218693062,"traceId":"713a0190ce067588"},{"name":"check-page","duration":776799,"timestamp":410720799251,"id":38,"parentId":19,"tags":{"page":"/api/hub/register"},"startTime":1779218693046,"traceId":"713a0190ce067588"},{"name":"is-page-static","duration":762819,"timestamp":410720815747,"id":80,"parentId":40,"tags":{},"startTime":1779218693062,"traceId":"713a0190ce067588"},{"name":"check-page","duration":779147,"timestamp":410720799473,"id":40,"parentId":19,"tags":{"page":"/api/hub/server-logs"},"startTime":1779218693046,"traceId":"713a0190ce067588"},{"name":"is-page-static","duration":770531,"timestamp":410720815775,"id":82,"parentId":44,"tags":{},"startTime":1779218693062,"traceId":"713a0190ce067588"},{"name":"check-page","duration":786143,"timestamp":410720800234,"id":44,"parentId":19,"tags":{"page":"/api/hub/session"},"startTime":1779218693047,"traceId":"713a0190ce067588"},{"name":"is-page-static","duration":777475,"timestamp":410720815738,"id":79,"parentId":39,"tags":{},"startTime":1779218693062,"traceId":"713a0190ce067588"},{"name":"check-page","duration":793913,"timestamp":410720799362,"id":39,"parentId":19,"tags":{"page":"/api/hub/send"},"startTime":1779218693046,"traceId":"713a0190ce067588"},{"name":"is-page-static","duration":781910,"timestamp":410720815799,"id":84,"parentId":46,"tags":{},"startTime":1779218693062,"traceId":"713a0190ce067588"},{"name":"check-page","duration":797309,"timestamp":410720800459,"id":46,"parentId":19,"tags":{"page":"/api/hub/status"},"startTime":1779218693047,"traceId":"713a0190ce067588"},{"name":"is-page-static","duration":786081,"timestamp":410720812350,"id":68,"parentId":27,"tags":{},"startTime":1779218693059,"traceId":"713a0190ce067588"},{"name":"check-page","duration":801360,"timestamp":410720797169,"id":27,"parentId":19,"tags":{"page":"/api/auth/v3"},"startTime":1779218693043,"traceId":"713a0190ce067588"},{"name":"is-page-static","duration":783101,"timestamp":410720815788,"id":83,"parentId":45,"tags":{},"startTime":1779218693062,"traceId":"713a0190ce067588"},{"name":"check-page","duration":798570,"timestamp":410720800364,"id":45,"parentId":19,"tags":{"page":"/api/hub/stats"},"startTime":1779218693047,"traceId":"713a0190ce067588"},{"name":"is-page-static","duration":792192,"timestamp":410720815829,"id":86,"parentId":48,"tags":{},"startTime":1779218693062,"traceId":"713a0190ce067588"},{"name":"check-page","duration":805870,"timestamp":410720802219,"id":48,"parentId":19,"tags":{"page":"/api/hub/tasks"},"startTime":1779218693048,"traceId":"713a0190ce067588"},{"name":"is-page-static","duration":792430,"timestamp":410720815814,"id":85,"parentId":47,"tags":{},"startTime":1779218693062,"traceId":"713a0190ce067588"},{"name":"check-page","duration":806179,"timestamp":410720802095,"id":47,"parentId":19,"tags":{"page":"/api/hub/task-events"},"startTime":1779218693048,"traceId":"713a0190ce067588"},{"name":"is-page-static","duration":792545,"timestamp":410720815838,"id":87,"parentId":49,"tags":{},"startTime":1779218693062,"traceId":"713a0190ce067588"},{"name":"check-page","duration":806079,"timestamp":410720802330,"id":49,"parentId":19,"tags":{"page":"/api/hub/tmux"},"startTime":1779218693049,"traceId":"713a0190ce067588"},{"name":"is-page-static","duration":799214,"timestamp":410720815851,"id":88,"parentId":50,"tags":{},"startTime":1779218693062,"traceId":"713a0190ce067588"},{"name":"check-page","duration":812680,"timestamp":410720802436,"id":50,"parentId":19,"tags":{"page":"/api/hub/tokens"},"startTime":1779218693049,"traceId":"713a0190ce067588"},{"name":"is-page-static","duration":791452,"timestamp":410720831090,"id":90,"parentId":24,"tags":{},"startTime":1779218693077,"traceId":"713a0190ce067588"},{"name":"check-page","duration":828204,"timestamp":410720794394,"id":24,"parentId":19,"tags":{"page":"/api/anet/config"},"startTime":1779218693041,"traceId":"713a0190ce067588"},{"name":"is-page-static","duration":787962,"timestamp":410720837503,"id":92,"parentId":41,"tags":{},"startTime":1779218693084,"traceId":"713a0190ce067588"},{"name":"check-page","duration":825973,"timestamp":410720799560,"id":41,"parentId":19,"tags":{"page":"/api/hub/server/[hostname]/agents"},"startTime":1779218693046,"traceId":"713a0190ce067588"},{"name":"is-page-static","duration":816878,"timestamp":410720815761,"id":81,"parentId":42,"tags":{},"startTime":1779218693062,"traceId":"713a0190ce067588"},{"name":"check-page","duration":832883,"timestamp":410720799818,"id":42,"parentId":19,"tags":{"page":"/api/hub/server/[hostname]/health"},"startTime":1779218693046,"traceId":"713a0190ce067588"},{"name":"is-page-static","duration":794761,"timestamp":410720838850,"id":93,"parentId":43,"tags":{},"startTime":1779218693085,"traceId":"713a0190ce067588"},{"name":"check-page","duration":833763,"timestamp":410720799943,"id":43,"parentId":19,"tags":{"page":"/api/hub/servers"},"startTime":1779218693046,"traceId":"713a0190ce067588"},{"name":"is-page-static","duration":827776,"timestamp":410720815864,"id":89,"parentId":51,"tags":{},"startTime":1779218693062,"traceId":"713a0190ce067588"},{"name":"check-page","duration":841180,"timestamp":410720802518,"id":51,"parentId":19,"tags":{"page":"/favicon.ico"},"startTime":1779218693049,"traceId":"713a0190ce067588"},{"name":"is-page-static","duration":834148,"timestamp":410720812467,"id":69,"parentId":28,"tags":{},"startTime":1779218693059,"traceId":"713a0190ce067588"},{"name":"check-page","duration":849381,"timestamp":410720797285,"id":28,"parentId":19,"tags":{"page":"/api/hub/audit-log"},"startTime":1779218693044,"traceId":"713a0190ce067588"},{"name":"is-page-static","duration":816451,"timestamp":410720835048,"id":91,"parentId":31,"tags":{},"startTime":1779218693081,"traceId":"713a0190ce067588"},{"name":"check-page","duration":853874,"timestamp":410720797674,"id":31,"parentId":19,"tags":{"page":"/api/hub/events"},"startTime":1779218693044,"traceId":"713a0190ce067588"},{"name":"is-page-static","duration":778889,"timestamp":410720875207,"id":97,"parentId":54,"tags":{},"startTime":1779218693121,"traceId":"713a0190ce067588"},{"name":"check-page","duration":850897,"timestamp":410720803275,"id":54,"parentId":19,"tags":{"page":"/messages"},"startTime":1779218693050,"traceId":"713a0190ce067588"},{"name":"is-page-static","duration":796563,"timestamp":410720875243,"id":100,"parentId":58,"tags":{},"startTime":1779218693122,"traceId":"713a0190ce067588"},{"name":"check-page","duration":867248,"timestamp":410720804620,"id":58,"parentId":19,"tags":{"page":"/server-logs"},"startTime":1779218693051,"traceId":"713a0190ce067588"},{"name":"is-page-static","duration":808884,"timestamp":410720875388,"id":101,"parentId":59,"tags":{},"startTime":1779218693122,"traceId":"713a0190ce067588"},{"name":"check-page","duration":879544,"timestamp":410720804815,"id":59,"parentId":19,"tags":{"page":"/settings/networks"},"startTime":1779218693051,"traceId":"713a0190ce067588"},{"name":"is-page-static","duration":820701,"timestamp":410720875405,"id":102,"parentId":61,"tags":{},"startTime":1779218693122,"traceId":"713a0190ce067588"},{"name":"check-page","duration":890259,"timestamp":410720805965,"id":61,"parentId":19,"tags":{"page":"/settings/tokens"},"startTime":1779218693052,"traceId":"713a0190ce067588"},{"name":"is-page-static","duration":829271,"timestamp":410720875114,"id":94,"parentId":23,"tags":{},"startTime":1779218693121,"traceId":"713a0190ce067588"},{"name":"check-page","duration":910316,"timestamp":410720794134,"id":23,"parentId":19,"tags":{"page":"/admin"},"startTime":1779218693040,"traceId":"713a0190ce067588"},{"name":"is-page-static","duration":836968,"timestamp":410720875432,"id":104,"parentId":63,"tags":{},"startTime":1779218693122,"traceId":"713a0190ce067588"},{"name":"check-page","duration":906074,"timestamp":410720806409,"id":63,"parentId":19,"tags":{"page":"/tasks"},"startTime":1779218693053,"traceId":"713a0190ce067588"},{"name":"is-page-static","duration":838706,"timestamp":410720875172,"id":95,"parentId":52,"tags":{},"startTime":1779218693121,"traceId":"713a0190ce067588"},{"name":"check-page","duration":911056,"timestamp":410720802884,"id":52,"parentId":19,"tags":{"page":"/login"},"startTime":1779218693049,"traceId":"713a0190ce067588"},{"name":"is-page-static","duration":839373,"timestamp":410720875419,"id":103,"parentId":62,"tags":{},"startTime":1779218693122,"traceId":"713a0190ce067588"},{"name":"check-page","duration":908617,"timestamp":410720806234,"id":62,"parentId":19,"tags":{"page":"/tasks/[id]"},"startTime":1779218693053,"traceId":"713a0190ce067588"},{"name":"is-page-static","duration":844237,"timestamp":410720875190,"id":96,"parentId":53,"tags":{},"startTime":1779218693121,"traceId":"713a0190ce067588"},{"name":"check-page","duration":916405,"timestamp":410720803074,"id":53,"parentId":19,"tags":{"page":"/logs"},"startTime":1779218693049,"traceId":"713a0190ce067588"},{"name":"is-page-static","duration":844794,"timestamp":410720875441,"id":105,"parentId":60,"tags":{},"startTime":1779218693122,"traceId":"713a0190ce067588"},{"name":"check-page","duration":915300,"timestamp":410720804982,"id":60,"parentId":19,"tags":{"page":"/settings"},"startTime":1779218693051,"traceId":"713a0190ce067588"},{"name":"is-page-static","duration":810149,"timestamp":410720911528,"id":106,"parentId":57,"tags":{},"startTime":1779218693158,"traceId":"713a0190ce067588"},{"name":"check-page","duration":917750,"timestamp":410720803971,"id":57,"parentId":19,"tags":{"page":"/"},"startTime":1779218693050,"traceId":"713a0190ce067588"},{"name":"is-page-static","duration":870228,"timestamp":410720875230,"id":99,"parentId":56,"tags":{},"startTime":1779218693122,"traceId":"713a0190ce067588"},{"name":"check-page","duration":941803,"timestamp":410720803731,"id":56,"parentId":19,"tags":{"page":"/nodes"},"startTime":1779218693050,"traceId":"713a0190ce067588"},{"name":"is-page-static","duration":879640,"timestamp":410720875217,"id":98,"parentId":55,"tags":{},"startTime":1779218693121,"traceId":"713a0190ce067588"},{"name":"check-page","duration":951390,"timestamp":410720803527,"id":55,"parentId":19,"tags":{"page":"/node"},"startTime":1779218693050,"traceId":"713a0190ce067588"},{"name":"is-page-static","duration":944088,"timestamp":410720812751,"id":70,"parentId":29,"tags":{},"startTime":1779218693059,"traceId":"713a0190ce067588"},{"name":"check-page","duration":959490,"timestamp":410720797416,"id":29,"parentId":19,"tags":{"page":"/api/hub/auth"},"startTime":1779218693044,"traceId":"713a0190ce067588"},{"name":"static-check","duration":967251,"timestamp":410720789716,"id":19,"parentId":1,"tags":{},"startTime":1779218693036,"traceId":"713a0190ce067588"}]
|
|
2
|
+
[{"name":"write-routes-manifest","duration":1519,"timestamp":410721775495,"id":108,"parentId":1,"tags":{},"startTime":1779218694022,"traceId":"713a0190ce067588"},{"name":"load-dotenv","duration":58,"timestamp":410721790142,"id":111,"parentId":110,"tags":{},"startTime":1779218694036,"traceId":"713a0190ce067588"},{"name":"run-export-path-map","duration":648,"timestamp":410721793165,"id":112,"parentId":110,"tags":{},"startTime":1779218694039,"traceId":"713a0190ce067588"},{"name":"next-export","duration":750266,"timestamp":410721788834,"id":110,"parentId":1,"tags":{},"startTime":1779218694035,"traceId":"713a0190ce067588"},{"name":"move-exported-app-not-found-","duration":728,"timestamp":410722543820,"id":113,"parentId":109,"tags":{},"startTime":1779218694790,"traceId":"713a0190ce067588"},{"name":"move-exported-app-global-error-","duration":502,"timestamp":410722544706,"id":114,"parentId":109,"tags":{},"startTime":1779218694791,"traceId":"713a0190ce067588"},{"name":"static-generation","duration":765610,"timestamp":410721781944,"id":109,"parentId":1,"tags":{},"startTime":1779218694028,"traceId":"713a0190ce067588"},{"name":"write-routes-manifest","duration":586,"timestamp":410722547899,"id":115,"parentId":1,"tags":{},"startTime":1779218694794,"traceId":"713a0190ce067588"},{"name":"print-tree-view","duration":4811,"timestamp":410722571577,"id":116,"parentId":1,"tags":{},"startTime":1779218694818,"traceId":"713a0190ce067588"},{"name":"write-route-bundle-stats","duration":15549,"timestamp":410722576432,"id":117,"parentId":1,"tags":{},"startTime":1779218694823,"traceId":"713a0190ce067588"},{"name":"telemetry-flush","duration":9360,"timestamp":410722592076,"id":118,"parentId":1,"tags":{},"startTime":1779218694838,"traceId":"713a0190ce067588"},{"name":"next-build","duration":20869209,"timestamp":410701732265,"id":1,"tags":{"buildMode":"default","version":"16.2.3","bundler":"turbopack","has-custom-webpack-config":"false","use-build-worker":"true"},"startTime":1779218673979,"traceId":"713a0190ce067588"}]
|
package/.next/trace-build
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
[{"name":"run-turbopack","duration":
|
|
1
|
+
[{"name":"run-turbopack","duration":7275252,"timestamp":410701988878,"id":14,"parentId":1,"tags":{},"startTime":1779218674235,"traceId":"713a0190ce067588"},{"name":"turbopack-build-events","duration":134,"timestamp":410702326847,"id":15,"parentId":1,"tags":{},"startTime":1779218674573,"traceId":"713a0190ce067588"},{"name":"run-typescript","duration":11272454,"timestamp":410709273921,"id":16,"parentId":1,"tags":{},"startTime":1779218681520,"traceId":"713a0190ce067588"},{"name":"static-check","duration":967251,"timestamp":410720789716,"id":19,"parentId":1,"tags":{},"startTime":1779218693036,"traceId":"713a0190ce067588"},{"name":"static-generation","duration":765610,"timestamp":410721781944,"id":109,"parentId":1,"tags":{},"startTime":1779218694028,"traceId":"713a0190ce067588"},{"name":"telemetry-flush","duration":9360,"timestamp":410722592076,"id":118,"parentId":1,"tags":{},"startTime":1779218694838,"traceId":"713a0190ce067588"},{"name":"next-build","duration":20869209,"timestamp":410701732265,"id":1,"tags":{"buildMode":"default","version":"16.2.3","bundler":"turbopack","has-custom-webpack-config":"false","use-build-worker":"true"},"startTime":1779218673979,"traceId":"713a0190ce067588"}]
|
|
@@ -4921,8 +4921,17 @@ export function TopoGraph({ sessions, sseSessions, renameSignal }: TopoGraphProp
|
|
|
4921
4921
|
produce full breath-family map (cadences + axes)
|
|
4922
4922
|
- Future rounds: when adding a new dual-axis to an
|
|
4923
4923
|
existing breath anchor, append to this list */
|
|
4924
|
+
/* Round 721 / Loop — kicker entry promoted from dual-axis to
|
|
4925
|
+
TRIPLE-axis. R699 opacity + R714 transform-scale joined
|
|
4926
|
+
by R721 text-shadow at the same 6 s cadence. The catalog
|
|
4927
|
+
attribute name stays "dual-axis-surfaces" for back-compat
|
|
4928
|
+
(consumers querying `*='"kicker"'` continue to work) but
|
|
4929
|
+
the axes array now lists 3 entries. R721 widens the test
|
|
4930
|
+
to allow axes.length 2..3 and to recognise "text-shadow"
|
|
4931
|
+
alongside the prior 2nd-axis taxonomy. Future polysemic
|
|
4932
|
+
surfaces (3+ axes) append in the same shape. */
|
|
4924
4933
|
data-topo-respiratory-dual-axis-surfaces={JSON.stringify([
|
|
4925
|
-
{ anchor: "kicker", cadence_s: 6, axes: ["opacity", "transform-scale"] },
|
|
4934
|
+
{ anchor: "kicker", cadence_s: 6, axes: ["opacity", "transform-scale", "text-shadow"] },
|
|
4926
4935
|
{ anchor: "zoom-level", cadence_s: 9, axes: ["opacity", "transform-scale"] },
|
|
4927
4936
|
{ anchor: "H2", cadence_s: 10, axes: ["opacity", "transform-scale"] },
|
|
4928
4937
|
{ anchor: "watermark", cadence_s: 6, axes: ["opacity", "letter-spacing"] },
|
|
@@ -4972,6 +4981,49 @@ export function TopoGraph({ sessions, sseSessions, renameSignal }: TopoGraphProp
|
|
|
4972
4981
|
{ name: "canvas-brand-pair", cadences: [6, 7, 13, 15], anchors: ["watermark text", "crescent inner", "crescent wrapper envelope", "watermark wrapper envelope"], shape: "coprime-nested-pair" },
|
|
4973
4982
|
{ name: "background", cadences: [3, 4], anchors: ["row hot", "hub idle"], shape: "baseline-pair" },
|
|
4974
4983
|
])}
|
|
4984
|
+
/* Round 720 / Loop — 4TH orthogonal meta-doc catalog: tiers.
|
|
4985
|
+
Joins R710 (cadences) + R716 (axes) + R717 (patterns) to
|
|
4986
|
+
form a 4-axis introspection quadrilateral over the breath
|
|
4987
|
+
family:
|
|
4988
|
+
|
|
4989
|
+
R710 data-topo-respiratory-rolodex — cadence axis
|
|
4990
|
+
R716 data-topo-respiratory-dual-axis-surfaces — axis axis
|
|
4991
|
+
R717 data-topo-respiratory-patterns — pattern axis
|
|
4992
|
+
R720 data-topo-respiratory-tiers — tier axis ← this round
|
|
4993
|
+
|
|
4994
|
+
Patterns (R717) group anchors by STRUCTURAL SHAPE; tiers
|
|
4995
|
+
(R720) group anchors by FUNCTIONAL ROLE. The two slicings
|
|
4996
|
+
are orthogonal:
|
|
4997
|
+
- chrome-strip pattern spans 3 tiers (data + control-wrapper + atomic-control)
|
|
4998
|
+
- title-block pattern is exactly 1 tier
|
|
4999
|
+
- canvas-brand-pair pattern is exactly 1 tier
|
|
5000
|
+
A given anchor belongs to exactly 1 tier (tiers are
|
|
5001
|
+
mutually exclusive), so the catalog is a partition of the
|
|
5002
|
+
18-anchor family into 7 buckets:
|
|
5003
|
+
|
|
5004
|
+
data (1) zoom-level readout
|
|
5005
|
+
control-wrapper (3) Layout / nodeSize / zoom wrappers
|
|
5006
|
+
atomic-control (2) reset / fullscreen buttons
|
|
5007
|
+
title-block (4) brand logo, kicker, H2, envelope
|
|
5008
|
+
panel-title (2) recent / legend titles
|
|
5009
|
+
canvas-brand (4) watermark text, crescent inner, two envelopes
|
|
5010
|
+
background (2) row hot, hub idle
|
|
5011
|
+
|
|
5012
|
+
Cross-check at runtime: sum of tier anchor counts must
|
|
5013
|
+
equal the flat anchor count in the rolodex (R710); each
|
|
5014
|
+
tier-listed anchor must appear in the rolodex.
|
|
5015
|
+
|
|
5016
|
+
Inline JSON.stringify — invariant string, no DOM thrash.
|
|
5017
|
+
R710/R716/R717 unchanged. */
|
|
5018
|
+
data-topo-respiratory-tiers={JSON.stringify([
|
|
5019
|
+
{ name: "data", anchors: ["zoom-level readout"] },
|
|
5020
|
+
{ name: "control-wrapper", anchors: ["Layout wrapper", "nodeSize wrapper", "zoom wrapper"] },
|
|
5021
|
+
{ name: "atomic-control", anchors: ["reset button", "fullscreen button"] },
|
|
5022
|
+
{ name: "title-block", anchors: ["brand logo", "kicker", "H2 section title", "title-block envelope"] },
|
|
5023
|
+
{ name: "panel-title", anchors: ["recent title", "legend title"] },
|
|
5024
|
+
{ name: "canvas-brand", anchors: ["watermark text", "watermark wrapper envelope", "crescent inner", "crescent wrapper envelope"] },
|
|
5025
|
+
{ name: "background", anchors: ["row hot", "hub idle"] },
|
|
5026
|
+
])}
|
|
4975
5027
|
data-topo-pinned-aspect={(() => {
|
|
4976
5028
|
const aspects: string[] = [];
|
|
4977
5029
|
if (pinnedStatus) aspects.push('status');
|
package/app/globals.css
CHANGED
|
@@ -1311,9 +1311,40 @@ body {
|
|
|
1311
1311
|
transform-origin defaults to center — kicker scales around its own
|
|
1312
1312
|
midpoint, no glyph drift. paint-only → flex parent stable → topo-
|
|
1313
1313
|
overlap-test untouched. prefers-reduced-motion: reduce neutralizes. */
|
|
1314
|
+
/* Round 721 — kicker becomes the family's first TRIPLE-axis breath
|
|
1315
|
+
surface. R699 opacity (6 s) + R714 transform-scale (6 s) joined by
|
|
1316
|
+
R721 text-shadow (6 s) — all 3 axes share the 6 s cadence in phase.
|
|
1317
|
+
|
|
1318
|
+
At rest peak (0%, 100%) the kicker reads as a static title;
|
|
1319
|
+
at mid-breath (50%) it dims (0.78), retracts (scale 0.995), AND
|
|
1320
|
+
emits a soft cyan glow (text-shadow 0 0 6px rgba(34, 211, 238, 0.30)).
|
|
1321
|
+
The glow appears OUT-OF-PHASE with the dim — as the text shrinks
|
|
1322
|
+
slightly it gains a subtle aura. Reads as an "inhale glow": a small
|
|
1323
|
+
visible payoff at the bottom of the breath cycle.
|
|
1324
|
+
|
|
1325
|
+
Why kicker first (vs other dual-axis surfaces):
|
|
1326
|
+
- kicker has the SPARSEST hover signature in the family — being
|
|
1327
|
+
below H2 (the page heading), it's read-target text, not an
|
|
1328
|
+
interactive surface. The breath family's "if hover sig sparse,
|
|
1329
|
+
dual-axis; if hover sig rich, single-axis" budget rule extends
|
|
1330
|
+
naturally to "if hover sig SPARSE, can go triple-axis".
|
|
1331
|
+
- 6 s is the fastest dual-axis cadence in the rolodex — at fast
|
|
1332
|
+
cadence the 3rd axis (a glow appear+disappear cycle every 3 s
|
|
1333
|
+
on each half) registers as ambient rhythm, not a distraction.
|
|
1334
|
+
|
|
1335
|
+
text-shadow chosen over letter-spacing or font-size because:
|
|
1336
|
+
- text-shadow doesn't reflow text (no horizontal motion)
|
|
1337
|
+
- glow against the dark canvas reads clearly without competing
|
|
1338
|
+
with the opacity dim
|
|
1339
|
+
- cyan tint at 30% alpha + 6 px blur is below the brightness
|
|
1340
|
+
threshold of any node halo (R674/R675 nodes use 0.5+ alpha)
|
|
1341
|
+
|
|
1342
|
+
Composition note: the R29 prefers-reduced-motion guard already
|
|
1343
|
+
neutralizes the entire 6 s animation; no separate text-shadow
|
|
1344
|
+
reduced-motion logic needed. */
|
|
1314
1345
|
@keyframes anet-topo-kicker-breath-kf {
|
|
1315
|
-
0%, 100% { opacity: 1; transform: scale(1); }
|
|
1316
|
-
50% { opacity: 0.78; transform: scale(0.995); }
|
|
1346
|
+
0%, 100% { opacity: 1; transform: scale(1); text-shadow: none; }
|
|
1347
|
+
50% { opacity: 0.78; transform: scale(0.995); text-shadow: 0 0 6px rgba(34, 211, 238, 0.30); }
|
|
1317
1348
|
}
|
|
1318
1349
|
.anet-topo-kicker-breath {
|
|
1319
1350
|
animation: anet-topo-kicker-breath-kf 6s ease-in-out infinite;
|
package/package.json
CHANGED
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
/* Round 721 — kicker promoted from dual-axis to TRIPLE-axis breath.
|
|
2
|
+
* R699 opacity (6 s) + R714 transform-scale (6 s) joined by R721
|
|
3
|
+
* text-shadow (6 s) — all 3 axes share the 6 s cadence in phase.
|
|
4
|
+
* First triple-axis surface in the family.
|
|
5
|
+
*
|
|
6
|
+
* Glow specification: at mid-breath (50%) the kicker emits
|
|
7
|
+
* text-shadow: 0 0 6px rgba(34, 211, 238, 0.30). Reads as an "inhale
|
|
8
|
+
* glow" — a subtle cyan aura appears as the text dims and shrinks.
|
|
9
|
+
*
|
|
10
|
+
* Assertions:
|
|
11
|
+
* - CSS keyframes 0%/100% has text-shadow: none
|
|
12
|
+
* - CSS keyframes 50% has text-shadow: 0 0 6px rgba(34, 211, 238, 0.30)
|
|
13
|
+
* - existing opacity (1 ↔ 0.78) + transform-scale (1 ↔ 0.995) axes
|
|
14
|
+
* preserved in same @keyframes block (R699 + R714 still composing)
|
|
15
|
+
* - .anet-topo-kicker-breath rule still binds 6 s cadence
|
|
16
|
+
* - prefers-reduced-motion guard still present
|
|
17
|
+
* - runtime kicker has the breath class + 6s data attr (preserved)
|
|
18
|
+
* - R716 catalog kicker entry axes = ["opacity", "transform-scale", "text-shadow"]
|
|
19
|
+
* - kicker is the ONLY entry with 3 axes (first triple-axis surface)
|
|
20
|
+
* - text-shadow appears nowhere else in the catalog (kicker exclusive)
|
|
21
|
+
*/
|
|
22
|
+
import { chromium } from 'playwright';
|
|
23
|
+
import { readFileSync } from 'node:fs';
|
|
24
|
+
|
|
25
|
+
const TOKEN = JSON.parse(readFileSync('/home/vansin/.anet/config.json', 'utf8')).token;
|
|
26
|
+
const fresh = new Date(Date.now() - 60 * 1000).toISOString();
|
|
27
|
+
|
|
28
|
+
const browser = await chromium.launch({ headless: true });
|
|
29
|
+
const ctx = await browser.newContext({ viewport: { width: 1500, height: 1200 } });
|
|
30
|
+
await ctx.addCookies([{ name: 'anet_dashboard_session', value: `v3:${TOKEN}`, domain: '127.0.0.1', path: '/' }]);
|
|
31
|
+
await ctx.addInitScript(() => {
|
|
32
|
+
try {
|
|
33
|
+
localStorage.setItem('anet-theme', 'cyber');
|
|
34
|
+
localStorage.setItem('anet-topo-layout', 'ring');
|
|
35
|
+
sessionStorage.setItem('anet_v3_auth', '1');
|
|
36
|
+
} catch {}
|
|
37
|
+
});
|
|
38
|
+
await ctx.route('**/api/hub/status*', async (route) => {
|
|
39
|
+
const r = await route.fetch();
|
|
40
|
+
const b = await r.json();
|
|
41
|
+
const nid = (b.sessions || [])[0]?.network_id || 'default';
|
|
42
|
+
const mk = (alias) => ({
|
|
43
|
+
alias, status: 'idle', model: 'claude-opus-4', runtime: 'claude-code-cli',
|
|
44
|
+
network_id: nid, project_dir: null,
|
|
45
|
+
created_at: fresh, updated_at: fresh, last_seen_at: fresh,
|
|
46
|
+
});
|
|
47
|
+
await route.fulfill({ response: r, json: { ...b, sessions: [mk('a·1'), mk('a·2')] } });
|
|
48
|
+
});
|
|
49
|
+
await ctx.route('**/api/hub/messages*', (r) => r.fulfill({ json: { messages: [] } }));
|
|
50
|
+
await ctx.route('**/api/hub/tasks*', (r) => r.fulfill({ json: { tasks: [] } }));
|
|
51
|
+
const page = await ctx.newPage();
|
|
52
|
+
await page.goto('http://127.0.0.1:3000/', { waitUntil: 'networkidle' });
|
|
53
|
+
await page.waitForSelector('.anet-topo-kicker-breath', { timeout: 15000, state: 'attached' });
|
|
54
|
+
await page.waitForTimeout(300);
|
|
55
|
+
|
|
56
|
+
const runtimeState = await page.evaluate(() => {
|
|
57
|
+
const kicker = document.querySelector('.anet-topo-kicker-breath');
|
|
58
|
+
if (!kicker) return null;
|
|
59
|
+
const cs = getComputedStyle(kicker);
|
|
60
|
+
const svg = document.querySelector('[data-topo-canvas-aria]');
|
|
61
|
+
return {
|
|
62
|
+
has_class: kicker.classList.contains('anet-topo-kicker-breath'),
|
|
63
|
+
breath_attr: kicker.getAttribute('data-topo-section-kicker-breath'),
|
|
64
|
+
anim_name: cs.animationName,
|
|
65
|
+
anim_duration: cs.animationDuration,
|
|
66
|
+
catalog: svg?.getAttribute('data-topo-respiratory-dual-axis-surfaces') ?? null,
|
|
67
|
+
};
|
|
68
|
+
});
|
|
69
|
+
|
|
70
|
+
await browser.close();
|
|
71
|
+
|
|
72
|
+
const cssSrc = readFileSync('/home/vansin/agent-network-dashboard/app/globals.css', 'utf8');
|
|
73
|
+
// 0%/100% keyframe must include text-shadow: none + opacity:1 + transform: scale(1)
|
|
74
|
+
const cssKf0_Triple = /@keyframes anet-topo-kicker-breath-kf\s*\{[\s\S]*?0%,\s*100%\s*\{[\s\S]*?opacity:\s*1[\s\S]*?transform:\s*scale\(1\)[\s\S]*?text-shadow:\s*none[\s\S]*?\}/.test(cssSrc);
|
|
75
|
+
// 50% keyframe must include text-shadow: 0 0 6px rgba(34, 211, 238, 0.30) + dim opacity + retract scale
|
|
76
|
+
const cssKf50_Triple = /@keyframes anet-topo-kicker-breath-kf\s*\{[\s\S]*?50%\s*\{[\s\S]*?opacity:\s*0\.78[\s\S]*?transform:\s*scale\(0\.995\)[\s\S]*?text-shadow:\s*0\s+0\s+6px\s+rgba\(34,\s*211,\s*238,\s*0\.30\)/.test(cssSrc);
|
|
77
|
+
const cssClassBound6s = /\.anet-topo-kicker-breath\s*\{[\s\S]*?animation:\s*anet-topo-kicker-breath-kf\s+6s\s+ease-in-out\s+infinite/.test(cssSrc);
|
|
78
|
+
const cssReducedMotion = /@media\s*\(prefers-reduced-motion:\s*reduce\)\s*\{[\s\S]*?\.anet-topo-kicker-breath\s*\{\s*animation:\s*none/.test(cssSrc);
|
|
79
|
+
|
|
80
|
+
const runtimeAnim = runtimeState?.anim_name === 'anet-topo-kicker-breath-kf' || runtimeState?.anim_name === 'none';
|
|
81
|
+
|
|
82
|
+
let catalog = null;
|
|
83
|
+
try { catalog = JSON.parse(runtimeState?.catalog ?? ''); } catch {}
|
|
84
|
+
const kickerEntry = Array.isArray(catalog) ? catalog.find(e => e.anchor === 'kicker') : null;
|
|
85
|
+
const kickerTripleAxes = !!kickerEntry
|
|
86
|
+
&& Array.isArray(kickerEntry.axes)
|
|
87
|
+
&& kickerEntry.axes.length === 3
|
|
88
|
+
&& JSON.stringify(kickerEntry.axes) === JSON.stringify(['opacity', 'transform-scale', 'text-shadow']);
|
|
89
|
+
|
|
90
|
+
const tripleAxisSurfaces = Array.isArray(catalog)
|
|
91
|
+
? catalog.filter(e => Array.isArray(e.axes) && e.axes.length === 3)
|
|
92
|
+
: [];
|
|
93
|
+
const onlyKickerTriple = tripleAxisSurfaces.length === 1 && tripleAxisSurfaces[0]?.anchor === 'kicker';
|
|
94
|
+
|
|
95
|
+
const textShadowSurfaces = Array.isArray(catalog)
|
|
96
|
+
? catalog.filter(e => Array.isArray(e.axes) && e.axes.includes('text-shadow'))
|
|
97
|
+
: [];
|
|
98
|
+
const textShadowKickerExclusive = textShadowSurfaces.length === 1 && textShadowSurfaces[0]?.anchor === 'kicker';
|
|
99
|
+
|
|
100
|
+
const results = {
|
|
101
|
+
kicker_present: !!runtimeState,
|
|
102
|
+
has_breath_class: runtimeState?.has_class === true,
|
|
103
|
+
breath_cadence_attr_6s: runtimeState?.breath_attr === '6s',
|
|
104
|
+
runtime_anim_kicker_kf: runtimeAnim,
|
|
105
|
+
css_0_100_triple_axis: cssKf0_Triple,
|
|
106
|
+
css_50_triple_axis_with_glow: cssKf50_Triple,
|
|
107
|
+
css_class_binds_6s: cssClassBound6s,
|
|
108
|
+
css_reduced_motion_guard: cssReducedMotion,
|
|
109
|
+
catalog_kicker_three_axes: kickerTripleAxes,
|
|
110
|
+
only_kicker_is_triple_axis: onlyKickerTriple,
|
|
111
|
+
text_shadow_exclusive_to_kicker: textShadowKickerExclusive,
|
|
112
|
+
};
|
|
113
|
+
const ok = Object.values(results).every(Boolean);
|
|
114
|
+
console.log(`${ok ? '✅' : '❌'} R721 kicker triple-axis breath (first 3-axis surface: opacity + transform-scale + text-shadow @ 6s):`,
|
|
115
|
+
JSON.stringify(results, null, 2),
|
|
116
|
+
`\n kicker entry: ${JSON.stringify(kickerEntry)}`,
|
|
117
|
+
`\n runtime: ${JSON.stringify({ anim_name: runtimeState?.anim_name, anim_duration: runtimeState?.anim_duration })}`);
|
|
118
|
+
process.exit(ok ? 0 : 1);
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
/* Round 720 — tiers catalog attr on canvas root. 4TH orthogonal
|
|
2
|
+
* meta-doc axis on the breath family, joining:
|
|
3
|
+
* R710 data-topo-respiratory-rolodex (cadence axis)
|
|
4
|
+
* R716 data-topo-respiratory-dual-axis-surfaces (axis axis)
|
|
5
|
+
* R717 data-topo-respiratory-patterns (pattern axis)
|
|
6
|
+
* R720 data-topo-respiratory-tiers (tier axis) ← this round
|
|
7
|
+
*
|
|
8
|
+
* Tiers partition the 18-anchor family into 7 mutually-exclusive
|
|
9
|
+
* functional-role buckets. Cross-check against R710 rolodex: the
|
|
10
|
+
* union of all tier anchor lists must equal the flat rolodex
|
|
11
|
+
* anchor set (each anchor belongs to exactly 1 tier).
|
|
12
|
+
*
|
|
13
|
+
* Assertions:
|
|
14
|
+
* - attr present on root <svg>
|
|
15
|
+
* - JSON parses to Array of exactly 7 entries
|
|
16
|
+
* - shape: each entry has {name, anchors}
|
|
17
|
+
* - tier names match expected set (alphabetical sort)
|
|
18
|
+
* - total anchor count across tiers = 18
|
|
19
|
+
* - mutual exclusivity: no anchor appears in 2 tiers
|
|
20
|
+
* - rolodex coverage: every rolodex anchor appears in exactly 1 tier
|
|
21
|
+
* - rolodex tightness: every tier-listed anchor appears in rolodex
|
|
22
|
+
*/
|
|
23
|
+
import { chromium } from 'playwright';
|
|
24
|
+
import { readFileSync } from 'node:fs';
|
|
25
|
+
|
|
26
|
+
const TOKEN = JSON.parse(readFileSync('/home/vansin/.anet/config.json', 'utf8')).token;
|
|
27
|
+
const fresh = new Date(Date.now() - 60 * 1000).toISOString();
|
|
28
|
+
|
|
29
|
+
const browser = await chromium.launch({ headless: true });
|
|
30
|
+
const ctx = await browser.newContext({ viewport: { width: 1500, height: 1200 } });
|
|
31
|
+
await ctx.addCookies([{ name: 'anet_dashboard_session', value: `v3:${TOKEN}`, domain: '127.0.0.1', path: '/' }]);
|
|
32
|
+
await ctx.addInitScript(() => {
|
|
33
|
+
try {
|
|
34
|
+
localStorage.setItem('anet-theme', 'cyber');
|
|
35
|
+
localStorage.setItem('anet-topo-layout', 'ring');
|
|
36
|
+
sessionStorage.setItem('anet_v3_auth', '1');
|
|
37
|
+
} catch {}
|
|
38
|
+
});
|
|
39
|
+
await ctx.route('**/api/hub/status*', async (route) => {
|
|
40
|
+
const r = await route.fetch();
|
|
41
|
+
const b = await r.json();
|
|
42
|
+
const nid = (b.sessions || [])[0]?.network_id || 'default';
|
|
43
|
+
const mk = (alias) => ({
|
|
44
|
+
alias, status: 'idle', model: 'claude-opus-4', runtime: 'claude-code-cli',
|
|
45
|
+
network_id: nid, project_dir: null,
|
|
46
|
+
created_at: fresh, updated_at: fresh, last_seen_at: fresh,
|
|
47
|
+
});
|
|
48
|
+
await route.fulfill({ response: r, json: { ...b, sessions: [mk('a·1'), mk('a·2')] } });
|
|
49
|
+
});
|
|
50
|
+
await ctx.route('**/api/hub/messages*', (r) => r.fulfill({ json: { messages: [] } }));
|
|
51
|
+
await ctx.route('**/api/hub/tasks*', (r) => r.fulfill({ json: { tasks: [] } }));
|
|
52
|
+
const page = await ctx.newPage();
|
|
53
|
+
await page.goto('http://127.0.0.1:3000/', { waitUntil: 'networkidle' });
|
|
54
|
+
await page.waitForSelector('[data-topo-canvas-aria]', { timeout: 15000, state: 'attached' });
|
|
55
|
+
await page.waitForTimeout(300);
|
|
56
|
+
|
|
57
|
+
const runtimeAttrs = await page.evaluate(() => {
|
|
58
|
+
const svg = document.querySelector('[data-topo-canvas-aria]');
|
|
59
|
+
return {
|
|
60
|
+
tiers: svg?.getAttribute('data-topo-respiratory-tiers') ?? null,
|
|
61
|
+
rolodex: svg?.getAttribute('data-topo-respiratory-rolodex') ?? null,
|
|
62
|
+
};
|
|
63
|
+
});
|
|
64
|
+
|
|
65
|
+
await browser.close();
|
|
66
|
+
|
|
67
|
+
let tiers = null;
|
|
68
|
+
let rolodex = null;
|
|
69
|
+
let parseError = null;
|
|
70
|
+
try {
|
|
71
|
+
tiers = JSON.parse(runtimeAttrs.tiers ?? '');
|
|
72
|
+
rolodex = JSON.parse(runtimeAttrs.rolodex ?? '');
|
|
73
|
+
} catch (e) {
|
|
74
|
+
parseError = String(e);
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
const validShape = Array.isArray(tiers)
|
|
78
|
+
? tiers.every(t => t && typeof t === 'object'
|
|
79
|
+
&& typeof t.name === 'string' && t.name.length > 0
|
|
80
|
+
&& Array.isArray(t.anchors) && t.anchors.length > 0
|
|
81
|
+
&& t.anchors.every(a => typeof a === 'string' && a.length > 0))
|
|
82
|
+
: false;
|
|
83
|
+
|
|
84
|
+
const tierNames = Array.isArray(tiers) ? tiers.map(t => t.name).sort() : [];
|
|
85
|
+
const expectedNames = ['atomic-control', 'background', 'canvas-brand', 'control-wrapper', 'data', 'panel-title', 'title-block'];
|
|
86
|
+
|
|
87
|
+
const flatTierAnchors = Array.isArray(tiers)
|
|
88
|
+
? tiers.flatMap(t => Array.isArray(t.anchors) ? t.anchors : [])
|
|
89
|
+
: [];
|
|
90
|
+
const tierAnchorSet = new Set(flatTierAnchors);
|
|
91
|
+
const mutualExclusivity = flatTierAnchors.length === tierAnchorSet.size;
|
|
92
|
+
|
|
93
|
+
const rolodexAnchors = rolodex && typeof rolodex === 'object'
|
|
94
|
+
? Object.values(rolodex).flat()
|
|
95
|
+
: [];
|
|
96
|
+
const rolodexSet = new Set(rolodexAnchors);
|
|
97
|
+
|
|
98
|
+
const rolodexCoverage = [...rolodexSet].every(a => tierAnchorSet.has(a));
|
|
99
|
+
const tierTightness = [...tierAnchorSet].every(a => rolodexSet.has(a));
|
|
100
|
+
|
|
101
|
+
const results = {
|
|
102
|
+
attr_present: !!runtimeAttrs.tiers,
|
|
103
|
+
json_parses: tiers !== null && parseError === null,
|
|
104
|
+
is_array: Array.isArray(tiers),
|
|
105
|
+
has_7_entries: Array.isArray(tiers) && tiers.length === 7,
|
|
106
|
+
shape_valid: validShape,
|
|
107
|
+
tier_names_match: JSON.stringify(tierNames) === JSON.stringify(expectedNames),
|
|
108
|
+
total_anchors_18: flatTierAnchors.length === 18,
|
|
109
|
+
mutual_exclusivity: mutualExclusivity,
|
|
110
|
+
rolodex_coverage: rolodexCoverage,
|
|
111
|
+
tier_tightness: tierTightness,
|
|
112
|
+
};
|
|
113
|
+
const ok = Object.values(results).every(Boolean);
|
|
114
|
+
console.log(`${ok ? '✅' : '❌'} R720 respiratory tiers catalog attr (4th meta-doc axis — breath family quadrilateral):`,
|
|
115
|
+
JSON.stringify(results, null, 2),
|
|
116
|
+
`\n tiers: ${JSON.stringify(tiers)}`,
|
|
117
|
+
parseError ? `\n parseError: ${parseError}` : '',
|
|
118
|
+
`\n rolodex anchors: ${rolodexAnchors.length} · tier anchors: ${flatTierAnchors.length} · unique: ${tierAnchorSet.size}`);
|
|
119
|
+
process.exit(ok ? 0 : 1);
|
|
File without changes
|
/package/.next/static/{GPHOxGVRvfcbBH1hj4hTD → O43cywiS3WLyRFKTuDOur}/_clientMiddlewareManifest.js
RENAMED
|
File without changes
|
|
File without changes
|