@sleep2agi/agent-network-dashboard 0.5.4 → 0.5.5-preview.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.next/BUILD_ID +1 -1
- package/.next/build-manifest.json +3 -3
- package/.next/diagnostics/route-bundle-stats.json +37 -37
- package/.next/fallback-build-manifest.json +3 -3
- package/.next/server/app/_global-error.html +1 -1
- package/.next/server/app/_global-error.rsc +1 -1
- package/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/.next/server/app/_not-found.html +3 -3
- package/.next/server/app/_not-found.rsc +13 -13
- package/.next/server/app/_not-found.segments/_full.segment.rsc +13 -13
- package/.next/server/app/_not-found.segments/_head.segment.rsc +4 -4
- package/.next/server/app/_not-found.segments/_index.segment.rsc +7 -7
- 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 +2 -2
- package/.next/server/app/admin/page_client-reference-manifest.js +1 -1
- package/.next/server/app/admin.html +3 -3
- package/.next/server/app/admin.rsc +15 -15
- package/.next/server/app/admin.segments/_full.segment.rsc +15 -15
- package/.next/server/app/admin.segments/_head.segment.rsc +4 -4
- package/.next/server/app/admin.segments/_index.segment.rsc +7 -7
- package/.next/server/app/admin.segments/_tree.segment.rsc +2 -2
- 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 +3 -3
- package/.next/server/app/index.rsc +15 -15
- package/.next/server/app/index.segments/__PAGE__.segment.rsc +4 -4
- package/.next/server/app/index.segments/_full.segment.rsc +15 -15
- package/.next/server/app/index.segments/_head.segment.rsc +4 -4
- package/.next/server/app/index.segments/_index.segment.rsc +7 -7
- package/.next/server/app/index.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/login/page_client-reference-manifest.js +1 -1
- package/.next/server/app/login.html +2 -2
- package/.next/server/app/login.rsc +15 -15
- package/.next/server/app/login.segments/_full.segment.rsc +15 -15
- package/.next/server/app/login.segments/_head.segment.rsc +4 -4
- package/.next/server/app/login.segments/_index.segment.rsc +7 -7
- package/.next/server/app/login.segments/_tree.segment.rsc +2 -2
- 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_client-reference-manifest.js +1 -1
- package/.next/server/app/logs.html +3 -3
- package/.next/server/app/logs.rsc +15 -15
- package/.next/server/app/logs.segments/_full.segment.rsc +15 -15
- package/.next/server/app/logs.segments/_head.segment.rsc +4 -4
- package/.next/server/app/logs.segments/_index.segment.rsc +7 -7
- package/.next/server/app/logs.segments/_tree.segment.rsc +2 -2
- 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/messages/page_client-reference-manifest.js +1 -1
- package/.next/server/app/messages.html +3 -3
- package/.next/server/app/messages.rsc +15 -15
- package/.next/server/app/messages.segments/_full.segment.rsc +15 -15
- package/.next/server/app/messages.segments/_head.segment.rsc +4 -4
- package/.next/server/app/messages.segments/_index.segment.rsc +7 -7
- package/.next/server/app/messages.segments/_tree.segment.rsc +2 -2
- 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_client-reference-manifest.js +1 -1
- package/.next/server/app/node.html +3 -3
- package/.next/server/app/node.rsc +15 -15
- package/.next/server/app/node.segments/_full.segment.rsc +15 -15
- package/.next/server/app/node.segments/_head.segment.rsc +4 -4
- package/.next/server/app/node.segments/_index.segment.rsc +7 -7
- package/.next/server/app/node.segments/_tree.segment.rsc +2 -2
- 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_client-reference-manifest.js +1 -1
- package/.next/server/app/nodes.html +3 -3
- package/.next/server/app/nodes.rsc +15 -15
- package/.next/server/app/nodes.segments/_full.segment.rsc +15 -15
- package/.next/server/app/nodes.segments/_head.segment.rsc +4 -4
- package/.next/server/app/nodes.segments/_index.segment.rsc +7 -7
- package/.next/server/app/nodes.segments/_tree.segment.rsc +2 -2
- 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_client-reference-manifest.js +1 -1
- package/.next/server/app/server-logs/page_client-reference-manifest.js +1 -1
- package/.next/server/app/server-logs.html +3 -3
- package/.next/server/app/server-logs.rsc +15 -15
- package/.next/server/app/server-logs.segments/_full.segment.rsc +15 -15
- package/.next/server/app/server-logs.segments/_head.segment.rsc +4 -4
- package/.next/server/app/server-logs.segments/_index.segment.rsc +7 -7
- package/.next/server/app/server-logs.segments/_tree.segment.rsc +2 -2
- 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/settings/networks/page_client-reference-manifest.js +1 -1
- package/.next/server/app/settings/networks.html +3 -3
- package/.next/server/app/settings/networks.rsc +15 -15
- package/.next/server/app/settings/networks.segments/_full.segment.rsc +15 -15
- package/.next/server/app/settings/networks.segments/_head.segment.rsc +4 -4
- package/.next/server/app/settings/networks.segments/_index.segment.rsc +7 -7
- package/.next/server/app/settings/networks.segments/_tree.segment.rsc +2 -2
- 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_client-reference-manifest.js +1 -1
- package/.next/server/app/settings/tokens/page_client-reference-manifest.js +1 -1
- package/.next/server/app/settings/tokens.html +3 -3
- package/.next/server/app/settings/tokens.rsc +15 -15
- package/.next/server/app/settings/tokens.segments/_full.segment.rsc +15 -15
- package/.next/server/app/settings/tokens.segments/_head.segment.rsc +4 -4
- package/.next/server/app/settings/tokens.segments/_index.segment.rsc +7 -7
- package/.next/server/app/settings/tokens.segments/_tree.segment.rsc +2 -2
- 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 +3 -3
- package/.next/server/app/settings.rsc +15 -15
- package/.next/server/app/settings.segments/_full.segment.rsc +15 -15
- package/.next/server/app/settings.segments/_head.segment.rsc +4 -4
- package/.next/server/app/settings.segments/_index.segment.rsc +7 -7
- package/.next/server/app/settings.segments/_tree.segment.rsc +2 -2
- 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_client-reference-manifest.js +1 -1
- package/.next/server/app/tasks/page_client-reference-manifest.js +1 -1
- package/.next/server/app/tasks.html +3 -3
- package/.next/server/app/tasks.rsc +15 -15
- package/.next/server/app/tasks.segments/_full.segment.rsc +15 -15
- package/.next/server/app/tasks.segments/_head.segment.rsc +4 -4
- package/.next/server/app/tasks.segments/_index.segment.rsc +7 -7
- package/.next/server/app/tasks.segments/_tree.segment.rsc +2 -2
- 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/chunks/ssr/[root-of-the-server]__030vg4n._.js +2 -2
- package/.next/server/chunks/ssr/[root-of-the-server]__030vg4n._.js.map +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__0nw~zhp._.js +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__0nw~zhp._.js.map +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__0sv~g.o._.js +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__0sv~g.o._.js.map +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__0u5aqkk._.js +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__0u5aqkk._.js.map +1 -1
- package/.next/server/chunks/ssr/agent-network-dashboard_09kk21a._.js +1 -1
- package/.next/server/chunks/ssr/agent-network-dashboard_09kk21a._.js.map +1 -1
- package/.next/server/chunks/ssr/agent-network-dashboard_app_01jhlxz._.js +1 -1
- package/.next/server/chunks/ssr/agent-network-dashboard_app_01jhlxz._.js.map +1 -1
- package/.next/server/chunks/ssr/agent-network-dashboard_app_09d29my._.js +1 -1
- package/.next/server/chunks/ssr/agent-network-dashboard_app_09d29my._.js.map +1 -1
- package/.next/server/chunks/ssr/agent-network-dashboard_app_components_0mvyi-4._.js +1 -1
- package/.next/server/chunks/ssr/agent-network-dashboard_app_components_0mvyi-4._.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/pages/404.html +3 -3
- package/.next/server/pages/500.html +1 -1
- package/.next/static/chunks/{04wjx7vbxusw5.js → 0csnc6nlttr5s.js} +2 -2
- package/.next/static/chunks/0grmy4z.ylqtd.css +2 -0
- package/.next/static/chunks/0k68tvhf0o-sb.js +1 -0
- package/.next/static/chunks/{0k-c1chkvf78s.js → 0lc4e9o91uv.n.js} +1 -1
- package/.next/static/chunks/0prdn66k~zu45.js +1 -0
- package/.next/static/chunks/{09e8kxo30n5cf.js → 0qvb.hq86qp2g.js} +1 -1
- package/.next/static/chunks/0wyjrc0bekhiz.js +1 -0
- package/.next/static/chunks/0~ykmap37nw9d.js +1 -0
- package/.next/static/chunks/{089t1exs6apb8.js → 17r9h6cx1w6q-.js} +1 -1
- package/.next/trace +2 -2
- package/.next/trace-build +1 -1
- package/app/components/AppShell.tsx +2 -2
- package/app/components/CommandCenter.tsx +1 -1
- package/app/components/DispatchPanel.tsx +1 -1
- package/app/components/MobileNav.tsx +16 -3
- package/app/components/TaskChatPanel.tsx +81 -26
- package/app/components/TaskDrawer.tsx +1 -1
- package/app/layout.tsx +2 -2
- package/app/nodes/page.tsx +21 -151
- package/package.json +1 -1
- package/.next/static/chunks/01lmbsd37fybu.js +0 -1
- package/.next/static/chunks/03o.h6kvmw4l_.js +0 -1
- package/.next/static/chunks/0v2~nlpk-cx6v.css +0 -2
- package/.next/static/chunks/0xsye-9kffdi0.js +0 -1
- package/.next/static/chunks/0~rx_~akeylmq.js +0 -1
- /package/.next/static/{xq88BMF7fMUHWh10yaKTn → 7CjN6e7QM2eogH8RhsM1k}/_buildManifest.js +0 -0
- /package/.next/static/{xq88BMF7fMUHWh10yaKTn → 7CjN6e7QM2eogH8RhsM1k}/_clientMiddlewareManifest.js +0 -0
- /package/.next/static/{xq88BMF7fMUHWh10yaKTn → 7CjN6e7QM2eogH8RhsM1k}/_ssgManifest.js +0 -0
package/.next/trace
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
[{"name":"generate-buildid","duration":289,"timestamp":877470747767,"id":4,"parentId":1,"tags":{},"startTime":1779685442994,"traceId":"d41ec0a79aca731c"},{"name":"load-custom-routes","duration":470,"timestamp":877470748211,"id":5,"parentId":1,"tags":{},"startTime":1779685442994,"traceId":"d41ec0a79aca731c"},{"name":"create-dist-dir","duration":798,"timestamp":877470748733,"id":6,"parentId":1,"tags":{},"startTime":1779685442995,"traceId":"d41ec0a79aca731c"},{"name":"clean","duration":33520,"timestamp":877470750271,"id":7,"parentId":1,"tags":{},"startTime":1779685442997,"traceId":"d41ec0a79aca731c"},{"name":"discover-routes","duration":40351,"timestamp":877470868793,"id":8,"parentId":1,"tags":{},"startTime":1779685443115,"traceId":"d41ec0a79aca731c"},{"name":"create-root-mapping","duration":207,"timestamp":877470909231,"id":9,"parentId":1,"tags":{},"startTime":1779685443156,"traceId":"d41ec0a79aca731c"},{"name":"generate-route-types","duration":20764,"timestamp":877470912255,"id":10,"parentId":1,"tags":{},"startTime":1779685443159,"traceId":"d41ec0a79aca731c"},{"name":"public-dir-conflict-check","duration":112,"timestamp":877470933129,"id":11,"parentId":1,"tags":{},"startTime":1779685443179,"traceId":"d41ec0a79aca731c"},{"name":"generate-routes-manifest","duration":5574,"timestamp":877470933354,"id":12,"parentId":1,"tags":{},"startTime":1779685443180,"traceId":"d41ec0a79aca731c"},{"name":"run-turbopack","duration":7274250,"timestamp":877470945164,"id":14,"parentId":1,"tags":{},"startTime":1779685443191,"traceId":"d41ec0a79aca731c"},{"name":"turbopack-build-events","duration":85,"timestamp":877471296553,"id":15,"parentId":1,"tags":{},"startTime":1779685443543,"traceId":"d41ec0a79aca731c"},{"name":"run-typescript","duration":10883176,"timestamp":877478251907,"id":16,"parentId":1,"tags":{},"startTime":1779685450498,"traceId":"d41ec0a79aca731c"},{"name":"generate-required-server-files","duration":2356,"timestamp":877489136396,"id":18,"parentId":1,"tags":{},"startTime":1779685461383,"traceId":"d41ec0a79aca731c"},{"name":"check-static-error-page","duration":13083,"timestamp":877489310233,"id":20,"parentId":19,"tags":{},"startTime":1779685461557,"traceId":"d41ec0a79aca731c"},{"name":"is-page-static","duration":448121,"timestamp":877489327740,"id":67,"parentId":22,"tags":{},"startTime":1779685461574,"traceId":"d41ec0a79aca731c"},{"name":"check-page","duration":462904,"timestamp":877489313157,"id":22,"parentId":19,"tags":{"page":"/_global-error"},"startTime":1779685461559,"traceId":"d41ec0a79aca731c"},{"name":"is-page-static","duration":545000,"timestamp":877489327386,"id":66,"parentId":21,"tags":{},"startTime":1779685461574,"traceId":"d41ec0a79aca731c"},{"name":"check-page","duration":560755,"timestamp":877489311735,"id":21,"parentId":19,"tags":{"page":"/_not-found"},"startTime":1779685461558,"traceId":"d41ec0a79aca731c"},{"name":"is-page-static","duration":564040,"timestamp":877489327948,"id":69,"parentId":26,"tags":{},"startTime":1779685461574,"traceId":"d41ec0a79aca731c"},{"name":"check-page","duration":575953,"timestamp":877489316137,"id":26,"parentId":19,"tags":{"page":"/api/auth/logout"},"startTime":1779685461562,"traceId":"d41ec0a79aca731c"},{"name":"is-page-static","duration":564856,"timestamp":877489328623,"id":73,"parentId":30,"tags":{},"startTime":1779685461575,"traceId":"d41ec0a79aca731c"},{"name":"check-page","duration":577046,"timestamp":877489316495,"id":30,"parentId":19,"tags":{"page":"/api/hub/broadcast"},"startTime":1779685461563,"traceId":"d41ec0a79aca731c"},{"name":"is-page-static","duration":571530,"timestamp":877489328970,"id":76,"parentId":34,"tags":{},"startTime":1779685461575,"traceId":"d41ec0a79aca731c"},{"name":"check-page","duration":583571,"timestamp":877489317015,"id":34,"parentId":19,"tags":{"page":"/api/hub/license"},"startTime":1779685461563,"traceId":"d41ec0a79aca731c"},{"name":"is-page-static","duration":579827,"timestamp":877489328469,"id":72,"parentId":29,"tags":{},"startTime":1779685461575,"traceId":"d41ec0a79aca731c"},{"name":"check-page","duration":591997,"timestamp":877489316387,"id":29,"parentId":19,"tags":{"page":"/api/hub/auth"},"startTime":1779685461563,"traceId":"d41ec0a79aca731c"},{"name":"is-page-static","duration":580617,"timestamp":877489328188,"id":71,"parentId":28,"tags":{},"startTime":1779685461574,"traceId":"d41ec0a79aca731c"},{"name":"check-page","duration":592749,"timestamp":877489316311,"id":28,"parentId":19,"tags":{"page":"/api/hub/audit-log"},"startTime":1779685461563,"traceId":"d41ec0a79aca731c"},{"name":"is-page-static","duration":589718,"timestamp":877489328885,"id":75,"parentId":33,"tags":{},"startTime":1779685461575,"traceId":"d41ec0a79aca731c"},{"name":"check-page","duration":601794,"timestamp":877489316914,"id":33,"parentId":19,"tags":{"page":"/api/hub/inbox"},"startTime":1779685461563,"traceId":"d41ec0a79aca731c"},{"name":"is-page-static","duration":590075,"timestamp":877489329042,"id":78,"parentId":36,"tags":{},"startTime":1779685461575,"traceId":"d41ec0a79aca731c"},{"name":"check-page","duration":601673,"timestamp":877489317505,"id":36,"parentId":19,"tags":{"page":"/api/hub/networks"},"startTime":1779685461564,"traceId":"d41ec0a79aca731c"},{"name":"is-page-static","duration":598020,"timestamp":877489328080,"id":70,"parentId":27,"tags":{},"startTime":1779685461574,"traceId":"d41ec0a79aca731c"},{"name":"check-page","duration":609954,"timestamp":877489316220,"id":27,"parentId":19,"tags":{"page":"/api/auth/v3"},"startTime":1779685461562,"traceId":"d41ec0a79aca731c"},{"name":"is-page-static","duration":597231,"timestamp":877489329087,"id":80,"parentId":38,"tags":{},"startTime":1779685461575,"traceId":"d41ec0a79aca731c"},{"name":"check-page","duration":608617,"timestamp":877489317730,"id":38,"parentId":19,"tags":{"page":"/api/hub/register"},"startTime":1779685461564,"traceId":"d41ec0a79aca731c"},{"name":"is-page-static","duration":607473,"timestamp":877489328999,"id":77,"parentId":35,"tags":{},"startTime":1779685461575,"traceId":"d41ec0a79aca731c"},{"name":"check-page","duration":619407,"timestamp":877489317145,"id":35,"parentId":19,"tags":{"page":"/api/hub/messages"},"startTime":1779685461563,"traceId":"d41ec0a79aca731c"},{"name":"is-page-static","duration":609958,"timestamp":877489329101,"id":81,"parentId":39,"tags":{},"startTime":1779685461575,"traceId":"d41ec0a79aca731c"},{"name":"check-page","duration":621341,"timestamp":877489317798,"id":39,"parentId":19,"tags":{"page":"/api/hub/send"},"startTime":1779685461564,"traceId":"d41ec0a79aca731c"},{"name":"is-page-static","duration":614194,"timestamp":877489329126,"id":83,"parentId":42,"tags":{},"startTime":1779685461575,"traceId":"d41ec0a79aca731c"},{"name":"check-page","duration":625329,"timestamp":877489318142,"id":42,"parentId":19,"tags":{"page":"/api/hub/server/[hostname]/health"},"startTime":1779685461564,"traceId":"d41ec0a79aca731c"},{"name":"is-page-static","duration":617307,"timestamp":877489329150,"id":85,"parentId":45,"tags":{},"startTime":1779685461575,"traceId":"d41ec0a79aca731c"},{"name":"check-page","duration":628027,"timestamp":877489318504,"id":45,"parentId":19,"tags":{"page":"/api/hub/stats"},"startTime":1779685461565,"traceId":"d41ec0a79aca731c"},{"name":"is-page-static","duration":625925,"timestamp":877489329180,"id":87,"parentId":47,"tags":{},"startTime":1779685461575,"traceId":"d41ec0a79aca731c"},{"name":"check-page","duration":635121,"timestamp":877489320067,"id":47,"parentId":19,"tags":{"page":"/api/hub/task-events"},"startTime":1779685461566,"traceId":"d41ec0a79aca731c"},{"name":"is-page-static","duration":626224,"timestamp":877489329140,"id":84,"parentId":44,"tags":{},"startTime":1779685461575,"traceId":"d41ec0a79aca731c"},{"name":"check-page","duration":636996,"timestamp":877489318420,"id":44,"parentId":19,"tags":{"page":"/api/hub/session"},"startTime":1779685461565,"traceId":"d41ec0a79aca731c"},{"name":"is-page-static","duration":632952,"timestamp":877489328710,"id":74,"parentId":32,"tags":{},"startTime":1779685461575,"traceId":"d41ec0a79aca731c"},{"name":"check-page","duration":644916,"timestamp":877489316818,"id":32,"parentId":19,"tags":{"page":"/api/hub/health"},"startTime":1779685461563,"traceId":"d41ec0a79aca731c"},{"name":"is-page-static","duration":632690,"timestamp":877489329202,"id":89,"parentId":49,"tags":{},"startTime":1779685461575,"traceId":"d41ec0a79aca731c"},{"name":"check-page","duration":641694,"timestamp":877489320227,"id":49,"parentId":19,"tags":{"page":"/api/hub/tmux"},"startTime":1779685461566,"traceId":"d41ec0a79aca731c"},{"name":"is-page-static","duration":632844,"timestamp":877489329193,"id":88,"parentId":48,"tags":{},"startTime":1779685461575,"traceId":"d41ec0a79aca731c"},{"name":"check-page","duration":641914,"timestamp":877489320150,"id":48,"parentId":19,"tags":{"page":"/api/hub/tasks"},"startTime":1779685461566,"traceId":"d41ec0a79aca731c"},{"name":"is-page-static","duration":633003,"timestamp":877489329167,"id":86,"parentId":46,"tags":{},"startTime":1779685461575,"traceId":"d41ec0a79aca731c"},{"name":"check-page","duration":642315,"timestamp":877489319876,"id":46,"parentId":19,"tags":{"page":"/api/hub/status"},"startTime":1779685461566,"traceId":"d41ec0a79aca731c"},{"name":"is-page-static","duration":634140,"timestamp":877489329070,"id":79,"parentId":37,"tags":{},"startTime":1779685461575,"traceId":"d41ec0a79aca731c"},{"name":"check-page","duration":645648,"timestamp":877489317621,"id":37,"parentId":19,"tags":{"page":"/api/hub/nodes"},"startTime":1779685461564,"traceId":"d41ec0a79aca731c"},{"name":"is-page-static","duration":638209,"timestamp":877489327840,"id":68,"parentId":25,"tags":{},"startTime":1779685461574,"traceId":"d41ec0a79aca731c"},{"name":"check-page","duration":650138,"timestamp":877489315972,"id":25,"parentId":19,"tags":{"page":"/api/auth/login"},"startTime":1779685461562,"traceId":"d41ec0a79aca731c"},{"name":"is-page-static","duration":638638,"timestamp":877489329215,"id":90,"parentId":50,"tags":{},"startTime":1779685461575,"traceId":"d41ec0a79aca731c"},{"name":"check-page","duration":647633,"timestamp":877489320282,"id":50,"parentId":19,"tags":{"page":"/api/hub/tokens"},"startTime":1779685461567,"traceId":"d41ec0a79aca731c"},{"name":"is-page-static","duration":638869,"timestamp":877489329251,"id":93,"parentId":55,"tags":{},"startTime":1779685461576,"traceId":"d41ec0a79aca731c"},{"name":"check-page","duration":647242,"timestamp":877489320918,"id":55,"parentId":19,"tags":{"page":"/manifest.webmanifest"},"startTime":1779685461567,"traceId":"d41ec0a79aca731c"},{"name":"is-page-static","duration":642040,"timestamp":877489329228,"id":91,"parentId":51,"tags":{},"startTime":1779685461575,"traceId":"d41ec0a79aca731c"},{"name":"check-page","duration":650982,"timestamp":877489320353,"id":51,"parentId":19,"tags":{"page":"/api/hub/upload"},"startTime":1779685461567,"traceId":"d41ec0a79aca731c"},{"name":"is-page-static","duration":638491,"timestamp":877489333024,"id":94,"parentId":24,"tags":{},"startTime":1779685461579,"traceId":"d41ec0a79aca731c"},{"name":"check-page","duration":657886,"timestamp":877489313668,"id":24,"parentId":19,"tags":{"page":"/api/anet/config"},"startTime":1779685461560,"traceId":"d41ec0a79aca731c"},{"name":"is-page-static","duration":637910,"timestamp":877489336222,"id":97,"parentId":43,"tags":{},"startTime":1779685461582,"traceId":"d41ec0a79aca731c"},{"name":"check-page","duration":655952,"timestamp":877489318238,"id":43,"parentId":19,"tags":{"page":"/api/hub/servers"},"startTime":1779685461565,"traceId":"d41ec0a79aca731c"},{"name":"is-page-static","duration":646298,"timestamp":877489335106,"id":96,"parentId":41,"tags":{},"startTime":1779685461581,"traceId":"d41ec0a79aca731c"},{"name":"check-page","duration":663622,"timestamp":877489317928,"id":41,"parentId":19,"tags":{"page":"/api/hub/server/[hostname]/agents"},"startTime":1779685461564,"traceId":"d41ec0a79aca731c"},{"name":"is-page-static","duration":659162,"timestamp":877489329112,"id":82,"parentId":40,"tags":{},"startTime":1779685461575,"traceId":"d41ec0a79aca731c"},{"name":"check-page","duration":670487,"timestamp":877489317865,"id":40,"parentId":19,"tags":{"page":"/api/hub/server-logs"},"startTime":1779685461564,"traceId":"d41ec0a79aca731c"},{"name":"is-page-static","duration":654283,"timestamp":877489334232,"id":95,"parentId":31,"tags":{},"startTime":1779685461581,"traceId":"d41ec0a79aca731c"},{"name":"check-page","duration":671972,"timestamp":877489316577,"id":31,"parentId":19,"tags":{"page":"/api/hub/events"},"startTime":1779685461563,"traceId":"d41ec0a79aca731c"},{"name":"is-page-static","duration":656401,"timestamp":877489338706,"id":101,"parentId":56,"tags":{},"startTime":1779685461585,"traceId":"d41ec0a79aca731c"},{"name":"check-page","duration":674217,"timestamp":877489320970,"id":56,"parentId":19,"tags":{"page":"/messages"},"startTime":1779685461567,"traceId":"d41ec0a79aca731c"},{"name":"is-page-static","duration":666696,"timestamp":877489329237,"id":92,"parentId":52,"tags":{},"startTime":1779685461576,"traceId":"d41ec0a79aca731c"},{"name":"check-page","duration":675606,"timestamp":877489320424,"id":52,"parentId":19,"tags":{"page":"/favicon.ico"},"startTime":1779685461567,"traceId":"d41ec0a79aca731c"},{"name":"is-page-static","duration":668133,"timestamp":877489338864,"id":104,"parentId":60,"tags":{},"startTime":1779685461585,"traceId":"d41ec0a79aca731c"},{"name":"check-page","duration":685245,"timestamp":877489321849,"id":60,"parentId":19,"tags":{"page":"/server-logs"},"startTime":1779685461568,"traceId":"d41ec0a79aca731c"},{"name":"is-page-static","duration":680537,"timestamp":877489338895,"id":106,"parentId":63,"tags":{},"startTime":1779685461585,"traceId":"d41ec0a79aca731c"},{"name":"check-page","duration":696813,"timestamp":877489322734,"id":63,"parentId":19,"tags":{"page":"/settings/tokens"},"startTime":1779685461569,"traceId":"d41ec0a79aca731c"},{"name":"is-page-static","duration":695589,"timestamp":877489338641,"id":98,"parentId":23,"tags":{},"startTime":1779685461585,"traceId":"d41ec0a79aca731c"},{"name":"check-page","duration":720884,"timestamp":877489313424,"id":23,"parentId":19,"tags":{"page":"/admin"},"startTime":1779685461560,"traceId":"d41ec0a79aca731c"},{"name":"is-page-static","duration":695584,"timestamp":877489338908,"id":107,"parentId":64,"tags":{},"startTime":1779685461585,"traceId":"d41ec0a79aca731c"},{"name":"check-page","duration":711635,"timestamp":877489322892,"id":64,"parentId":19,"tags":{"page":"/tasks/[id]"},"startTime":1779685461569,"traceId":"d41ec0a79aca731c"},{"name":"is-page-static","duration":708240,"timestamp":877489338917,"id":108,"parentId":65,"tags":{},"startTime":1779685461585,"traceId":"d41ec0a79aca731c"},{"name":"check-page","duration":724183,"timestamp":877489323056,"id":65,"parentId":19,"tags":{"page":"/tasks"},"startTime":1779685461569,"traceId":"d41ec0a79aca731c"},{"name":"is-page-static","duration":699989,"timestamp":877489347417,"id":109,"parentId":62,"tags":{},"startTime":1779685461594,"traceId":"d41ec0a79aca731c"},{"name":"check-page","duration":725145,"timestamp":877489322292,"id":62,"parentId":19,"tags":{"page":"/settings"},"startTime":1779685461569,"traceId":"d41ec0a79aca731c"},{"name":"is-page-static","duration":710390,"timestamp":877489338681,"id":99,"parentId":53,"tags":{},"startTime":1779685461585,"traceId":"d41ec0a79aca731c"},{"name":"check-page","duration":728418,"timestamp":877489320717,"id":53,"parentId":19,"tags":{"page":"/login"},"startTime":1779685461567,"traceId":"d41ec0a79aca731c"},{"name":"is-page-static","duration":691336,"timestamp":877489361125,"id":110,"parentId":59,"tags":{},"startTime":1779685461607,"traceId":"d41ec0a79aca731c"},{"name":"check-page","duration":731076,"timestamp":877489321441,"id":59,"parentId":19,"tags":{"page":"/"},"startTime":1779685461568,"traceId":"d41ec0a79aca731c"},{"name":"is-page-static","duration":713881,"timestamp":877489338719,"id":102,"parentId":57,"tags":{},"startTime":1779685461585,"traceId":"d41ec0a79aca731c"},{"name":"check-page","duration":731492,"timestamp":877489321132,"id":57,"parentId":19,"tags":{"page":"/node"},"startTime":1779685461567,"traceId":"d41ec0a79aca731c"},{"name":"is-page-static","duration":725170,"timestamp":877489338879,"id":105,"parentId":61,"tags":{},"startTime":1779685461585,"traceId":"d41ec0a79aca731c"},{"name":"check-page","duration":742043,"timestamp":877489322076,"id":61,"parentId":19,"tags":{"page":"/settings/networks"},"startTime":1779685461568,"traceId":"d41ec0a79aca731c"},{"name":"is-page-static","duration":726822,"timestamp":877489338697,"id":100,"parentId":54,"tags":{},"startTime":1779685461585,"traceId":"d41ec0a79aca731c"}]
|
|
2
|
-
[{"name":"check-page","duration":
|
|
1
|
+
[{"name":"generate-buildid","duration":334,"timestamp":889426950244,"id":4,"parentId":1,"tags":{},"startTime":1779697399197,"traceId":"e0c5a5c630f6a765"},{"name":"load-custom-routes","duration":539,"timestamp":889426950743,"id":5,"parentId":1,"tags":{},"startTime":1779697399197,"traceId":"e0c5a5c630f6a765"},{"name":"create-dist-dir","duration":766,"timestamp":889426951333,"id":6,"parentId":1,"tags":{},"startTime":1779697399198,"traceId":"e0c5a5c630f6a765"},{"name":"clean","duration":33272,"timestamp":889426952861,"id":7,"parentId":1,"tags":{},"startTime":1779697399199,"traceId":"e0c5a5c630f6a765"},{"name":"discover-routes","duration":25214,"timestamp":889427069344,"id":8,"parentId":1,"tags":{},"startTime":1779697399316,"traceId":"e0c5a5c630f6a765"},{"name":"create-root-mapping","duration":125,"timestamp":889427094629,"id":9,"parentId":1,"tags":{},"startTime":1779697399341,"traceId":"e0c5a5c630f6a765"},{"name":"generate-route-types","duration":20982,"timestamp":889427097859,"id":10,"parentId":1,"tags":{},"startTime":1779697399344,"traceId":"e0c5a5c630f6a765"},{"name":"public-dir-conflict-check","duration":174,"timestamp":889427118966,"id":11,"parentId":1,"tags":{},"startTime":1779697399365,"traceId":"e0c5a5c630f6a765"},{"name":"generate-routes-manifest","duration":5268,"timestamp":889427119335,"id":12,"parentId":1,"tags":{},"startTime":1779697399366,"traceId":"e0c5a5c630f6a765"},{"name":"run-turbopack","duration":6049919,"timestamp":889427131492,"id":14,"parentId":1,"tags":{},"startTime":1779697399378,"traceId":"e0c5a5c630f6a765"},{"name":"turbopack-build-events","duration":136,"timestamp":889427473914,"id":15,"parentId":1,"tags":{},"startTime":1779697399720,"traceId":"e0c5a5c630f6a765"},{"name":"run-typescript","duration":9851532,"timestamp":889433191567,"id":16,"parentId":1,"tags":{},"startTime":1779697405438,"traceId":"e0c5a5c630f6a765"},{"name":"generate-required-server-files","duration":2245,"timestamp":889443044206,"id":18,"parentId":1,"tags":{},"startTime":1779697415290,"traceId":"e0c5a5c630f6a765"},{"name":"check-static-error-page","duration":16702,"timestamp":889443223900,"id":20,"parentId":19,"tags":{},"startTime":1779697415470,"traceId":"e0c5a5c630f6a765"},{"name":"is-page-static","duration":454300,"timestamp":889443245033,"id":67,"parentId":22,"tags":{},"startTime":1779697415491,"traceId":"e0c5a5c630f6a765"},{"name":"check-page","duration":472241,"timestamp":889443227264,"id":22,"parentId":19,"tags":{"page":"/_global-error"},"startTime":1779697415474,"traceId":"e0c5a5c630f6a765"},{"name":"is-page-static","duration":557809,"timestamp":889443245600,"id":71,"parentId":28,"tags":{},"startTime":1779697415492,"traceId":"e0c5a5c630f6a765"},{"name":"check-page","duration":572398,"timestamp":889443231122,"id":28,"parentId":19,"tags":{"page":"/api/hub/audit-log"},"startTime":1779697415477,"traceId":"e0c5a5c630f6a765"},{"name":"is-page-static","duration":563265,"timestamp":889443246153,"id":74,"parentId":32,"tags":{},"startTime":1779697415492,"traceId":"e0c5a5c630f6a765"},{"name":"check-page","duration":577650,"timestamp":889443231863,"id":32,"parentId":19,"tags":{"page":"/api/hub/health"},"startTime":1779697415478,"traceId":"e0c5a5c630f6a765"},{"name":"is-page-static","duration":592661,"timestamp":889443246078,"id":73,"parentId":30,"tags":{},"startTime":1779697415492,"traceId":"e0c5a5c630f6a765"},{"name":"check-page","duration":607559,"timestamp":889443231403,"id":30,"parentId":19,"tags":{"page":"/api/hub/broadcast"},"startTime":1779697415478,"traceId":"e0c5a5c630f6a765"},{"name":"is-page-static","duration":594004,"timestamp":889443245461,"id":70,"parentId":27,"tags":{},"startTime":1779697415492,"traceId":"e0c5a5c630f6a765"},{"name":"check-page","duration":608691,"timestamp":889443230951,"id":27,"parentId":19,"tags":{"page":"/api/auth/v3"},"startTime":1779697415477,"traceId":"e0c5a5c630f6a765"},{"name":"is-page-static","duration":595614,"timestamp":889443244530,"id":66,"parentId":21,"tags":{},"startTime":1779697415491,"traceId":"e0c5a5c630f6a765"},{"name":"check-page","duration":614464,"timestamp":889443225747,"id":21,"parentId":19,"tags":{"page":"/_not-found"},"startTime":1779697415472,"traceId":"e0c5a5c630f6a765"},{"name":"is-page-static","duration":595883,"timestamp":889443245349,"id":69,"parentId":26,"tags":{},"startTime":1779697415492,"traceId":"e0c5a5c630f6a765"},{"name":"check-page","duration":610494,"timestamp":889443230821,"id":26,"parentId":19,"tags":{"page":"/api/auth/logout"},"startTime":1779697415477,"traceId":"e0c5a5c630f6a765"},{"name":"is-page-static","duration":601194,"timestamp":889443246421,"id":77,"parentId":35,"tags":{},"startTime":1779697415493,"traceId":"e0c5a5c630f6a765"},{"name":"check-page","duration":615357,"timestamp":889443232306,"id":35,"parentId":19,"tags":{"page":"/api/hub/messages"},"startTime":1779697415479,"traceId":"e0c5a5c630f6a765"},{"name":"is-page-static","duration":601683,"timestamp":889443246314,"id":75,"parentId":33,"tags":{},"startTime":1779697415493,"traceId":"e0c5a5c630f6a765"},{"name":"check-page","duration":616039,"timestamp":889443232034,"id":33,"parentId":19,"tags":{"page":"/api/hub/inbox"},"startTime":1779697415478,"traceId":"e0c5a5c630f6a765"},{"name":"is-page-static","duration":614395,"timestamp":889443246389,"id":76,"parentId":34,"tags":{},"startTime":1779697415493,"traceId":"e0c5a5c630f6a765"},{"name":"check-page","duration":628660,"timestamp":889443232179,"id":34,"parentId":19,"tags":{"page":"/api/hub/license"},"startTime":1779697415478,"traceId":"e0c5a5c630f6a765"},{"name":"is-page-static","duration":624006,"timestamp":889443246464,"id":79,"parentId":37,"tags":{},"startTime":1779697415493,"traceId":"e0c5a5c630f6a765"},{"name":"check-page","duration":637481,"timestamp":889443233064,"id":37,"parentId":19,"tags":{"page":"/api/hub/nodes"},"startTime":1779697415479,"traceId":"e0c5a5c630f6a765"},{"name":"is-page-static","duration":626063,"timestamp":889443246482,"id":80,"parentId":38,"tags":{},"startTime":1779697415493,"traceId":"e0c5a5c630f6a765"},{"name":"check-page","duration":639380,"timestamp":889443233227,"id":38,"parentId":19,"tags":{"page":"/api/hub/register"},"startTime":1779697415480,"traceId":"e0c5a5c630f6a765"},{"name":"is-page-static","duration":626969,"timestamp":889443245877,"id":72,"parentId":29,"tags":{},"startTime":1779697415492,"traceId":"e0c5a5c630f6a765"},{"name":"check-page","duration":641644,"timestamp":889443231247,"id":29,"parentId":19,"tags":{"page":"/api/hub/auth"},"startTime":1779697415478,"traceId":"e0c5a5c630f6a765"},{"name":"is-page-static","duration":632322,"timestamp":889443246546,"id":84,"parentId":44,"tags":{},"startTime":1779697415493,"traceId":"e0c5a5c630f6a765"},{"name":"check-page","duration":644583,"timestamp":889443234339,"id":44,"parentId":19,"tags":{"page":"/api/hub/session"},"startTime":1779697415481,"traceId":"e0c5a5c630f6a765"},{"name":"is-page-static","duration":634820,"timestamp":889443246510,"id":81,"parentId":39,"tags":{},"startTime":1779697415493,"traceId":"e0c5a5c630f6a765"},{"name":"check-page","duration":648014,"timestamp":889443233360,"id":39,"parentId":19,"tags":{"page":"/api/hub/send"},"startTime":1779697415480,"traceId":"e0c5a5c630f6a765"},{"name":"is-page-static","duration":639523,"timestamp":889443246582,"id":87,"parentId":47,"tags":{},"startTime":1779697415493,"traceId":"e0c5a5c630f6a765"},{"name":"check-page","duration":651430,"timestamp":889443234721,"id":47,"parentId":19,"tags":{"page":"/api/hub/task-events"},"startTime":1779697415481,"traceId":"e0c5a5c630f6a765"},{"name":"is-page-static","duration":639718,"timestamp":889443246569,"id":86,"parentId":46,"tags":{},"startTime":1779697415493,"traceId":"e0c5a5c630f6a765"},{"name":"check-page","duration":651722,"timestamp":889443234609,"id":46,"parentId":19,"tags":{"page":"/api/hub/status"},"startTime":1779697415481,"traceId":"e0c5a5c630f6a765"},{"name":"is-page-static","duration":641005,"timestamp":889443246534,"id":83,"parentId":42,"tags":{},"startTime":1779697415493,"traceId":"e0c5a5c630f6a765"},{"name":"check-page","duration":653713,"timestamp":889443233882,"id":42,"parentId":19,"tags":{"page":"/api/hub/server/[hostname]/health"},"startTime":1779697415480,"traceId":"e0c5a5c630f6a765"},{"name":"is-page-static","duration":644941,"timestamp":889443246599,"id":88,"parentId":48,"tags":{},"startTime":1779697415493,"traceId":"e0c5a5c630f6a765"},{"name":"check-page","duration":656725,"timestamp":889443234861,"id":48,"parentId":19,"tags":{"page":"/api/hub/tasks"},"startTime":1779697415481,"traceId":"e0c5a5c630f6a765"},{"name":"is-page-static","duration":652039,"timestamp":889443246524,"id":82,"parentId":40,"tags":{},"startTime":1779697415493,"traceId":"e0c5a5c630f6a765"},{"name":"check-page","duration":665129,"timestamp":889443233477,"id":40,"parentId":19,"tags":{"page":"/api/hub/server-logs"},"startTime":1779697415480,"traceId":"e0c5a5c630f6a765"},{"name":"is-page-static","duration":654328,"timestamp":889443246614,"id":89,"parentId":49,"tags":{},"startTime":1779697415493,"traceId":"e0c5a5c630f6a765"},{"name":"check-page","duration":664427,"timestamp":889443236561,"id":49,"parentId":19,"tags":{"page":"/api/hub/tmux"},"startTime":1779697415483,"traceId":"e0c5a5c630f6a765"},{"name":"is-page-static","duration":654528,"timestamp":889443246636,"id":91,"parentId":51,"tags":{},"startTime":1779697415493,"traceId":"e0c5a5c630f6a765"},{"name":"check-page","duration":664353,"timestamp":889443236843,"id":51,"parentId":19,"tags":{"page":"/api/hub/upload"},"startTime":1779697415483,"traceId":"e0c5a5c630f6a765"},{"name":"is-page-static","duration":656341,"timestamp":889443246624,"id":90,"parentId":50,"tags":{},"startTime":1779697415493,"traceId":"e0c5a5c630f6a765"},{"name":"check-page","duration":666479,"timestamp":889443236734,"id":50,"parentId":19,"tags":{"page":"/api/hub/tokens"},"startTime":1779697415483,"traceId":"e0c5a5c630f6a765"},{"name":"is-page-static","duration":659021,"timestamp":889443245221,"id":68,"parentId":25,"tags":{},"startTime":1779697415491,"traceId":"e0c5a5c630f6a765"},{"name":"check-page","duration":673847,"timestamp":889443230636,"id":25,"parentId":19,"tags":{"page":"/api/auth/login"},"startTime":1779697415477,"traceId":"e0c5a5c630f6a765"},{"name":"is-page-static","duration":658926,"timestamp":889443246657,"id":93,"parentId":55,"tags":{},"startTime":1779697415493,"traceId":"e0c5a5c630f6a765"},{"name":"check-page","duration":667877,"timestamp":889443237745,"id":55,"parentId":19,"tags":{"page":"/manifest.webmanifest"},"startTime":1779697415484,"traceId":"e0c5a5c630f6a765"},{"name":"is-page-static","duration":657243,"timestamp":889443255150,"id":97,"parentId":43,"tags":{},"startTime":1779697415501,"traceId":"e0c5a5c630f6a765"},{"name":"check-page","duration":678396,"timestamp":889443234041,"id":43,"parentId":19,"tags":{"page":"/api/hub/servers"},"startTime":1779697415480,"traceId":"e0c5a5c630f6a765"},{"name":"is-page-static","duration":667872,"timestamp":889443246649,"id":92,"parentId":52,"tags":{},"startTime":1779697415493,"traceId":"e0c5a5c630f6a765"},{"name":"check-page","duration":677588,"timestamp":889443236978,"id":52,"parentId":19,"tags":{"page":"/favicon.ico"},"startTime":1779697415483,"traceId":"e0c5a5c630f6a765"},{"name":"is-page-static","duration":665765,"timestamp":889443253151,"id":95,"parentId":31,"tags":{},"startTime":1779697415499,"traceId":"e0c5a5c630f6a765"},{"name":"check-page","duration":687412,"timestamp":889443231565,"id":31,"parentId":19,"tags":{"page":"/api/hub/events"},"startTime":1779697415478,"traceId":"e0c5a5c630f6a765"},{"name":"is-page-static","duration":685854,"timestamp":889443246560,"id":85,"parentId":45,"tags":{},"startTime":1779697415493,"traceId":"e0c5a5c630f6a765"},{"name":"check-page","duration":697994,"timestamp":889443234483,"id":45,"parentId":19,"tags":{"page":"/api/hub/stats"},"startTime":1779697415481,"traceId":"e0c5a5c630f6a765"},{"name":"is-page-static","duration":680824,"timestamp":889443251849,"id":94,"parentId":24,"tags":{},"startTime":1779697415498,"traceId":"e0c5a5c630f6a765"},{"name":"check-page","duration":704869,"timestamp":889443227840,"id":24,"parentId":19,"tags":{"page":"/api/anet/config"},"startTime":1779697415474,"traceId":"e0c5a5c630f6a765"},{"name":"is-page-static","duration":695961,"timestamp":889443254033,"id":96,"parentId":41,"tags":{},"startTime":1779697415500,"traceId":"e0c5a5c630f6a765"},{"name":"check-page","duration":716485,"timestamp":889443233604,"id":41,"parentId":19,"tags":{"page":"/api/hub/server/[hostname]/agents"},"startTime":1779697415480,"traceId":"e0c5a5c630f6a765"},{"name":"is-page-static","duration":711576,"timestamp":889443246441,"id":78,"parentId":36,"tags":{},"startTime":1779697415493,"traceId":"e0c5a5c630f6a765"},{"name":"check-page","duration":725251,"timestamp":889443232836,"id":36,"parentId":19,"tags":{"page":"/api/hub/networks"},"startTime":1779697415479,"traceId":"e0c5a5c630f6a765"},{"name":"is-page-static","duration":715724,"timestamp":889443257881,"id":104,"parentId":60,"tags":{},"startTime":1779697415504,"traceId":"e0c5a5c630f6a765"},{"name":"check-page","duration":735284,"timestamp":889443239097,"id":60,"parentId":19,"tags":{"page":"/server-logs"},"startTime":1779697415485,"traceId":"e0c5a5c630f6a765"},{"name":"is-page-static","duration":724720,"timestamp":889443257891,"id":105,"parentId":61,"tags":{},"startTime":1779697415504,"traceId":"e0c5a5c630f6a765"},{"name":"check-page","duration":743358,"timestamp":889443239313,"id":61,"parentId":19,"tags":{"page":"/settings/networks"},"startTime":1779697415486,"traceId":"e0c5a5c630f6a765"},{"name":"is-page-static","duration":732416,"timestamp":889443257685,"id":99,"parentId":53,"tags":{},"startTime":1779697415504,"traceId":"e0c5a5c630f6a765"},{"name":"check-page","duration":752778,"timestamp":889443237403,"id":53,"parentId":19,"tags":{"page":"/login"},"startTime":1779697415484,"traceId":"e0c5a5c630f6a765"},{"name":"is-page-static","duration":732662,"timestamp":889443257904,"id":106,"parentId":63,"tags":{},"startTime":1779697415504,"traceId":"e0c5a5c630f6a765"},{"name":"check-page","duration":750637,"timestamp":889443239980,"id":63,"parentId":19,"tags":{"page":"/settings/tokens"},"startTime":1779697415486,"traceId":"e0c5a5c630f6a765"},{"name":"is-page-static","duration":734895,"timestamp":889443257709,"id":100,"parentId":54,"tags":{},"startTime":1779697415504,"traceId":"e0c5a5c630f6a765"},{"name":"check-page","duration":755071,"timestamp":889443237580,"id":54,"parentId":19,"tags":{"page":"/logs"},"startTime":1779697415484,"traceId":"e0c5a5c630f6a765"},{"name":"is-page-static","duration":736960,"timestamp":889443257652,"id":98,"parentId":23,"tags":{},"startTime":1779697415504,"traceId":"e0c5a5c630f6a765"},{"name":"check-page","duration":767074,"timestamp":889443227583,"id":23,"parentId":19,"tags":{"page":"/admin"},"startTime":1779697415474,"traceId":"e0c5a5c630f6a765"},{"name":"is-page-static","duration":733117,"timestamp":889443267146,"id":109,"parentId":62,"tags":{},"startTime":1779697415513,"traceId":"e0c5a5c630f6a765"},{"name":"check-page","duration":760786,"timestamp":889443239520,"id":62,"parentId":19,"tags":{"page":"/settings"},"startTime":1779697415486,"traceId":"e0c5a5c630f6a765"},{"name":"is-page-static","duration":742989,"timestamp":889443257930,"id":108,"parentId":65,"tags":{},"startTime":1779697415504,"traceId":"e0c5a5c630f6a765"},{"name":"check-page","duration":760625,"timestamp":889443240334,"id":65,"parentId":19,"tags":{"page":"/tasks"},"startTime":1779697415487,"traceId":"e0c5a5c630f6a765"},{"name":"is-page-static","duration":722038,"timestamp":889443280735,"id":110,"parentId":59,"tags":{},"startTime":1779697415527,"traceId":"e0c5a5c630f6a765"},{"name":"check-page","duration":764299,"timestamp":889443238508,"id":59,"parentId":19,"tags":{"page":"/"},"startTime":1779697415485,"traceId":"e0c5a5c630f6a765"},{"name":"is-page-static","duration":746879,"timestamp":889443257917,"id":107,"parentId":64,"tags":{},"startTime":1779697415504,"traceId":"e0c5a5c630f6a765"},{"name":"check-page","duration":764671,"timestamp":889443240172,"id":64,"parentId":19,"tags":{"page":"/tasks/[id]"},"startTime":1779697415486,"traceId":"e0c5a5c630f6a765"},{"name":"is-page-static","duration":762513,"timestamp":889443257727,"id":101,"parentId":56,"tags":{},"startTime":1779697415504,"traceId":"e0c5a5c630f6a765"},{"name":"check-page","duration":782461,"timestamp":889443237841,"id":56,"parentId":19,"tags":{"page":"/messages"},"startTime":1779697415484,"traceId":"e0c5a5c630f6a765"},{"name":"is-page-static","duration":765029,"timestamp":889443257861,"id":103,"parentId":58,"tags":{},"startTime":1779697415504,"traceId":"e0c5a5c630f6a765"}]
|
|
2
|
+
[{"name":"check-page","duration":784869,"timestamp":889443238292,"id":58,"parentId":19,"tags":{"page":"/nodes"},"startTime":1779697415485,"traceId":"e0c5a5c630f6a765"},{"name":"is-page-static","duration":769282,"timestamp":889443257737,"id":102,"parentId":57,"tags":{},"startTime":1779697415504,"traceId":"e0c5a5c630f6a765"},{"name":"check-page","duration":788991,"timestamp":889443238066,"id":57,"parentId":19,"tags":{"page":"/node"},"startTime":1779697415484,"traceId":"e0c5a5c630f6a765"},{"name":"static-check","duration":804392,"timestamp":889443222699,"id":19,"parentId":1,"tags":{},"startTime":1779697415469,"traceId":"e0c5a5c630f6a765"},{"name":"write-routes-manifest","duration":828,"timestamp":889444033450,"id":112,"parentId":1,"tags":{},"startTime":1779697416280,"traceId":"e0c5a5c630f6a765"},{"name":"load-dotenv","duration":45,"timestamp":889444048612,"id":115,"parentId":114,"tags":{},"startTime":1779697416295,"traceId":"e0c5a5c630f6a765"},{"name":"run-export-path-map","duration":751,"timestamp":889444051676,"id":116,"parentId":114,"tags":{},"startTime":1779697416298,"traceId":"e0c5a5c630f6a765"},{"name":"next-export","duration":602809,"timestamp":889444047252,"id":114,"parentId":1,"tags":{},"startTime":1779697416294,"traceId":"e0c5a5c630f6a765"},{"name":"move-exported-app-not-found-","duration":631,"timestamp":889444653767,"id":117,"parentId":113,"tags":{},"startTime":1779697416900,"traceId":"e0c5a5c630f6a765"},{"name":"move-exported-app-global-error-","duration":504,"timestamp":889444654513,"id":118,"parentId":113,"tags":{},"startTime":1779697416901,"traceId":"e0c5a5c630f6a765"},{"name":"static-generation","duration":616309,"timestamp":889444040651,"id":113,"parentId":1,"tags":{},"startTime":1779697416287,"traceId":"e0c5a5c630f6a765"},{"name":"write-routes-manifest","duration":425,"timestamp":889444657204,"id":119,"parentId":1,"tags":{},"startTime":1779697416903,"traceId":"e0c5a5c630f6a765"},{"name":"print-tree-view","duration":5365,"timestamp":889444674874,"id":120,"parentId":1,"tags":{},"startTime":1779697416921,"traceId":"e0c5a5c630f6a765"},{"name":"write-route-bundle-stats","duration":13685,"timestamp":889444680279,"id":121,"parentId":1,"tags":{},"startTime":1779697416927,"traceId":"e0c5a5c630f6a765"},{"name":"telemetry-flush","duration":25071,"timestamp":889444693996,"id":122,"parentId":1,"tags":{},"startTime":1779697416940,"traceId":"e0c5a5c630f6a765"},{"name":"next-build","duration":17824921,"timestamp":889426894181,"id":1,"tags":{"buildMode":"default","version":"16.2.3","bundler":"turbopack","has-custom-webpack-config":"false","use-build-worker":"true"},"startTime":1779697399140,"traceId":"e0c5a5c630f6a765"}]
|
package/.next/trace-build
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
[{"name":"run-turbopack","duration":
|
|
1
|
+
[{"name":"run-turbopack","duration":6049919,"timestamp":889427131492,"id":14,"parentId":1,"tags":{},"startTime":1779697399378,"traceId":"e0c5a5c630f6a765"},{"name":"turbopack-build-events","duration":136,"timestamp":889427473914,"id":15,"parentId":1,"tags":{},"startTime":1779697399720,"traceId":"e0c5a5c630f6a765"},{"name":"run-typescript","duration":9851532,"timestamp":889433191567,"id":16,"parentId":1,"tags":{},"startTime":1779697405438,"traceId":"e0c5a5c630f6a765"},{"name":"static-check","duration":804392,"timestamp":889443222699,"id":19,"parentId":1,"tags":{},"startTime":1779697415469,"traceId":"e0c5a5c630f6a765"},{"name":"static-generation","duration":616309,"timestamp":889444040651,"id":113,"parentId":1,"tags":{},"startTime":1779697416287,"traceId":"e0c5a5c630f6a765"},{"name":"telemetry-flush","duration":25071,"timestamp":889444693996,"id":122,"parentId":1,"tags":{},"startTime":1779697416940,"traceId":"e0c5a5c630f6a765"},{"name":"next-build","duration":17824921,"timestamp":889426894181,"id":1,"tags":{"buildMode":"default","version":"16.2.3","bundler":"turbopack","has-custom-webpack-config":"false","use-build-worker":"true"},"startTime":1779697399140,"traceId":"e0c5a5c630f6a765"}]
|
|
@@ -18,11 +18,11 @@ export function AppShell({ children }: { children: React.ReactNode }) {
|
|
|
18
18
|
}
|
|
19
19
|
|
|
20
20
|
return (
|
|
21
|
-
<div className="flex min-h-
|
|
21
|
+
<div className="flex min-h-[100dvh]">
|
|
22
22
|
<Sidebar />
|
|
23
23
|
<main className="flex-1 min-w-0 flex flex-col">
|
|
24
24
|
<HealthBanner />
|
|
25
|
-
<div className="flex-1 min-w-0 pb-
|
|
25
|
+
<div className="flex-1 min-w-0 pb-[calc(5rem+env(safe-area-inset-bottom))] lg:pb-0">{children}</div>
|
|
26
26
|
</main>
|
|
27
27
|
<MobileNav />
|
|
28
28
|
<CommandPalette />
|
|
@@ -26,7 +26,7 @@ export function CommandCenter({ tabs, activeTab, onOpenTab, onCloseTab, onSetAct
|
|
|
26
26
|
<div className="fixed inset-0 bg-black/30 z-40 lg:hidden" onClick={onClose} />
|
|
27
27
|
|
|
28
28
|
{/* Panel */}
|
|
29
|
-
<div className="fixed top-0 right-0 h-
|
|
29
|
+
<div className="fixed top-0 right-0 h-[100dvh] w-full lg:w-[500px] bg-[#0a0a1a] border-l border-[#2a2a4a] z-50 flex flex-col shadow-2xl shadow-black/60 animate-slide-in">
|
|
30
30
|
{/* Tab bar */}
|
|
31
31
|
<div className="flex items-center border-b border-[#2a2a4a] bg-[#0d0d1a] overflow-x-auto">
|
|
32
32
|
<div className="flex-1 flex min-w-0">
|
|
@@ -73,7 +73,7 @@ export function DispatchPanel({ sessions, onClose }: DispatchPanelProps) {
|
|
|
73
73
|
return (
|
|
74
74
|
<>
|
|
75
75
|
<div className="fixed inset-0 bg-black/50 z-40 anet-fade-in" onClick={onClose} />
|
|
76
|
-
<div className="fixed inset-
|
|
76
|
+
<div className="fixed inset-x-3 inset-y-3 max-h-[calc(100dvh-1.5rem)] lg:inset-x-[15%] lg:inset-y-[5%] lg:max-h-none bg-[#0a0a1a] border border-[#2a2a4a] rounded-2xl z-50 flex flex-col shadow-2xl shadow-black/70 overflow-hidden anet-fade-in">
|
|
77
77
|
{/* Header */}
|
|
78
78
|
<div className="flex items-center justify-between px-6 py-4 border-b border-[#2a2a4a] bg-[#0d0d1a]">
|
|
79
79
|
<div>
|
|
@@ -4,19 +4,21 @@ import Link from 'next/link';
|
|
|
4
4
|
import { usePathname } from 'next/navigation';
|
|
5
5
|
|
|
6
6
|
const MOBILE_NAV_ITEMS = [
|
|
7
|
-
{ href: '/', label: '
|
|
7
|
+
{ href: '/', label: 'Overview', icon: 'M3 12l2-2m0 0l7-7 7 7M5 10v10a1 1 0 001 1h3m10-11l2 2m-2-2v10a1 1 0 01-1 1h-3m-6 0a1 1 0 001-1v-4a1 1 0 011-1h2a1 1 0 011 1v4a1 1 0 001 1m-6 0h6' },
|
|
8
8
|
{ href: '/tasks', label: 'Tasks', icon: 'M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4' },
|
|
9
9
|
{ href: '/nodes', label: 'Agents', icon: 'M5 12h14M5 12a2 2 0 01-2-2V6a2 2 0 012-2h14a2 2 0 012 2v4a2 2 0 01-2 2M5 12a2 2 0 00-2 2v4a2 2 0 002 2h14a2 2 0 002-2v-4a2 2 0 00-2-2m-2-4h.01M17 16h.01' },
|
|
10
10
|
{ href: '/messages', label: 'Chats', icon: 'M8 12h.01M12 12h.01M16 12h.01M21 12c0 4.418-4.03 8-9 8a9.863 9.863 0 01-4.255-.949L3 20l1.395-3.72C3.512 15.042 3 13.574 3 12c0-4.418 4.03-8 9-8s9 3.582 9 8z' },
|
|
11
|
-
{ href: '/logs', label: 'Status', icon: 'M9 12h6m-6 4h6m2 5H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z' },
|
|
12
11
|
];
|
|
13
12
|
|
|
14
13
|
export function MobileNav() {
|
|
15
14
|
const pathname = usePathname();
|
|
16
15
|
const isActive = (href: string) => href === '/' ? pathname === '/' : pathname.startsWith(href);
|
|
16
|
+
const openCommand = () => {
|
|
17
|
+
window.dispatchEvent(new KeyboardEvent('keydown', { key: 'k', metaKey: true, ctrlKey: true }));
|
|
18
|
+
};
|
|
17
19
|
|
|
18
20
|
return (
|
|
19
|
-
<nav className="fixed inset-x-0 bottom-0 z-40 border-t border-[#2a2a4a] bg-[#0d0d1a]/95 px-1 pb-[calc(env(safe-area-inset-bottom)+0.
|
|
21
|
+
<nav className="fixed inset-x-0 bottom-0 z-40 border-t border-[#2a2a4a] bg-[#0d0d1a]/95 px-1 pb-[calc(env(safe-area-inset-bottom)+0.35rem)] pt-1.5 backdrop-blur lg:hidden">
|
|
20
22
|
<div className="mx-auto grid max-w-md grid-cols-5 gap-1">
|
|
21
23
|
{MOBILE_NAV_ITEMS.map(item => {
|
|
22
24
|
const active = isActive(item.href);
|
|
@@ -39,6 +41,17 @@ export function MobileNav() {
|
|
|
39
41
|
</Link>
|
|
40
42
|
);
|
|
41
43
|
})}
|
|
44
|
+
<button
|
|
45
|
+
type="button"
|
|
46
|
+
onClick={openCommand}
|
|
47
|
+
className="flex min-h-12 flex-col items-center justify-center gap-0.5 rounded-xl px-1 text-[10px] text-gray-500 transition-colors active:bg-[#1a1a3a] active:text-gray-200"
|
|
48
|
+
aria-label="Open command palette"
|
|
49
|
+
>
|
|
50
|
+
<svg className="h-5 w-5 shrink-0" fill="none" viewBox="0 0 24 24" stroke="currentColor" strokeWidth={1.6}>
|
|
51
|
+
<path strokeLinecap="round" strokeLinejoin="round" d="M12 3v3m0 12v3m9-9h-3M6 12H3m15.364-6.364l-2.121 2.121M7.757 16.243l-2.121 2.121m12.728 0l-2.121-2.121M7.757 7.757L5.636 5.636M12 8.5A3.5 3.5 0 1112 15.5 3.5 3.5 0 0112 8.5z" />
|
|
52
|
+
</svg>
|
|
53
|
+
<span className="max-w-full truncate">Command</span>
|
|
54
|
+
</button>
|
|
42
55
|
</div>
|
|
43
56
|
</nav>
|
|
44
57
|
);
|
|
@@ -13,6 +13,31 @@ interface ChatTask {
|
|
|
13
13
|
content: string;
|
|
14
14
|
result: string;
|
|
15
15
|
created_at: string;
|
|
16
|
+
completed_at?: string;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
type ChatEvent =
|
|
20
|
+
| { kind: 'task'; task: ChatTask; at: string }
|
|
21
|
+
| { kind: 'reply'; task: ChatTask; at: string };
|
|
22
|
+
|
|
23
|
+
function eventTime(value?: string) {
|
|
24
|
+
if (!value) return 0;
|
|
25
|
+
return new Date(value.replace(' ', 'T') + (value.includes('T') ? '' : 'Z')).getTime() || 0;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
function formatTimestamp(value?: string) {
|
|
29
|
+
if (!value) return '--';
|
|
30
|
+
const d = new Date(value.replace(' ', 'T') + (value.includes('T') ? '' : 'Z'));
|
|
31
|
+
if (Number.isNaN(d.getTime())) return value;
|
|
32
|
+
return d.toLocaleString(undefined, { month: '2-digit', day: '2-digit', hour: '2-digit', minute: '2-digit' });
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
function quotePreview(text: string, max = 140) {
|
|
36
|
+
const compact = (text || '')
|
|
37
|
+
.replace(/\[Dashboard 附件[\s\S]*$/m, '[附件]')
|
|
38
|
+
.replace(/\s+/g, ' ')
|
|
39
|
+
.trim();
|
|
40
|
+
return compact.length > max ? `${compact.slice(0, max)}…` : compact;
|
|
16
41
|
}
|
|
17
42
|
|
|
18
43
|
function extractAttachmentPreviews(text: string): string[] {
|
|
@@ -433,11 +458,24 @@ export function TaskChatPanel({ alias, onClose, inline, availableNodes }: TaskCh
|
|
|
433
458
|
el.style.height = Math.min(el.scrollHeight, 150) + 'px';
|
|
434
459
|
};
|
|
435
460
|
|
|
461
|
+
const chatEvents: ChatEvent[] = messages
|
|
462
|
+
.flatMap((task): ChatEvent[] => {
|
|
463
|
+
const events: ChatEvent[] = [{ kind: 'task', task, at: task.created_at }];
|
|
464
|
+
if (task.result) events.push({ kind: 'reply', task, at: task.completed_at || task.created_at });
|
|
465
|
+
return events;
|
|
466
|
+
})
|
|
467
|
+
.sort((a, b) => {
|
|
468
|
+
const delta = eventTime(a.at) - eventTime(b.at);
|
|
469
|
+
if (delta !== 0) return delta;
|
|
470
|
+
if (a.task.task_id !== b.task.task_id) return a.task.task_id.localeCompare(b.task.task_id);
|
|
471
|
+
return a.kind === 'task' ? -1 : 1;
|
|
472
|
+
});
|
|
473
|
+
|
|
436
474
|
// Inline mode: just the chat content, no panel chrome
|
|
437
475
|
const chatContent = (
|
|
438
476
|
<>
|
|
439
477
|
{/* Messages area */}
|
|
440
|
-
<div className="flex-1 overflow-y-auto px-4 py-4 space-y-4">
|
|
478
|
+
<div className="flex-1 overflow-y-auto px-3 py-3 sm:px-4 sm:py-4 space-y-3 sm:space-y-4">
|
|
441
479
|
{!historyLoaded && (
|
|
442
480
|
<div className="flex justify-center py-8">
|
|
443
481
|
<div className="w-5 h-5 border-2 border-cyan-500/30 border-t-cyan-500 rounded-full animate-spin" />
|
|
@@ -451,7 +489,8 @@ export function TaskChatPanel({ alias, onClose, inline, availableNodes }: TaskCh
|
|
|
451
489
|
</div>
|
|
452
490
|
)}
|
|
453
491
|
|
|
454
|
-
{
|
|
492
|
+
{chatEvents.map((event) => {
|
|
493
|
+
const m = event.task;
|
|
455
494
|
// Distinguish task source so users can tell when a peer agent
|
|
456
495
|
// forwarded a task vs when they themselves sent it from Dashboard.
|
|
457
496
|
const fromUser = !m.from_name || m.from_name === 'Dashboard' || m.from_name === 'api' || m.from_name === 'hub';
|
|
@@ -459,11 +498,41 @@ export function TaskChatPanel({ alias, onClose, inline, availableNodes }: TaskCh
|
|
|
459
498
|
const senderBadge = fromUser
|
|
460
499
|
? null
|
|
461
500
|
: <span className="inline-flex items-center gap-1 px-1.5 py-0.5 rounded bg-purple-500/15 border border-purple-500/30 text-[9px] text-purple-300 font-medium">↳ {m.from_name}</span>;
|
|
501
|
+
if (event.kind === 'reply') {
|
|
502
|
+
return (
|
|
503
|
+
<div key={`${m.task_id}:reply`} className="flex justify-start">
|
|
504
|
+
<div className="max-w-[92%] sm:max-w-[85%] bg-green-500/8 border border-green-500/15 rounded-2xl rounded-bl-md px-3 py-2.5 sm:px-4 shadow-sm">
|
|
505
|
+
<div className="flex items-center justify-between gap-2 mb-2">
|
|
506
|
+
<div className="flex items-center gap-1.5 min-w-0">
|
|
507
|
+
{m.to_name && <AliasAvatar alias={m.to_name} size={14} />}
|
|
508
|
+
<span className="text-[10px] text-[var(--fg)] font-medium truncate">{m.to_name}</span>
|
|
509
|
+
<span className="text-[9px] text-green-300/70">replied</span>
|
|
510
|
+
</div>
|
|
511
|
+
<span className="shrink-0 rounded-md bg-black/20 px-1.5 py-0.5 text-[9px] text-[var(--fg-dim)]" title={event.at}>
|
|
512
|
+
{timeAgo(event.at)} · {formatTimestamp(event.at)}
|
|
513
|
+
</span>
|
|
514
|
+
</div>
|
|
515
|
+
<div className="mb-2 rounded-lg border-l-2 border-cyan-400/40 bg-black/20 px-2.5 py-1.5">
|
|
516
|
+
<div className="text-[9px] text-cyan-300/80">
|
|
517
|
+
引用 {senderLabel} 的任务 · {formatTimestamp(m.created_at)}
|
|
518
|
+
</div>
|
|
519
|
+
<div className="mt-0.5 max-h-10 overflow-hidden text-[11px] leading-5 text-[var(--fg-muted)]">
|
|
520
|
+
{quotePreview(m.content) || 'No content'}
|
|
521
|
+
</div>
|
|
522
|
+
</div>
|
|
523
|
+
<div className="text-[13px] text-[var(--fg)]">
|
|
524
|
+
<MarkdownContent text={m.result} />
|
|
525
|
+
<AttachmentPreviews text={m.result} />
|
|
526
|
+
</div>
|
|
527
|
+
</div>
|
|
528
|
+
</div>
|
|
529
|
+
);
|
|
530
|
+
}
|
|
462
531
|
return (
|
|
463
|
-
<div key={m.task_id} className="space-y-2">
|
|
532
|
+
<div key={`${m.task_id}:task`} className="space-y-2">
|
|
464
533
|
{/* Outgoing task — labeled with origin so peer-forwarded tasks are obvious */}
|
|
465
534
|
<div className="flex justify-end">
|
|
466
|
-
<div className="max-w-[85%] bg-cyan-500/8 border border-cyan-500/15 rounded-2xl rounded-br-md px-
|
|
535
|
+
<div className="max-w-[92%] sm:max-w-[85%] bg-cyan-500/8 border border-cyan-500/15 rounded-2xl rounded-br-md px-3 py-2.5 sm:px-4 shadow-sm">
|
|
467
536
|
<div className="flex items-center gap-2 mb-1">
|
|
468
537
|
<span className={`text-[10px] font-medium ${fromUser ? 'text-cyan-400' : 'text-purple-300'}`}>{senderLabel}</span>
|
|
469
538
|
{!fromUser && <span className="text-[9px] text-[var(--fg-dim)]">forwarded to {m.to_name}</span>}
|
|
@@ -472,32 +541,18 @@ export function TaskChatPanel({ alias, onClose, inline, availableNodes }: TaskCh
|
|
|
472
541
|
<MarkdownContent text={m.content} />
|
|
473
542
|
<AttachmentPreviews text={m.content} />
|
|
474
543
|
</div>
|
|
475
|
-
<div className="flex items-center justify-between mt-1.5 gap-3">
|
|
544
|
+
<div className="flex flex-wrap items-center justify-between mt-1.5 gap-2 sm:gap-3">
|
|
476
545
|
<StatusBar status={m.status} />
|
|
477
546
|
<div className="flex items-center gap-2 shrink-0">
|
|
478
547
|
{senderBadge}
|
|
479
|
-
<span className="text-[9px] text-[var(--fg-dim)]"
|
|
548
|
+
<span className="rounded-md bg-black/15 px-1.5 py-0.5 text-[9px] text-[var(--fg-dim)]" title={m.created_at}>
|
|
549
|
+
{timeAgo(m.created_at)} · {formatTimestamp(m.created_at)}
|
|
550
|
+
</span>
|
|
480
551
|
</div>
|
|
481
552
|
</div>
|
|
482
553
|
</div>
|
|
483
554
|
</div>
|
|
484
555
|
|
|
485
|
-
{/* Incoming reply */}
|
|
486
|
-
{m.result && (
|
|
487
|
-
<div className="flex justify-start">
|
|
488
|
-
<div className="max-w-[85%] bg-green-500/8 border border-green-500/15 rounded-2xl rounded-bl-md px-4 py-2.5 shadow-sm">
|
|
489
|
-
<div className="flex items-center gap-1.5 mb-1.5">
|
|
490
|
-
{m.to_name && <AliasAvatar alias={m.to_name} size={14} />}
|
|
491
|
-
<span className="text-[10px] text-[var(--fg)] font-medium">{m.to_name}</span>
|
|
492
|
-
</div>
|
|
493
|
-
<div className="text-[13px] text-[var(--fg)]">
|
|
494
|
-
<MarkdownContent text={m.result} />
|
|
495
|
-
<AttachmentPreviews text={m.result} />
|
|
496
|
-
</div>
|
|
497
|
-
</div>
|
|
498
|
-
</div>
|
|
499
|
-
)}
|
|
500
|
-
|
|
501
556
|
{/* Typing indicator when running */}
|
|
502
557
|
{m.status === 'running' && !m.result && (
|
|
503
558
|
<div className="flex justify-start">
|
|
@@ -517,7 +572,7 @@ export function TaskChatPanel({ alias, onClose, inline, availableNodes }: TaskCh
|
|
|
517
572
|
</div>
|
|
518
573
|
|
|
519
574
|
{/* Input area */}
|
|
520
|
-
<div className="border-t border-[var(--border)] bg-[var(--bg-secondary)] px-
|
|
575
|
+
<div className="border-t border-[var(--border)] bg-[var(--bg-secondary)] px-3 py-3 pb-[calc(0.75rem+env(safe-area-inset-bottom))] sm:px-4">
|
|
521
576
|
<div className="flex items-end gap-2">
|
|
522
577
|
<div className="flex-1 relative">
|
|
523
578
|
{/* @ mention dropdown */}
|
|
@@ -540,7 +595,7 @@ export function TaskChatPanel({ alias, onClose, inline, availableNodes }: TaskCh
|
|
|
540
595
|
onPaste={handlePaste}
|
|
541
596
|
placeholder={`Message ${alias}...`}
|
|
542
597
|
rows={1}
|
|
543
|
-
className="w-full bg-[var(--bg-secondary)] border border-[var(--border)] rounded-xl px-
|
|
598
|
+
className="w-full bg-[var(--bg-secondary)] border border-[var(--border)] rounded-xl px-3 py-2.5 pr-24 text-base sm:px-4 sm:text-sm text-[var(--fg)] placeholder-[var(--fg-dim)] focus:border-cyan-500/40 focus:outline-none resize-none transition-colors"
|
|
544
599
|
/>
|
|
545
600
|
<div className="absolute right-2 bottom-1.5 flex items-center gap-1">
|
|
546
601
|
<label className="p-1 text-[var(--fg-dim)] hover:text-cyan-300 cursor-pointer rounded hover:bg-cyan-500/10" title="Attach image">
|
|
@@ -585,7 +640,7 @@ export function TaskChatPanel({ alias, onClose, inline, availableNodes }: TaskCh
|
|
|
585
640
|
))}
|
|
586
641
|
</div>
|
|
587
642
|
)}
|
|
588
|
-
<div className="flex justify-between text-[9px] text-[var(--fg-dim)] mt-1.5">
|
|
643
|
+
<div className="hidden sm:flex justify-between text-[9px] text-[var(--fg-dim)] mt-1.5">
|
|
589
644
|
<span>{input.includes('@') ? `Sending to: ${targetAlias}` : `Type @ to mention another node`}</span>
|
|
590
645
|
<span>Enter to send · paste image</span>
|
|
591
646
|
</div>
|
|
@@ -600,7 +655,7 @@ export function TaskChatPanel({ alias, onClose, inline, availableNodes }: TaskCh
|
|
|
600
655
|
return (
|
|
601
656
|
<>
|
|
602
657
|
<div className="fixed inset-0 bg-black/30 z-40 lg:hidden anet-fade-in" onClick={onClose} />
|
|
603
|
-
<div className="fixed top-0 right-0 h-
|
|
658
|
+
<div className="fixed top-0 right-0 h-[100dvh] w-full lg:w-[500px] bg-[var(--bg)] border-l border-[var(--border)] z-50 flex flex-col shadow-2xl shadow-black/60 animate-slide-in">
|
|
604
659
|
{/* Header */}
|
|
605
660
|
<div className="flex items-center justify-between px-4 py-3 border-b border-[var(--border)] bg-[var(--bg-secondary)]">
|
|
606
661
|
<div className="flex items-center gap-3">
|
|
@@ -81,7 +81,7 @@ export function TaskDrawer({ taskId, onClose }: TaskDrawerProps) {
|
|
|
81
81
|
return (
|
|
82
82
|
<>
|
|
83
83
|
<div className="fixed inset-0 bg-black/30 z-40 anet-fade-in" onClick={onClose} />
|
|
84
|
-
<div className="fixed top-0 right-0 h-
|
|
84
|
+
<div className="fixed top-0 right-0 h-[100dvh] w-full lg:w-[500px] bg-[#0a0a1a] border-l border-[#2a2a4a] z-50 flex flex-col shadow-2xl shadow-black/60 overflow-y-auto animate-slide-in">
|
|
85
85
|
{/* Header */}
|
|
86
86
|
<div className="flex items-center justify-between px-5 py-4 border-b border-[#2a2a4a] bg-[#0d0d1a] sticky top-0">
|
|
87
87
|
<div>
|
package/app/layout.tsx
CHANGED