@sleep2agi/agent-network-dashboard 0.6.3-preview.50 → 0.6.3-preview.51
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_COMMIT +1 -1
- package/.next/BUILD_ID +1 -1
- package/.next/build-manifest.json +3 -3
- package/.next/diagnostics/route-bundle-stats.json +14 -14
- package/.next/fallback-build-manifest.json +3 -3
- package/.next/prerender-manifest.json +3 -3
- package/.next/server/app/_global-error/page.js.nft.json +1 -1
- package/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
- 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.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 +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.js.nft.json +1 -1
- 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.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 +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.js.nft.json +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.js.nft.json +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.js.nft.json +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/[alias]/page.js.nft.json +1 -1
- package/.next/server/app/nodes/[alias]/page_client-reference-manifest.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 +2 -2
- package/.next/server/app/nodes.rsc +3 -3
- package/.next/server/app/nodes.segments/_full.segment.rsc +3 -3
- 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 +2 -2
- package/.next/server/app/nodes.segments/nodes.segment.rsc +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/providers/page.js.nft.json +1 -1
- package/.next/server/app/providers/page_client-reference-manifest.js +1 -1
- package/.next/server/app/providers.html +2 -2
- package/.next/server/app/providers.rsc +2 -2
- package/.next/server/app/providers.segments/_full.segment.rsc +2 -2
- package/.next/server/app/providers.segments/_head.segment.rsc +1 -1
- package/.next/server/app/providers.segments/_index.segment.rsc +2 -2
- package/.next/server/app/providers.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/providers.segments/providers/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/providers.segments/providers.segment.rsc +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 +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/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 +2 -2
- package/.next/server/app/servers.rsc +2 -2
- package/.next/server/app/servers.segments/_full.segment.rsc +2 -2
- package/.next/server/app/servers.segments/_head.segment.rsc +1 -1
- package/.next/server/app/servers.segments/_index.segment.rsc +2 -2
- package/.next/server/app/servers.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/servers.segments/servers/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/servers.segments/servers.segment.rsc +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 +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.js.nft.json +1 -1
- package/.next/server/app/settings/page_client-reference-manifest.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 +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.js.nft.json +1 -1
- package/.next/server/app/tasks/[id]/page_client-reference-manifest.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 +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/{0ld5_next_dist_00v047f._.js → 0ld5_next_dist_04cce2g._.js} +2 -2
- package/.next/server/chunks/ssr/0ld5_next_dist_04cce2g._.js.map +1 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__02o~-py._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__02o~-py._.js.map +1 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__06w5i08._.js +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__06w5i08._.js.map +1 -1
- package/.next/server/chunks/ssr/{[root-of-the-server]__00n84ca._.js → [root-of-the-server]__0x9nh~a._.js} +2 -2
- package/.next/server/chunks/ssr/[root-of-the-server]__0x9nh~a._.js.map +1 -0
- package/.next/server/chunks/ssr/dash-stageb-wt_0q55dv1._.js +0 -0
- package/.next/server/chunks/ssr/dash-stageb-wt_0q55dv1._.js.map +1 -0
- package/.next/server/chunks/ssr/dash-stageb-wt_13184u1._.js +0 -0
- package/.next/server/chunks/ssr/dash-stageb-wt_13184u1._.js.map +1 -0
- package/.next/server/chunks/ssr/dash-stageb-wt_app_0qn7hvc._.js +1 -1
- package/.next/server/chunks/ssr/dash-stageb-wt_app_0qn7hvc._.js.map +1 -1
- package/.next/server/chunks/ssr/dash-stageb-wt_app_0ss0pj-._.js +1 -1
- package/.next/server/chunks/ssr/dash-stageb-wt_app_0ss0pj-._.js.map +1 -1
- package/.next/server/chunks/ssr/dash-stageb-wt_app_nodes_NodesView_tsx_0patjj7._.js +1 -1
- package/.next/server/chunks/ssr/dash-stageb-wt_app_nodes_NodesView_tsx_0patjj7._.js.map +1 -1
- package/.next/server/chunks/ssr/{dash-stageb-wt_0hzfl6x._.js → dash-stageb-wt_app_page_tsx_0iyrtvj._.js} +3 -3
- package/.next/server/chunks/ssr/dash-stageb-wt_app_page_tsx_0iyrtvj._.js.map +1 -0
- package/.next/server/middleware-build-manifest.js +3 -3
- package/.next/server/pages/404.html +2 -2
- package/.next/server/pages/500.html +1 -1
- package/.next/server/server-reference-manifest.js +1 -1
- package/.next/server/server-reference-manifest.json +1 -1
- package/.next/static/chunks/05~lgfzsv.p~p.js +2 -0
- package/.next/static/chunks/092zqb~4un32l.css +1 -0
- package/.next/static/chunks/0aaakzcw7tey0.js +0 -0
- package/.next/static/chunks/0advoo2tzdcyi.js +1 -0
- package/.next/static/chunks/0dkk_l872ocgm.js +1 -0
- package/.next/static/chunks/0fz7zk.ek.154.js +1 -0
- package/.next/static/chunks/0njt8wek.9aq6.js +1 -0
- package/.next/static/chunks/{0hm52b0y~k0~z.js → 0uk67ty_0h_36.js} +1 -1
- package/.next/static/chunks/{0ep78sq90x_yc.js → 0z_4d13crd_af.js} +1 -1
- package/.next/static/chunks/0zljk8~2jqw93.js +4 -0
- package/.next/trace +2 -2
- package/.next/trace-build +1 -1
- package/app/components/ChatPane.tsx +108 -16
- package/app/components/NodeList.tsx +198 -46
- package/app/components/NodeListContextMenu.tsx +187 -0
- package/app/components/NodeSettingsPanel.tsx +29 -3
- package/app/nodes/NodesView.tsx +58 -0
- package/package.json +1 -1
- package/tests/e2e-9-nodes-team-tag-filter.spec.ts +3 -0
- package/tests/e2e-batch-list-actions.spec.ts +234 -0
- package/tests/e2e-stage-a-node-list.spec.ts +4 -0
- package/tests/e2e-stage-b-chat-pane.spec.ts +103 -0
- package/.next/server/chunks/ssr/0ld5_next_dist_00v047f._.js.map +0 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__00n84ca._.js.map +0 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__0idij1k._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__0idij1k._.js.map +0 -1
- package/.next/server/chunks/ssr/dash-stageb-wt_0hzfl6x._.js.map +0 -1
- package/.next/server/chunks/ssr/dash-stageb-wt_app_06.7qt9._.js +0 -0
- package/.next/server/chunks/ssr/dash-stageb-wt_app_06.7qt9._.js.map +0 -1
- package/.next/server/chunks/ssr/dash-stageb-wt_app_0y~m8-6._.js +0 -0
- package/.next/server/chunks/ssr/dash-stageb-wt_app_0y~m8-6._.js.map +0 -1
- package/.next/static/chunks/02.5_nifak.uu.js +0 -1
- package/.next/static/chunks/03hzj129k~odb.js +0 -1
- package/.next/static/chunks/0cey4i.y0a8~j.js +0 -1
- package/.next/static/chunks/0mhaf6lrw5nn..css +0 -1
- package/.next/static/chunks/0s293geid.j7e.js +0 -4
- package/.next/static/chunks/0zj_navpyhltx.js +0 -2
- package/.next/static/chunks/14y4x3de1lbug.js +0 -1
- package/.next/static/chunks/15ka68xi.w-i-.js +0 -1
- /package/.next/static/{vc_aJHtYwefsVcl2_f14Z → JL_QjNKv1KhsCF68ZK28x}/_buildManifest.js +0 -0
- /package/.next/static/{vc_aJHtYwefsVcl2_f14Z → JL_QjNKv1KhsCF68ZK28x}/_clientMiddlewareManifest.js +0 -0
- /package/.next/static/{vc_aJHtYwefsVcl2_f14Z → JL_QjNKv1KhsCF68ZK28x}/_ssgManifest.js +0 -0
package/.next/trace
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
[{"name":"generate-buildid","duration":301,"timestamp":6663070618383,"id":4,"parentId":1,"tags":{},"startTime":1785471042865,"traceId":"0f1f00e4f476f0c0"},{"name":"load-custom-routes","duration":616,"timestamp":6663070618835,"id":5,"parentId":1,"tags":{},"startTime":1785471042865,"traceId":"0f1f00e4f476f0c0"},{"name":"create-dist-dir","duration":744,"timestamp":6663070619501,"id":6,"parentId":1,"tags":{},"startTime":1785471042866,"traceId":"0f1f00e4f476f0c0"},{"name":"clean","duration":51813,"timestamp":6663070621185,"id":7,"parentId":1,"tags":{},"startTime":1785471042867,"traceId":"0f1f00e4f476f0c0"},{"name":"discover-routes","duration":32260,"timestamp":6663070772448,"id":8,"parentId":1,"tags":{},"startTime":1785471043019,"traceId":"0f1f00e4f476f0c0"},{"name":"create-root-mapping","duration":150,"timestamp":6663070804792,"id":9,"parentId":1,"tags":{},"startTime":1785471043051,"traceId":"0f1f00e4f476f0c0"},{"name":"generate-route-types","duration":21505,"timestamp":6663070808270,"id":10,"parentId":1,"tags":{},"startTime":1785471043055,"traceId":"0f1f00e4f476f0c0"},{"name":"public-dir-conflict-check","duration":109,"timestamp":6663070829869,"id":11,"parentId":1,"tags":{},"startTime":1785471043076,"traceId":"0f1f00e4f476f0c0"},{"name":"generate-routes-manifest","duration":5610,"timestamp":6663070830145,"id":12,"parentId":1,"tags":{},"startTime":1785471043076,"traceId":"0f1f00e4f476f0c0"},{"name":"run-turbopack","duration":7427703,"timestamp":6663070851746,"id":14,"parentId":1,"tags":{},"startTime":1785471043098,"traceId":"0f1f00e4f476f0c0"},{"name":"turbopack-build-events","duration":138,"timestamp":6663071163261,"id":15,"parentId":1,"tags":{},"startTime":1785471043410,"traceId":"0f1f00e4f476f0c0"},{"name":"run-typescript","duration":14205647,"timestamp":6663078304320,"id":16,"parentId":1,"tags":{},"startTime":1785471050551,"traceId":"0f1f00e4f476f0c0"},{"name":"generate-required-server-files","duration":2758,"timestamp":6663092511501,"id":18,"parentId":1,"tags":{},"startTime":1785471064758,"traceId":"0f1f00e4f476f0c0"},{"name":"check-static-error-page","duration":18227,"timestamp":6663092747667,"id":20,"parentId":19,"tags":{},"startTime":1785471064994,"traceId":"0f1f00e4f476f0c0"},{"name":"is-page-static","duration":566444,"timestamp":6663092768116,"id":78,"parentId":22,"tags":{},"startTime":1785471065014,"traceId":"0f1f00e4f476f0c0"},{"name":"check-page","duration":583778,"timestamp":6663092750994,"id":22,"parentId":19,"tags":{"page":"/_global-error"},"startTime":1785471064997,"traceId":"0f1f00e4f476f0c0"},{"name":"is-page-static","duration":680886,"timestamp":6663092768424,"id":81,"parentId":32,"tags":{},"startTime":1785471065015,"traceId":"0f1f00e4f476f0c0"},{"name":"check-page","duration":693497,"timestamp":6663092755938,"id":32,"parentId":19,"tags":{"page":"/api/auth/login"},"startTime":1785471065002,"traceId":"0f1f00e4f476f0c0"},{"name":"is-page-static","duration":683523,"timestamp":6663092769565,"id":84,"parentId":35,"tags":{},"startTime":1785471065016,"traceId":"0f1f00e4f476f0c0"},{"name":"check-page","duration":696899,"timestamp":6663092756267,"id":35,"parentId":19,"tags":{"page":"/api/hub/audit-log"},"startTime":1785471065003,"traceId":"0f1f00e4f476f0c0"},{"name":"is-page-static","duration":687373,"timestamp":6663092769779,"id":85,"parentId":36,"tags":{},"startTime":1785471065016,"traceId":"0f1f00e4f476f0c0"},{"name":"check-page","duration":700605,"timestamp":6663092756698,"id":36,"parentId":19,"tags":{"page":"/api/hub/auth"},"startTime":1785471065003,"traceId":"0f1f00e4f476f0c0"},{"name":"is-page-static","duration":699874,"timestamp":6663092768299,"id":80,"parentId":30,"tags":{},"startTime":1785471065015,"traceId":"0f1f00e4f476f0c0"},{"name":"check-page","duration":712753,"timestamp":6663092755515,"id":30,"parentId":19,"tags":{"page":"/api/anet/providers/probe"},"startTime":1785471065002,"traceId":"0f1f00e4f476f0c0"},{"name":"is-page-static","duration":703965,"timestamp":6663092768222,"id":79,"parentId":29,"tags":{},"startTime":1785471065014,"traceId":"0f1f00e4f476f0c0"},{"name":"check-page","duration":716942,"timestamp":6663092755323,"id":29,"parentId":19,"tags":{"page":"/api/anet/providers/probe-results"},"startTime":1785471065002,"traceId":"0f1f00e4f476f0c0"},{"name":"is-page-static","duration":741617,"timestamp":6663092769923,"id":87,"parentId":40,"tags":{},"startTime":1785471065016,"traceId":"0f1f00e4f476f0c0"},{"name":"check-page","duration":752804,"timestamp":6663092758833,"id":40,"parentId":19,"tags":{"page":"/api/hub/health"},"startTime":1785471065005,"traceId":"0f1f00e4f476f0c0"},{"name":"is-page-static","duration":742024,"timestamp":6663092769847,"id":86,"parentId":37,"tags":{},"startTime":1785471065016,"traceId":"0f1f00e4f476f0c0"},{"name":"check-page","duration":755003,"timestamp":6663092756907,"id":37,"parentId":19,"tags":{"page":"/api/hub/broadcast"},"startTime":1785471065003,"traceId":"0f1f00e4f476f0c0"},{"name":"is-page-static","duration":744596,"timestamp":6663092770122,"id":89,"parentId":42,"tags":{},"startTime":1785471065016,"traceId":"0f1f00e4f476f0c0"},{"name":"check-page","duration":755799,"timestamp":6663092758987,"id":42,"parentId":19,"tags":{"page":"/api/hub/messages"},"startTime":1785471065005,"traceId":"0f1f00e4f476f0c0"},{"name":"is-page-static","duration":746495,"timestamp":6663092768688,"id":82,"parentId":33,"tags":{},"startTime":1785471065015,"traceId":"0f1f00e4f476f0c0"},{"name":"check-page","duration":759147,"timestamp":6663092756081,"id":33,"parentId":19,"tags":{"page":"/api/auth/logout"},"startTime":1785471065002,"traceId":"0f1f00e4f476f0c0"},{"name":"is-page-static","duration":747647,"timestamp":6663092767768,"id":77,"parentId":21,"tags":{},"startTime":1785471065014,"traceId":"0f1f00e4f476f0c0"},{"name":"check-page","duration":765955,"timestamp":6663092749495,"id":21,"parentId":19,"tags":{"page":"/_not-found"},"startTime":1785471064996,"traceId":"0f1f00e4f476f0c0"},{"name":"is-page-static","duration":756783,"timestamp":6663092769957,"id":88,"parentId":41,"tags":{},"startTime":1785471065016,"traceId":"0f1f00e4f476f0c0"},{"name":"check-page","duration":767898,"timestamp":6663092758926,"id":41,"parentId":19,"tags":{"page":"/api/hub/inbox"},"startTime":1785471065005,"traceId":"0f1f00e4f476f0c0"},{"name":"is-page-static","duration":761233,"timestamp":6663092770194,"id":92,"parentId":46,"tags":{},"startTime":1785471065016,"traceId":"0f1f00e4f476f0c0"},{"name":"check-page","duration":771930,"timestamp":6663092759587,"id":46,"parentId":19,"tags":{"page":"/api/hub/register"},"startTime":1785471065006,"traceId":"0f1f00e4f476f0c0"},{"name":"is-page-static","duration":769204,"timestamp":6663092770245,"id":96,"parentId":52,"tags":{},"startTime":1785471065017,"traceId":"0f1f00e4f476f0c0"},{"name":"check-page","duration":779277,"timestamp":6663092760267,"id":52,"parentId":19,"tags":{"page":"/api/hub/session"},"startTime":1785471065007,"traceId":"0f1f00e4f476f0c0"},{"name":"is-page-static","duration":769630,"timestamp":6663092770166,"id":90,"parentId":43,"tags":{},"startTime":1785471065016,"traceId":"0f1f00e4f476f0c0"},{"name":"check-page","duration":780751,"timestamp":6663092759094,"id":43,"parentId":19,"tags":{"page":"/api/hub/networks"},"startTime":1785471065005,"traceId":"0f1f00e4f476f0c0"},{"name":"is-page-static","duration":771613,"timestamp":6663092770258,"id":97,"parentId":53,"tags":{},"startTime":1785471065017,"traceId":"0f1f00e4f476f0c0"},{"name":"check-page","duration":781558,"timestamp":6663092760365,"id":53,"parentId":19,"tags":{"page":"/api/hub/stats"},"startTime":1785471065007,"traceId":"0f1f00e4f476f0c0"},{"name":"is-page-static","duration":779469,"timestamp":6663092770280,"id":99,"parentId":55,"tags":{},"startTime":1785471065017,"traceId":"0f1f00e4f476f0c0"},{"name":"check-page","duration":789342,"timestamp":6663092760482,"id":55,"parentId":19,"tags":{"page":"/api/hub/task-events"},"startTime":1785471065007,"traceId":"0f1f00e4f476f0c0"},{"name":"is-page-static","duration":779768,"timestamp":6663092770267,"id":98,"parentId":54,"tags":{},"startTime":1785471065017,"traceId":"0f1f00e4f476f0c0"},{"name":"check-page","duration":789649,"timestamp":6663092760423,"id":54,"parentId":19,"tags":{"page":"/api/hub/status"},"startTime":1785471065007,"traceId":"0f1f00e4f476f0c0"},{"name":"is-page-static","duration":784694,"timestamp":6663092770294,"id":100,"parentId":56,"tags":{},"startTime":1785471065017,"traceId":"0f1f00e4f476f0c0"},{"name":"check-page","duration":794525,"timestamp":6663092760533,"id":56,"parentId":19,"tags":{"page":"/api/hub/tasks"},"startTime":1785471065007,"traceId":"0f1f00e4f476f0c0"},{"name":"is-page-static","duration":784949,"timestamp":6663092770304,"id":101,"parentId":57,"tags":{},"startTime":1785471065017,"traceId":"0f1f00e4f476f0c0"},{"name":"check-page","duration":794679,"timestamp":6663092760611,"id":57,"parentId":19,"tags":{"page":"/api/hub/tmux"},"startTime":1785471065007,"traceId":"0f1f00e4f476f0c0"},{"name":"is-page-static","duration":797233,"timestamp":6663092770181,"id":91,"parentId":45,"tags":{},"startTime":1785471065016,"traceId":"0f1f00e4f476f0c0"},{"name":"check-page","duration":807995,"timestamp":6663092759486,"id":45,"parentId":19,"tags":{"page":"/api/hub/nodes"},"startTime":1785471065006,"traceId":"0f1f00e4f476f0c0"},{"name":"is-page-static","duration":795757,"timestamp":6663092771876,"id":102,"parentId":58,"tags":{},"startTime":1785471065018,"traceId":"0f1f00e4f476f0c0"},{"name":"check-page","duration":806999,"timestamp":6663092760662,"id":58,"parentId":19,"tags":{"page":"/api/hub/tokens"},"startTime":1785471065007,"traceId":"0f1f00e4f476f0c0"},{"name":"is-page-static","duration":796048,"timestamp":6663092771894,"id":103,"parentId":60,"tags":{},"startTime":1785471065018,"traceId":"0f1f00e4f476f0c0"},{"name":"check-page","duration":807026,"timestamp":6663092760956,"id":60,"parentId":19,"tags":{"page":"/favicon.ico"},"startTime":1785471065007,"traceId":"0f1f00e4f476f0c0"},{"name":"is-page-static","duration":797947,"timestamp":6663092770231,"id":95,"parentId":50,"tags":{},"startTime":1785471065017,"traceId":"0f1f00e4f476f0c0"},{"name":"check-page","duration":808282,"timestamp":6663092759942,"id":50,"parentId":19,"tags":{"page":"/api/hub/server/[hostname]/health"},"startTime":1785471065006,"traceId":"0f1f00e4f476f0c0"},{"name":"is-page-static","duration":798125,"timestamp":6663092770207,"id":93,"parentId":47,"tags":{},"startTime":1785471065016,"traceId":"0f1f00e4f476f0c0"},{"name":"check-page","duration":808726,"timestamp":6663092759651,"id":47,"parentId":19,"tags":{"page":"/api/hub/send"},"startTime":1785471065006,"traceId":"0f1f00e4f476f0c0"},{"name":"is-page-static","duration":799674,"timestamp":6663092768862,"id":83,"parentId":34,"tags":{},"startTime":1785471065015,"traceId":"0f1f00e4f476f0c0"},{"name":"check-page","duration":812400,"timestamp":6663092756176,"id":34,"parentId":19,"tags":{"page":"/api/auth/v3"},"startTime":1785471065002,"traceId":"0f1f00e4f476f0c0"},{"name":"is-page-static","duration":791808,"timestamp":6663092782203,"id":107,"parentId":27,"tags":{},"startTime":1785471065028,"traceId":"0f1f00e4f476f0c0"},{"name":"check-page","duration":819493,"timestamp":6663092754582,"id":27,"parentId":19,"tags":{"page":"/api/anet/node-create"},"startTime":1785471065001,"traceId":"0f1f00e4f476f0c0"},{"name":"is-page-static","duration":789692,"timestamp":6663092785016,"id":108,"parentId":26,"tags":{},"startTime":1785471065031,"traceId":"0f1f00e4f476f0c0"},{"name":"check-page","duration":820477,"timestamp":6663092754283,"id":26,"parentId":19,"tags":{"page":"/api/anet/node-config"},"startTime":1785471065001,"traceId":"0f1f00e4f476f0c0"},{"name":"is-page-static","duration":785231,"timestamp":6663092793753,"id":110,"parentId":38,"tags":{},"startTime":1785471065040,"traceId":"0f1f00e4f476f0c0"},{"name":"check-page","duration":822028,"timestamp":6663092757028,"id":38,"parentId":19,"tags":{"page":"/api/hub/events"},"startTime":1785471065003,"traceId":"0f1f00e4f476f0c0"},{"name":"is-page-static","duration":803162,"timestamp":6663092778046,"id":106,"parentId":25,"tags":{},"startTime":1785471065024,"traceId":"0f1f00e4f476f0c0"},{"name":"check-page","duration":827319,"timestamp":6663092753950,"id":25,"parentId":19,"tags":{"page":"/api/anet/host-supervisors"},"startTime":1785471065000,"traceId":"0f1f00e4f476f0c0"},{"name":"is-page-static","duration":769248,"timestamp":6663092817604,"id":112,"parentId":39,"tags":{},"startTime":1785471065064,"traceId":"0f1f00e4f476f0c0"},{"name":"check-page","duration":829628,"timestamp":6663092757279,"id":39,"parentId":19,"tags":{"page":"/api/hub/files/[fileId]"},"startTime":1785471065004,"traceId":"0f1f00e4f476f0c0"},{"name":"is-page-static","duration":770266,"timestamp":6663092823985,"id":114,"parentId":49,"tags":{},"startTime":1785471065070,"traceId":"0f1f00e4f476f0c0"},{"name":"check-page","duration":834541,"timestamp":6663092759777,"id":49,"parentId":19,"tags":{"page":"/api/hub/server/[hostname]/agents"},"startTime":1785471065006,"traceId":"0f1f00e4f476f0c0"},{"name":"is-page-static","duration":817846,"timestamp":6663092776661,"id":105,"parentId":24,"tags":{},"startTime":1785471065023,"traceId":"0f1f00e4f476f0c0"},{"name":"check-page","duration":842902,"timestamp":6663092751654,"id":24,"parentId":19,"tags":{"page":"/api/anet/config"},"startTime":1785471064998,"traceId":"0f1f00e4f476f0c0"},{"name":"is-page-static","duration":777346,"timestamp":6663092823264,"id":113,"parentId":44,"tags":{},"startTime":1785471065070,"traceId":"0f1f00e4f476f0c0"},{"name":"check-page","duration":841525,"timestamp":6663092759154,"id":44,"parentId":19,"tags":{"page":"/api/hub/nodes/[ref]/attrs"},"startTime":1785471065005,"traceId":"0f1f00e4f476f0c0"},{"name":"is-page-static","duration":808666,"timestamp":6663092792204,"id":109,"parentId":28,"tags":{},"startTime":1785471065038,"traceId":"0f1f00e4f476f0c0"},{"name":"check-page","duration":845925,"timestamp":6663092754981,"id":28,"parentId":19,"tags":{"page":"/api/anet/node-lifecycle"},"startTime":1785471065001,"traceId":"0f1f00e4f476f0c0"},{"name":"is-page-static","duration":777061,"timestamp":6663092825071,"id":115,"parentId":51,"tags":{},"startTime":1785471065071,"traceId":"0f1f00e4f476f0c0"},{"name":"check-page","duration":842143,"timestamp":6663092760055,"id":51,"parentId":19,"tags":{"page":"/api/hub/servers"},"startTime":1785471065006,"traceId":"0f1f00e4f476f0c0"},{"name":"is-page-static","duration":836277,"timestamp":6663092771908,"id":104,"parentId":63,"tags":{},"startTime":1785471065018,"traceId":"0f1f00e4f476f0c0"},{"name":"check-page","duration":846752,"timestamp":6663092761517,"id":63,"parentId":19,"tags":{"page":"/manifest.webmanifest"},"startTime":1785471065008,"traceId":"0f1f00e4f476f0c0"},{"name":"is-page-static","duration":785476,"timestamp":6663092827289,"id":116,"parentId":59,"tags":{},"startTime":1785471065074,"traceId":"0f1f00e4f476f0c0"},{"name":"check-page","duration":852121,"timestamp":6663092760716,"id":59,"parentId":19,"tags":{"page":"/api/hub/upload"},"startTime":1785471065007,"traceId":"0f1f00e4f476f0c0"},{"name":"is-page-static","duration":844285,"timestamp":6663092770217,"id":94,"parentId":48,"tags":{},"startTime":1785471065016,"traceId":"0f1f00e4f476f0c0"},{"name":"check-page","duration":854848,"timestamp":6663092759720,"id":48,"parentId":19,"tags":{"page":"/api/hub/server-logs"},"startTime":1785471065006,"traceId":"0f1f00e4f476f0c0"},{"name":"is-page-static","duration":785228,"timestamp":6663092840899,"id":122,"parentId":67,"tags":{},"startTime":1785471065087,"traceId":"0f1f00e4f476f0c0"},{"name":"check-page","duration":862831,"timestamp":6663092763382,"id":67,"parentId":19,"tags":{"page":"/nodes"},"startTime":1785471065010,"traceId":"0f1f00e4f476f0c0"},{"name":"is-page-static","duration":811687,"timestamp":6663092815503,"id":111,"parentId":31,"tags":{},"startTime":1785471065062,"traceId":"0f1f00e4f476f0c0"},{"name":"check-page","duration":871627,"timestamp":6663092755633,"id":31,"parentId":19,"tags":{"page":"/api/anet/providers"},"startTime":1785471065002,"traceId":"0f1f00e4f476f0c0"},{"name":"is-page-static","duration":790530,"timestamp":6663092840913,"id":123,"parentId":69,"tags":{},"startTime":1785471065087,"traceId":"0f1f00e4f476f0c0"},{"name":"check-page","duration":867588,"timestamp":6663092763925,"id":69,"parentId":19,"tags":{"page":"/providers"},"startTime":1785471065010,"traceId":"0f1f00e4f476f0c0"},{"name":"is-page-static","duration":806949,"timestamp":6663092840936,"id":125,"parentId":71,"tags":{},"startTime":1785471065087,"traceId":"0f1f00e4f476f0c0"},{"name":"check-page","duration":883506,"timestamp":6663092764462,"id":71,"parentId":19,"tags":{"page":"/servers"},"startTime":1785471065011,"traceId":"0f1f00e4f476f0c0"},{"name":"is-page-static","duration":816428,"timestamp":6663092840949,"id":126,"parentId":72,"tags":{},"startTime":1785471065087,"traceId":"0f1f00e4f476f0c0"}]
|
|
2
|
-
[{"name":"check-page","duration":
|
|
1
|
+
[{"name":"generate-buildid","duration":358,"timestamp":6666527517993,"id":4,"parentId":1,"tags":{},"startTime":1785474499764,"traceId":"f4dee70b88bf203d"},{"name":"load-custom-routes","duration":490,"timestamp":6666527518499,"id":5,"parentId":1,"tags":{},"startTime":1785474499765,"traceId":"f4dee70b88bf203d"},{"name":"create-dist-dir","duration":743,"timestamp":6666527519065,"id":6,"parentId":1,"tags":{},"startTime":1785474499765,"traceId":"f4dee70b88bf203d"},{"name":"clean","duration":47373,"timestamp":6666527520571,"id":7,"parentId":1,"tags":{},"startTime":1785474499767,"traceId":"f4dee70b88bf203d"},{"name":"discover-routes","duration":37111,"timestamp":6666527667360,"id":8,"parentId":1,"tags":{},"startTime":1785474499914,"traceId":"f4dee70b88bf203d"},{"name":"create-root-mapping","duration":159,"timestamp":6666527704562,"id":9,"parentId":1,"tags":{},"startTime":1785474499951,"traceId":"f4dee70b88bf203d"},{"name":"generate-route-types","duration":36148,"timestamp":6666527708292,"id":10,"parentId":1,"tags":{},"startTime":1785474499955,"traceId":"f4dee70b88bf203d"},{"name":"public-dir-conflict-check","duration":109,"timestamp":6666527744611,"id":11,"parentId":1,"tags":{},"startTime":1785474499991,"traceId":"f4dee70b88bf203d"},{"name":"generate-routes-manifest","duration":6397,"timestamp":6666527744843,"id":12,"parentId":1,"tags":{},"startTime":1785474499991,"traceId":"f4dee70b88bf203d"},{"name":"run-turbopack","duration":8182992,"timestamp":6666527758889,"id":14,"parentId":1,"tags":{},"startTime":1785474500005,"traceId":"f4dee70b88bf203d"},{"name":"turbopack-build-events","duration":97,"timestamp":6666528081804,"id":15,"parentId":1,"tags":{},"startTime":1785474500328,"traceId":"f4dee70b88bf203d"},{"name":"run-typescript","duration":14456978,"timestamp":6666535967667,"id":16,"parentId":1,"tags":{},"startTime":1785474508214,"traceId":"f4dee70b88bf203d"},{"name":"generate-required-server-files","duration":3005,"timestamp":6666550425781,"id":18,"parentId":1,"tags":{},"startTime":1785474522672,"traceId":"f4dee70b88bf203d"},{"name":"check-static-error-page","duration":21624,"timestamp":6666550682186,"id":20,"parentId":19,"tags":{},"startTime":1785474522928,"traceId":"f4dee70b88bf203d"},{"name":"is-page-static","duration":598039,"timestamp":6666550706582,"id":79,"parentId":29,"tags":{},"startTime":1785474522953,"traceId":"f4dee70b88bf203d"},{"name":"check-page","duration":614791,"timestamp":6666550689998,"id":29,"parentId":19,"tags":{"page":"/api/anet/providers/probe-results"},"startTime":1785474522936,"traceId":"f4dee70b88bf203d"},{"name":"is-page-static","duration":605889,"timestamp":6666550707433,"id":84,"parentId":35,"tags":{},"startTime":1785474522954,"traceId":"f4dee70b88bf203d"},{"name":"check-page","duration":622224,"timestamp":6666550691178,"id":35,"parentId":19,"tags":{"page":"/api/hub/audit-log"},"startTime":1785474522937,"traceId":"f4dee70b88bf203d"},{"name":"is-page-static","duration":625192,"timestamp":6666550707616,"id":85,"parentId":36,"tags":{},"startTime":1785474522954,"traceId":"f4dee70b88bf203d"},{"name":"check-page","duration":641171,"timestamp":6666550691785,"id":36,"parentId":19,"tags":{"page":"/api/hub/auth"},"startTime":1785474522938,"traceId":"f4dee70b88bf203d"},{"name":"is-page-static","duration":634995,"timestamp":6666550706486,"id":78,"parentId":22,"tags":{},"startTime":1785474522953,"traceId":"f4dee70b88bf203d"},{"name":"check-page","duration":655983,"timestamp":6666550685595,"id":22,"parentId":19,"tags":{"page":"/_global-error"},"startTime":1785474522932,"traceId":"f4dee70b88bf203d"},{"name":"is-page-static","duration":640197,"timestamp":6666550706142,"id":77,"parentId":21,"tags":{},"startTime":1785474522952,"traceId":"f4dee70b88bf203d"},{"name":"check-page","duration":662426,"timestamp":6666550683991,"id":21,"parentId":19,"tags":{"page":"/_not-found"},"startTime":1785474522930,"traceId":"f4dee70b88bf203d"},{"name":"is-page-static","duration":661569,"timestamp":6666550707688,"id":86,"parentId":37,"tags":{},"startTime":1785474522954,"traceId":"f4dee70b88bf203d"},{"name":"check-page","duration":677325,"timestamp":6666550692031,"id":37,"parentId":19,"tags":{"page":"/api/hub/broadcast"},"startTime":1785474522938,"traceId":"f4dee70b88bf203d"},{"name":"is-page-static","duration":685242,"timestamp":6666550707901,"id":89,"parentId":42,"tags":{},"startTime":1785474522954,"traceId":"f4dee70b88bf203d"},{"name":"check-page","duration":698532,"timestamp":6666550694726,"id":42,"parentId":19,"tags":{"page":"/api/hub/messages"},"startTime":1785474522941,"traceId":"f4dee70b88bf203d"},{"name":"is-page-static","duration":687114,"timestamp":6666550706657,"id":80,"parentId":30,"tags":{},"startTime":1785474522953,"traceId":"f4dee70b88bf203d"},{"name":"check-page","duration":703617,"timestamp":6666550690209,"id":30,"parentId":19,"tags":{"page":"/api/anet/providers/probe"},"startTime":1785474522936,"traceId":"f4dee70b88bf203d"},{"name":"is-page-static","duration":687372,"timestamp":6666550707929,"id":90,"parentId":43,"tags":{},"startTime":1785474522954,"traceId":"f4dee70b88bf203d"},{"name":"check-page","duration":700572,"timestamp":6666550694786,"id":43,"parentId":19,"tags":{"page":"/api/hub/networks"},"startTime":1785474522941,"traceId":"f4dee70b88bf203d"},{"name":"is-page-static","duration":694484,"timestamp":6666550707959,"id":92,"parentId":46,"tags":{},"startTime":1785474522954,"traceId":"f4dee70b88bf203d"},{"name":"check-page","duration":706838,"timestamp":6666550695659,"id":46,"parentId":19,"tags":{"page":"/api/hub/register"},"startTime":1785474522942,"traceId":"f4dee70b88bf203d"},{"name":"is-page-static","duration":698883,"timestamp":6666550707946,"id":91,"parentId":45,"tags":{},"startTime":1785474522954,"traceId":"f4dee70b88bf203d"},{"name":"check-page","duration":711414,"timestamp":6666550695470,"id":45,"parentId":19,"tags":{"page":"/api/hub/nodes"},"startTime":1785474522942,"traceId":"f4dee70b88bf203d"},{"name":"is-page-static","duration":699201,"timestamp":6666550707968,"id":93,"parentId":47,"tags":{},"startTime":1785474522954,"traceId":"f4dee70b88bf203d"},{"name":"check-page","duration":711417,"timestamp":6666550695800,"id":47,"parentId":19,"tags":{"page":"/api/hub/send"},"startTime":1785474522942,"traceId":"f4dee70b88bf203d"},{"name":"is-page-static","duration":710956,"timestamp":6666550707980,"id":94,"parentId":48,"tags":{},"startTime":1785474522954,"traceId":"f4dee70b88bf203d"},{"name":"check-page","duration":723092,"timestamp":6666550695926,"id":48,"parentId":19,"tags":{"page":"/api/hub/server-logs"},"startTime":1785474522942,"traceId":"f4dee70b88bf203d"},{"name":"is-page-static","duration":711283,"timestamp":6666550707992,"id":95,"parentId":50,"tags":{},"startTime":1785474522954,"traceId":"f4dee70b88bf203d"},{"name":"check-page","duration":722957,"timestamp":6666550696376,"id":50,"parentId":19,"tags":{"page":"/api/hub/server/[hostname]/health"},"startTime":1785474522943,"traceId":"f4dee70b88bf203d"},{"name":"is-page-static","duration":716230,"timestamp":6666550709148,"id":96,"parentId":52,"tags":{},"startTime":1785474522955,"traceId":"f4dee70b88bf203d"},{"name":"check-page","duration":728629,"timestamp":6666550696815,"id":52,"parentId":19,"tags":{"page":"/api/hub/session"},"startTime":1785474522943,"traceId":"f4dee70b88bf203d"},{"name":"is-page-static","duration":716460,"timestamp":6666550709179,"id":97,"parentId":53,"tags":{},"startTime":1785474522955,"traceId":"f4dee70b88bf203d"},{"name":"check-page","duration":728724,"timestamp":6666550696955,"id":53,"parentId":19,"tags":{"page":"/api/hub/stats"},"startTime":1785474522943,"traceId":"f4dee70b88bf203d"},{"name":"is-page-static","duration":721879,"timestamp":6666550709198,"id":98,"parentId":54,"tags":{},"startTime":1785474522955,"traceId":"f4dee70b88bf203d"},{"name":"check-page","duration":734069,"timestamp":6666550697091,"id":54,"parentId":19,"tags":{"page":"/api/hub/status"},"startTime":1785474522943,"traceId":"f4dee70b88bf203d"},{"name":"is-page-static","duration":725272,"timestamp":6666550709213,"id":99,"parentId":55,"tags":{},"startTime":1785474522955,"traceId":"f4dee70b88bf203d"},{"name":"check-page","duration":737357,"timestamp":6666550697194,"id":55,"parentId":19,"tags":{"page":"/api/hub/task-events"},"startTime":1785474522943,"traceId":"f4dee70b88bf203d"},{"name":"is-page-static","duration":728018,"timestamp":6666550706766,"id":81,"parentId":32,"tags":{},"startTime":1785474522953,"traceId":"f4dee70b88bf203d"},{"name":"check-page","duration":744130,"timestamp":6666550690692,"id":32,"parentId":19,"tags":{"page":"/api/auth/login"},"startTime":1785474522937,"traceId":"f4dee70b88bf203d"},{"name":"is-page-static","duration":726981,"timestamp":6666550709235,"id":100,"parentId":56,"tags":{},"startTime":1785474522956,"traceId":"f4dee70b88bf203d"},{"name":"check-page","duration":738976,"timestamp":6666550697301,"id":56,"parentId":19,"tags":{"page":"/api/hub/tasks"},"startTime":1785474522944,"traceId":"f4dee70b88bf203d"},{"name":"is-page-static","duration":733717,"timestamp":6666550709250,"id":101,"parentId":57,"tags":{},"startTime":1785474522956,"traceId":"f4dee70b88bf203d"},{"name":"check-page","duration":747597,"timestamp":6666550697426,"id":57,"parentId":19,"tags":{"page":"/api/hub/tmux"},"startTime":1785474522944,"traceId":"f4dee70b88bf203d"},{"name":"is-page-static","duration":744971,"timestamp":6666550707793,"id":88,"parentId":41,"tags":{},"startTime":1785474522954,"traceId":"f4dee70b88bf203d"},{"name":"check-page","duration":758177,"timestamp":6666550694663,"id":41,"parentId":19,"tags":{"page":"/api/hub/inbox"},"startTime":1785474522941,"traceId":"f4dee70b88bf203d"},{"name":"is-page-static","duration":743833,"timestamp":6666550710686,"id":104,"parentId":63,"tags":{},"startTime":1785474522957,"traceId":"f4dee70b88bf203d"},{"name":"check-page","duration":755724,"timestamp":6666550698862,"id":63,"parentId":19,"tags":{"page":"/manifest.webmanifest"},"startTime":1785474522945,"traceId":"f4dee70b88bf203d"},{"name":"is-page-static","duration":749433,"timestamp":6666550710671,"id":103,"parentId":60,"tags":{},"startTime":1785474522957,"traceId":"f4dee70b88bf203d"},{"name":"check-page","duration":762208,"timestamp":6666550697969,"id":60,"parentId":19,"tags":{"page":"/favicon.ico"},"startTime":1785474522944,"traceId":"f4dee70b88bf203d"},{"name":"is-page-static","duration":749548,"timestamp":6666550714388,"id":105,"parentId":24,"tags":{},"startTime":1785474522961,"traceId":"f4dee70b88bf203d"},{"name":"check-page","duration":778804,"timestamp":6666550686279,"id":24,"parentId":19,"tags":{"page":"/api/anet/config"},"startTime":1785474522933,"traceId":"f4dee70b88bf203d"},{"name":"is-page-static","duration":746780,"timestamp":6666550718843,"id":107,"parentId":26,"tags":{},"startTime":1785474522965,"traceId":"f4dee70b88bf203d"},{"name":"check-page","duration":776746,"timestamp":6666550688932,"id":26,"parentId":19,"tags":{"page":"/api/anet/node-config"},"startTime":1785474522935,"traceId":"f4dee70b88bf203d"},{"name":"is-page-static","duration":752748,"timestamp":6666550715779,"id":106,"parentId":25,"tags":{},"startTime":1785474522962,"traceId":"f4dee70b88bf203d"},{"name":"check-page","duration":779943,"timestamp":6666550688636,"id":25,"parentId":19,"tags":{"page":"/api/anet/host-supervisors"},"startTime":1785474522935,"traceId":"f4dee70b88bf203d"},{"name":"is-page-static","duration":751291,"timestamp":6666550722654,"id":108,"parentId":27,"tags":{},"startTime":1785474522969,"traceId":"f4dee70b88bf203d"},{"name":"check-page","duration":784688,"timestamp":6666550689304,"id":27,"parentId":19,"tags":{"page":"/api/anet/node-create"},"startTime":1785474522936,"traceId":"f4dee70b88bf203d"},{"name":"is-page-static","duration":748428,"timestamp":6666550727454,"id":109,"parentId":28,"tags":{},"startTime":1785474522974,"traceId":"f4dee70b88bf203d"},{"name":"check-page","duration":786288,"timestamp":6666550689650,"id":28,"parentId":19,"tags":{"page":"/api/anet/node-lifecycle"},"startTime":1785474522936,"traceId":"f4dee70b88bf203d"},{"name":"is-page-static","duration":769016,"timestamp":6666550707277,"id":83,"parentId":34,"tags":{},"startTime":1785474522954,"traceId":"f4dee70b88bf203d"},{"name":"check-page","duration":785749,"timestamp":6666550690994,"id":34,"parentId":19,"tags":{"page":"/api/auth/v3"},"startTime":1785474522937,"traceId":"f4dee70b88bf203d"},{"name":"is-page-static","duration":740621,"timestamp":6666550736340,"id":110,"parentId":31,"tags":{},"startTime":1785474522983,"traceId":"f4dee70b88bf203d"},{"name":"check-page","duration":786610,"timestamp":6666550690387,"id":31,"parentId":19,"tags":{"page":"/api/anet/providers"},"startTime":1785474522937,"traceId":"f4dee70b88bf203d"},{"name":"is-page-static","duration":767728,"timestamp":6666550710643,"id":102,"parentId":58,"tags":{},"startTime":1785474522957,"traceId":"f4dee70b88bf203d"},{"name":"check-page","duration":780891,"timestamp":6666550697528,"id":58,"parentId":19,"tags":{"page":"/api/hub/tokens"},"startTime":1785474522944,"traceId":"f4dee70b88bf203d"},{"name":"is-page-static","duration":741866,"timestamp":6666550737756,"id":111,"parentId":38,"tags":{},"startTime":1785474522984,"traceId":"f4dee70b88bf203d"},{"name":"check-page","duration":787506,"timestamp":6666550692174,"id":38,"parentId":19,"tags":{"page":"/api/hub/events"},"startTime":1785474522938,"traceId":"f4dee70b88bf203d"},{"name":"is-page-static","duration":737255,"timestamp":6666550745597,"id":114,"parentId":49,"tags":{},"startTime":1785474522992,"traceId":"f4dee70b88bf203d"},{"name":"check-page","duration":786794,"timestamp":6666550696104,"id":49,"parentId":19,"tags":{"page":"/api/hub/server/[hostname]/agents"},"startTime":1785474522942,"traceId":"f4dee70b88bf203d"},{"name":"is-page-static","duration":739185,"timestamp":6666550748909,"id":116,"parentId":59,"tags":{},"startTime":1785474522995,"traceId":"f4dee70b88bf203d"},{"name":"check-page","duration":791793,"timestamp":6666550697623,"id":59,"parentId":19,"tags":{"page":"/api/hub/upload"},"startTime":1785474522944,"traceId":"f4dee70b88bf203d"},{"name":"is-page-static","duration":744835,"timestamp":6666550744793,"id":113,"parentId":44,"tags":{},"startTime":1785474522991,"traceId":"f4dee70b88bf203d"},{"name":"check-page","duration":794833,"timestamp":6666550694841,"id":44,"parentId":19,"tags":{"page":"/api/hub/nodes/[ref]/attrs"},"startTime":1785474522941,"traceId":"f4dee70b88bf203d"},{"name":"is-page-static","duration":783847,"timestamp":6666550707761,"id":87,"parentId":40,"tags":{},"startTime":1785474522954,"traceId":"f4dee70b88bf203d"},{"name":"check-page","duration":797099,"timestamp":6666550694567,"id":40,"parentId":19,"tags":{"page":"/api/hub/health"},"startTime":1785474522941,"traceId":"f4dee70b88bf203d"},{"name":"is-page-static","duration":754293,"timestamp":6666550739803,"id":112,"parentId":39,"tags":{},"startTime":1785474522986,"traceId":"f4dee70b88bf203d"},{"name":"check-page","duration":801653,"timestamp":6666550692494,"id":39,"parentId":19,"tags":{"page":"/api/hub/files/[fileId]"},"startTime":1785474522939,"traceId":"f4dee70b88bf203d"},{"name":"is-page-static","duration":709619,"timestamp":6666550788095,"id":118,"parentId":61,"tags":{},"startTime":1785474523034,"traceId":"f4dee70b88bf203d"},{"name":"check-page","duration":799324,"timestamp":6666550698445,"id":61,"parentId":19,"tags":{"page":"/login"},"startTime":1785474522945,"traceId":"f4dee70b88bf203d"},{"name":"is-page-static","duration":716530,"timestamp":6666550788144,"id":122,"parentId":67,"tags":{},"startTime":1785474523034,"traceId":"f4dee70b88bf203d"},{"name":"check-page","duration":802948,"timestamp":6666550701780,"id":67,"parentId":19,"tags":{"page":"/nodes"},"startTime":1785474522948,"traceId":"f4dee70b88bf203d"},{"name":"is-page-static","duration":758280,"timestamp":6666550746593,"id":115,"parentId":51,"tags":{},"startTime":1785474522993,"traceId":"f4dee70b88bf203d"},{"name":"check-page","duration":808397,"timestamp":6666550696516,"id":51,"parentId":19,"tags":{"page":"/api/hub/servers"},"startTime":1785474522943,"traceId":"f4dee70b88bf203d"},{"name":"is-page-static","duration":724573,"timestamp":6666550788154,"id":123,"parentId":69,"tags":{},"startTime":1785474523034,"traceId":"f4dee70b88bf203d"},{"name":"check-page","duration":810472,"timestamp":6666550702322,"id":69,"parentId":19,"tags":{"page":"/providers"},"startTime":1785474522949,"traceId":"f4dee70b88bf203d"},{"name":"is-page-static","duration":732633,"timestamp":6666550788174,"id":125,"parentId":71,"tags":{},"startTime":1785474523034,"traceId":"f4dee70b88bf203d"},{"name":"check-page","duration":818262,"timestamp":6666550702681,"id":71,"parentId":19,"tags":{"page":"/servers"},"startTime":1785474522949,"traceId":"f4dee70b88bf203d"},{"name":"is-page-static","duration":740056,"timestamp":6666550788185,"id":126,"parentId":72,"tags":{},"startTime":1785474523034,"traceId":"f4dee70b88bf203d"}]
|
|
2
|
+
[{"name":"check-page","duration":825788,"timestamp":6666550702771,"id":72,"parentId":19,"tags":{"page":"/settings/networks"},"startTime":1785474522949,"traceId":"f4dee70b88bf203d"},{"name":"is-page-static","duration":821689,"timestamp":6666550707074,"id":82,"parentId":33,"tags":{},"startTime":1785474522953,"traceId":"f4dee70b88bf203d"},{"name":"check-page","duration":837945,"timestamp":6666550690852,"id":33,"parentId":19,"tags":{"page":"/api/auth/logout"},"startTime":1785474522937,"traceId":"f4dee70b88bf203d"},{"name":"is-page-static","duration":762530,"timestamp":6666550788195,"id":127,"parentId":74,"tags":{},"startTime":1785474523034,"traceId":"f4dee70b88bf203d"},{"name":"check-page","duration":847297,"timestamp":6666550703500,"id":74,"parentId":19,"tags":{"page":"/settings/tokens"},"startTime":1785474522950,"traceId":"f4dee70b88bf203d"},{"name":"is-page-static","duration":762900,"timestamp":6666550788037,"id":117,"parentId":23,"tags":{},"startTime":1785474523034,"traceId":"f4dee70b88bf203d"},{"name":"check-page","duration":865035,"timestamp":6666550685930,"id":23,"parentId":19,"tags":{"page":"/admin"},"startTime":1785474522932,"traceId":"f4dee70b88bf203d"},{"name":"is-page-static","duration":779283,"timestamp":6666550788215,"id":129,"parentId":76,"tags":{},"startTime":1785474523034,"traceId":"f4dee70b88bf203d"},{"name":"check-page","duration":863871,"timestamp":6666550703712,"id":76,"parentId":19,"tags":{"page":"/tasks"},"startTime":1785474522950,"traceId":"f4dee70b88bf203d"},{"name":"is-page-static","duration":779960,"timestamp":6666550788241,"id":130,"parentId":64,"tags":{},"startTime":1785474523035,"traceId":"f4dee70b88bf203d"},{"name":"check-page","duration":869286,"timestamp":6666550698987,"id":64,"parentId":19,"tags":{"page":"/messages"},"startTime":1785474522945,"traceId":"f4dee70b88bf203d"},{"name":"is-page-static","duration":780239,"timestamp":6666550788123,"id":120,"parentId":65,"tags":{},"startTime":1785474523034,"traceId":"f4dee70b88bf203d"},{"name":"check-page","duration":868172,"timestamp":6666550700217,"id":65,"parentId":19,"tags":{"page":"/node"},"startTime":1785474522946,"traceId":"f4dee70b88bf203d"},{"name":"is-page-static","duration":780621,"timestamp":6666550788164,"id":124,"parentId":70,"tags":{},"startTime":1785474523034,"traceId":"f4dee70b88bf203d"},{"name":"check-page","duration":866317,"timestamp":6666550702508,"id":70,"parentId":19,"tags":{"page":"/server-logs"},"startTime":1785474522949,"traceId":"f4dee70b88bf203d"},{"name":"is-page-static","duration":781447,"timestamp":6666550794652,"id":132,"parentId":73,"tags":{},"startTime":1785474523041,"traceId":"f4dee70b88bf203d"},{"name":"check-page","duration":873055,"timestamp":6666550703099,"id":73,"parentId":19,"tags":{"page":"/settings"},"startTime":1785474522949,"traceId":"f4dee70b88bf203d"},{"name":"is-page-static","duration":788270,"timestamp":6666550788252,"id":131,"parentId":68,"tags":{},"startTime":1785474523035,"traceId":"f4dee70b88bf203d"},{"name":"check-page","duration":874719,"timestamp":6666550701857,"id":68,"parentId":19,"tags":{"page":"/"},"startTime":1785474522948,"traceId":"f4dee70b88bf203d"},{"name":"is-page-static","duration":802196,"timestamp":6666550788134,"id":121,"parentId":66,"tags":{},"startTime":1785474523034,"traceId":"f4dee70b88bf203d"},{"name":"check-page","duration":888749,"timestamp":6666550701643,"id":66,"parentId":19,"tags":{"page":"/nodes/[alias]"},"startTime":1785474522948,"traceId":"f4dee70b88bf203d"},{"name":"is-page-static","duration":803511,"timestamp":6666550788111,"id":119,"parentId":62,"tags":{},"startTime":1785474523034,"traceId":"f4dee70b88bf203d"},{"name":"check-page","duration":893019,"timestamp":6666550698651,"id":62,"parentId":19,"tags":{"page":"/logs"},"startTime":1785474522945,"traceId":"f4dee70b88bf203d"},{"name":"is-page-static","duration":827970,"timestamp":6666550788204,"id":128,"parentId":75,"tags":{},"startTime":1785474523034,"traceId":"f4dee70b88bf203d"},{"name":"check-page","duration":912632,"timestamp":6666550703628,"id":75,"parentId":19,"tags":{"page":"/tasks/[id]"},"startTime":1785474522950,"traceId":"f4dee70b88bf203d"},{"name":"static-check","duration":935116,"timestamp":6666550681201,"id":19,"parentId":1,"tags":{},"startTime":1785474522927,"traceId":"f4dee70b88bf203d"},{"name":"write-routes-manifest","duration":635,"timestamp":6666551625024,"id":134,"parentId":1,"tags":{},"startTime":1785474523871,"traceId":"f4dee70b88bf203d"},{"name":"load-dotenv","duration":74,"timestamp":6666551637542,"id":137,"parentId":136,"tags":{},"startTime":1785474523884,"traceId":"f4dee70b88bf203d"},{"name":"run-export-path-map","duration":643,"timestamp":6666551640421,"id":138,"parentId":136,"tags":{},"startTime":1785474523887,"traceId":"f4dee70b88bf203d"},{"name":"next-export","duration":770634,"timestamp":6666551636158,"id":136,"parentId":1,"tags":{},"startTime":1785474523882,"traceId":"f4dee70b88bf203d"},{"name":"move-exported-app-not-found-","duration":779,"timestamp":6666552412324,"id":139,"parentId":135,"tags":{},"startTime":1785474524659,"traceId":"f4dee70b88bf203d"},{"name":"move-exported-app-global-error-","duration":668,"timestamp":6666552413211,"id":140,"parentId":135,"tags":{},"startTime":1785474524659,"traceId":"f4dee70b88bf203d"},{"name":"static-generation","duration":789653,"timestamp":6666551630137,"id":135,"parentId":1,"tags":{},"startTime":1785474523876,"traceId":"f4dee70b88bf203d"},{"name":"write-routes-manifest","duration":3219,"timestamp":6666552420178,"id":141,"parentId":1,"tags":{},"startTime":1785474524666,"traceId":"f4dee70b88bf203d"},{"name":"print-tree-view","duration":5025,"timestamp":6666552440896,"id":142,"parentId":1,"tags":{},"startTime":1785474524687,"traceId":"f4dee70b88bf203d"},{"name":"write-route-bundle-stats","duration":15036,"timestamp":6666552445959,"id":143,"parentId":1,"tags":{},"startTime":1785474524692,"traceId":"f4dee70b88bf203d"},{"name":"telemetry-flush","duration":17115,"timestamp":6666552461070,"id":144,"parentId":1,"tags":{},"startTime":1785474524707,"traceId":"f4dee70b88bf203d"},{"name":"next-build","duration":25019275,"timestamp":6666527458961,"id":1,"tags":{"buildMode":"default","version":"16.2.3","bundler":"turbopack","has-custom-webpack-config":"false","use-build-worker":"true"},"startTime":1785474499705,"traceId":"f4dee70b88bf203d"}]
|
package/.next/trace-build
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
[{"name":"run-turbopack","duration":
|
|
1
|
+
[{"name":"run-turbopack","duration":8182992,"timestamp":6666527758889,"id":14,"parentId":1,"tags":{},"startTime":1785474500005,"traceId":"f4dee70b88bf203d"},{"name":"turbopack-build-events","duration":97,"timestamp":6666528081804,"id":15,"parentId":1,"tags":{},"startTime":1785474500328,"traceId":"f4dee70b88bf203d"},{"name":"run-typescript","duration":14456978,"timestamp":6666535967667,"id":16,"parentId":1,"tags":{},"startTime":1785474508214,"traceId":"f4dee70b88bf203d"},{"name":"static-check","duration":935116,"timestamp":6666550681201,"id":19,"parentId":1,"tags":{},"startTime":1785474522927,"traceId":"f4dee70b88bf203d"},{"name":"static-generation","duration":789653,"timestamp":6666551630137,"id":135,"parentId":1,"tags":{},"startTime":1785474523876,"traceId":"f4dee70b88bf203d"},{"name":"telemetry-flush","duration":17115,"timestamp":6666552461070,"id":144,"parentId":1,"tags":{},"startTime":1785474524707,"traceId":"f4dee70b88bf203d"},{"name":"next-build","duration":25019275,"timestamp":6666527458961,"id":1,"tags":{"buildMode":"default","version":"16.2.3","bundler":"turbopack","has-custom-webpack-config":"false","use-build-worker":"true"},"startTime":1785474499705,"traceId":"f4dee70b88bf203d"}]
|
|
@@ -1,7 +1,10 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
|
|
3
|
+
import { useState } from 'react';
|
|
3
4
|
import { AliasAvatar } from './AliasAvatar';
|
|
4
5
|
import { TaskChatPanel } from './TaskChatPanel';
|
|
6
|
+
import { NodeSettingsPanel } from './NodeSettingsPanel';
|
|
7
|
+
import { useSessions } from '../lib/hooks';
|
|
5
8
|
import { t } from '../lib/ui-lang';
|
|
6
9
|
|
|
7
10
|
// #Stage B (dashboard 3-col): the persistent right chat column on /nodes.
|
|
@@ -14,10 +17,19 @@ import { t } from '../lib/ui-lang';
|
|
|
14
17
|
// renders (NodesView.chatOpenDesktop), so the pane takes all width right
|
|
15
18
|
// of the rail instead of being squeezed to a fixed sliver by the table.
|
|
16
19
|
//
|
|
17
|
-
//
|
|
18
|
-
//
|
|
19
|
-
//
|
|
20
|
-
//
|
|
20
|
+
// Batch (07-31 通信龙) segment 4: chat top-bar right adds ⋮ (overflow /
|
|
21
|
+
// settings entry), 📅 (view task), 🔍 (search — disabled v1), + existing
|
|
22
|
+
// ✕ (close). Settings entry opens NodeSettingsPanel as a 360px right-
|
|
23
|
+
// drawer SCOPED to the chat pane (positioning='absolute'), so opening
|
|
24
|
+
// settings doesn't cover the sidebar or rail — SPEC §12 + 通信龙 判定.
|
|
25
|
+
// TaskChatPanel stays mounted while the drawer opens (renders as a
|
|
26
|
+
// sibling, not a replacement) so draft / scroll / SSE state survives —
|
|
27
|
+
// Vincent's "只发生一次就再也不敢用" red-line.
|
|
28
|
+
//
|
|
29
|
+
// Test-hook contract:
|
|
30
|
+
// - Root: data-testid="chat-pane", data-chat-alias
|
|
31
|
+
// - Buttons: data-testid="chat-pane-{settings,view-tasks,search,close}"
|
|
32
|
+
// - Settings dialog inherits NodeSettingsPanel's role="dialog"
|
|
21
33
|
export interface ChatPaneProps {
|
|
22
34
|
/** Node alias to chat with. Changing it swaps the conversation in place. */
|
|
23
35
|
alias: string;
|
|
@@ -26,32 +38,112 @@ export interface ChatPaneProps {
|
|
|
26
38
|
}
|
|
27
39
|
|
|
28
40
|
export function ChatPane({ alias, onClose }: ChatPaneProps) {
|
|
41
|
+
const [settingsOpen, setSettingsOpen] = useState(false);
|
|
42
|
+
// Look up session for NodeSettingsPanel — it requires the full row.
|
|
43
|
+
// useSessions is SWR-cached (same key as NodesView), so no extra
|
|
44
|
+
// network cost.
|
|
45
|
+
const { sessions } = useSessions();
|
|
46
|
+
const session = sessions.find(s => s.alias === alias);
|
|
47
|
+
|
|
29
48
|
return (
|
|
30
49
|
<aside
|
|
31
50
|
data-testid="chat-pane"
|
|
32
51
|
data-chat-alias={alias}
|
|
33
|
-
|
|
52
|
+
// `relative` so the settings drawer (positioning='absolute')
|
|
53
|
+
// scopes to this <aside>, not the viewport. Without this the
|
|
54
|
+
// drawer would cover the whole page — the exact regression
|
|
55
|
+
// 通信龙's judgment ("settings-as-right-drawer, not 4th column
|
|
56
|
+
// and not fullscreen") is designed to prevent.
|
|
57
|
+
className="relative hidden md:flex md:flex-col flex-1 min-w-0 h-full bg-[#141826]"
|
|
34
58
|
>
|
|
35
59
|
<div className="flex items-center justify-between gap-2 px-3 py-2.5 border-b border-[rgba(255,255,255,0.06)] bg-[#141826] shrink-0">
|
|
36
60
|
<div className="flex items-center gap-2 min-w-0">
|
|
37
61
|
<AliasAvatar alias={alias} size={26} />
|
|
38
62
|
<span className="truncate text-sm font-semibold text-white">{alias}</span>
|
|
39
63
|
</div>
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
64
|
+
{/* SPEC §12: right-side icon row. ⋮ IS the settings entry
|
|
65
|
+
(opens NodeSettingsPanel directly rather than expanding an
|
|
66
|
+
overflow menu — spec calls for both, but MVP folds them
|
|
67
|
+
into one click since the only overflow item that has a
|
|
68
|
+
wired backend right now IS settings; other items in the
|
|
69
|
+
spec's 5-item overflow are not yet implemented, per
|
|
70
|
+
INVENTORY.md). Script accepts either
|
|
71
|
+
data-testid="chat-pane-settings" or "chat-pane-more" or
|
|
72
|
+
aria-label containing "设置" — we set testid=settings,
|
|
73
|
+
aria-label contains "设置", and add data-chat-pane-more so
|
|
74
|
+
all three script matchers hit. */}
|
|
75
|
+
<div className="flex items-center gap-1 shrink-0">
|
|
76
|
+
<button
|
|
77
|
+
type="button"
|
|
78
|
+
onClick={() => setSettingsOpen(true)}
|
|
79
|
+
aria-label={t('打开会话设置', 'Open conversation settings')}
|
|
80
|
+
title={t('会话设置', 'Conversation settings')}
|
|
81
|
+
data-testid="chat-pane-settings"
|
|
82
|
+
data-chat-pane-more
|
|
83
|
+
className="inline-flex h-8 w-8 items-center justify-center rounded-md text-gray-500 hover:text-gray-200 hover:bg-[#1c1c1f] transition-colors"
|
|
84
|
+
>
|
|
85
|
+
{/* ⋮ vertical dots — spec §12 "overflow menu" glyph. */}
|
|
86
|
+
<svg className="w-4 h-4" fill="none" viewBox="0 0 24 24" stroke="currentColor" strokeWidth={2}>
|
|
87
|
+
<circle cx="12" cy="5" r="1.5" fill="currentColor" />
|
|
88
|
+
<circle cx="12" cy="12" r="1.5" fill="currentColor" />
|
|
89
|
+
<circle cx="12" cy="19" r="1.5" fill="currentColor" />
|
|
90
|
+
</svg>
|
|
91
|
+
</button>
|
|
92
|
+
<a
|
|
93
|
+
href={`/tasks?alias=${encodeURIComponent(alias)}`}
|
|
94
|
+
aria-label={t(`查看 ${alias} 的任务`, `View ${alias} tasks`)}
|
|
95
|
+
title={t('查看任务', 'View tasks')}
|
|
96
|
+
data-testid="chat-pane-view-tasks"
|
|
97
|
+
className="inline-flex h-8 w-8 items-center justify-center rounded-md text-gray-500 hover:text-gray-200 hover:bg-[#1c1c1f] transition-colors"
|
|
98
|
+
>
|
|
99
|
+
<svg className="w-4 h-4" fill="none" viewBox="0 0 24 24" stroke="currentColor" strokeWidth={1.5}>
|
|
100
|
+
<path strokeLinecap="round" strokeLinejoin="round" d="M8 7V3M16 7V3M4 11h16M5 21h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v12a2 2 0 002 2z" />
|
|
101
|
+
</svg>
|
|
102
|
+
</a>
|
|
103
|
+
<button
|
|
104
|
+
type="button"
|
|
105
|
+
disabled
|
|
106
|
+
aria-label={t('会话内搜索(即将支持)', 'In-chat search (coming soon)')}
|
|
107
|
+
title={t('即将支持', 'Coming soon')}
|
|
108
|
+
data-testid="chat-pane-search"
|
|
109
|
+
className="inline-flex h-8 w-8 items-center justify-center rounded-md text-gray-700 cursor-not-allowed"
|
|
110
|
+
>
|
|
111
|
+
<svg className="w-4 h-4" fill="none" viewBox="0 0 24 24" stroke="currentColor" strokeWidth={1.5}>
|
|
112
|
+
<path strokeLinecap="round" strokeLinejoin="round" d="M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z" />
|
|
113
|
+
</svg>
|
|
114
|
+
</button>
|
|
115
|
+
<button
|
|
116
|
+
type="button"
|
|
117
|
+
onClick={onClose}
|
|
118
|
+
aria-label={t('关闭会话', 'Close chat')}
|
|
119
|
+
data-testid="chat-pane-close"
|
|
120
|
+
className="inline-flex h-8 w-8 items-center justify-center rounded-md text-gray-500 hover:text-gray-200 hover:bg-[#1c1c1f] transition-colors"
|
|
121
|
+
>
|
|
122
|
+
<svg className="w-4 h-4" fill="none" viewBox="0 0 24 24" stroke="currentColor" strokeWidth={2}>
|
|
123
|
+
<path strokeLinecap="round" strokeLinejoin="round" d="M6 18L18 6M6 6l12 12" />
|
|
124
|
+
</svg>
|
|
125
|
+
</button>
|
|
126
|
+
</div>
|
|
51
127
|
</div>
|
|
52
128
|
<div className="flex-1 min-h-0">
|
|
129
|
+
{/* TaskChatPanel stays mounted regardless of settingsOpen —
|
|
130
|
+
it's a SIBLING of the settings drawer, not a child. React
|
|
131
|
+
preserves its state (draft / scroll / SSE) across drawer
|
|
132
|
+
toggle because the tree position doesn't change. */}
|
|
53
133
|
<TaskChatPanel alias={alias} onClose={onClose} inline />
|
|
54
134
|
</div>
|
|
135
|
+
{/* Settings drawer — mounts as sibling of TaskChatPanel, scoped
|
|
136
|
+
to this aside via positioning='absolute'. session may be
|
|
137
|
+
undefined briefly during SWR revalidation; guard so the
|
|
138
|
+
drawer doesn't open with no data (button was clicked before
|
|
139
|
+
sessions loaded — rare but possible). */}
|
|
140
|
+
{settingsOpen && session && (
|
|
141
|
+
<NodeSettingsPanel
|
|
142
|
+
session={session}
|
|
143
|
+
onClose={() => setSettingsOpen(false)}
|
|
144
|
+
positioning="absolute"
|
|
145
|
+
/>
|
|
146
|
+
)}
|
|
55
147
|
</aside>
|
|
56
148
|
);
|
|
57
149
|
}
|