@sleep2agi/agent-network-dashboard 0.5.7-preview.5 → 0.5.7-preview.66
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/app-path-routes-manifest.json +0 -1
- package/.next/build-manifest.json +3 -3
- package/.next/diagnostics/route-bundle-stats.json +65 -65
- package/.next/fallback-build-manifest.json +3 -3
- package/.next/prerender-manifest.json +3 -3
- package/.next/routes-manifest.json +0 -6
- 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/next-font-manifest.json +2 -1
- package/.next/server/app/_not-found/page.js +1 -1
- package/.next/server/app/_not-found/page.js.nft.json +1 -1
- package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/.next/server/app/_not-found.html +4 -4
- package/.next/server/app/_not-found.rsc +16 -16
- package/.next/server/app/_not-found.segments/_full.segment.rsc +16 -16
- package/.next/server/app/_not-found.segments/_head.segment.rsc +4 -4
- package/.next/server/app/_not-found.segments/_index.segment.rsc +9 -9
- package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +2 -2
- package/.next/server/app/_not-found.segments/_not-found.segment.rsc +3 -3
- package/.next/server/app/_not-found.segments/_tree.segment.rsc +3 -3
- package/.next/server/app/admin/page/next-font-manifest.json +2 -1
- package/.next/server/app/admin/page.js +1 -1
- package/.next/server/app/admin/page.js.nft.json +1 -1
- package/.next/server/app/admin/page_client-reference-manifest.js +1 -1
- package/.next/server/app/admin.html +4 -4
- package/.next/server/app/admin.rsc +20 -19
- package/.next/server/app/admin.segments/_full.segment.rsc +20 -19
- package/.next/server/app/admin.segments/_head.segment.rsc +4 -4
- package/.next/server/app/admin.segments/_index.segment.rsc +9 -9
- package/.next/server/app/admin.segments/_tree.segment.rsc +5 -4
- package/.next/server/app/admin.segments/admin/__PAGE__.segment.rsc +4 -4
- package/.next/server/app/admin.segments/admin.segment.rsc +3 -3
- package/.next/server/app/index.html +4 -4
- package/.next/server/app/index.rsc +20 -19
- package/.next/server/app/index.segments/__PAGE__.segment.rsc +4 -4
- package/.next/server/app/index.segments/_full.segment.rsc +20 -19
- package/.next/server/app/index.segments/_head.segment.rsc +4 -4
- package/.next/server/app/index.segments/_index.segment.rsc +9 -9
- package/.next/server/app/index.segments/_tree.segment.rsc +5 -4
- package/.next/server/app/login/page/next-font-manifest.json +2 -1
- package/.next/server/app/login/page.js +1 -1
- package/.next/server/app/login/page.js.nft.json +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 +20 -19
- package/.next/server/app/login.segments/_full.segment.rsc +20 -19
- package/.next/server/app/login.segments/_head.segment.rsc +4 -4
- package/.next/server/app/login.segments/_index.segment.rsc +9 -9
- package/.next/server/app/login.segments/_tree.segment.rsc +5 -4
- package/.next/server/app/login.segments/login/__PAGE__.segment.rsc +4 -4
- package/.next/server/app/login.segments/login.segment.rsc +3 -3
- package/.next/server/app/logs/page/next-font-manifest.json +2 -1
- package/.next/server/app/logs/page.js +1 -1
- package/.next/server/app/logs/page.js.nft.json +1 -1
- package/.next/server/app/logs/page_client-reference-manifest.js +1 -1
- package/.next/server/app/logs.html +4 -4
- package/.next/server/app/logs.rsc +20 -19
- package/.next/server/app/logs.segments/_full.segment.rsc +20 -19
- package/.next/server/app/logs.segments/_head.segment.rsc +4 -4
- package/.next/server/app/logs.segments/_index.segment.rsc +9 -9
- package/.next/server/app/logs.segments/_tree.segment.rsc +5 -4
- package/.next/server/app/logs.segments/logs/__PAGE__.segment.rsc +4 -4
- package/.next/server/app/logs.segments/logs.segment.rsc +3 -3
- package/.next/server/app/manifest.webmanifest.body +1 -1
- package/.next/server/app/messages/page/next-font-manifest.json +2 -1
- package/.next/server/app/messages/page.js +1 -1
- package/.next/server/app/messages/page.js.nft.json +1 -1
- package/.next/server/app/messages/page_client-reference-manifest.js +1 -1
- package/.next/server/app/messages.html +4 -4
- package/.next/server/app/messages.rsc +20 -19
- package/.next/server/app/messages.segments/_full.segment.rsc +20 -19
- package/.next/server/app/messages.segments/_head.segment.rsc +4 -4
- package/.next/server/app/messages.segments/_index.segment.rsc +9 -9
- package/.next/server/app/messages.segments/_tree.segment.rsc +5 -4
- package/.next/server/app/messages.segments/messages/__PAGE__.segment.rsc +4 -4
- package/.next/server/app/messages.segments/messages.segment.rsc +3 -3
- package/.next/server/app/node/page/next-font-manifest.json +2 -1
- package/.next/server/app/node/page.js +1 -1
- package/.next/server/app/node/page.js.nft.json +1 -1
- package/.next/server/app/node/page_client-reference-manifest.js +1 -1
- package/.next/server/app/node.html +4 -4
- package/.next/server/app/node.rsc +20 -19
- package/.next/server/app/node.segments/_full.segment.rsc +20 -19
- package/.next/server/app/node.segments/_head.segment.rsc +4 -4
- package/.next/server/app/node.segments/_index.segment.rsc +9 -9
- package/.next/server/app/node.segments/_tree.segment.rsc +5 -4
- package/.next/server/app/node.segments/node/__PAGE__.segment.rsc +4 -4
- package/.next/server/app/node.segments/node.segment.rsc +3 -3
- package/.next/server/app/nodes/page/next-font-manifest.json +2 -1
- package/.next/server/app/nodes/page.js +1 -1
- package/.next/server/app/nodes/page.js.nft.json +1 -1
- package/.next/server/app/nodes/page_client-reference-manifest.js +1 -1
- package/.next/server/app/nodes.html +4 -4
- package/.next/server/app/nodes.rsc +20 -19
- package/.next/server/app/nodes.segments/_full.segment.rsc +20 -19
- package/.next/server/app/nodes.segments/_head.segment.rsc +4 -4
- package/.next/server/app/nodes.segments/_index.segment.rsc +9 -9
- package/.next/server/app/nodes.segments/_tree.segment.rsc +5 -4
- package/.next/server/app/nodes.segments/nodes/__PAGE__.segment.rsc +4 -4
- package/.next/server/app/nodes.segments/nodes.segment.rsc +3 -3
- package/.next/server/app/page/next-font-manifest.json +2 -1
- package/.next/server/app/page.js +1 -1
- package/.next/server/app/page.js.nft.json +1 -1
- package/.next/server/app/page_client-reference-manifest.js +1 -1
- package/.next/server/app/server-logs/page/next-font-manifest.json +2 -1
- package/.next/server/app/server-logs/page.js +1 -1
- package/.next/server/app/server-logs/page.js.nft.json +1 -1
- package/.next/server/app/server-logs/page_client-reference-manifest.js +1 -1
- package/.next/server/app/server-logs.html +4 -4
- package/.next/server/app/server-logs.rsc +20 -19
- package/.next/server/app/server-logs.segments/_full.segment.rsc +20 -19
- package/.next/server/app/server-logs.segments/_head.segment.rsc +4 -4
- package/.next/server/app/server-logs.segments/_index.segment.rsc +9 -9
- package/.next/server/app/server-logs.segments/_tree.segment.rsc +5 -4
- package/.next/server/app/server-logs.segments/server-logs/__PAGE__.segment.rsc +4 -4
- package/.next/server/app/server-logs.segments/server-logs.segment.rsc +3 -3
- package/.next/server/app/servers/page/next-font-manifest.json +2 -1
- package/.next/server/app/servers/page.js +1 -1
- package/.next/server/app/servers/page.js.nft.json +1 -1
- package/.next/server/app/servers/page_client-reference-manifest.js +1 -1
- package/.next/server/app/servers.html +4 -4
- package/.next/server/app/servers.rsc +20 -19
- package/.next/server/app/servers.segments/_full.segment.rsc +20 -19
- package/.next/server/app/servers.segments/_head.segment.rsc +4 -4
- package/.next/server/app/servers.segments/_index.segment.rsc +9 -9
- package/.next/server/app/servers.segments/_tree.segment.rsc +5 -4
- package/.next/server/app/servers.segments/servers/__PAGE__.segment.rsc +4 -4
- package/.next/server/app/servers.segments/servers.segment.rsc +3 -3
- package/.next/server/app/settings/networks/page/next-font-manifest.json +2 -1
- package/.next/server/app/settings/networks/page.js +1 -1
- package/.next/server/app/settings/networks/page.js.nft.json +1 -1
- package/.next/server/app/settings/networks/page_client-reference-manifest.js +1 -1
- package/.next/server/app/settings/networks.html +4 -4
- package/.next/server/app/settings/networks.rsc +20 -19
- package/.next/server/app/settings/networks.segments/_full.segment.rsc +20 -19
- package/.next/server/app/settings/networks.segments/_head.segment.rsc +4 -4
- package/.next/server/app/settings/networks.segments/_index.segment.rsc +9 -9
- package/.next/server/app/settings/networks.segments/_tree.segment.rsc +5 -4
- package/.next/server/app/settings/networks.segments/settings/networks/__PAGE__.segment.rsc +4 -4
- package/.next/server/app/settings/networks.segments/settings/networks.segment.rsc +3 -3
- package/.next/server/app/settings/networks.segments/settings.segment.rsc +3 -3
- package/.next/server/app/settings/page/next-font-manifest.json +2 -1
- package/.next/server/app/settings/page.js +1 -1
- package/.next/server/app/settings/page.js.nft.json +1 -1
- package/.next/server/app/settings/page_client-reference-manifest.js +1 -1
- package/.next/server/app/settings/tokens/page/next-font-manifest.json +2 -1
- package/.next/server/app/settings/tokens/page.js +1 -1
- package/.next/server/app/settings/tokens/page.js.nft.json +1 -1
- package/.next/server/app/settings/tokens/page_client-reference-manifest.js +1 -1
- package/.next/server/app/settings/tokens.html +4 -4
- package/.next/server/app/settings/tokens.rsc +20 -19
- package/.next/server/app/settings/tokens.segments/_full.segment.rsc +20 -19
- package/.next/server/app/settings/tokens.segments/_head.segment.rsc +4 -4
- package/.next/server/app/settings/tokens.segments/_index.segment.rsc +9 -9
- package/.next/server/app/settings/tokens.segments/_tree.segment.rsc +5 -4
- package/.next/server/app/settings/tokens.segments/settings/tokens/__PAGE__.segment.rsc +4 -4
- package/.next/server/app/settings/tokens.segments/settings/tokens.segment.rsc +3 -3
- package/.next/server/app/settings/tokens.segments/settings.segment.rsc +3 -3
- package/.next/server/app/settings.html +4 -4
- package/.next/server/app/settings.rsc +20 -19
- package/.next/server/app/settings.segments/_full.segment.rsc +20 -19
- package/.next/server/app/settings.segments/_head.segment.rsc +4 -4
- package/.next/server/app/settings.segments/_index.segment.rsc +9 -9
- package/.next/server/app/settings.segments/_tree.segment.rsc +5 -4
- package/.next/server/app/settings.segments/settings/__PAGE__.segment.rsc +4 -4
- package/.next/server/app/settings.segments/settings.segment.rsc +3 -3
- package/.next/server/app/tasks/[id]/page/next-font-manifest.json +2 -1
- package/.next/server/app/tasks/[id]/page.js +1 -1
- package/.next/server/app/tasks/[id]/page.js.nft.json +1 -1
- package/.next/server/app/tasks/[id]/page_client-reference-manifest.js +1 -1
- package/.next/server/app/tasks/page/next-font-manifest.json +2 -1
- package/.next/server/app/tasks/page.js +1 -1
- package/.next/server/app/tasks/page.js.nft.json +1 -1
- package/.next/server/app/tasks/page_client-reference-manifest.js +1 -1
- package/.next/server/app/tasks.html +4 -4
- package/.next/server/app/tasks.rsc +20 -19
- package/.next/server/app/tasks.segments/_full.segment.rsc +20 -19
- package/.next/server/app/tasks.segments/_head.segment.rsc +4 -4
- package/.next/server/app/tasks.segments/_index.segment.rsc +9 -9
- package/.next/server/app/tasks.segments/_tree.segment.rsc +5 -4
- package/.next/server/app/tasks.segments/tasks/__PAGE__.segment.rsc +4 -4
- package/.next/server/app/tasks.segments/tasks.segment.rsc +3 -3
- package/.next/server/app-paths-manifest.json +0 -1
- package/.next/server/chunks/00jm_next_dist_0ju_ux9._.js +1 -1
- package/.next/server/chunks/00jm_next_dist_0ju_ux9._.js.map +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__030vg4n._.js +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__030vg4n._.js.map +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__04gz75y._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__04gz75y._.js.map +1 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__05kf31s._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__05kf31s._.js.map +1 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__096ytyk._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__096ytyk._.js.map +1 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__0fhoq8i._.js +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__0fhoq8i._.js.map +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__0u4-66w._.js +8 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__0u4-66w._.js.map +1 -0
- package/.next/server/chunks/ssr/agent-network-dashboard_09kk21a._.js +3 -3
- package/.next/server/chunks/ssr/agent-network-dashboard_09kk21a._.js.map +1 -1
- package/.next/server/chunks/ssr/agent-network-dashboard_app_01jhlxz._.js +1 -1
- package/.next/server/chunks/ssr/agent-network-dashboard_app_01jhlxz._.js.map +1 -1
- package/.next/server/chunks/ssr/agent-network-dashboard_app_09d29my._.js +1 -1
- package/.next/server/chunks/ssr/agent-network-dashboard_app_09d29my._.js.map +1 -1
- package/.next/server/chunks/ssr/agent-network-dashboard_app_0_870i8._.js +3 -0
- package/.next/server/chunks/ssr/agent-network-dashboard_app_0_870i8._.js.map +1 -0
- package/.next/server/chunks/ssr/agent-network-dashboard_app_0_d45-d._.js +1 -1
- package/.next/server/chunks/ssr/agent-network-dashboard_app_0_d45-d._.js.map +1 -1
- package/.next/server/chunks/ssr/agent-network-dashboard_app_0fjlnh~._.js +3 -0
- package/.next/server/chunks/ssr/agent-network-dashboard_app_0fjlnh~._.js.map +1 -0
- package/.next/server/chunks/ssr/agent-network-dashboard_app_0gd.4pc._.js +9 -0
- package/.next/server/chunks/ssr/agent-network-dashboard_app_0gd.4pc._.js.map +1 -0
- package/.next/server/chunks/ssr/agent-network-dashboard_app_0wn4jc5._.js +3 -0
- package/.next/server/chunks/ssr/agent-network-dashboard_app_0wn4jc5._.js.map +1 -0
- package/.next/server/chunks/ssr/agent-network-dashboard_app_0xgney8._.js +1 -1
- package/.next/server/chunks/ssr/agent-network-dashboard_app_0xgney8._.js.map +1 -1
- package/.next/server/chunks/ssr/agent-network-dashboard_app_10hjgv4._.js +1 -1
- package/.next/server/chunks/ssr/agent-network-dashboard_app_10hjgv4._.js.map +1 -1
- package/.next/server/chunks/ssr/agent-network-dashboard_app_12l4oto._.js +1 -1
- package/.next/server/chunks/ssr/agent-network-dashboard_app_12l4oto._.js.map +1 -1
- package/.next/server/chunks/ssr/agent-network-dashboard_app_components_0r7kb.o._.js +9 -0
- package/.next/server/chunks/ssr/agent-network-dashboard_app_components_0r7kb.o._.js.map +1 -0
- package/.next/server/chunks/ssr/agent-network-dashboard_app_servers_page_tsx_0jib5qm._.js +1 -1
- package/.next/server/chunks/ssr/agent-network-dashboard_app_servers_page_tsx_0jib5qm._.js.map +1 -1
- package/.next/server/chunks/ssr/agent-network-dashboard_app_tasks_page_tsx_0mwxy4z._.js +1 -1
- package/.next/server/chunks/ssr/agent-network-dashboard_app_tasks_page_tsx_0mwxy4z._.js.map +1 -1
- package/.next/server/middleware-build-manifest.js +3 -3
- package/.next/server/next-font-manifest.js +1 -1
- package/.next/server/next-font-manifest.json +30 -15
- package/.next/server/pages/404.html +4 -4
- package/.next/server/pages/500.html +1 -1
- package/.next/server/server-reference-manifest.js +1 -1
- package/.next/server/server-reference-manifest.json +1 -1
- package/.next/static/chunks/{0jp~cs9-zkmqa.js → 00b4y77vxfabl.js} +1 -1
- package/.next/static/chunks/00y0qgigxb62-.js +1 -0
- package/.next/static/chunks/049vx3qljs1tt.js +1 -0
- package/.next/static/chunks/04cf.98_cyxen.js +1 -0
- package/.next/static/chunks/066jf0nk75nic.css +2 -0
- package/.next/static/chunks/07sj5zwg46-5~.css +1 -0
- package/.next/static/chunks/0_bn~gcrgo.4n.js +1 -0
- package/.next/static/chunks/0g4d-_fi-d9hg.js +1 -0
- package/.next/static/chunks/0t4lpxu4ny9-3.js +1 -0
- package/.next/static/chunks/0vgrwqsgja19l.js +1 -0
- package/.next/static/chunks/0wz0122ym_gr3.js +1 -0
- package/.next/static/chunks/0xxx7yeapw~2a.js +1 -0
- package/.next/static/chunks/0y5gol09tlu63.js +1 -0
- package/.next/static/chunks/143g3n8za083f.js +7 -0
- package/.next/static/chunks/149a4l50_3vw-.js +7 -0
- package/.next/static/chunks/14lac~_cpjlh..js +1 -0
- package/.next/static/chunks/152_p6jt7txp6.js +1 -0
- package/.next/static/chunks/165v74i3j-wk0.js +1 -0
- package/.next/static/chunks/16glr1c4nc85n.js +4 -0
- package/.next/static/chunks/17-7ama~oijou.js +1 -0
- package/.next/static/media/4fa387ec64143e14-s.0wkzw~je483f-.woff2 +0 -0
- package/.next/static/media/53b9e256198e5412-s.0-wfv7uh4i7h9.woff2 +0 -0
- package/.next/static/media/5ce348bf30bf5439-s.0zgw-jeven.3w.woff2 +0 -0
- package/.next/static/media/6306c77e7c8268e4-s.0rhz0arwfsn~5.woff2 +0 -0
- package/.next/static/media/7178b3e590c64307-s.0nx0ww8fni_q3.woff2 +0 -0
- package/.next/static/media/797e433ab948586e-s.p.08e28id.o-okb.woff2 +0 -0
- package/.next/static/media/7d817b4c03b0c5f1-s.0l76wvqk9d84w.woff2 +0 -0
- package/.next/static/media/8a480f0b521d4e75-s.0jzbimsg8vl84.woff2 +0 -0
- package/.next/static/media/bbc41e54d2fcbd21-s.0k4k9394f2q-k.woff2 +0 -0
- package/.next/static/media/caa3a2e1cccd8315-s.p.09~u27dqhyhd6.woff2 +0 -0
- package/.next/static/media/fef07dbb0973bf53-s.12tyk43_3sh9u.woff2 +0 -0
- package/.next/trace +2 -2
- package/.next/trace-build +1 -1
- package/.next/types/routes.d.ts +1 -2
- package/.next/types/validator.ts +0 -9
- package/app/admin/page.tsx +53 -38
- package/app/components/AgentCard.tsx +38 -17
- package/app/components/AppShell.tsx +7 -1
- package/app/components/ChatPopover.tsx +1 -1
- package/app/components/CollapsibleSearch.tsx +127 -0
- package/app/components/CommandCenter.tsx +14 -4
- package/app/components/CommandPalette.tsx +6 -6
- package/app/components/DispatchPanel.tsx +13 -10
- package/app/components/EmptyState.tsx +11 -4
- package/app/components/HealthBanner.tsx +28 -4
- package/app/components/HelpOverlay.tsx +4 -7
- package/app/components/LoadingSkeleton.tsx +31 -21
- package/app/components/MobileNav.tsx +28 -21
- package/app/components/Sidebar.tsx +30 -23
- package/app/components/StatsBar.tsx +40 -42
- package/app/components/TaskChatPanel.tsx +19 -5
- package/app/components/TaskDrawer.tsx +9 -7
- package/app/components/ThemeSwitcher.tsx +15 -79
- package/app/components/TopoGraph.tsx +31 -21
- package/app/components/UserBar.tsx +5 -5
- package/app/globals.css +1757 -1776
- package/app/layout.tsx +37 -4
- package/app/lib/hooks.ts +0 -5
- package/app/lib/status.ts +24 -17
- package/app/login/page.tsx +7 -7
- package/app/logs/page.tsx +12 -6
- package/app/manifest.ts +2 -2
- package/app/messages/page.tsx +84 -57
- package/app/node/page.tsx +27 -17
- package/app/nodes/page.tsx +62 -49
- package/app/page.tsx +40 -269
- package/app/server-logs/page.tsx +40 -14
- package/app/servers/page.tsx +33 -12
- package/app/settings/networks/page.tsx +17 -15
- package/app/settings/page.tsx +90 -95
- package/app/settings/tokens/page.tsx +5 -5
- package/app/tasks/[id]/page.tsx +10 -10
- package/app/tasks/page.tsx +58 -34
- package/bin/start.js +0 -0
- package/package.json +1 -1
- package/public/favicon.svg +1 -1
- package/public/manifest.webmanifest +24 -0
- package/public/robots.txt +7 -0
- package/.next/server/app/api/hub/license/route/app-paths-manifest.json +0 -3
- package/.next/server/app/api/hub/license/route/build-manifest.json +0 -9
- package/.next/server/app/api/hub/license/route/server-reference-manifest.json +0 -4
- package/.next/server/app/api/hub/license/route.js +0 -7
- package/.next/server/app/api/hub/license/route.js.map +0 -5
- package/.next/server/app/api/hub/license/route.js.nft.json +0 -1
- package/.next/server/app/api/hub/license/route_client-reference-manifest.js +0 -3
- package/.next/server/chunks/0ykm__next-internal_server_app_api_hub_license_route_actions_0a4.fuh.js +0 -3
- package/.next/server/chunks/0ykm__next-internal_server_app_api_hub_license_route_actions_0a4.fuh.js.map +0 -1
- package/.next/server/chunks/[root-of-the-server]__0rovr5-._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__0rovr5-._.js.map +0 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__0lu1wok._.js +0 -8
- package/.next/server/chunks/ssr/[root-of-the-server]__0lu1wok._.js.map +0 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__0nw~zhp._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__0nw~zhp._.js.map +0 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__0sv~g.o._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__0sv~g.o._.js.map +0 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__11fu-5m._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__11fu-5m._.js.map +0 -1
- package/.next/server/chunks/ssr/agent-network-dashboard_app_057q.ne._.js +0 -3
- package/.next/server/chunks/ssr/agent-network-dashboard_app_057q.ne._.js.map +0 -1
- package/.next/server/chunks/ssr/agent-network-dashboard_app_0i3759l._.js +0 -3
- package/.next/server/chunks/ssr/agent-network-dashboard_app_0i3759l._.js.map +0 -1
- package/.next/server/chunks/ssr/agent-network-dashboard_app_1153xeb._.js +0 -9
- package/.next/server/chunks/ssr/agent-network-dashboard_app_1153xeb._.js.map +0 -1
- package/.next/server/chunks/ssr/agent-network-dashboard_app_components_0s5uqlp._.js +0 -9
- package/.next/server/chunks/ssr/agent-network-dashboard_app_components_0s5uqlp._.js.map +0 -1
- package/.next/server/chunks/ssr/agent-network-dashboard_app_server-logs_page_tsx_0dg.l_8._.js +0 -3
- package/.next/server/chunks/ssr/agent-network-dashboard_app_server-logs_page_tsx_0dg.l_8._.js.map +0 -1
- package/.next/static/chunks/0-mpa_947ipeq.js +0 -1
- package/.next/static/chunks/0.t1evm65itbw.js +0 -1
- package/.next/static/chunks/03~5pxwbxxw-b.js +0 -1
- package/.next/static/chunks/04~fkia6-79k3.js +0 -1
- package/.next/static/chunks/0561vp5-q5.zp.js +0 -1
- package/.next/static/chunks/05uk96gc~9mni.js +0 -1
- package/.next/static/chunks/0a.9~-nf0gpec.js +0 -1
- package/.next/static/chunks/0az0wa3gxme68.js +0 -1
- package/.next/static/chunks/0dq6wv-e0vk_o.css +0 -1
- package/.next/static/chunks/0gi_03g-uxj0r.js +0 -1
- package/.next/static/chunks/0im751o4n61c7.js +0 -1
- package/.next/static/chunks/0inql3s9ldyx5.js +0 -1
- package/.next/static/chunks/0ku0fjqlm9mca.js +0 -1
- package/.next/static/chunks/0nqm.7w9_inwd.js +0 -7
- package/.next/static/chunks/13yktdzuatx3d.js +0 -1
- package/.next/static/chunks/15-ltfhot3b4n.js +0 -7
- package/.next/static/chunks/15qxef.ilfysw.js +0 -4
- package/.next/static/chunks/17sxlwlx5fhrp.css +0 -1
- package/.next/static/chunks/181u38qblp8lz.js +0 -1
- package/.next/static/media/4fa387ec64143e14-s.0.qu-9752pffj.woff2 +0 -0
- package/.next/static/media/5ce348bf30bf5439-s.0ee55_hj9qcer.woff2 +0 -0
- package/.next/static/media/6306c77e7c8268e4-s.0mao5jbfbduzp.woff2 +0 -0
- package/.next/static/media/797e433ab948586e-s.p.09zddjkbdep5a.woff2 +0 -0
- package/.next/static/media/7d817b4c03b0c5f1-s.0uzt.a6d44yda.woff2 +0 -0
- package/.next/static/media/bbc41e54d2fcbd21-s.0mvwgmnhv29no.woff2 +0 -0
- package/app/api/hub/license/route.ts +0 -33
- package/app/components/BroadcastBar.tsx +0 -84
- package/app/components/InboxPanel.tsx +0 -36
- /package/.next/static/{e-lUTefNl8edrYCV4yWtG → 2dHfsg3G4Q4tXXzlz3hFv}/_buildManifest.js +0 -0
- /package/.next/static/{e-lUTefNl8edrYCV4yWtG → 2dHfsg3G4Q4tXXzlz3hFv}/_clientMiddlewareManifest.js +0 -0
- /package/.next/static/{e-lUTefNl8edrYCV4yWtG → 2dHfsg3G4Q4tXXzlz3hFv}/_ssgManifest.js +0 -0
package/.next/trace
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
[{"name":"generate-buildid","duration":398,"timestamp":1992004878543,"id":4,"parentId":1,"tags":{},"startTime":1780799977125,"traceId":"2f4a1f4ab942d75c"},{"name":"load-custom-routes","duration":695,"timestamp":1992004879202,"id":5,"parentId":1,"tags":{},"startTime":1780799977125,"traceId":"2f4a1f4ab942d75c"},{"name":"create-dist-dir","duration":1191,"timestamp":1992004879961,"id":6,"parentId":1,"tags":{},"startTime":1780799977126,"traceId":"2f4a1f4ab942d75c"},{"name":"clean","duration":67079,"timestamp":1992004882070,"id":7,"parentId":1,"tags":{},"startTime":1780799977128,"traceId":"2f4a1f4ab942d75c"},{"name":"discover-routes","duration":38737,"timestamp":1992005141015,"id":8,"parentId":1,"tags":{},"startTime":1780799977387,"traceId":"2f4a1f4ab942d75c"},{"name":"create-root-mapping","duration":195,"timestamp":1992005179838,"id":9,"parentId":1,"tags":{},"startTime":1780799977426,"traceId":"2f4a1f4ab942d75c"},{"name":"generate-route-types","duration":84381,"timestamp":1992005183916,"id":10,"parentId":1,"tags":{},"startTime":1780799977430,"traceId":"2f4a1f4ab942d75c"},{"name":"public-dir-conflict-check","duration":132,"timestamp":1992005268423,"id":11,"parentId":1,"tags":{},"startTime":1780799977515,"traceId":"2f4a1f4ab942d75c"},{"name":"generate-routes-manifest","duration":19622,"timestamp":1992005268735,"id":12,"parentId":1,"tags":{},"startTime":1780799977515,"traceId":"2f4a1f4ab942d75c"},{"name":"run-turbopack","duration":61878259,"timestamp":1992005308993,"id":14,"parentId":1,"tags":{},"startTime":1780799977555,"traceId":"2f4a1f4ab942d75c"},{"name":"turbopack-build-events","duration":126,"timestamp":1992006157401,"id":15,"parentId":1,"tags":{},"startTime":1780799978404,"traceId":"2f4a1f4ab942d75c"},{"name":"run-typescript","duration":44080276,"timestamp":1992067230064,"id":16,"parentId":1,"tags":{},"startTime":1780800039476,"traceId":"2f4a1f4ab942d75c"},{"name":"generate-required-server-files","duration":17824,"timestamp":1992111314732,"id":18,"parentId":1,"tags":{},"startTime":1780800083561,"traceId":"2f4a1f4ab942d75c"},{"name":"check-static-error-page","duration":33999,"timestamp":1992112369580,"id":20,"parentId":19,"tags":{},"startTime":1780800084616,"traceId":"2f4a1f4ab942d75c"},{"name":"is-page-static","duration":2725363,"timestamp":1992112431491,"id":73,"parentId":29,"tags":{},"startTime":1780800084678,"traceId":"2f4a1f4ab942d75c"},{"name":"check-page","duration":2776061,"timestamp":1992112380979,"id":29,"parentId":19,"tags":{"page":"/api/hub/auth"},"startTime":1780800084627,"traceId":"2f4a1f4ab942d75c"},{"name":"is-page-static","duration":2768419,"timestamp":1992112431695,"id":74,"parentId":30,"tags":{},"startTime":1780800084678,"traceId":"2f4a1f4ab942d75c"},{"name":"check-page","duration":2819045,"timestamp":1992112381165,"id":30,"parentId":19,"tags":{"page":"/api/hub/broadcast"},"startTime":1780800084627,"traceId":"2f4a1f4ab942d75c"},{"name":"is-page-static","duration":2858731,"timestamp":1992112431764,"id":75,"parentId":32,"tags":{},"startTime":1780800084678,"traceId":"2f4a1f4ab942d75c"},{"name":"check-page","duration":2908186,"timestamp":1992112382389,"id":32,"parentId":19,"tags":{"page":"/api/hub/health"},"startTime":1780800084629,"traceId":"2f4a1f4ab942d75c"},{"name":"is-page-static","duration":2920839,"timestamp":1992112429553,"id":68,"parentId":22,"tags":{},"startTime":1780800084676,"traceId":"2f4a1f4ab942d75c"},{"name":"check-page","duration":2973987,"timestamp":1992112376495,"id":22,"parentId":19,"tags":{"page":"/_global-error"},"startTime":1780800084623,"traceId":"2f4a1f4ab942d75c"},{"name":"is-page-static","duration":2918687,"timestamp":1992112431983,"id":76,"parentId":33,"tags":{},"startTime":1780800084678,"traceId":"2f4a1f4ab942d75c"},{"name":"check-page","duration":2968191,"timestamp":1992112382518,"id":33,"parentId":19,"tags":{"page":"/api/hub/inbox"},"startTime":1780800084629,"traceId":"2f4a1f4ab942d75c"},{"name":"is-page-static","duration":2969243,"timestamp":1992112432116,"id":78,"parentId":35,"tags":{},"startTime":1780800084678,"traceId":"2f4a1f4ab942d75c"},{"name":"check-page","duration":3018712,"timestamp":1992112382724,"id":35,"parentId":19,"tags":{"page":"/api/hub/messages"},"startTime":1780800084629,"traceId":"2f4a1f4ab942d75c"},{"name":"is-page-static","duration":2991976,"timestamp":1992112432131,"id":79,"parentId":36,"tags":{},"startTime":1780800084678,"traceId":"2f4a1f4ab942d75c"},{"name":"check-page","duration":3040996,"timestamp":1992112383210,"id":36,"parentId":19,"tags":{"page":"/api/hub/networks"},"startTime":1780800084629,"traceId":"2f4a1f4ab942d75c"},{"name":"is-page-static","duration":2993120,"timestamp":1992112431332,"id":72,"parentId":28,"tags":{},"startTime":1780800084678,"traceId":"2f4a1f4ab942d75c"},{"name":"check-page","duration":3043628,"timestamp":1992112380864,"id":28,"parentId":19,"tags":{"page":"/api/hub/audit-log"},"startTime":1780800084627,"traceId":"2f4a1f4ab942d75c"},{"name":"is-page-static","duration":3003404,"timestamp":1992112432170,"id":80,"parentId":37,"tags":{},"startTime":1780800084678,"traceId":"2f4a1f4ab942d75c"},{"name":"check-page","duration":3052257,"timestamp":1992112383378,"id":37,"parentId":19,"tags":{"page":"/api/hub/nodes"},"startTime":1780800084630,"traceId":"2f4a1f4ab942d75c"},{"name":"is-page-static","duration":3012905,"timestamp":1992112432201,"id":82,"parentId":39,"tags":{},"startTime":1780800084678,"traceId":"2f4a1f4ab942d75c"},{"name":"check-page","duration":3061580,"timestamp":1992112383588,"id":39,"parentId":19,"tags":{"page":"/api/hub/send"},"startTime":1780800084630,"traceId":"2f4a1f4ab942d75c"},{"name":"is-page-static","duration":3076288,"timestamp":1992112432211,"id":83,"parentId":40,"tags":{},"startTime":1780800084678,"traceId":"2f4a1f4ab942d75c"},{"name":"check-page","duration":3123751,"timestamp":1992112384826,"id":40,"parentId":19,"tags":{"page":"/api/hub/server-logs"},"startTime":1780800084631,"traceId":"2f4a1f4ab942d75c"},{"name":"is-page-static","duration":3100923,"timestamp":1992112432187,"id":81,"parentId":38,"tags":{},"startTime":1780800084678,"traceId":"2f4a1f4ab942d75c"},{"name":"check-page","duration":3149703,"timestamp":1992112383500,"id":38,"parentId":19,"tags":{"page":"/api/hub/register"},"startTime":1780800084630,"traceId":"2f4a1f4ab942d75c"},{"name":"is-page-static","duration":3179310,"timestamp":1992112432225,"id":84,"parentId":42,"tags":{},"startTime":1780800084678,"traceId":"2f4a1f4ab942d75c"},{"name":"check-page","duration":3225873,"timestamp":1992112385755,"id":42,"parentId":19,"tags":{"page":"/api/hub/server/[hostname]/health"},"startTime":1780800084632,"traceId":"2f4a1f4ab942d75c"},{"name":"is-page-static","duration":3209160,"timestamp":1992112432247,"id":86,"parentId":45,"tags":{},"startTime":1780800084679,"traceId":"2f4a1f4ab942d75c"},{"name":"check-page","duration":3255080,"timestamp":1992112386400,"id":45,"parentId":19,"tags":{"page":"/api/hub/stats"},"startTime":1780800084633,"traceId":"2f4a1f4ab942d75c"},{"name":"is-page-static","duration":3238111,"timestamp":1992112432238,"id":85,"parentId":44,"tags":{},"startTime":1780800084679,"traceId":"2f4a1f4ab942d75c"},{"name":"check-page","duration":3284161,"timestamp":1992112386261,"id":44,"parentId":19,"tags":{"page":"/api/hub/session"},"startTime":1780800084633,"traceId":"2f4a1f4ab942d75c"},{"name":"is-page-static","duration":3248041,"timestamp":1992112432259,"id":87,"parentId":46,"tags":{},"startTime":1780800084679,"traceId":"2f4a1f4ab942d75c"},{"name":"check-page","duration":3293864,"timestamp":1992112386506,"id":46,"parentId":19,"tags":{"page":"/api/hub/status"},"startTime":1780800084633,"traceId":"2f4a1f4ab942d75c"},{"name":"is-page-static","duration":3255003,"timestamp":1992112432273,"id":88,"parentId":47,"tags":{},"startTime":1780800084679,"traceId":"2f4a1f4ab942d75c"},{"name":"check-page","duration":3300745,"timestamp":1992112386613,"id":47,"parentId":19,"tags":{"page":"/api/hub/task-events"},"startTime":1780800084633,"traceId":"2f4a1f4ab942d75c"},{"name":"is-page-static","duration":3275528,"timestamp":1992112432287,"id":89,"parentId":48,"tags":{},"startTime":1780800084679,"traceId":"2f4a1f4ab942d75c"},{"name":"check-page","duration":3321407,"timestamp":1992112386707,"id":48,"parentId":19,"tags":{"page":"/api/hub/tasks"},"startTime":1780800084633,"traceId":"2f4a1f4ab942d75c"},{"name":"is-page-static","duration":3280850,"timestamp":1992112432297,"id":90,"parentId":49,"tags":{},"startTime":1780800084679,"traceId":"2f4a1f4ab942d75c"},{"name":"check-page","duration":3326545,"timestamp":1992112386820,"id":49,"parentId":19,"tags":{"page":"/api/hub/tmux"},"startTime":1780800084633,"traceId":"2f4a1f4ab942d75c"},{"name":"is-page-static","duration":3299928,"timestamp":1992112432327,"id":92,"parentId":51,"tags":{},"startTime":1780800084679,"traceId":"2f4a1f4ab942d75c"},{"name":"check-page","duration":3343153,"timestamp":1992112389157,"id":51,"parentId":19,"tags":{"page":"/api/hub/upload"},"startTime":1780800084635,"traceId":"2f4a1f4ab942d75c"},{"name":"is-page-static","duration":3321974,"timestamp":1992112432312,"id":91,"parentId":50,"tags":{},"startTime":1780800084679,"traceId":"2f4a1f4ab942d75c"},{"name":"check-page","duration":3365389,"timestamp":1992112388958,"id":50,"parentId":19,"tags":{"page":"/api/hub/tokens"},"startTime":1780800084635,"traceId":"2f4a1f4ab942d75c"},{"name":"is-page-static","duration":3353708,"timestamp":1992112432348,"id":94,"parentId":55,"tags":{},"startTime":1780800084679,"traceId":"2f4a1f4ab942d75c"},{"name":"check-page","duration":3395905,"timestamp":1992112390216,"id":55,"parentId":19,"tags":{"page":"/manifest.webmanifest"},"startTime":1780800084636,"traceId":"2f4a1f4ab942d75c"},{"name":"is-page-static","duration":3344683,"timestamp":1992112464513,"id":95,"parentId":24,"tags":{},"startTime":1780800084711,"traceId":"2f4a1f4ab942d75c"},{"name":"check-page","duration":3432164,"timestamp":1992112377104,"id":24,"parentId":19,"tags":{"page":"/api/anet/config"},"startTime":1780800084623,"traceId":"2f4a1f4ab942d75c"},{"name":"is-page-static","duration":3381470,"timestamp":1992112465744,"id":96,"parentId":31,"tags":{},"startTime":1780800084712,"traceId":"2f4a1f4ab942d75c"},{"name":"check-page","duration":3465222,"timestamp":1992112382067,"id":31,"parentId":19,"tags":{"page":"/api/hub/events"},"startTime":1780800084628,"traceId":"2f4a1f4ab942d75c"},{"name":"is-page-static","duration":3415134,"timestamp":1992112432336,"id":93,"parentId":52,"tags":{},"startTime":1780800084679,"traceId":"2f4a1f4ab942d75c"},{"name":"check-page","duration":3458202,"timestamp":1992112389310,"id":52,"parentId":19,"tags":{"page":"/favicon.ico"},"startTime":1780800084636,"traceId":"2f4a1f4ab942d75c"},{"name":"is-page-static","duration":3432223,"timestamp":1992112429751,"id":69,"parentId":25,"tags":{},"startTime":1780800084676,"traceId":"2f4a1f4ab942d75c"},{"name":"check-page","duration":3481606,"timestamp":1992112380439,"id":25,"parentId":19,"tags":{"page":"/api/auth/login"},"startTime":1780800084627,"traceId":"2f4a1f4ab942d75c"},{"name":"is-page-static","duration":3388467,"timestamp":1992112473734,"id":97,"parentId":41,"tags":{},"startTime":1780800084720,"traceId":"2f4a1f4ab942d75c"},{"name":"check-page","duration":3477290,"timestamp":1992112384949,"id":41,"parentId":19,"tags":{"page":"/api/hub/server/[hostname]/agents"},"startTime":1780800084631,"traceId":"2f4a1f4ab942d75c"},{"name":"is-page-static","duration":3432090,"timestamp":1992112474791,"id":98,"parentId":43,"tags":{},"startTime":1780800084721,"traceId":"2f4a1f4ab942d75c"},{"name":"check-page","duration":3521063,"timestamp":1992112385915,"id":43,"parentId":19,"tags":{"page":"/api/hub/servers"},"startTime":1780800084632,"traceId":"2f4a1f4ab942d75c"},{"name":"is-page-static","duration":3605437,"timestamp":1992112429987,"id":71,"parentId":27,"tags":{},"startTime":1780800084676,"traceId":"2f4a1f4ab942d75c"},{"name":"check-page","duration":3654774,"timestamp":1992112380736,"id":27,"parentId":19,"tags":{"page":"/api/auth/v3"},"startTime":1780800084627,"traceId":"2f4a1f4ab942d75c"},{"name":"is-page-static","duration":3631245,"timestamp":1992112552751,"id":100,"parentId":53,"tags":{},"startTime":1780800084799,"traceId":"2f4a1f4ab942d75c"},{"name":"check-page","duration":3794332,"timestamp":1992112389765,"id":53,"parentId":19,"tags":{"page":"/login"},"startTime":1780800084636,"traceId":"2f4a1f4ab942d75c"},{"name":"is-page-static","duration":3696329,"timestamp":1992112552793,"id":103,"parentId":57,"tags":{},"startTime":1780800084799,"traceId":"2f4a1f4ab942d75c"},{"name":"check-page","duration":3852488,"timestamp":1992112396734,"id":57,"parentId":19,"tags":{"page":"/node"},"startTime":1780800084643,"traceId":"2f4a1f4ab942d75c"},{"name":"is-page-static","duration":3831703,"timestamp":1992112429876,"id":70,"parentId":26,"tags":{},"startTime":1780800084676,"traceId":"2f4a1f4ab942d75c"},{"name":"check-page","duration":3881044,"timestamp":1992112380617,"id":26,"parentId":19,"tags":{"page":"/api/auth/logout"},"startTime":1780800084627,"traceId":"2f4a1f4ab942d75c"},{"name":"is-page-static","duration":3714139,"timestamp":1992112552695,"id":99,"parentId":23,"tags":{},"startTime":1780800084799,"traceId":"2f4a1f4ab942d75c"},{"name":"check-page","duration":3890110,"timestamp":1992112376806,"id":23,"parentId":19,"tags":{"page":"/admin"},"startTime":1780800084623,"traceId":"2f4a1f4ab942d75c"},{"name":"is-page-static","duration":3714439,"timestamp":1992112552929,"id":104,"parentId":58,"tags":{},"startTime":1780800084799,"traceId":"2f4a1f4ab942d75c"},{"name":"check-page","duration":3870444,"timestamp":1992112396981,"id":58,"parentId":19,"tags":{"page":"/nodes"},"startTime":1780800084643,"traceId":"2f4a1f4ab942d75c"},{"name":"is-page-static","duration":3887961,"timestamp":1992112432086,"id":77,"parentId":34,"tags":{},"startTime":1780800084678,"traceId":"2f4a1f4ab942d75c"},{"name":"check-page","duration":3937524,"timestamp":1992112382626,"id":34,"parentId":19,"tags":{"page":"/api/hub/license"},"startTime":1780800084629,"traceId":"2f4a1f4ab942d75c"},{"name":"is-page-static","duration":3782577,"timestamp":1992112552768,"id":101,"parentId":54,"tags":{},"startTime":1780800084799,"traceId":"2f4a1f4ab942d75c"},{"name":"check-page","duration":3945453,"timestamp":1992112389963,"id":54,"parentId":19,"tags":{"page":"/logs"},"startTime":1780800084636,"traceId":"2f4a1f4ab942d75c"},{"name":"is-page-static","duration":3788510,"timestamp":1992112552975,"id":107,"parentId":62,"tags":{},"startTime":1780800084799,"traceId":"2f4a1f4ab942d75c"},{"name":"check-page","duration":3941212,"timestamp":1992112400326,"id":62,"parentId":19,"tags":{"page":"/settings/networks"},"startTime":1780800084647,"traceId":"2f4a1f4ab942d75c"},{"name":"is-page-static","duration":3796216,"timestamp":1992112553029,"id":110,"parentId":66,"tags":{},"startTime":1780800084799,"traceId":"2f4a1f4ab942d75c"},{"name":"check-page","duration":3946014,"timestamp":1992112403280,"id":66,"parentId":19,"tags":{"page":"/tasks"},"startTime":1780800084650,"traceId":"2f4a1f4ab942d75c"},{"name":"is-page-static","duration":3807030,"timestamp":1992112553044,"id":111,"parentId":63,"tags":{},"startTime":1780800084799,"traceId":"2f4a1f4ab942d75c"},{"name":"check-page","duration":3957729,"timestamp":1992112402408,"id":63,"parentId":19,"tags":{"page":"/settings"},"startTime":1780800084649,"traceId":"2f4a1f4ab942d75c"},{"name":"is-page-static","duration":3822345,"timestamp":1992112552961,"id":106,"parentId":61,"tags":{},"startTime":1780800084799,"traceId":"2f4a1f4ab942d75c"},{"name":"check-page","duration":3975190,"timestamp":1992112400165,"id":61,"parentId":19,"tags":{"page":"/servers"},"startTime":1780800084646,"traceId":"2f4a1f4ab942d75c"},{"name":"is-page-static","duration":3730682,"timestamp":1992112645951,"id":112,"parentId":59,"tags":{},"startTime":1780800084892,"traceId":"2f4a1f4ab942d75c"},{"name":"check-page","duration":3979201,"timestamp":1992112397477,"id":59,"parentId":19,"tags":{"page":"/"},"startTime":1780800084644,"traceId":"2f4a1f4ab942d75c"},{"name":"is-page-static","duration":3825338,"timestamp":1992112552998,"id":109,"parentId":65,"tags":{},"startTime":1780800084799,"traceId":"2f4a1f4ab942d75c"},{"name":"check-page","duration":3975282,"timestamp":1992112403105,"id":65,"parentId":19,"tags":{"page":"/tasks/[id]"},"startTime":1780800084649,"traceId":"2f4a1f4ab942d75c"},{"name":"is-page-static","duration":3932076,"timestamp":1992112552779,"id":102,"parentId":56,"tags":{},"startTime":1780800084799,"traceId":"2f4a1f4ab942d75c"},{"name":"check-page","duration":4088466,"timestamp":1992112396471,"id":56,"parentId":19,"tags":{"page":"/messages"},"startTime":1780800084643,"traceId":"2f4a1f4ab942d75c"},{"name":"is-page-static","duration":4027659,"timestamp":1992112552951,"id":105,"parentId":60,"tags":{},"startTime":1780800084799,"traceId":"2f4a1f4ab942d75c"}]
|
|
2
|
-
[{"name":"check-page","duration":
|
|
1
|
+
[{"name":"generate-buildid","duration":252,"timestamp":2260978347447,"id":4,"parentId":1,"tags":{},"startTime":1781068950594,"traceId":"f897edea9b4c8b59"},{"name":"load-custom-routes","duration":592,"timestamp":2260978347850,"id":5,"parentId":1,"tags":{},"startTime":1781068950594,"traceId":"f897edea9b4c8b59"},{"name":"create-dist-dir","duration":923,"timestamp":2260978348508,"id":6,"parentId":1,"tags":{},"startTime":1781068950595,"traceId":"f897edea9b4c8b59"},{"name":"clean","duration":35992,"timestamp":2260978350153,"id":7,"parentId":1,"tags":{},"startTime":1781068950596,"traceId":"f897edea9b4c8b59"},{"name":"discover-routes","duration":29691,"timestamp":2260978487959,"id":8,"parentId":1,"tags":{},"startTime":1781068950734,"traceId":"f897edea9b4c8b59"},{"name":"create-root-mapping","duration":153,"timestamp":2260978517720,"id":9,"parentId":1,"tags":{},"startTime":1781068950764,"traceId":"f897edea9b4c8b59"},{"name":"generate-route-types","duration":27805,"timestamp":2260978520522,"id":10,"parentId":1,"tags":{},"startTime":1781068950767,"traceId":"f897edea9b4c8b59"},{"name":"public-dir-conflict-check","duration":132,"timestamp":2260978548470,"id":11,"parentId":1,"tags":{},"startTime":1781068950795,"traceId":"f897edea9b4c8b59"},{"name":"generate-routes-manifest","duration":6193,"timestamp":2260978548781,"id":12,"parentId":1,"tags":{},"startTime":1781068950795,"traceId":"f897edea9b4c8b59"},{"name":"run-turbopack","duration":13122951,"timestamp":2260978571971,"id":14,"parentId":1,"tags":{},"startTime":1781068950818,"traceId":"f897edea9b4c8b59"},{"name":"turbopack-build-events","duration":120,"timestamp":2260978929909,"id":15,"parentId":1,"tags":{},"startTime":1781068951176,"traceId":"f897edea9b4c8b59"},{"name":"run-typescript","duration":10882737,"timestamp":2260991705226,"id":16,"parentId":1,"tags":{},"startTime":1781068963952,"traceId":"f897edea9b4c8b59"},{"name":"generate-required-server-files","duration":3058,"timestamp":2261002589490,"id":18,"parentId":1,"tags":{},"startTime":1781068974836,"traceId":"f897edea9b4c8b59"},{"name":"check-static-error-page","duration":14533,"timestamp":2261002819082,"id":20,"parentId":19,"tags":{},"startTime":1781068975065,"traceId":"f897edea9b4c8b59"},{"name":"is-page-static","duration":507306,"timestamp":2261002837640,"id":67,"parentId":22,"tags":{},"startTime":1781068975084,"traceId":"f897edea9b4c8b59"},{"name":"check-page","duration":522575,"timestamp":2261002822582,"id":22,"parentId":19,"tags":{"page":"/_global-error"},"startTime":1781068975069,"traceId":"f897edea9b4c8b59"},{"name":"is-page-static","duration":559023,"timestamp":2261002838831,"id":70,"parentId":27,"tags":{},"startTime":1781068975085,"traceId":"f897edea9b4c8b59"},{"name":"check-page","duration":572233,"timestamp":2261002825717,"id":27,"parentId":19,"tags":{"page":"/api/auth/v3"},"startTime":1781068975072,"traceId":"f897edea9b4c8b59"},{"name":"is-page-static","duration":589198,"timestamp":2261002839421,"id":74,"parentId":32,"tags":{},"startTime":1781068975086,"traceId":"f897edea9b4c8b59"},{"name":"check-page","duration":602036,"timestamp":2261002826663,"id":32,"parentId":19,"tags":{"page":"/api/hub/health"},"startTime":1781068975073,"traceId":"f897edea9b4c8b59"},{"name":"is-page-static","duration":593536,"timestamp":2261002841678,"id":75,"parentId":33,"tags":{},"startTime":1781068975088,"traceId":"f897edea9b4c8b59"},{"name":"check-page","duration":608460,"timestamp":2261002826837,"id":33,"parentId":19,"tags":{"page":"/api/hub/inbox"},"startTime":1781068975073,"traceId":"f897edea9b4c8b59"},{"name":"is-page-static","duration":609797,"timestamp":2261002841803,"id":76,"parentId":34,"tags":{},"startTime":1781068975088,"traceId":"f897edea9b4c8b59"},{"name":"check-page","duration":624713,"timestamp":2261002826972,"id":34,"parentId":19,"tags":{"page":"/api/hub/messages"},"startTime":1781068975073,"traceId":"f897edea9b4c8b59"},{"name":"is-page-static","duration":618272,"timestamp":2261002841835,"id":77,"parentId":35,"tags":{},"startTime":1781068975088,"traceId":"f897edea9b4c8b59"},{"name":"check-page","duration":633077,"timestamp":2261002827127,"id":35,"parentId":19,"tags":{"page":"/api/hub/networks"},"startTime":1781068975073,"traceId":"f897edea9b4c8b59"},{"name":"is-page-static","duration":621383,"timestamp":2261002839093,"id":71,"parentId":28,"tags":{},"startTime":1781068975085,"traceId":"f897edea9b4c8b59"},{"name":"check-page","duration":634662,"timestamp":2261002825879,"id":28,"parentId":19,"tags":{"page":"/api/hub/audit-log"},"startTime":1781068975072,"traceId":"f897edea9b4c8b59"},{"name":"is-page-static","duration":620605,"timestamp":2261002841859,"id":78,"parentId":36,"tags":{},"startTime":1781068975088,"traceId":"f897edea9b4c8b59"},{"name":"check-page","duration":634878,"timestamp":2261002827641,"id":36,"parentId":19,"tags":{"page":"/api/hub/nodes"},"startTime":1781068975074,"traceId":"f897edea9b4c8b59"},{"name":"is-page-static","duration":625027,"timestamp":2261002841907,"id":80,"parentId":38,"tags":{},"startTime":1781068975088,"traceId":"f897edea9b4c8b59"},{"name":"check-page","duration":638989,"timestamp":2261002828028,"id":38,"parentId":19,"tags":{"page":"/api/hub/send"},"startTime":1781068975074,"traceId":"f897edea9b4c8b59"},{"name":"is-page-static","duration":625741,"timestamp":2261002841891,"id":79,"parentId":37,"tags":{},"startTime":1781068975088,"traceId":"f897edea9b4c8b59"},{"name":"check-page","duration":639811,"timestamp":2261002827873,"id":37,"parentId":19,"tags":{"page":"/api/hub/register"},"startTime":1781068975074,"traceId":"f897edea9b4c8b59"},{"name":"is-page-static","duration":629415,"timestamp":2261002841921,"id":81,"parentId":39,"tags":{},"startTime":1781068975088,"traceId":"f897edea9b4c8b59"},{"name":"check-page","duration":643220,"timestamp":2261002828164,"id":39,"parentId":19,"tags":{"page":"/api/hub/server-logs"},"startTime":1781068975074,"traceId":"f897edea9b4c8b59"},{"name":"is-page-static","duration":637724,"timestamp":2261002841949,"id":83,"parentId":43,"tags":{},"startTime":1781068975088,"traceId":"f897edea9b4c8b59"},{"name":"check-page","duration":650677,"timestamp":2261002829050,"id":43,"parentId":19,"tags":{"page":"/api/hub/session"},"startTime":1781068975075,"traceId":"f897edea9b4c8b59"},{"name":"is-page-static","duration":643255,"timestamp":2261002841959,"id":84,"parentId":44,"tags":{},"startTime":1781068975088,"traceId":"f897edea9b4c8b59"},{"name":"check-page","duration":654583,"timestamp":2261002830686,"id":44,"parentId":19,"tags":{"page":"/api/hub/stats"},"startTime":1781068975077,"traceId":"f897edea9b4c8b59"},{"name":"is-page-static","duration":649318,"timestamp":2261002841973,"id":85,"parentId":45,"tags":{},"startTime":1781068975088,"traceId":"f897edea9b4c8b59"},{"name":"check-page","duration":660531,"timestamp":2261002830811,"id":45,"parentId":19,"tags":{"page":"/api/hub/status"},"startTime":1781068975077,"traceId":"f897edea9b4c8b59"},{"name":"is-page-static","duration":657765,"timestamp":2261002837749,"id":68,"parentId":25,"tags":{},"startTime":1781068975084,"traceId":"f897edea9b4c8b59"},{"name":"check-page","duration":670151,"timestamp":2261002825410,"id":25,"parentId":19,"tags":{"page":"/api/auth/login"},"startTime":1781068975072,"traceId":"f897edea9b4c8b59"},{"name":"is-page-static","duration":660113,"timestamp":2261002841985,"id":86,"parentId":46,"tags":{},"startTime":1781068975088,"traceId":"f897edea9b4c8b59"},{"name":"check-page","duration":671224,"timestamp":2261002830940,"id":46,"parentId":19,"tags":{"page":"/api/hub/task-events"},"startTime":1781068975077,"traceId":"f897edea9b4c8b59"},{"name":"is-page-static","duration":660536,"timestamp":2261002841935,"id":82,"parentId":41,"tags":{},"startTime":1781068975088,"traceId":"f897edea9b4c8b59"},{"name":"check-page","duration":673987,"timestamp":2261002828553,"id":41,"parentId":19,"tags":{"page":"/api/hub/server/[hostname]/health"},"startTime":1781068975075,"traceId":"f897edea9b4c8b59"},{"name":"is-page-static","duration":660694,"timestamp":2261002841995,"id":87,"parentId":47,"tags":{},"startTime":1781068975088,"traceId":"f897edea9b4c8b59"},{"name":"check-page","duration":671686,"timestamp":2261002831051,"id":47,"parentId":19,"tags":{"page":"/api/hub/tasks"},"startTime":1781068975077,"traceId":"f897edea9b4c8b59"},{"name":"is-page-static","duration":666341,"timestamp":2261002842045,"id":88,"parentId":48,"tags":{},"startTime":1781068975088,"traceId":"f897edea9b4c8b59"},{"name":"check-page","duration":677275,"timestamp":2261002831157,"id":48,"parentId":19,"tags":{"page":"/api/hub/tmux"},"startTime":1781068975077,"traceId":"f897edea9b4c8b59"},{"name":"is-page-static","duration":672324,"timestamp":2261002837344,"id":66,"parentId":21,"tags":{},"startTime":1781068975084,"traceId":"f897edea9b4c8b59"},{"name":"check-page","duration":688654,"timestamp":2261002821055,"id":21,"parentId":19,"tags":{"page":"/_not-found"},"startTime":1781068975067,"traceId":"f897edea9b4c8b59"},{"name":"is-page-static","duration":672549,"timestamp":2261002839365,"id":73,"parentId":30,"tags":{},"startTime":1781068975086,"traceId":"f897edea9b4c8b59"},{"name":"check-page","duration":685739,"timestamp":2261002826221,"id":30,"parentId":19,"tags":{"page":"/api/hub/broadcast"},"startTime":1781068975072,"traceId":"f897edea9b4c8b59"},{"name":"is-page-static","duration":672547,"timestamp":2261002842087,"id":91,"parentId":51,"tags":{},"startTime":1781068975088,"traceId":"f897edea9b4c8b59"},{"name":"check-page","duration":683352,"timestamp":2261002831326,"id":51,"parentId":19,"tags":{"page":"/favicon.ico"},"startTime":1781068975078,"traceId":"f897edea9b4c8b59"},{"name":"is-page-static","duration":673843,"timestamp":2261002845590,"id":93,"parentId":24,"tags":{},"startTime":1781068975092,"traceId":"f897edea9b4c8b59"},{"name":"check-page","duration":696237,"timestamp":2261002823247,"id":24,"parentId":19,"tags":{"page":"/api/anet/config"},"startTime":1781068975070,"traceId":"f897edea9b4c8b59"},{"name":"is-page-static","duration":673928,"timestamp":2261002846775,"id":94,"parentId":31,"tags":{},"startTime":1781068975093,"traceId":"f897edea9b4c8b59"},{"name":"check-page","duration":694382,"timestamp":2261002826362,"id":31,"parentId":19,"tags":{"page":"/api/hub/events"},"startTime":1781068975073,"traceId":"f897edea9b4c8b59"},{"name":"is-page-static","duration":676389,"timestamp":2261002848789,"id":96,"parentId":42,"tags":{},"startTime":1781068975095,"traceId":"f897edea9b4c8b59"},{"name":"check-page","duration":696504,"timestamp":2261002828712,"id":42,"parentId":19,"tags":{"page":"/api/hub/servers"},"startTime":1781068975075,"traceId":"f897edea9b4c8b59"},{"name":"is-page-static","duration":683414,"timestamp":2261002847645,"id":95,"parentId":40,"tags":{},"startTime":1781068975094,"traceId":"f897edea9b4c8b59"},{"name":"check-page","duration":702830,"timestamp":2261002828280,"id":40,"parentId":19,"tags":{"page":"/api/hub/server/[hostname]/agents"},"startTime":1781068975075,"traceId":"f897edea9b4c8b59"},{"name":"is-page-static","duration":689215,"timestamp":2261002842059,"id":89,"parentId":49,"tags":{},"startTime":1781068975088,"traceId":"f897edea9b4c8b59"},{"name":"check-page","duration":700101,"timestamp":2261002831220,"id":49,"parentId":19,"tags":{"page":"/api/hub/tokens"},"startTime":1781068975077,"traceId":"f897edea9b4c8b59"},{"name":"is-page-static","duration":695955,"timestamp":2261002839250,"id":72,"parentId":29,"tags":{},"startTime":1781068975086,"traceId":"f897edea9b4c8b59"},{"name":"check-page","duration":709213,"timestamp":2261002826042,"id":29,"parentId":19,"tags":{"page":"/api/hub/auth"},"startTime":1781068975072,"traceId":"f897edea9b4c8b59"},{"name":"is-page-static","duration":693310,"timestamp":2261002842077,"id":90,"parentId":50,"tags":{},"startTime":1781068975088,"traceId":"f897edea9b4c8b59"},{"name":"check-page","duration":704153,"timestamp":2261002831269,"id":50,"parentId":19,"tags":{"page":"/api/hub/upload"},"startTime":1781068975078,"traceId":"f897edea9b4c8b59"},{"name":"is-page-static","duration":726501,"timestamp":2261002838684,"id":69,"parentId":26,"tags":{},"startTime":1781068975085,"traceId":"f897edea9b4c8b59"},{"name":"check-page","duration":739680,"timestamp":2261002825588,"id":26,"parentId":19,"tags":{"page":"/api/auth/logout"},"startTime":1781068975072,"traceId":"f897edea9b4c8b59"},{"name":"is-page-static","duration":753736,"timestamp":2261002842100,"id":92,"parentId":54,"tags":{},"startTime":1781068975088,"traceId":"f897edea9b4c8b59"},{"name":"check-page","duration":764097,"timestamp":2261002831822,"id":54,"parentId":19,"tags":{"page":"/manifest.webmanifest"},"startTime":1781068975078,"traceId":"f897edea9b4c8b59"},{"name":"is-page-static","duration":752944,"timestamp":2261002851462,"id":103,"parentId":58,"tags":{},"startTime":1781068975098,"traceId":"f897edea9b4c8b59"},{"name":"check-page","duration":772167,"timestamp":2261002832325,"id":58,"parentId":19,"tags":{"page":"/"},"startTime":1781068975079,"traceId":"f897edea9b4c8b59"},{"name":"is-page-static","duration":761684,"timestamp":2261002851485,"id":104,"parentId":59,"tags":{},"startTime":1781068975098,"traceId":"f897edea9b4c8b59"},{"name":"check-page","duration":780812,"timestamp":2261002832458,"id":59,"parentId":19,"tags":{"page":"/server-logs"},"startTime":1781068975079,"traceId":"f897edea9b4c8b59"},{"name":"is-page-static","duration":764608,"timestamp":2261002855275,"id":105,"parentId":60,"tags":{},"startTime":1781068975102,"traceId":"f897edea9b4c8b59"},{"name":"check-page","duration":787337,"timestamp":2261002832616,"id":60,"parentId":19,"tags":{"page":"/servers"},"startTime":1781068975079,"traceId":"f897edea9b4c8b59"},{"name":"is-page-static","duration":768917,"timestamp":2261002851255,"id":97,"parentId":23,"tags":{},"startTime":1781068975098,"traceId":"f897edea9b4c8b59"},{"name":"check-page","duration":797293,"timestamp":2261002822934,"id":23,"parentId":19,"tags":{"page":"/admin"},"startTime":1781068975069,"traceId":"f897edea9b4c8b59"},{"name":"is-page-static","duration":773164,"timestamp":2261002855298,"id":106,"parentId":61,"tags":{},"startTime":1781068975102,"traceId":"f897edea9b4c8b59"},{"name":"check-page","duration":795787,"timestamp":2261002832727,"id":61,"parentId":19,"tags":{"page":"/settings/networks"},"startTime":1781068975079,"traceId":"f897edea9b4c8b59"},{"name":"is-page-static","duration":782621,"timestamp":2261002851302,"id":99,"parentId":53,"tags":{},"startTime":1781068975098,"traceId":"f897edea9b4c8b59"},{"name":"check-page","duration":802345,"timestamp":2261002831703,"id":53,"parentId":19,"tags":{"page":"/logs"},"startTime":1781068975078,"traceId":"f897edea9b4c8b59"},{"name":"is-page-static","duration":782935,"timestamp":2261002851327,"id":101,"parentId":56,"tags":{},"startTime":1781068975098,"traceId":"f897edea9b4c8b59"},{"name":"check-page","duration":802263,"timestamp":2261002832040,"id":56,"parentId":19,"tags":{"page":"/node"},"startTime":1781068975078,"traceId":"f897edea9b4c8b59"},{"name":"is-page-static","duration":779086,"timestamp":2261002855314,"id":107,"parentId":63,"tags":{},"startTime":1781068975102,"traceId":"f897edea9b4c8b59"},{"name":"check-page","duration":801209,"timestamp":2261002833221,"id":63,"parentId":19,"tags":{"page":"/settings/tokens"},"startTime":1781068975079,"traceId":"f897edea9b4c8b59"},{"name":"is-page-static","duration":781481,"timestamp":2261002860637,"id":110,"parentId":62,"tags":{},"startTime":1781068975107,"traceId":"f897edea9b4c8b59"},{"name":"check-page","duration":809266,"timestamp":2261002832898,"id":62,"parentId":19,"tags":{"page":"/settings"},"startTime":1781068975079,"traceId":"f897edea9b4c8b59"},{"name":"is-page-static","duration":787106,"timestamp":2261002855329,"id":108,"parentId":64,"tags":{},"startTime":1781068975102,"traceId":"f897edea9b4c8b59"},{"name":"check-page","duration":809163,"timestamp":2261002833320,"id":64,"parentId":19,"tags":{"page":"/tasks/[id]"},"startTime":1781068975080,"traceId":"f897edea9b4c8b59"},{"name":"is-page-static","duration":787226,"timestamp":2261002855338,"id":109,"parentId":65,"tags":{},"startTime":1781068975102,"traceId":"f897edea9b4c8b59"},{"name":"check-page","duration":809168,"timestamp":2261002833427,"id":65,"parentId":19,"tags":{"page":"/tasks"},"startTime":1781068975080,"traceId":"f897edea9b4c8b59"},{"name":"is-page-static","duration":794185,"timestamp":2261002851341,"id":102,"parentId":57,"tags":{},"startTime":1781068975098,"traceId":"f897edea9b4c8b59"},{"name":"check-page","duration":813382,"timestamp":2261002832188,"id":57,"parentId":19,"tags":{"page":"/nodes"},"startTime":1781068975078,"traceId":"f897edea9b4c8b59"},{"name":"is-page-static","duration":795110,"timestamp":2261002851284,"id":98,"parentId":52,"tags":{},"startTime":1781068975098,"traceId":"f897edea9b4c8b59"}]
|
|
2
|
+
[{"name":"check-page","duration":815205,"timestamp":2261002831606,"id":52,"parentId":19,"tags":{"page":"/login"},"startTime":1781068975078,"traceId":"f897edea9b4c8b59"},{"name":"is-page-static","duration":814804,"timestamp":2261002851313,"id":100,"parentId":55,"tags":{},"startTime":1781068975098,"traceId":"f897edea9b4c8b59"},{"name":"check-page","duration":834285,"timestamp":2261002831878,"id":55,"parentId":19,"tags":{"page":"/messages"},"startTime":1781068975078,"traceId":"f897edea9b4c8b59"},{"name":"static-check","duration":848275,"timestamp":2261002817927,"id":19,"parentId":1,"tags":{},"startTime":1781068975064,"traceId":"f897edea9b4c8b59"},{"name":"write-routes-manifest","duration":558,"timestamp":2261003676169,"id":112,"parentId":1,"tags":{},"startTime":1781068975922,"traceId":"f897edea9b4c8b59"},{"name":"load-dotenv","duration":61,"timestamp":2261003689681,"id":115,"parentId":114,"tags":{},"startTime":1781068975936,"traceId":"f897edea9b4c8b59"},{"name":"run-export-path-map","duration":674,"timestamp":2261003692745,"id":116,"parentId":114,"tags":{},"startTime":1781068975939,"traceId":"f897edea9b4c8b59"},{"name":"next-export","duration":682496,"timestamp":2261003687798,"id":114,"parentId":1,"tags":{},"startTime":1781068975934,"traceId":"f897edea9b4c8b59"},{"name":"move-exported-app-not-found-","duration":560,"timestamp":2261004373952,"id":117,"parentId":113,"tags":{},"startTime":1781068976620,"traceId":"f897edea9b4c8b59"},{"name":"move-exported-app-global-error-","duration":382,"timestamp":2261004374605,"id":118,"parentId":113,"tags":{},"startTime":1781068976621,"traceId":"f897edea9b4c8b59"},{"name":"static-generation","duration":696233,"timestamp":2261003680707,"id":113,"parentId":1,"tags":{},"startTime":1781068975927,"traceId":"f897edea9b4c8b59"},{"name":"write-routes-manifest","duration":456,"timestamp":2261004377245,"id":119,"parentId":1,"tags":{},"startTime":1781068976624,"traceId":"f897edea9b4c8b59"},{"name":"print-tree-view","duration":5775,"timestamp":2261004386219,"id":120,"parentId":1,"tags":{},"startTime":1781068976632,"traceId":"f897edea9b4c8b59"},{"name":"write-route-bundle-stats","duration":19601,"timestamp":2261004392043,"id":121,"parentId":1,"tags":{},"startTime":1781068976638,"traceId":"f897edea9b4c8b59"},{"name":"telemetry-flush","duration":22527,"timestamp":2261004411675,"id":122,"parentId":1,"tags":{},"startTime":1781068976658,"traceId":"f897edea9b4c8b59"},{"name":"next-build","duration":26144941,"timestamp":2260978289295,"id":1,"tags":{"buildMode":"default","version":"16.2.3","bundler":"turbopack","has-custom-webpack-config":"false","use-build-worker":"true"},"startTime":1781068950536,"traceId":"f897edea9b4c8b59"}]
|
package/.next/trace-build
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
[{"name":"run-turbopack","duration":
|
|
1
|
+
[{"name":"run-turbopack","duration":13122951,"timestamp":2260978571971,"id":14,"parentId":1,"tags":{},"startTime":1781068950818,"traceId":"f897edea9b4c8b59"},{"name":"turbopack-build-events","duration":120,"timestamp":2260978929909,"id":15,"parentId":1,"tags":{},"startTime":1781068951176,"traceId":"f897edea9b4c8b59"},{"name":"run-typescript","duration":10882737,"timestamp":2260991705226,"id":16,"parentId":1,"tags":{},"startTime":1781068963952,"traceId":"f897edea9b4c8b59"},{"name":"static-check","duration":848275,"timestamp":2261002817927,"id":19,"parentId":1,"tags":{},"startTime":1781068975064,"traceId":"f897edea9b4c8b59"},{"name":"static-generation","duration":696233,"timestamp":2261003680707,"id":113,"parentId":1,"tags":{},"startTime":1781068975927,"traceId":"f897edea9b4c8b59"},{"name":"telemetry-flush","duration":22527,"timestamp":2261004411675,"id":122,"parentId":1,"tags":{},"startTime":1781068976658,"traceId":"f897edea9b4c8b59"},{"name":"next-build","duration":26144941,"timestamp":2260978289295,"id":1,"tags":{"buildMode":"default","version":"16.2.3","bundler":"turbopack","has-custom-webpack-config":"false","use-build-worker":"true"},"startTime":1781068950536,"traceId":"f897edea9b4c8b59"}]
|
package/.next/types/routes.d.ts
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
// Do not edit this file manually
|
|
3
3
|
|
|
4
4
|
type AppRoutes = "/" | "/admin" | "/login" | "/logs" | "/messages" | "/node" | "/nodes" | "/server-logs" | "/servers" | "/settings" | "/settings/networks" | "/settings/tokens" | "/tasks" | "/tasks/[id]"
|
|
5
|
-
type AppRouteHandlerRoutes = "/api/anet/config" | "/api/auth/login" | "/api/auth/logout" | "/api/auth/v3" | "/api/hub/audit-log" | "/api/hub/auth" | "/api/hub/broadcast" | "/api/hub/events" | "/api/hub/health" | "/api/hub/inbox" | "/api/hub/
|
|
5
|
+
type AppRouteHandlerRoutes = "/api/anet/config" | "/api/auth/login" | "/api/auth/logout" | "/api/auth/v3" | "/api/hub/audit-log" | "/api/hub/auth" | "/api/hub/broadcast" | "/api/hub/events" | "/api/hub/health" | "/api/hub/inbox" | "/api/hub/messages" | "/api/hub/networks" | "/api/hub/nodes" | "/api/hub/register" | "/api/hub/send" | "/api/hub/server-logs" | "/api/hub/server/[hostname]/agents" | "/api/hub/server/[hostname]/health" | "/api/hub/servers" | "/api/hub/session" | "/api/hub/stats" | "/api/hub/status" | "/api/hub/task-events" | "/api/hub/tasks" | "/api/hub/tmux" | "/api/hub/tokens" | "/api/hub/upload"
|
|
6
6
|
type PageRoutes = never
|
|
7
7
|
type LayoutRoutes = "/"
|
|
8
8
|
type RedirectRoutes = never
|
|
@@ -23,7 +23,6 @@ interface ParamMap {
|
|
|
23
23
|
"/api/hub/events": {}
|
|
24
24
|
"/api/hub/health": {}
|
|
25
25
|
"/api/hub/inbox": {}
|
|
26
|
-
"/api/hub/license": {}
|
|
27
26
|
"/api/hub/messages": {}
|
|
28
27
|
"/api/hub/networks": {}
|
|
29
28
|
"/api/hub/nodes": {}
|
package/.next/types/validator.ts
CHANGED
|
@@ -263,15 +263,6 @@ type RouteHandlerConfig<Route extends AppRouteHandlerRoutes = AppRouteHandlerRou
|
|
|
263
263
|
type __Unused = __Check
|
|
264
264
|
}
|
|
265
265
|
|
|
266
|
-
// Validate ../../app/api/hub/license/route.ts
|
|
267
|
-
{
|
|
268
|
-
type __IsExpected<Specific extends RouteHandlerConfig<"/api/hub/license">> = Specific
|
|
269
|
-
const handler = {} as typeof import("../../app/api/hub/license/route.js")
|
|
270
|
-
type __Check = __IsExpected<typeof handler>
|
|
271
|
-
// @ts-ignore
|
|
272
|
-
type __Unused = __Check
|
|
273
|
-
}
|
|
274
|
-
|
|
275
266
|
// Validate ../../app/api/hub/messages/route.ts
|
|
276
267
|
{
|
|
277
268
|
type __IsExpected<Specific extends RouteHandlerConfig<"/api/hub/messages">> = Specific
|
package/app/admin/page.tsx
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
|
|
3
3
|
import { useState } from 'react';
|
|
4
|
+
import Link from 'next/link';
|
|
4
5
|
import { useSessions, useHealth, useStats } from '../lib/hooks';
|
|
5
6
|
import { timeAgo } from '../components/utils';
|
|
6
7
|
import { AliasAvatar } from '../components/AliasAvatar';
|
|
7
|
-
import {
|
|
8
|
+
import { SESSION_STATUS_CHIP_CLASS } from '../lib/status';
|
|
8
9
|
|
|
9
10
|
export default function AdminPage() {
|
|
10
11
|
const { sessions } = useSessions();
|
|
@@ -73,7 +74,7 @@ export default function AdminPage() {
|
|
|
73
74
|
const offlineNodes = sessions.filter(s => !sseFor(s));
|
|
74
75
|
|
|
75
76
|
return (
|
|
76
|
-
<div className="min-h-screen bg-[#
|
|
77
|
+
<div className="min-h-screen bg-[#0b0b0d] text-gray-100 p-4 sm:p-6">
|
|
77
78
|
<h1 className="text-2xl font-bold text-white mb-3 lg:ml-0 ml-10">Admin</h1>
|
|
78
79
|
|
|
79
80
|
{/* Section anchor nav — same pattern as Settings r28; R2 of #190 mobile
|
|
@@ -82,14 +83,18 @@ export default function AdminPage() {
|
|
|
82
83
|
read as inert labels rather than tappable jumps. Wrapping each in a
|
|
83
84
|
visible bordered chip restores the affordance and lifts tap height
|
|
84
85
|
to ~44px without changing the desktop hierarchy. */}
|
|
85
|
-
|
|
86
|
+
{/* #209 R31 (mobile vertical rhythm — same pattern as R28/R30):
|
|
87
|
+
chip-jump nav was mb-8 (32 px) — biggest single gap on /admin
|
|
88
|
+
above the fold. Drop to mb-4 sm:mb-8 — phones get 16 px, sm:
|
|
89
|
+
up keeps the original breathing room. */}
|
|
90
|
+
<nav className="mb-4 sm:mb-8 flex flex-wrap gap-2 text-xs">
|
|
86
91
|
{[
|
|
87
92
|
{ href: '#status', label: 'Status' },
|
|
88
93
|
{ href: '#actions', label: 'Actions' },
|
|
89
94
|
{ href: '#users', label: 'Users' },
|
|
90
95
|
].map(a => (
|
|
91
96
|
<a key={a.href} href={a.href}
|
|
92
|
-
className="inline-flex min-h-[44px] items-center rounded-md border border-[#
|
|
97
|
+
className="inline-flex min-h-[44px] items-center rounded-md border border-[#26262b] bg-[#0e0e10]/60 px-3 py-2 text-gray-400 hover:border-cyan-500/50 hover:text-cyan-300 hover:bg-cyan-500/10 transition-colors">
|
|
93
98
|
{a.label}
|
|
94
99
|
</a>
|
|
95
100
|
))}
|
|
@@ -101,50 +106,60 @@ export default function AdminPage() {
|
|
|
101
106
|
<div id="status" className="space-y-4 scroll-mt-6">
|
|
102
107
|
<div className="flex items-center gap-2 px-1">
|
|
103
108
|
<div className="text-[11px] uppercase tracking-[0.14em] text-gray-400 font-semibold">Status</div>
|
|
104
|
-
<div className="flex-1 h-px bg-[#
|
|
109
|
+
<div className="flex-1 h-px bg-[#26262b]" />
|
|
105
110
|
</div>
|
|
106
111
|
<div className="grid grid-cols-1 lg:grid-cols-2 gap-4">
|
|
107
112
|
|
|
108
|
-
{/* Server Overview
|
|
109
|
-
|
|
110
|
-
|
|
113
|
+
{/* Server Overview.
|
|
114
|
+
#209 R42: same mobile density pattern R39 brought to the
|
|
115
|
+
Overview StatsBar 4-card grid — p-5 → p-4 sm:p-5 and
|
|
116
|
+
text-3xl numbers → text-2xl sm:text-3xl on phones. The
|
|
117
|
+
2×2 numeric grid shrinks ~25 % on mobile (~60 px of fold
|
|
118
|
+
reclaimed) while reading identically on desktop. mb-4 on
|
|
119
|
+
the section heading also drops to mb-3 sm:mb-4. */}
|
|
120
|
+
<section className="bg-[#161618] border border-[#26262b] rounded-xl p-4 sm:p-5">
|
|
121
|
+
<h2 className="text-sm font-semibold text-gray-300 mb-3 sm:mb-4">Server Overview</h2>
|
|
111
122
|
<div className="grid grid-cols-2 gap-4 text-sm">
|
|
112
123
|
<div>
|
|
113
|
-
<div className="text-3xl font-bold text-green-400 tabular-nums">{onlineNodes.length}</div>
|
|
124
|
+
<div className="text-2xl sm:text-3xl font-bold text-green-400 tabular-nums">{onlineNodes.length}</div>
|
|
114
125
|
<div className="text-xs text-gray-500">Online</div>
|
|
115
126
|
</div>
|
|
116
127
|
<div>
|
|
117
|
-
<div className="text-3xl font-bold text-gray-500 tabular-nums">{offlineNodes.length}</div>
|
|
128
|
+
<div className="text-2xl sm:text-3xl font-bold text-gray-500 tabular-nums">{offlineNodes.length}</div>
|
|
118
129
|
<div className="text-xs text-gray-500">Offline</div>
|
|
119
130
|
</div>
|
|
120
131
|
<div>
|
|
121
|
-
<div className="text-3xl font-bold text-cyan-400 tabular-nums">{health?.sse_connections ?? '--'}</div>
|
|
132
|
+
<div className="text-2xl sm:text-3xl font-bold text-cyan-400 tabular-nums">{health?.sse_connections ?? '--'}</div>
|
|
122
133
|
<div className="text-xs text-gray-500">
|
|
123
134
|
SSE Streams <span className="text-gray-600">· server</span>
|
|
124
135
|
</div>
|
|
125
136
|
</div>
|
|
126
137
|
<div>
|
|
127
|
-
<div className="text-3xl font-bold text-white tabular-nums">{stats?.tasks?.total ?? '--'}</div>
|
|
138
|
+
<div className="text-2xl sm:text-3xl font-bold text-white tabular-nums">{stats?.tasks?.total ?? '--'}</div>
|
|
128
139
|
<div className="text-xs text-gray-500">Total Tasks</div>
|
|
129
140
|
</div>
|
|
130
141
|
</div>
|
|
131
|
-
{stats?.tasks?.by_status && stats.tasks.by_status.length > 0 && (
|
|
132
|
-
/*
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
142
|
+
{stats?.tasks?.by_status && stats.tasks.by_status.length > 0 && (() => {
|
|
143
|
+
/* #217 D7 (less is more): the 6-9 chip per-status wall
|
|
144
|
+
duplicated the /tasks tab strip. Same one-line summary
|
|
145
|
+
idiom as the Overview task line — running/failed are the
|
|
146
|
+
only numbers that drive action, the rest is on /tasks. */
|
|
147
|
+
const byStatus = Object.fromEntries(stats.tasks.by_status.map((s: { status: string; count: number }) => [s.status, s.count]));
|
|
148
|
+
return (
|
|
149
|
+
<div className="mt-4 flex items-center justify-between border-t border-[#26262b] pt-3 text-xs">
|
|
150
|
+
<div className="text-gray-400 tabular-nums">
|
|
151
|
+
<span className={byStatus['running'] ? 'text-green-400' : 'text-gray-500'}>{byStatus['running'] || 0} running</span>
|
|
152
|
+
<span className="text-gray-600"> · </span>
|
|
153
|
+
<span className={byStatus['failed'] ? 'text-red-400' : 'text-gray-500'}>{byStatus['failed'] || 0} failed</span>
|
|
154
|
+
</div>
|
|
155
|
+
<Link href="/tasks" prefetch={false} className="text-cyan-400 hover:text-cyan-300">View all →</Link>
|
|
156
|
+
</div>
|
|
157
|
+
);
|
|
158
|
+
})()}
|
|
144
159
|
</section>
|
|
145
160
|
|
|
146
161
|
{/* Online Sessions — pulled into Status group (was below Send Task) */}
|
|
147
|
-
<section className="bg-[#
|
|
162
|
+
<section className="bg-[#161618] border border-[#26262b] rounded-xl p-5">
|
|
148
163
|
<h2 className="text-sm font-semibold text-gray-300 mb-4">
|
|
149
164
|
Online Sessions <span className="text-gray-600">({onlineNodes.length})</span>
|
|
150
165
|
</h2>
|
|
@@ -152,7 +167,7 @@ export default function AdminPage() {
|
|
|
152
167
|
{onlineNodes.length === 0 ? (
|
|
153
168
|
<div className="text-xs text-gray-600 text-center py-4">No online sessions</div>
|
|
154
169
|
) : onlineNodes.map(s => (
|
|
155
|
-
<div key={s.alias} className="flex items-center gap-3 bg-[#
|
|
170
|
+
<div key={s.alias} className="flex items-center gap-3 bg-[#0e0e10] rounded-lg px-3 py-2 border border-[#1c1c1f]">
|
|
156
171
|
<AliasAvatar alias={s.alias} size={20} />
|
|
157
172
|
<div className="min-w-0 flex-1">
|
|
158
173
|
<div className="text-sm text-white font-medium truncate">{s.alias}</div>
|
|
@@ -177,28 +192,28 @@ export default function AdminPage() {
|
|
|
177
192
|
<div id="actions" className="space-y-4 scroll-mt-6">
|
|
178
193
|
<div className="flex items-center gap-2 px-1">
|
|
179
194
|
<div className="text-[11px] uppercase tracking-[0.14em] text-gray-400 font-semibold">Actions</div>
|
|
180
|
-
<div className="flex-1 h-px bg-[#
|
|
195
|
+
<div className="flex-1 h-px bg-[#26262b]" />
|
|
181
196
|
</div>
|
|
182
197
|
{sessions.length === 0 ? (
|
|
183
198
|
/* Round 77: Broadcast and Send Task both require at least one
|
|
184
199
|
registered agent. Surfacing the empty cards above an empty
|
|
185
200
|
fleet is the same dead-control class as the Overview
|
|
186
201
|
Dispatch button (r70). Replace with a single inline hint. */
|
|
187
|
-
<div className="bg-[#
|
|
202
|
+
<div className="bg-[#161618] border border-[#26262b] rounded-xl px-5 py-4 text-sm text-gray-500">
|
|
188
203
|
Broadcast and Send Task become available after the first agent registers.
|
|
189
204
|
</div>
|
|
190
205
|
) : (
|
|
191
206
|
<div className="grid grid-cols-1 lg:grid-cols-2 gap-4">
|
|
192
207
|
|
|
193
208
|
{/* Broadcast */}
|
|
194
|
-
<section className="bg-[#
|
|
209
|
+
<section className="bg-[#161618] border border-[#26262b] rounded-xl p-5">
|
|
195
210
|
<h2 className="text-sm font-semibold text-gray-300 mb-4">Broadcast</h2>
|
|
196
211
|
<textarea
|
|
197
212
|
value={broadcastMsg}
|
|
198
213
|
onChange={e => setBroadcastMsg(e.target.value)}
|
|
199
214
|
placeholder="Message to all online nodes..."
|
|
200
215
|
rows={3}
|
|
201
|
-
className="w-full bg-[#
|
|
216
|
+
className="w-full bg-[#0e0e10] border border-[#26262b] rounded-lg px-3 py-2 text-sm text-white placeholder-gray-600 focus:border-cyan-500/50 focus:outline-none resize-none"
|
|
202
217
|
/>
|
|
203
218
|
<div className="flex justify-between items-center mt-3">
|
|
204
219
|
<span className="text-xs text-gray-600">{broadcastMsg.length}/500</span>
|
|
@@ -214,12 +229,12 @@ export default function AdminPage() {
|
|
|
214
229
|
</section>
|
|
215
230
|
|
|
216
231
|
{/* Send Task */}
|
|
217
|
-
<section className="bg-[#
|
|
232
|
+
<section className="bg-[#161618] border border-[#26262b] rounded-xl p-5">
|
|
218
233
|
<h2 className="text-sm font-semibold text-gray-300 mb-4">Send Task</h2>
|
|
219
234
|
<select
|
|
220
235
|
value={taskTarget}
|
|
221
236
|
onChange={e => setTaskTarget(e.target.value)}
|
|
222
|
-
className="w-full bg-[#
|
|
237
|
+
className="w-full bg-[#0e0e10] border border-[#26262b] rounded-lg px-3 py-2 text-base sm:text-sm text-white focus:border-cyan-500/50 focus:outline-none mb-3"
|
|
223
238
|
>
|
|
224
239
|
<option value="">Select target node...</option>
|
|
225
240
|
{onlineNodes.map(s => (
|
|
@@ -236,7 +251,7 @@ export default function AdminPage() {
|
|
|
236
251
|
onChange={e => setTaskContent(e.target.value)}
|
|
237
252
|
placeholder="Task content..."
|
|
238
253
|
rows={3}
|
|
239
|
-
className="w-full bg-[#
|
|
254
|
+
className="w-full bg-[#0e0e10] border border-[#26262b] rounded-lg px-3 py-2 text-sm text-white placeholder-gray-600 focus:border-cyan-500/50 focus:outline-none resize-none"
|
|
240
255
|
/>
|
|
241
256
|
<div className="flex justify-end mt-3">
|
|
242
257
|
<button
|
|
@@ -258,12 +273,12 @@ export default function AdminPage() {
|
|
|
258
273
|
<div id="users" className="space-y-4 scroll-mt-6">
|
|
259
274
|
<div className="flex items-center gap-2 px-1">
|
|
260
275
|
<div className="text-[11px] uppercase tracking-[0.14em] text-gray-400 font-semibold">Users</div>
|
|
261
|
-
<div className="flex-1 h-px bg-[#
|
|
276
|
+
<div className="flex-1 h-px bg-[#26262b]" />
|
|
262
277
|
</div>
|
|
263
278
|
<div className="grid grid-cols-1 lg:grid-cols-2 gap-4">
|
|
264
279
|
|
|
265
280
|
{/* User Management (V3 Auth) */}
|
|
266
|
-
<section className="bg-[#
|
|
281
|
+
<section className="bg-[#161618] border border-[#26262b] rounded-xl p-5">
|
|
267
282
|
<h2 className="text-sm font-semibold text-gray-300 mb-4">Register User (V3)</h2>
|
|
268
283
|
<div className="space-y-3">
|
|
269
284
|
<input
|
|
@@ -271,14 +286,14 @@ export default function AdminPage() {
|
|
|
271
286
|
value={regUser}
|
|
272
287
|
onChange={e => setRegUser(e.target.value)}
|
|
273
288
|
placeholder="Username"
|
|
274
|
-
className="w-full bg-[#
|
|
289
|
+
className="w-full bg-[#0e0e10] border border-[#26262b] rounded-lg px-3 py-2 text-sm text-white placeholder-gray-600 focus:border-cyan-500/50 focus:outline-none"
|
|
275
290
|
/>
|
|
276
291
|
<input
|
|
277
292
|
type="password"
|
|
278
293
|
value={regPass}
|
|
279
294
|
onChange={e => setRegPass(e.target.value)}
|
|
280
295
|
placeholder="Password"
|
|
281
|
-
className="w-full bg-[#
|
|
296
|
+
className="w-full bg-[#0e0e10] border border-[#26262b] rounded-lg px-3 py-2 text-sm text-white placeholder-gray-600 focus:border-cyan-500/50 focus:outline-none"
|
|
282
297
|
/>
|
|
283
298
|
<button
|
|
284
299
|
onClick={registerUser}
|
|
@@ -28,16 +28,18 @@ export function AgentCard({ session: s, hasSse, sseCount, onChat }: AgentCardPro
|
|
|
28
28
|
<Link
|
|
29
29
|
href={`/node?alias=${encodeURIComponent(s.alias)}`}
|
|
30
30
|
prefetch={false}
|
|
31
|
-
className={`anet-agent-card group relative block rounded-xl border p-4 transition-all duration-300 cursor-pointer hover:-translate-y-0.5 ${
|
|
31
|
+
className={`anet-agent-card group relative block rounded-xl border p-3 sm:p-4 transition-all duration-300 cursor-pointer hover:-translate-y-0.5 ${
|
|
32
32
|
hasSse
|
|
33
|
-
? `bg-[#
|
|
34
|
-
: 'bg-[#
|
|
33
|
+
? `bg-[#161618] border-[#26262b] hover:border-cyan-500/30 hover:shadow-lg ${cfg.glow}`
|
|
34
|
+
: 'bg-[#111113] border-[#1c1c1f] opacity-40'
|
|
35
35
|
}`}
|
|
36
36
|
>
|
|
37
37
|
{/* Header: avatar + name + status. Avatar carries the alias→hue map
|
|
38
38
|
shared with Messages/Nodes/Tasks/Overview; the live status dot
|
|
39
|
-
stays as a small pulse-capable indicator.
|
|
40
|
-
|
|
39
|
+
stays as a small pulse-capable indicator. R5 of #190 mobile
|
|
40
|
+
polish: trim mb-3 → mb-2 sm:mb-3 so the card's vertical rhythm
|
|
41
|
+
tightens on narrow viewports. */}
|
|
42
|
+
<div className="flex items-center justify-between mb-2 sm:mb-3">
|
|
41
43
|
<div className="flex items-center gap-2 min-w-0">
|
|
42
44
|
<AliasAvatar alias={s.alias} size={22} />
|
|
43
45
|
<span className="font-semibold text-white truncate text-sm" title={s.alias}>{s.alias}</span>
|
|
@@ -48,9 +50,12 @@ export function AgentCard({ session: s, hasSse, sseCount, onChat }: AgentCardPro
|
|
|
48
50
|
</span>
|
|
49
51
|
</div>
|
|
50
52
|
|
|
51
|
-
{/* Agent type badge
|
|
52
|
-
|
|
53
|
-
|
|
53
|
+
{/* Agent type badge — hidden below sm because the runtime
|
|
54
|
+
(`claude-code` / `codex`) repeats across nearly every card and
|
|
55
|
+
chews ~28px per card × 99 sessions on Overview mobile. The
|
|
56
|
+
agent type stays one tap away on /node detail. */}
|
|
57
|
+
<div className="hidden sm:flex items-center gap-2 mb-3">
|
|
58
|
+
<span className="text-xs text-gray-600 bg-[#0e0e10] px-2 py-0.5 rounded border border-[#1c1c1f]">
|
|
54
59
|
{s.agent || 'unknown'}
|
|
55
60
|
</span>
|
|
56
61
|
{hasSse && (
|
|
@@ -58,18 +63,23 @@ export function AgentCard({ session: s, hasSse, sseCount, onChat }: AgentCardPro
|
|
|
58
63
|
)}
|
|
59
64
|
</div>
|
|
60
65
|
|
|
61
|
-
{/* Task
|
|
66
|
+
{/* Task. Mobile: line-clamp-1 (one-liner) instead of two, and a
|
|
67
|
+
single-line padding (px-2 py-1) so the task strip is ~28px
|
|
68
|
+
rather than ~56px. The full task is still in the title
|
|
69
|
+
tooltip and on /node detail. */}
|
|
62
70
|
{s.task ? (
|
|
63
|
-
<div className="text-xs text-gray-400 bg-[#
|
|
71
|
+
<div className="text-xs text-gray-400 bg-[#0e0e10] rounded-lg px-2 sm:px-3 py-1 sm:py-2 border border-[#1c1c1f] line-clamp-1 sm:line-clamp-2" title={s.task}>
|
|
64
72
|
{s.task}
|
|
65
73
|
</div>
|
|
66
74
|
) : (
|
|
67
75
|
<div className="text-xs text-gray-700 italic">No active task</div>
|
|
68
76
|
)}
|
|
69
77
|
|
|
70
|
-
{/* Progress bar
|
|
78
|
+
{/* Progress bar — hidden below sm so an empty 0% bar doesn't
|
|
79
|
+
occupy 20px on every idle card. Visible from sm up where space
|
|
80
|
+
is no longer the constraint. */}
|
|
71
81
|
{s.progress > 0 && (
|
|
72
|
-
<div className="mt-3">
|
|
82
|
+
<div className="hidden sm:block mt-3">
|
|
73
83
|
<div className="flex justify-between text-[10px] mb-1">
|
|
74
84
|
<span className="text-gray-600">Progress</span>
|
|
75
85
|
<span className={cfg.text}>{s.progress}%</span>
|
|
@@ -86,10 +96,21 @@ export function AgentCard({ session: s, hasSse, sseCount, onChat }: AgentCardPro
|
|
|
86
96
|
{/* Footer: time + chat + hover chevron affordance (round 44).
|
|
87
97
|
The card is a <Link> so it's clickable everywhere, but with no
|
|
88
98
|
visible cue users may not realise. Chevron appears on hover and
|
|
89
|
-
slides right ~2px for a "drill in" hint.
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
99
|
+
slides right ~2px for a "drill in" hint.
|
|
100
|
+
#209 R40: two small mobile tweaks —
|
|
101
|
+
(1) the hover chevron is `hidden sm:inline-block` because
|
|
102
|
+
touch devices never trigger the :hover state, and the
|
|
103
|
+
12 px wide reserved slot was just an empty void on
|
|
104
|
+
mobile — but flex with opacity-0 was still spending
|
|
105
|
+
12 + 8 (gap) = 20 px on the right side of every card.
|
|
106
|
+
(2) mt-3 → mt-2 sm:mt-3 mirrors the same density pattern
|
|
107
|
+
R28 / R39 brought to the rest of the page. */}
|
|
108
|
+
<div className="mt-2 sm:mt-3 flex justify-between items-center text-[10px] text-gray-600">
|
|
109
|
+
{/* #217 D5 (Vincent: 乱七八糟的元素都可以删掉): the raw server
|
|
110
|
+
hostname (cloud instance IDs like iZrj93…) is noise on a
|
|
111
|
+
phone card — desktop keeps it, /node detail always has it. */}
|
|
112
|
+
<span className="hidden sm:inline truncate" title={s.server || ''}>{s.server || '--'}</span>
|
|
113
|
+
<div className="flex items-center gap-2 ml-auto">
|
|
93
114
|
{onChat && hasSse && (
|
|
94
115
|
<button
|
|
95
116
|
onClick={e => { e.preventDefault(); e.stopPropagation(); onChat(s.alias); }}
|
|
@@ -101,7 +122,7 @@ export function AgentCard({ session: s, hasSse, sseCount, onChat }: AgentCardPro
|
|
|
101
122
|
<span>{timeAgo(s.updated_at)}</span>
|
|
102
123
|
<svg
|
|
103
124
|
aria-hidden
|
|
104
|
-
className="w-3 h-3 text-gray-700 opacity-0 -translate-x-1 group-hover:opacity-100 group-hover:translate-x-0 transition-all duration-200"
|
|
125
|
+
className="hidden sm:inline-block w-3 h-3 text-gray-700 opacity-0 -translate-x-1 group-hover:opacity-100 group-hover:translate-x-0 transition-all duration-200"
|
|
105
126
|
fill="none" viewBox="0 0 24 24" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round"
|
|
106
127
|
>
|
|
107
128
|
<path d="M9 18l6-6-6-6" />
|
|
@@ -20,7 +20,13 @@ export function AppShell({ children }: { children: React.ReactNode }) {
|
|
|
20
20
|
return (
|
|
21
21
|
<div className="flex min-h-[100dvh] max-w-full overflow-x-hidden">
|
|
22
22
|
<Sidebar />
|
|
23
|
-
|
|
23
|
+
{/* R25 of #190: pair the existing bottom safe-area padding with a
|
|
24
|
+
top one so the HealthBanner clears the iOS status bar when
|
|
25
|
+
launched as an installed PWA (statusBarStyle: black-translucent
|
|
26
|
+
+ viewportFit: cover, see app/layout.tsx). On non-PWA contexts
|
|
27
|
+
env(safe-area-inset-top) is 0, so this is a no-op for browser
|
|
28
|
+
tab visits. */}
|
|
29
|
+
<main className="flex-1 min-w-0 max-w-full overflow-x-hidden flex flex-col pt-[env(safe-area-inset-top)]">
|
|
24
30
|
<HealthBanner />
|
|
25
31
|
<div className="flex-1 min-w-0 max-w-full overflow-x-hidden pb-[calc(5rem+env(safe-area-inset-bottom))] lg:pb-0">{children}</div>
|
|
26
32
|
</main>
|
|
@@ -191,7 +191,7 @@ export function ChatPopover({ alias, onClose }: ChatPopoverProps) {
|
|
|
191
191
|
// Chromium retargets the click to the header — the button never fires.
|
|
192
192
|
onPointerDown={(e) => e.stopPropagation()}
|
|
193
193
|
aria-label="Close chat"
|
|
194
|
-
className="text-[var(--fg-muted)] hover:text-[var(--fg)]
|
|
194
|
+
className="inline-flex min-h-[44px] min-w-[44px] items-center justify-center text-[var(--fg-muted)] hover:text-[var(--fg)] rounded-lg hover:bg-[var(--bg-elevated)] shrink-0"
|
|
195
195
|
>
|
|
196
196
|
<svg className="w-4 h-4" fill="none" viewBox="0 0 24 24" stroke="currentColor" strokeWidth={2}>
|
|
197
197
|
<path strokeLinecap="round" strokeLinejoin="round" d="M6 18L18 6M6 6l12 12" />
|