@sleep2agi/agent-network-dashboard 0.4.5-preview.14 → 0.4.5-preview.15
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 +6 -6
- package/.next/fallback-build-manifest.json +3 -3
- package/.next/prerender-manifest.json +3 -3
- package/.next/server/app/_global-error.html +1 -1
- package/.next/server/app/_global-error.rsc +1 -1
- package/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/.next/server/app/_not-found.html +2 -2
- package/.next/server/app/_not-found.rsc +2 -2
- package/.next/server/app/_not-found.segments/_full.segment.rsc +2 -2
- package/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
- package/.next/server/app/_not-found.segments/_index.segment.rsc +2 -2
- package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
- package/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/admin/page_client-reference-manifest.js +1 -1
- package/.next/server/app/admin.html +2 -2
- package/.next/server/app/admin.rsc +2 -2
- package/.next/server/app/admin.segments/_full.segment.rsc +2 -2
- package/.next/server/app/admin.segments/_head.segment.rsc +1 -1
- package/.next/server/app/admin.segments/_index.segment.rsc +2 -2
- package/.next/server/app/admin.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/admin.segments/admin/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/admin.segments/admin.segment.rsc +1 -1
- package/.next/server/app/index.html +2 -2
- package/.next/server/app/index.rsc +2 -2
- package/.next/server/app/index.segments/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/index.segments/_full.segment.rsc +2 -2
- package/.next/server/app/index.segments/_head.segment.rsc +1 -1
- package/.next/server/app/index.segments/_index.segment.rsc +2 -2
- package/.next/server/app/index.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/login/page_client-reference-manifest.js +1 -1
- package/.next/server/app/login.html +2 -2
- package/.next/server/app/login.rsc +2 -2
- package/.next/server/app/login.segments/_full.segment.rsc +2 -2
- package/.next/server/app/login.segments/_head.segment.rsc +1 -1
- package/.next/server/app/login.segments/_index.segment.rsc +2 -2
- package/.next/server/app/login.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/login.segments/login/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/login.segments/login.segment.rsc +1 -1
- package/.next/server/app/logs/page_client-reference-manifest.js +1 -1
- package/.next/server/app/logs.html +2 -2
- package/.next/server/app/logs.rsc +2 -2
- package/.next/server/app/logs.segments/_full.segment.rsc +2 -2
- package/.next/server/app/logs.segments/_head.segment.rsc +1 -1
- package/.next/server/app/logs.segments/_index.segment.rsc +2 -2
- package/.next/server/app/logs.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/logs.segments/logs/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/logs.segments/logs.segment.rsc +1 -1
- package/.next/server/app/messages/page_client-reference-manifest.js +1 -1
- package/.next/server/app/messages.html +2 -2
- package/.next/server/app/messages.rsc +2 -2
- package/.next/server/app/messages.segments/_full.segment.rsc +2 -2
- package/.next/server/app/messages.segments/_head.segment.rsc +1 -1
- package/.next/server/app/messages.segments/_index.segment.rsc +2 -2
- package/.next/server/app/messages.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/messages.segments/messages/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/messages.segments/messages.segment.rsc +1 -1
- package/.next/server/app/node/page_client-reference-manifest.js +1 -1
- package/.next/server/app/node.html +2 -2
- package/.next/server/app/node.rsc +2 -2
- package/.next/server/app/node.segments/_full.segment.rsc +2 -2
- package/.next/server/app/node.segments/_head.segment.rsc +1 -1
- package/.next/server/app/node.segments/_index.segment.rsc +2 -2
- package/.next/server/app/node.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/node.segments/node/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/node.segments/node.segment.rsc +1 -1
- package/.next/server/app/nodes/page_client-reference-manifest.js +1 -1
- package/.next/server/app/nodes.html +2 -2
- package/.next/server/app/nodes.rsc +2 -2
- package/.next/server/app/nodes.segments/_full.segment.rsc +2 -2
- package/.next/server/app/nodes.segments/_head.segment.rsc +1 -1
- package/.next/server/app/nodes.segments/_index.segment.rsc +2 -2
- package/.next/server/app/nodes.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/nodes.segments/nodes/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/nodes.segments/nodes.segment.rsc +1 -1
- package/.next/server/app/page_client-reference-manifest.js +1 -1
- package/.next/server/app/server-logs/page_client-reference-manifest.js +1 -1
- package/.next/server/app/server-logs.html +2 -2
- package/.next/server/app/server-logs.rsc +2 -2
- package/.next/server/app/server-logs.segments/_full.segment.rsc +2 -2
- package/.next/server/app/server-logs.segments/_head.segment.rsc +1 -1
- package/.next/server/app/server-logs.segments/_index.segment.rsc +2 -2
- package/.next/server/app/server-logs.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/server-logs.segments/server-logs/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/server-logs.segments/server-logs.segment.rsc +1 -1
- package/.next/server/app/settings/networks/page.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 +3 -3
- package/.next/server/app/settings/networks.segments/_full.segment.rsc +3 -3
- 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 +2 -2
- package/.next/server/app/settings/networks.segments/settings/networks.segment.rsc +1 -1
- package/.next/server/app/settings/networks.segments/settings.segment.rsc +1 -1
- package/.next/server/app/settings/page_client-reference-manifest.js +1 -1
- package/.next/server/app/settings/tokens/page_client-reference-manifest.js +1 -1
- package/.next/server/app/settings/tokens.html +2 -2
- package/.next/server/app/settings/tokens.rsc +2 -2
- package/.next/server/app/settings/tokens.segments/_full.segment.rsc +2 -2
- package/.next/server/app/settings/tokens.segments/_head.segment.rsc +1 -1
- package/.next/server/app/settings/tokens.segments/_index.segment.rsc +2 -2
- package/.next/server/app/settings/tokens.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/settings/tokens.segments/settings/tokens/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/settings/tokens.segments/settings/tokens.segment.rsc +1 -1
- package/.next/server/app/settings/tokens.segments/settings.segment.rsc +1 -1
- package/.next/server/app/settings.html +2 -2
- package/.next/server/app/settings.rsc +2 -2
- package/.next/server/app/settings.segments/_full.segment.rsc +2 -2
- package/.next/server/app/settings.segments/_head.segment.rsc +1 -1
- package/.next/server/app/settings.segments/_index.segment.rsc +2 -2
- package/.next/server/app/settings.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/settings.segments/settings/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/settings.segments/settings.segment.rsc +1 -1
- package/.next/server/app/tasks/[id]/page_client-reference-manifest.js +1 -1
- package/.next/server/app/tasks/page_client-reference-manifest.js +1 -1
- package/.next/server/app/tasks.html +2 -2
- package/.next/server/app/tasks.rsc +2 -2
- package/.next/server/app/tasks.segments/_full.segment.rsc +2 -2
- package/.next/server/app/tasks.segments/_head.segment.rsc +1 -1
- package/.next/server/app/tasks.segments/_index.segment.rsc +2 -2
- package/.next/server/app/tasks.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/tasks.segments/tasks/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/tasks.segments/tasks.segment.rsc +1 -1
- package/.next/server/chunks/ssr/app_11rum9b._.js +3 -0
- package/.next/server/chunks/ssr/app_11rum9b._.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/05f.bm74.tg7p.js +1 -0
- package/.next/static/chunks/17q03qbexyddu.css +2 -0
- package/.next/trace +2 -2
- package/.next/trace-build +1 -1
- package/app/settings/networks/page.tsx +37 -13
- package/package.json +1 -1
- package/.next/server/chunks/ssr/app_0.0wpa~._.js +0 -3
- package/.next/server/chunks/ssr/app_0.0wpa~._.js.map +0 -1
- package/.next/static/chunks/0g7m7zk.v7g6h.js +0 -1
- package/.next/static/chunks/0l.0prmx46t4g.css +0 -2
- /package/.next/static/{QFVy-mY3JPJiOyrhoUHqg → ksLTC2gWmWR-gtsZUF5MZ}/_buildManifest.js +0 -0
- /package/.next/static/{QFVy-mY3JPJiOyrhoUHqg → ksLTC2gWmWR-gtsZUF5MZ}/_clientMiddlewareManifest.js +0 -0
- /package/.next/static/{QFVy-mY3JPJiOyrhoUHqg → ksLTC2gWmWR-gtsZUF5MZ}/_ssgManifest.js +0 -0
package/.next/trace
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
[{"name":"generate-buildid","duration":284,"timestamp":192030856241,"id":4,"parentId":1,"tags":{},"startTime":1778563516681,"traceId":"939810ff5e74d96f"},{"name":"load-custom-routes","duration":480,"timestamp":192030856672,"id":5,"parentId":1,"tags":{},"startTime":1778563516681,"traceId":"939810ff5e74d96f"},{"name":"create-dist-dir","duration":620,"timestamp":192030857210,"id":6,"parentId":1,"tags":{},"startTime":1778563516682,"traceId":"939810ff5e74d96f"},{"name":"clean","duration":514,"timestamp":192030858536,"id":7,"parentId":1,"tags":{},"startTime":1778563516683,"traceId":"939810ff5e74d96f"},{"name":"discover-routes","duration":9416,"timestamp":192030955916,"id":8,"parentId":1,"tags":{},"startTime":1778563516781,"traceId":"939810ff5e74d96f"},{"name":"create-root-mapping","duration":116,"timestamp":192030965397,"id":9,"parentId":1,"tags":{},"startTime":1778563516790,"traceId":"939810ff5e74d96f"},{"name":"generate-route-types","duration":31657,"timestamp":192030967913,"id":10,"parentId":1,"tags":{},"startTime":1778563516793,"traceId":"939810ff5e74d96f"},{"name":"public-dir-conflict-check","duration":114,"timestamp":192030999744,"id":11,"parentId":1,"tags":{},"startTime":1778563516824,"traceId":"939810ff5e74d96f"},{"name":"generate-routes-manifest","duration":4345,"timestamp":192030999982,"id":12,"parentId":1,"tags":{},"startTime":1778563516825,"traceId":"939810ff5e74d96f"},{"name":"run-turbopack","duration":7448117,"timestamp":192031009856,"id":14,"parentId":1,"tags":{},"startTime":1778563516835,"traceId":"939810ff5e74d96f"},{"name":"turbopack-build-events","duration":97,"timestamp":192031294956,"id":15,"parentId":1,"tags":{},"startTime":1778563517120,"traceId":"939810ff5e74d96f"},{"name":"run-typescript","duration":7723993,"timestamp":192038467571,"id":16,"parentId":1,"tags":{},"startTime":1778563524292,"traceId":"939810ff5e74d96f"},{"name":"generate-required-server-files","duration":2274,"timestamp":192046192712,"id":18,"parentId":1,"tags":{},"startTime":1778563532017,"traceId":"939810ff5e74d96f"},{"name":"check-static-error-page","duration":16757,"timestamp":192046256689,"id":20,"parentId":19,"tags":{},"startTime":1778563532081,"traceId":"939810ff5e74d96f"},{"name":"is-page-static","duration":304555,"timestamp":192046275720,"id":62,"parentId":22,"tags":{},"startTime":1778563532100,"traceId":"939810ff5e74d96f"},{"name":"check-page","duration":321412,"timestamp":192046258996,"id":22,"parentId":19,"tags":{"page":"/_global-error"},"startTime":1778563532084,"traceId":"939810ff5e74d96f"},{"name":"is-page-static","duration":420103,"timestamp":192046275941,"id":64,"parentId":26,"tags":{},"startTime":1778563532101,"traceId":"939810ff5e74d96f"},{"name":"check-page","duration":434262,"timestamp":192046261873,"id":26,"parentId":19,"tags":{"page":"/api/auth/logout"},"startTime":1778563532087,"traceId":"939810ff5e74d96f"},{"name":"is-page-static","duration":423526,"timestamp":192046275409,"id":61,"parentId":21,"tags":{},"startTime":1778563532100,"traceId":"939810ff5e74d96f"},{"name":"check-page","duration":441199,"timestamp":192046257782,"id":21,"parentId":19,"tags":{"page":"/_not-found"},"startTime":1778563532082,"traceId":"939810ff5e74d96f"},{"name":"is-page-static","duration":423910,"timestamp":192046275980,"id":65,"parentId":27,"tags":{},"startTime":1778563532101,"traceId":"939810ff5e74d96f"},{"name":"check-page","duration":437974,"timestamp":192046261963,"id":27,"parentId":19,"tags":{"page":"/api/auth/v3"},"startTime":1778563532087,"traceId":"939810ff5e74d96f"},{"name":"is-page-static","duration":427528,"timestamp":192046276084,"id":67,"parentId":29,"tags":{},"startTime":1778563532101,"traceId":"939810ff5e74d96f"},{"name":"check-page","duration":438680,"timestamp":192046264986,"id":29,"parentId":19,"tags":{"page":"/api/hub/auth"},"startTime":1778563532090,"traceId":"939810ff5e74d96f"},{"name":"is-page-static","duration":430048,"timestamp":192046275802,"id":63,"parentId":25,"tags":{},"startTime":1778563532100,"traceId":"939810ff5e74d96f"},{"name":"check-page","duration":444174,"timestamp":192046261724,"id":25,"parentId":19,"tags":{"page":"/api/auth/login"},"startTime":1778563532086,"traceId":"939810ff5e74d96f"},{"name":"is-page-static","duration":433668,"timestamp":192046276117,"id":68,"parentId":30,"tags":{},"startTime":1778563532101,"traceId":"939810ff5e74d96f"},{"name":"check-page","duration":444479,"timestamp":192046265369,"id":30,"parentId":19,"tags":{"page":"/api/hub/broadcast"},"startTime":1778563532090,"traceId":"939810ff5e74d96f"},{"name":"is-page-static","duration":435331,"timestamp":192046276264,"id":70,"parentId":33,"tags":{},"startTime":1778563532101,"traceId":"939810ff5e74d96f"},{"name":"check-page","duration":445442,"timestamp":192046266196,"id":33,"parentId":19,"tags":{"page":"/api/hub/inbox"},"startTime":1778563532091,"traceId":"939810ff5e74d96f"},{"name":"is-page-static","duration":444422,"timestamp":192046276310,"id":71,"parentId":34,"tags":{},"startTime":1778563532101,"traceId":"939810ff5e74d96f"},{"name":"check-page","duration":454401,"timestamp":192046266392,"id":34,"parentId":19,"tags":{"page":"/api/hub/license"},"startTime":1778563532091,"traceId":"939810ff5e74d96f"},{"name":"is-page-static","duration":448809,"timestamp":192046276327,"id":72,"parentId":35,"tags":{},"startTime":1778563532101,"traceId":"939810ff5e74d96f"},{"name":"check-page","duration":458706,"timestamp":192046266497,"id":35,"parentId":19,"tags":{"page":"/api/hub/messages"},"startTime":1778563532091,"traceId":"939810ff5e74d96f"},{"name":"is-page-static","duration":452120,"timestamp":192046276380,"id":73,"parentId":36,"tags":{},"startTime":1778563532101,"traceId":"939810ff5e74d96f"},{"name":"check-page","duration":461733,"timestamp":192046266824,"id":36,"parentId":19,"tags":{"page":"/api/hub/networks"},"startTime":1778563532092,"traceId":"939810ff5e74d96f"},{"name":"is-page-static","duration":456185,"timestamp":192046276401,"id":74,"parentId":37,"tags":{},"startTime":1778563532101,"traceId":"939810ff5e74d96f"},{"name":"check-page","duration":465700,"timestamp":192046266945,"id":37,"parentId":19,"tags":{"page":"/api/hub/nodes"},"startTime":1778563532092,"traceId":"939810ff5e74d96f"},{"name":"is-page-static","duration":460560,"timestamp":192046276410,"id":75,"parentId":38,"tags":{},"startTime":1778563532101,"traceId":"939810ff5e74d96f"},{"name":"check-page","duration":468333,"timestamp":192046268717,"id":38,"parentId":19,"tags":{"page":"/api/hub/register"},"startTime":1778563532093,"traceId":"939810ff5e74d96f"},{"name":"is-page-static","duration":462073,"timestamp":192046276152,"id":69,"parentId":32,"tags":{},"startTime":1778563532101,"traceId":"939810ff5e74d96f"},{"name":"check-page","duration":472323,"timestamp":192046265952,"id":32,"parentId":19,"tags":{"page":"/api/hub/health"},"startTime":1778563532091,"traceId":"939810ff5e74d96f"},{"name":"is-page-static","duration":463830,"timestamp":192046276416,"id":76,"parentId":39,"tags":{},"startTime":1778563532101,"traceId":"939810ff5e74d96f"},{"name":"check-page","duration":471456,"timestamp":192046268837,"id":39,"parentId":19,"tags":{"page":"/api/hub/send"},"startTime":1778563532094,"traceId":"939810ff5e74d96f"},{"name":"is-page-static","duration":467317,"timestamp":192046276427,"id":78,"parentId":41,"tags":{},"startTime":1778563532101,"traceId":"939810ff5e74d96f"},{"name":"check-page","duration":474803,"timestamp":192046268987,"id":41,"parentId":19,"tags":{"page":"/api/hub/session"},"startTime":1778563532094,"traceId":"939810ff5e74d96f"},{"name":"is-page-static","duration":470356,"timestamp":192046276432,"id":79,"parentId":42,"tags":{},"startTime":1778563532101,"traceId":"939810ff5e74d96f"},{"name":"check-page","duration":477752,"timestamp":192046269088,"id":42,"parentId":19,"tags":{"page":"/api/hub/stats"},"startTime":1778563532094,"traceId":"939810ff5e74d96f"},{"name":"is-page-static","duration":474589,"timestamp":192046276438,"id":80,"parentId":43,"tags":{},"startTime":1778563532101,"traceId":"939810ff5e74d96f"},{"name":"check-page","duration":481917,"timestamp":192046269156,"id":43,"parentId":19,"tags":{"page":"/api/hub/status"},"startTime":1778563532094,"traceId":"939810ff5e74d96f"},{"name":"is-page-static","duration":475222,"timestamp":192046276422,"id":77,"parentId":40,"tags":{},"startTime":1778563532101,"traceId":"939810ff5e74d96f"},{"name":"check-page","duration":482766,"timestamp":192046268916,"id":40,"parentId":19,"tags":{"page":"/api/hub/server-logs"},"startTime":1778563532094,"traceId":"939810ff5e74d96f"},{"name":"is-page-static","duration":477938,"timestamp":192046276443,"id":81,"parentId":44,"tags":{},"startTime":1778563532101,"traceId":"939810ff5e74d96f"},{"name":"check-page","duration":485180,"timestamp":192046269238,"id":44,"parentId":19,"tags":{"page":"/api/hub/task-events"},"startTime":1778563532094,"traceId":"939810ff5e74d96f"},{"name":"is-page-static","duration":479372,"timestamp":192046276047,"id":66,"parentId":28,"tags":{},"startTime":1778563532101,"traceId":"939810ff5e74d96f"},{"name":"check-page","duration":490705,"timestamp":192046264752,"id":28,"parentId":19,"tags":{"page":"/api/hub/audit-log"},"startTime":1778563532089,"traceId":"939810ff5e74d96f"},{"name":"is-page-static","duration":479120,"timestamp":192046276449,"id":82,"parentId":45,"tags":{},"startTime":1778563532101,"traceId":"939810ff5e74d96f"},{"name":"check-page","duration":486294,"timestamp":192046269298,"id":45,"parentId":19,"tags":{"page":"/api/hub/tasks"},"startTime":1778563532094,"traceId":"939810ff5e74d96f"},{"name":"is-page-static","duration":480961,"timestamp":192046276453,"id":83,"parentId":46,"tags":{},"startTime":1778563532101,"traceId":"939810ff5e74d96f"},{"name":"check-page","duration":488067,"timestamp":192046269387,"id":46,"parentId":19,"tags":{"page":"/api/hub/tmux"},"startTime":1778563532094,"traceId":"939810ff5e74d96f"},{"name":"is-page-static","duration":483254,"timestamp":192046276462,"id":85,"parentId":48,"tags":{},"startTime":1778563532101,"traceId":"939810ff5e74d96f"},{"name":"check-page","duration":490242,"timestamp":192046269518,"id":48,"parentId":19,"tags":{"page":"/favicon.ico"},"startTime":1778563532094,"traceId":"939810ff5e74d96f"},{"name":"is-page-static","duration":482327,"timestamp":192046278836,"id":86,"parentId":24,"tags":{},"startTime":1778563532104,"traceId":"939810ff5e74d96f"},{"name":"check-page","duration":501828,"timestamp":192046259387,"id":24,"parentId":19,"tags":{"page":"/api/anet/config"},"startTime":1778563532084,"traceId":"939810ff5e74d96f"},{"name":"is-page-static","duration":486588,"timestamp":192046276458,"id":84,"parentId":47,"tags":{},"startTime":1778563532101,"traceId":"939810ff5e74d96f"},{"name":"check-page","duration":493635,"timestamp":192046269453,"id":47,"parentId":19,"tags":{"page":"/api/hub/tokens"},"startTime":1778563532094,"traceId":"939810ff5e74d96f"},{"name":"is-page-static","duration":483716,"timestamp":192046279536,"id":87,"parentId":31,"tags":{},"startTime":1778563532104,"traceId":"939810ff5e74d96f"},{"name":"check-page","duration":497686,"timestamp":192046265597,"id":31,"parentId":19,"tags":{"page":"/api/hub/events"},"startTime":1778563532090,"traceId":"939810ff5e74d96f"},{"name":"is-page-static","duration":479445,"timestamp":192046288036,"id":89,"parentId":49,"tags":{},"startTime":1778563532113,"traceId":"939810ff5e74d96f"},{"name":"check-page","duration":497684,"timestamp":192046269847,"id":49,"parentId":19,"tags":{"page":"/login"},"startTime":1778563532095,"traceId":"939810ff5e74d96f"},{"name":"is-page-static","duration":484030,"timestamp":192046288053,"id":91,"parentId":51,"tags":{},"startTime":1778563532113,"traceId":"939810ff5e74d96f"},{"name":"check-page","duration":502069,"timestamp":192046270081,"id":51,"parentId":19,"tags":{"page":"/messages"},"startTime":1778563532095,"traceId":"939810ff5e74d96f"},{"name":"is-page-static","duration":489894,"timestamp":192046288062,"id":92,"parentId":52,"tags":{},"startTime":1778563532113,"traceId":"939810ff5e74d96f"},{"name":"check-page","duration":507754,"timestamp":192046270259,"id":52,"parentId":19,"tags":{"page":"/node"},"startTime":1778563532095,"traceId":"939810ff5e74d96f"},{"name":"is-page-static","duration":494610,"timestamp":192046288070,"id":93,"parentId":53,"tags":{},"startTime":1778563532113,"traceId":"939810ff5e74d96f"},{"name":"check-page","duration":512304,"timestamp":192046270419,"id":53,"parentId":19,"tags":{"page":"/nodes"},"startTime":1778563532095,"traceId":"939810ff5e74d96f"},{"name":"is-page-static","duration":500429,"timestamp":192046288075,"id":94,"parentId":55,"tags":{},"startTime":1778563532113,"traceId":"939810ff5e74d96f"},{"name":"check-page","duration":517505,"timestamp":192046271046,"id":55,"parentId":19,"tags":{"page":"/server-logs"},"startTime":1778563532096,"traceId":"939810ff5e74d96f"},{"name":"is-page-static","duration":510042,"timestamp":192046288083,"id":95,"parentId":56,"tags":{},"startTime":1778563532113,"traceId":"939810ff5e74d96f"},{"name":"check-page","duration":527020,"timestamp":192046271217,"id":56,"parentId":19,"tags":{"page":"/settings/networks"},"startTime":1778563532096,"traceId":"939810ff5e74d96f"},{"name":"is-page-static","duration":513863,"timestamp":192046287989,"id":88,"parentId":23,"tags":{},"startTime":1778563532113,"traceId":"939810ff5e74d96f"},{"name":"check-page","duration":542663,"timestamp":192046259239,"id":23,"parentId":19,"tags":{"page":"/admin"},"startTime":1778563532084,"traceId":"939810ff5e74d96f"},{"name":"is-page-static","duration":513972,"timestamp":192046288092,"id":96,"parentId":58,"tags":{},"startTime":1778563532113,"traceId":"939810ff5e74d96f"},{"name":"check-page","duration":529134,"timestamp":192046272957,"id":58,"parentId":19,"tags":{"page":"/settings/tokens"},"startTime":1778563532098,"traceId":"939810ff5e74d96f"},{"name":"is-page-static","duration":519975,"timestamp":192046288108,"id":98,"parentId":60,"tags":{},"startTime":1778563532113,"traceId":"939810ff5e74d96f"},{"name":"check-page","duration":534881,"timestamp":192046273257,"id":60,"parentId":19,"tags":{"page":"/tasks"},"startTime":1778563532098,"traceId":"939810ff5e74d96f"},{"name":"is-page-static","duration":524776,"timestamp":192046288119,"id":99,"parentId":54,"tags":{},"startTime":1778563532113,"traceId":"939810ff5e74d96f"},{"name":"check-page","duration":542343,"timestamp":192046270599,"id":54,"parentId":19,"tags":{"page":"/"},"startTime":1778563532095,"traceId":"939810ff5e74d96f"},{"name":"is-page-static","duration":526340,"timestamp":192046288047,"id":90,"parentId":50,"tags":{},"startTime":1778563532113,"traceId":"939810ff5e74d96f"},{"name":"check-page","duration":544471,"timestamp":192046269961,"id":50,"parentId":19,"tags":{"page":"/logs"},"startTime":1778563532095,"traceId":"939810ff5e74d96f"},{"name":"is-page-static","duration":526416,"timestamp":192046288097,"id":97,"parentId":59,"tags":{},"startTime":1778563532113,"traceId":"939810ff5e74d96f"},{"name":"check-page","duration":541417,"timestamp":192046273124,"id":59,"parentId":19,"tags":{"page":"/tasks/[id]"},"startTime":1778563532098,"traceId":"939810ff5e74d96f"},{"name":"is-page-static","duration":522493,"timestamp":192046295769,"id":100,"parentId":57,"tags":{},"startTime":1778563532120,"traceId":"939810ff5e74d96f"},{"name":"check-page","duration":546925,"timestamp":192046271379,"id":57,"parentId":19,"tags":{"page":"/settings"},"startTime":1778563532096,"traceId":"939810ff5e74d96f"},{"name":"static-check","duration":562518,"timestamp":192046255820,"id":19,"parentId":1,"tags":{},"startTime":1778563532081,"traceId":"939810ff5e74d96f"},{"name":"write-routes-manifest","duration":467,"timestamp":192046825485,"id":102,"parentId":1,"tags":{},"startTime":1778563532650,"traceId":"939810ff5e74d96f"},{"name":"load-dotenv","duration":49,"timestamp":192046838769,"id":105,"parentId":104,"tags":{},"startTime":1778563532663,"traceId":"939810ff5e74d96f"},{"name":"run-export-path-map","duration":673,"timestamp":192046841654,"id":106,"parentId":104,"tags":{},"startTime":1778563532666,"traceId":"939810ff5e74d96f"},{"name":"next-export","duration":541976,"timestamp":192046837457,"id":104,"parentId":1,"tags":{},"startTime":1778563532662,"traceId":"939810ff5e74d96f"},{"name":"move-exported-app-not-found-","duration":1662,"timestamp":192047382818,"id":107,"parentId":103,"tags":{},"startTime":1778563533208,"traceId":"939810ff5e74d96f"},{"name":"move-exported-app-global-error-","duration":527,"timestamp":192047384622,"id":108,"parentId":103,"tags":{},"startTime":1778563533209,"traceId":"939810ff5e74d96f"}]
|
|
2
|
-
[{"name":"static-generation","duration":
|
|
1
|
+
[{"name":"generate-buildid","duration":302,"timestamp":192556286083,"id":4,"parentId":1,"tags":{},"startTime":1778564042111,"traceId":"acd7eff94ef590ab"},{"name":"load-custom-routes","duration":512,"timestamp":192556286537,"id":5,"parentId":1,"tags":{},"startTime":1778564042111,"traceId":"acd7eff94ef590ab"},{"name":"create-dist-dir","duration":397,"timestamp":192556287094,"id":6,"parentId":1,"tags":{},"startTime":1778564042112,"traceId":"acd7eff94ef590ab"},{"name":"clean","duration":522,"timestamp":192556288256,"id":7,"parentId":1,"tags":{},"startTime":1778564042113,"traceId":"acd7eff94ef590ab"},{"name":"discover-routes","duration":8879,"timestamp":192556382271,"id":8,"parentId":1,"tags":{},"startTime":1778564042207,"traceId":"acd7eff94ef590ab"},{"name":"create-root-mapping","duration":124,"timestamp":192556391219,"id":9,"parentId":1,"tags":{},"startTime":1778564042216,"traceId":"acd7eff94ef590ab"},{"name":"generate-route-types","duration":32126,"timestamp":192556393788,"id":10,"parentId":1,"tags":{},"startTime":1778564042218,"traceId":"acd7eff94ef590ab"},{"name":"public-dir-conflict-check","duration":108,"timestamp":192556426132,"id":11,"parentId":1,"tags":{},"startTime":1778564042251,"traceId":"acd7eff94ef590ab"},{"name":"generate-routes-manifest","duration":4340,"timestamp":192556426362,"id":12,"parentId":1,"tags":{},"startTime":1778564042251,"traceId":"acd7eff94ef590ab"},{"name":"run-turbopack","duration":7541254,"timestamp":192556436330,"id":14,"parentId":1,"tags":{},"startTime":1778564042261,"traceId":"acd7eff94ef590ab"},{"name":"turbopack-build-events","duration":78,"timestamp":192556722325,"id":15,"parentId":1,"tags":{},"startTime":1778564042547,"traceId":"acd7eff94ef590ab"},{"name":"run-typescript","duration":7653932,"timestamp":192563984253,"id":16,"parentId":1,"tags":{},"startTime":1778564049809,"traceId":"acd7eff94ef590ab"},{"name":"generate-required-server-files","duration":2135,"timestamp":192571638935,"id":18,"parentId":1,"tags":{},"startTime":1778564057464,"traceId":"acd7eff94ef590ab"},{"name":"check-static-error-page","duration":16601,"timestamp":192571710379,"id":20,"parentId":19,"tags":{},"startTime":1778564057535,"traceId":"acd7eff94ef590ab"},{"name":"is-page-static","duration":443836,"timestamp":192571730552,"id":62,"parentId":22,"tags":{},"startTime":1778564057555,"traceId":"acd7eff94ef590ab"},{"name":"check-page","duration":460995,"timestamp":192571713504,"id":22,"parentId":19,"tags":{"page":"/_global-error"},"startTime":1778564057538,"traceId":"acd7eff94ef590ab"},{"name":"is-page-static","duration":566976,"timestamp":192571730922,"id":64,"parentId":26,"tags":{},"startTime":1778564057556,"traceId":"acd7eff94ef590ab"},{"name":"check-page","duration":580856,"timestamp":192571717120,"id":26,"parentId":19,"tags":{"page":"/api/auth/logout"},"startTime":1778564057542,"traceId":"acd7eff94ef590ab"},{"name":"is-page-static","duration":573369,"timestamp":192571730998,"id":65,"parentId":27,"tags":{},"startTime":1778564057556,"traceId":"acd7eff94ef590ab"},{"name":"check-page","duration":587168,"timestamp":192571717283,"id":27,"parentId":19,"tags":{"page":"/api/auth/v3"},"startTime":1778564057542,"traceId":"acd7eff94ef590ab"},{"name":"is-page-static","duration":578396,"timestamp":192571731078,"id":66,"parentId":28,"tags":{},"startTime":1778564057556,"traceId":"acd7eff94ef590ab"},{"name":"check-page","duration":592128,"timestamp":192571717430,"id":28,"parentId":19,"tags":{"page":"/api/hub/audit-log"},"startTime":1778564057542,"traceId":"acd7eff94ef590ab"},{"name":"is-page-static","duration":584431,"timestamp":192571731137,"id":67,"parentId":29,"tags":{},"startTime":1778564057556,"traceId":"acd7eff94ef590ab"},{"name":"check-page","duration":598079,"timestamp":192571717563,"id":29,"parentId":19,"tags":{"page":"/api/hub/auth"},"startTime":1778564057542,"traceId":"acd7eff94ef590ab"},{"name":"is-page-static","duration":588908,"timestamp":192571731197,"id":68,"parentId":30,"tags":{},"startTime":1778564057556,"traceId":"acd7eff94ef590ab"},{"name":"check-page","duration":602319,"timestamp":192571717851,"id":30,"parentId":19,"tags":{"page":"/api/hub/broadcast"},"startTime":1778564057543,"traceId":"acd7eff94ef590ab"},{"name":"is-page-static","duration":596336,"timestamp":192571731253,"id":69,"parentId":32,"tags":{},"startTime":1778564057556,"traceId":"acd7eff94ef590ab"},{"name":"check-page","duration":609371,"timestamp":192571718319,"id":32,"parentId":19,"tags":{"page":"/api/hub/health"},"startTime":1778564057543,"traceId":"acd7eff94ef590ab"},{"name":"is-page-static","duration":599095,"timestamp":192571731413,"id":70,"parentId":33,"tags":{},"startTime":1778564057556,"traceId":"acd7eff94ef590ab"},{"name":"check-page","duration":612147,"timestamp":192571718426,"id":33,"parentId":19,"tags":{"page":"/api/hub/inbox"},"startTime":1778564057543,"traceId":"acd7eff94ef590ab"},{"name":"is-page-static","duration":602630,"timestamp":192571731499,"id":71,"parentId":34,"tags":{},"startTime":1778564057556,"traceId":"acd7eff94ef590ab"},{"name":"check-page","duration":612698,"timestamp":192571721500,"id":34,"parentId":19,"tags":{"page":"/api/hub/license"},"startTime":1778564057546,"traceId":"acd7eff94ef590ab"},{"name":"is-page-static","duration":608106,"timestamp":192571730210,"id":61,"parentId":21,"tags":{},"startTime":1778564057555,"traceId":"acd7eff94ef590ab"},{"name":"check-page","duration":626444,"timestamp":192571711925,"id":21,"parentId":19,"tags":{"page":"/_not-found"},"startTime":1778564057537,"traceId":"acd7eff94ef590ab"},{"name":"is-page-static","duration":606997,"timestamp":192571731532,"id":72,"parentId":35,"tags":{},"startTime":1778564057556,"traceId":"acd7eff94ef590ab"},{"name":"check-page","duration":616868,"timestamp":192571721692,"id":35,"parentId":19,"tags":{"page":"/api/hub/messages"},"startTime":1778564057546,"traceId":"acd7eff94ef590ab"},{"name":"is-page-static","duration":612614,"timestamp":192571731654,"id":74,"parentId":37,"tags":{},"startTime":1778564057556,"traceId":"acd7eff94ef590ab"},{"name":"check-page","duration":622032,"timestamp":192571722295,"id":37,"parentId":19,"tags":{"page":"/api/hub/nodes"},"startTime":1778564057547,"traceId":"acd7eff94ef590ab"},{"name":"is-page-static","duration":616629,"timestamp":192571731691,"id":75,"parentId":38,"tags":{},"startTime":1778564057556,"traceId":"acd7eff94ef590ab"},{"name":"check-page","duration":626039,"timestamp":192571722446,"id":38,"parentId":19,"tags":{"page":"/api/hub/register"},"startTime":1778564057547,"traceId":"acd7eff94ef590ab"},{"name":"is-page-static","duration":621644,"timestamp":192571731702,"id":76,"parentId":39,"tags":{},"startTime":1778564057556,"traceId":"acd7eff94ef590ab"},{"name":"check-page","duration":630850,"timestamp":192571722547,"id":39,"parentId":19,"tags":{"page":"/api/hub/send"},"startTime":1778564057547,"traceId":"acd7eff94ef590ab"},{"name":"is-page-static","duration":626967,"timestamp":192571731719,"id":77,"parentId":40,"tags":{},"startTime":1778564057556,"traceId":"acd7eff94ef590ab"},{"name":"check-page","duration":636105,"timestamp":192571722648,"id":40,"parentId":19,"tags":{"page":"/api/hub/server-logs"},"startTime":1778564057547,"traceId":"acd7eff94ef590ab"},{"name":"is-page-static","duration":632042,"timestamp":192571731728,"id":78,"parentId":41,"tags":{},"startTime":1778564057556,"traceId":"acd7eff94ef590ab"},{"name":"check-page","duration":641071,"timestamp":192571722754,"id":41,"parentId":19,"tags":{"page":"/api/hub/session"},"startTime":1778564057547,"traceId":"acd7eff94ef590ab"},{"name":"is-page-static","duration":636397,"timestamp":192571731741,"id":79,"parentId":42,"tags":{},"startTime":1778564057556,"traceId":"acd7eff94ef590ab"},{"name":"check-page","duration":645361,"timestamp":192571722856,"id":42,"parentId":19,"tags":{"page":"/api/hub/stats"},"startTime":1778564057548,"traceId":"acd7eff94ef590ab"},{"name":"is-page-static","duration":643159,"timestamp":192571731754,"id":80,"parentId":43,"tags":{},"startTime":1778564057556,"traceId":"acd7eff94ef590ab"},{"name":"check-page","duration":652031,"timestamp":192571722947,"id":43,"parentId":19,"tags":{"page":"/api/hub/status"},"startTime":1778564057548,"traceId":"acd7eff94ef590ab"},{"name":"is-page-static","duration":647815,"timestamp":192571731763,"id":81,"parentId":44,"tags":{},"startTime":1778564057556,"traceId":"acd7eff94ef590ab"},{"name":"check-page","duration":656583,"timestamp":192571723060,"id":44,"parentId":19,"tags":{"page":"/api/hub/task-events"},"startTime":1778564057548,"traceId":"acd7eff94ef590ab"},{"name":"is-page-static","duration":655326,"timestamp":192571731776,"id":82,"parentId":45,"tags":{},"startTime":1778564057556,"traceId":"acd7eff94ef590ab"},{"name":"check-page","duration":664015,"timestamp":192571723159,"id":45,"parentId":19,"tags":{"page":"/api/hub/tasks"},"startTime":1778564057548,"traceId":"acd7eff94ef590ab"},{"name":"is-page-static","duration":657635,"timestamp":192571731789,"id":83,"parentId":46,"tags":{},"startTime":1778564057556,"traceId":"acd7eff94ef590ab"},{"name":"check-page","duration":666178,"timestamp":192571723307,"id":46,"parentId":19,"tags":{"page":"/api/hub/tmux"},"startTime":1778564057548,"traceId":"acd7eff94ef590ab"},{"name":"is-page-static","duration":662377,"timestamp":192571731797,"id":84,"parentId":47,"tags":{},"startTime":1778564057556,"traceId":"acd7eff94ef590ab"},{"name":"check-page","duration":670814,"timestamp":192571723418,"id":47,"parentId":19,"tags":{"page":"/api/hub/tokens"},"startTime":1778564057548,"traceId":"acd7eff94ef590ab"},{"name":"is-page-static","duration":666709,"timestamp":192571730696,"id":63,"parentId":25,"tags":{},"startTime":1778564057555,"traceId":"acd7eff94ef590ab"},{"name":"check-page","duration":680752,"timestamp":192571716698,"id":25,"parentId":19,"tags":{"page":"/api/auth/login"},"startTime":1778564057541,"traceId":"acd7eff94ef590ab"},{"name":"is-page-static","duration":666456,"timestamp":192571731809,"id":85,"parentId":48,"tags":{},"startTime":1778564057556,"traceId":"acd7eff94ef590ab"},{"name":"check-page","duration":674801,"timestamp":192571723513,"id":48,"parentId":19,"tags":{"page":"/favicon.ico"},"startTime":1778564057548,"traceId":"acd7eff94ef590ab"},{"name":"is-page-static","duration":668406,"timestamp":192571734878,"id":86,"parentId":24,"tags":{},"startTime":1778564057560,"traceId":"acd7eff94ef590ab"},{"name":"check-page","duration":689262,"timestamp":192571714068,"id":24,"parentId":19,"tags":{"page":"/api/anet/config"},"startTime":1778564057539,"traceId":"acd7eff94ef590ab"},{"name":"is-page-static","duration":667365,"timestamp":192571736073,"id":87,"parentId":31,"tags":{},"startTime":1778564057561,"traceId":"acd7eff94ef590ab"},{"name":"check-page","duration":685408,"timestamp":192571718060,"id":31,"parentId":19,"tags":{"page":"/api/hub/events"},"startTime":1778564057543,"traceId":"acd7eff94ef590ab"},{"name":"is-page-static","duration":679152,"timestamp":192571731620,"id":73,"parentId":36,"tags":{},"startTime":1778564057556,"traceId":"acd7eff94ef590ab"},{"name":"check-page","duration":688695,"timestamp":192571722129,"id":36,"parentId":19,"tags":{"page":"/api/hub/networks"},"startTime":1778564057547,"traceId":"acd7eff94ef590ab"},{"name":"is-page-static","duration":660754,"timestamp":192571756365,"id":90,"parentId":50,"tags":{},"startTime":1778564057581,"traceId":"acd7eff94ef590ab"},{"name":"check-page","duration":693084,"timestamp":192571724083,"id":50,"parentId":19,"tags":{"page":"/logs"},"startTime":1778564057549,"traceId":"acd7eff94ef590ab"},{"name":"is-page-static","duration":666414,"timestamp":192571756379,"id":91,"parentId":51,"tags":{},"startTime":1778564057581,"traceId":"acd7eff94ef590ab"},{"name":"check-page","duration":698614,"timestamp":192571724231,"id":51,"parentId":19,"tags":{"page":"/messages"},"startTime":1778564057549,"traceId":"acd7eff94ef590ab"},{"name":"is-page-static","duration":673029,"timestamp":192571756391,"id":92,"parentId":52,"tags":{},"startTime":1778564057581,"traceId":"acd7eff94ef590ab"},{"name":"check-page","duration":705034,"timestamp":192571724440,"id":52,"parentId":19,"tags":{"page":"/node"},"startTime":1778564057549,"traceId":"acd7eff94ef590ab"},{"name":"is-page-static","duration":678572,"timestamp":192571756400,"id":93,"parentId":53,"tags":{},"startTime":1778564057581,"traceId":"acd7eff94ef590ab"},{"name":"check-page","duration":710402,"timestamp":192571724632,"id":53,"parentId":19,"tags":{"page":"/nodes"},"startTime":1778564057549,"traceId":"acd7eff94ef590ab"},{"name":"is-page-static","duration":684921,"timestamp":192571756412,"id":94,"parentId":55,"tags":{},"startTime":1778564057581,"traceId":"acd7eff94ef590ab"},{"name":"check-page","duration":716015,"timestamp":192571725366,"id":55,"parentId":19,"tags":{"page":"/server-logs"},"startTime":1778564057550,"traceId":"acd7eff94ef590ab"},{"name":"is-page-static","duration":688282,"timestamp":192571756353,"id":89,"parentId":49,"tags":{},"startTime":1778564057581,"traceId":"acd7eff94ef590ab"},{"name":"check-page","duration":720820,"timestamp":192571723912,"id":49,"parentId":19,"tags":{"page":"/login"},"startTime":1778564057549,"traceId":"acd7eff94ef590ab"},{"name":"is-page-static","duration":692209,"timestamp":192571756421,"id":95,"parentId":56,"tags":{},"startTime":1778564057581,"traceId":"acd7eff94ef590ab"},{"name":"check-page","duration":723134,"timestamp":192571725560,"id":56,"parentId":19,"tags":{"page":"/settings/networks"},"startTime":1778564057550,"traceId":"acd7eff94ef590ab"},{"name":"is-page-static","duration":694562,"timestamp":192571756432,"id":96,"parentId":58,"tags":{},"startTime":1778564057581,"traceId":"acd7eff94ef590ab"},{"name":"check-page","duration":724799,"timestamp":192571726255,"id":58,"parentId":19,"tags":{"page":"/settings/tokens"},"startTime":1778564057551,"traceId":"acd7eff94ef590ab"},{"name":"is-page-static","duration":700059,"timestamp":192571756458,"id":98,"parentId":60,"tags":{},"startTime":1778564057581,"traceId":"acd7eff94ef590ab"},{"name":"check-page","duration":729936,"timestamp":192571726625,"id":60,"parentId":19,"tags":{"page":"/tasks"},"startTime":1778564057551,"traceId":"acd7eff94ef590ab"},{"name":"is-page-static","duration":706282,"timestamp":192571756445,"id":97,"parentId":59,"tags":{},"startTime":1778564057581,"traceId":"acd7eff94ef590ab"},{"name":"check-page","duration":736376,"timestamp":192571726440,"id":59,"parentId":19,"tags":{"page":"/tasks/[id]"},"startTime":1778564057551,"traceId":"acd7eff94ef590ab"},{"name":"is-page-static","duration":705483,"timestamp":192571762256,"id":100,"parentId":57,"tags":{},"startTime":1778564057587,"traceId":"acd7eff94ef590ab"},{"name":"check-page","duration":741957,"timestamp":192571725833,"id":57,"parentId":19,"tags":{"page":"/settings"},"startTime":1778564057551,"traceId":"acd7eff94ef590ab"},{"name":"is-page-static","duration":712160,"timestamp":192571756476,"id":99,"parentId":54,"tags":{},"startTime":1778564057581,"traceId":"acd7eff94ef590ab"},{"name":"check-page","duration":743801,"timestamp":192571724879,"id":54,"parentId":19,"tags":{"page":"/"},"startTime":1778564057550,"traceId":"acd7eff94ef590ab"},{"name":"is-page-static","duration":720875,"timestamp":192571756302,"id":88,"parentId":23,"tags":{},"startTime":1778564057581,"traceId":"acd7eff94ef590ab"},{"name":"check-page","duration":763344,"timestamp":192571713885,"id":23,"parentId":19,"tags":{"page":"/admin"},"startTime":1778564057539,"traceId":"acd7eff94ef590ab"},{"name":"static-check","duration":769292,"timestamp":192571707972,"id":19,"parentId":1,"tags":{},"startTime":1778564057533,"traceId":"acd7eff94ef590ab"},{"name":"write-routes-manifest","duration":694,"timestamp":192572484489,"id":102,"parentId":1,"tags":{},"startTime":1778564058309,"traceId":"acd7eff94ef590ab"},{"name":"load-dotenv","duration":47,"timestamp":192572498229,"id":105,"parentId":104,"tags":{},"startTime":1778564058323,"traceId":"acd7eff94ef590ab"},{"name":"run-export-path-map","duration":633,"timestamp":192572501133,"id":106,"parentId":104,"tags":{},"startTime":1778564058326,"traceId":"acd7eff94ef590ab"},{"name":"next-export","duration":570804,"timestamp":192572496992,"id":104,"parentId":1,"tags":{},"startTime":1778564058322,"traceId":"acd7eff94ef590ab"},{"name":"move-exported-app-not-found-","duration":787,"timestamp":192573071396,"id":107,"parentId":103,"tags":{},"startTime":1778564058896,"traceId":"acd7eff94ef590ab"},{"name":"move-exported-app-global-error-","duration":480,"timestamp":192573072304,"id":108,"parentId":103,"tags":{},"startTime":1778564058897,"traceId":"acd7eff94ef590ab"}]
|
|
2
|
+
[{"name":"static-generation","duration":586773,"timestamp":192572490314,"id":103,"parentId":1,"tags":{},"startTime":1778564058315,"traceId":"acd7eff94ef590ab"},{"name":"write-routes-manifest","duration":426,"timestamp":192573077271,"id":109,"parentId":1,"tags":{},"startTime":1778564058902,"traceId":"acd7eff94ef590ab"},{"name":"print-tree-view","duration":3867,"timestamp":192573088908,"id":110,"parentId":1,"tags":{},"startTime":1778564058914,"traceId":"acd7eff94ef590ab"},{"name":"write-route-bundle-stats","duration":13717,"timestamp":192573092815,"id":111,"parentId":1,"tags":{},"startTime":1778564058918,"traceId":"acd7eff94ef590ab"},{"name":"telemetry-flush","duration":25968,"timestamp":192573106579,"id":112,"parentId":1,"tags":{},"startTime":1778564058931,"traceId":"acd7eff94ef590ab"},{"name":"next-build","duration":16895374,"timestamp":192556237212,"id":1,"tags":{"buildMode":"default","version":"16.2.3","bundler":"turbopack","has-custom-webpack-config":"false","use-build-worker":"true"},"startTime":1778564042062,"traceId":"acd7eff94ef590ab"}]
|
package/.next/trace-build
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
[{"name":"run-turbopack","duration":
|
|
1
|
+
[{"name":"run-turbopack","duration":7541254,"timestamp":192556436330,"id":14,"parentId":1,"tags":{},"startTime":1778564042261,"traceId":"acd7eff94ef590ab"},{"name":"turbopack-build-events","duration":78,"timestamp":192556722325,"id":15,"parentId":1,"tags":{},"startTime":1778564042547,"traceId":"acd7eff94ef590ab"},{"name":"run-typescript","duration":7653932,"timestamp":192563984253,"id":16,"parentId":1,"tags":{},"startTime":1778564049809,"traceId":"acd7eff94ef590ab"},{"name":"static-check","duration":769292,"timestamp":192571707972,"id":19,"parentId":1,"tags":{},"startTime":1778564057533,"traceId":"acd7eff94ef590ab"},{"name":"static-generation","duration":586773,"timestamp":192572490314,"id":103,"parentId":1,"tags":{},"startTime":1778564058315,"traceId":"acd7eff94ef590ab"},{"name":"telemetry-flush","duration":25968,"timestamp":192573106579,"id":112,"parentId":1,"tags":{},"startTime":1778564058931,"traceId":"acd7eff94ef590ab"},{"name":"next-build","duration":16895374,"timestamp":192556237212,"id":1,"tags":{"buildMode":"default","version":"16.2.3","bundler":"turbopack","has-custom-webpack-config":"false","use-build-worker":"true"},"startTime":1778564042062,"traceId":"acd7eff94ef590ab"}]
|
|
@@ -4,6 +4,7 @@ import { useEffect, useState, useCallback } from 'react';
|
|
|
4
4
|
import Link from 'next/link';
|
|
5
5
|
import { timeAgo } from '../../components/utils';
|
|
6
6
|
import { EmptyState } from '../../components/EmptyState';
|
|
7
|
+
import { AliasAvatar } from '../../components/AliasAvatar';
|
|
7
8
|
import useSWR from 'swr';
|
|
8
9
|
|
|
9
10
|
const fetcher = (url: string) => fetch(url).then(r => r.json());
|
|
@@ -123,7 +124,12 @@ export default function NetworksPage() {
|
|
|
123
124
|
|
|
124
125
|
{/* List */}
|
|
125
126
|
<section className="bg-[#111128] border border-[#2a2a4a] rounded-xl p-5">
|
|
126
|
-
<
|
|
127
|
+
<div className="flex items-center justify-between mb-3">
|
|
128
|
+
<h2 className="text-sm font-semibold text-gray-300">My Networks</h2>
|
|
129
|
+
{networks.length > 0 && (
|
|
130
|
+
<span className="text-[10px] text-gray-600 uppercase tracking-wide">{networks.length} total</span>
|
|
131
|
+
)}
|
|
132
|
+
</div>
|
|
127
133
|
{loading ? (
|
|
128
134
|
<div className="animate-pulse space-y-2">{[1,2].map(i => <div key={i} className="h-14 bg-gray-800/20 rounded" />)}</div>
|
|
129
135
|
) : networks.length === 0 ? (
|
|
@@ -136,11 +142,14 @@ export default function NetworksPage() {
|
|
|
136
142
|
<div className="space-y-3">
|
|
137
143
|
{networks.map(n => (
|
|
138
144
|
<div key={n.network_id} className="bg-[#0a0a15] rounded-lg px-4 py-3 border border-[#1a1a2a]">
|
|
139
|
-
<div className="flex items-
|
|
140
|
-
<div className="min-w-0">
|
|
141
|
-
<
|
|
142
|
-
<div className="
|
|
143
|
-
|
|
145
|
+
<div className="flex items-start justify-between gap-3">
|
|
146
|
+
<div className="flex items-start gap-3 min-w-0">
|
|
147
|
+
<AliasAvatar alias={n.network_name} size={28} />
|
|
148
|
+
<div className="min-w-0">
|
|
149
|
+
<div className="text-sm text-white font-medium truncate">{n.network_name}</div>
|
|
150
|
+
<div className="text-[10px] text-gray-500 font-mono truncate" title={n.network_id}>{n.network_id} · {timeAgo(n.created_at)}</div>
|
|
151
|
+
{n.description && <div className="text-xs text-gray-400 mt-1">{n.description}</div>}
|
|
152
|
+
</div>
|
|
144
153
|
</div>
|
|
145
154
|
<div className="flex gap-2 shrink-0">
|
|
146
155
|
<button onClick={() => {
|
|
@@ -169,14 +178,20 @@ export default function NetworksPage() {
|
|
|
169
178
|
{(members[n.network_id] || []).length === 0 ? (
|
|
170
179
|
<div className="text-[10px] text-gray-600">No members or V3 auth required</div>
|
|
171
180
|
) : (
|
|
172
|
-
(members[n.network_id] || []).map(m =>
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
181
|
+
(members[n.network_id] || []).map(m => {
|
|
182
|
+
const name = m.username || m.display_name || '?';
|
|
183
|
+
return (
|
|
184
|
+
<div key={m.user_id} className="flex items-center gap-2 justify-between text-xs py-1">
|
|
185
|
+
<div className="flex items-center gap-2 min-w-0">
|
|
186
|
+
<AliasAvatar alias={name} size={16} />
|
|
187
|
+
<span className="text-gray-300 truncate">{name}</span>
|
|
188
|
+
</div>
|
|
189
|
+
<span className={`px-1.5 py-0.5 rounded border text-[10px] shrink-0 ${
|
|
176
190
|
m.role === 'owner' ? 'text-yellow-300 border-yellow-500/20' : 'text-gray-400 border-gray-600/20'
|
|
177
191
|
}`}>{m.role}</span>
|
|
178
192
|
</div>
|
|
179
|
-
|
|
193
|
+
);
|
|
194
|
+
})
|
|
180
195
|
)}
|
|
181
196
|
|
|
182
197
|
{/* Invite */}
|
|
@@ -196,8 +211,17 @@ export default function NetworksPage() {
|
|
|
196
211
|
</div>
|
|
197
212
|
{inviteCode && (
|
|
198
213
|
<div className="mt-2 bg-green-500/5 border border-green-500/20 rounded px-3 py-2">
|
|
199
|
-
<div className="
|
|
200
|
-
|
|
214
|
+
<div className="flex items-center justify-between mb-1">
|
|
215
|
+
<div className="text-[10px] text-green-400 uppercase tracking-wide">Invite code</div>
|
|
216
|
+
<button
|
|
217
|
+
type="button"
|
|
218
|
+
onClick={() => { navigator.clipboard?.writeText(inviteCode).catch(() => {}); }}
|
|
219
|
+
className="text-[10px] text-green-300 hover:text-green-200 px-1.5 py-0.5 rounded border border-green-500/20 hover:bg-green-500/10"
|
|
220
|
+
>
|
|
221
|
+
Copy
|
|
222
|
+
</button>
|
|
223
|
+
</div>
|
|
224
|
+
<code className="text-xs text-green-300 select-all break-all">{inviteCode}</code>
|
|
201
225
|
</div>
|
|
202
226
|
)}
|
|
203
227
|
</div>
|
package/package.json
CHANGED
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
module.exports=[43515,a=>{"use strict";a.s(["formatUptime",0,function(a){let b=Math.floor(a/3600),c=Math.floor(a%3600/60);return b>0?`${b}h ${c}m`:`${c}m`},"timeAgo",0,function(a){if(!a)return"--";let b=Math.floor((Date.now()-new Date(a.replace(" ","T")+"Z").getTime())/1e3);return b<60?`${b}s ago`:b<3600?`${Math.floor(b/60)}m ago`:b<86400?`${Math.floor(b/3600)}h ago`:`${Math.floor(b/86400)}d ago`}])},53142,a=>{"use strict";var b=a.i(87924),c=a.i(38246);let d={nodes:{title:"No agents in this network",sub:"Agent sessions will appear here once they connect to the CommHub."},tasks:{title:"No tasks yet",sub:"Tasks will appear here when agents send them via CommHub."},messages:{title:"No messages",sub:"Messages between agents will appear here."},logs:{title:"No audit logs",sub:"Events will appear here when users register, login, or perform actions."},tokens:{title:"No API tokens",sub:"Create one to authenticate CLI tools and external integrations."},networks:{title:"No networks found",sub:"Create one or sign in with V3 auth to see your networks."},generic:{title:"Nothing here yet",sub:"Data will appear here once available."}};function e({variant:a,size:c}){let d={width:c,height:c},f={fill:"none",stroke:"currentColor",strokeWidth:1.25,strokeLinecap:"round",strokeLinejoin:"round"};switch(a){case"nodes":return(0,b.jsx)("svg",{viewBox:"0 0 64 64",...d,children:(0,b.jsxs)("g",{...f,children:[(0,b.jsx)("circle",{cx:"32",cy:"14",r:"4"}),(0,b.jsx)("circle",{cx:"14",cy:"44",r:"4"}),(0,b.jsx)("circle",{cx:"50",cy:"44",r:"4"}),(0,b.jsx)("line",{x1:"32",y1:"18",x2:"14",y2:"40",strokeDasharray:"3 3",opacity:"0.6"}),(0,b.jsx)("line",{x1:"32",y1:"18",x2:"50",y2:"40",strokeDasharray:"3 3",opacity:"0.6"}),(0,b.jsx)("line",{x1:"18",y1:"44",x2:"46",y2:"44",strokeDasharray:"3 3",opacity:"0.6"})]})});case"tasks":return(0,b.jsx)("svg",{viewBox:"0 0 64 64",...d,children:(0,b.jsxs)("g",{...f,children:[(0,b.jsx)("rect",{x:"14",y:"14",width:"36",height:"6",rx:"1.5"}),(0,b.jsx)("rect",{x:"14",y:"26",width:"36",height:"6",rx:"1.5",opacity:"0.6"}),(0,b.jsx)("rect",{x:"14",y:"38",width:"36",height:"6",rx:"1.5",opacity:"0.35"})]})});case"messages":return(0,b.jsx)("svg",{viewBox:"0 0 64 64",...d,children:(0,b.jsxs)("g",{...f,children:[(0,b.jsx)("path",{d:"M14 18 h36 a3 3 0 0 1 3 3 v18 a3 3 0 0 1 -3 3 h-18 l-8 6 v-6 h-10 a3 3 0 0 1 -3 -3 v-18 a3 3 0 0 1 3 -3 z"}),(0,b.jsx)("line",{x1:"22",y1:"28",x2:"42",y2:"28",opacity:"0.5"}),(0,b.jsx)("line",{x1:"22",y1:"34",x2:"36",y2:"34",opacity:"0.5"})]})});case"logs":return(0,b.jsx)("svg",{viewBox:"0 0 64 64",...d,children:(0,b.jsxs)("g",{...f,children:[(0,b.jsx)("path",{d:"M18 12 h22 l8 8 v32 a2 2 0 0 1 -2 2 h-28 a2 2 0 0 1 -2 -2 v-38 a2 2 0 0 1 2 -2 z"}),(0,b.jsx)("path",{d:"M40 12 v8 h8",opacity:"0.6"}),(0,b.jsx)("line",{x1:"24",y1:"32",x2:"40",y2:"32",opacity:"0.55"}),(0,b.jsx)("line",{x1:"24",y1:"38",x2:"40",y2:"38",opacity:"0.4"}),(0,b.jsx)("line",{x1:"24",y1:"44",x2:"34",y2:"44",opacity:"0.25"})]})});case"tokens":return(0,b.jsx)("svg",{viewBox:"0 0 64 64",...d,children:(0,b.jsxs)("g",{...f,children:[(0,b.jsx)("circle",{cx:"22",cy:"32",r:"8"}),(0,b.jsx)("line",{x1:"30",y1:"32",x2:"54",y2:"32"}),(0,b.jsx)("line",{x1:"44",y1:"32",x2:"44",y2:"38"}),(0,b.jsx)("line",{x1:"50",y1:"32",x2:"50",y2:"40"})]})});case"networks":return(0,b.jsx)("svg",{viewBox:"0 0 64 64",...d,children:(0,b.jsxs)("g",{...f,children:[(0,b.jsx)("circle",{cx:"32",cy:"32",r:"18"}),(0,b.jsx)("ellipse",{cx:"32",cy:"32",rx:"18",ry:"9",opacity:"0.55"}),(0,b.jsx)("line",{x1:"14",y1:"32",x2:"50",y2:"32",opacity:"0.55"}),(0,b.jsx)("line",{x1:"32",y1:"14",x2:"32",y2:"50",opacity:"0.55"})]})});default:return(0,b.jsx)("svg",{viewBox:"0 0 64 64",...d,children:(0,b.jsxs)("g",{...f,children:[(0,b.jsx)("circle",{cx:"32",cy:"32",r:"14",strokeDasharray:"3 3",opacity:"0.6"}),(0,b.jsx)("circle",{cx:"32",cy:"32",r:"3"})]})})}}function f({variant:a="generic",title:g,sub:h,cta:i,compact:j=!1}){let k=d[a],l=g??k.title,m=h??k.sub;return(0,b.jsxs)("div",{className:`text-center ${j?"py-8":"py-16"} px-4`,role:"status",children:[(0,b.jsx)("div",{className:"anet-empty-glyph inline-flex items-center justify-center mb-4 text-gray-500","aria-hidden":!0,children:(0,b.jsx)(e,{variant:a,size:j?40:56})}),(0,b.jsx)("h3",{className:`font-medium text-gray-300 ${j?"text-sm":"text-base"}`,children:l}),m&&(0,b.jsx)("p",{className:`text-gray-500 ${j?"text-xs mt-1.5":"text-sm mt-2"} max-w-md mx-auto leading-relaxed`,children:m}),i&&(0,b.jsx)("div",{className:"mt-4",children:i.href?(0,b.jsxs)(c.default,{href:i.href,className:"inline-flex items-center gap-1.5 text-sm font-medium text-cyan-400 hover:text-cyan-300",children:[i.label,(0,b.jsx)("span",{"aria-hidden":!0,children:"→"})]}):(0,b.jsxs)("button",{onClick:i.onClick,className:"inline-flex items-center gap-1.5 text-sm font-medium text-cyan-400 hover:text-cyan-300",children:[i.label,(0,b.jsx)("span",{"aria-hidden":!0,children:"→"})]})})]})}a.s(["EmptyState",0,f,"NodesEmptyState",0,function({hint:a}){return a?.global_count?(0,b.jsx)(f,{variant:"nodes",title:"No agents in this network",sub:`Server has ${a.global_count} nodes globally, but none are registered to the current network. Switch network or contact admin.`}):(0,b.jsx)(f,{variant:"nodes",cta:{label:"Run anet quickstart",href:"https://anet.sh"}})}])},51904,a=>{"use strict";var b=a.i(87924),c=a.i(72131),d=a.i(38246),e=a.i(43515),f=a.i(53142),g=a.i(72596);let h=a=>fetch(a).then(a=>a.json());a.s(["default",0,function(){let{data:a,mutate:i}=(0,g.default)("/api/hub/networks",h,{refreshInterval:1e4}),j=a?.networks||[],k=!a,[l,m]=(0,c.useState)(""),[n,o]=(0,c.useState)(""),[p,q]=(0,c.useState)(""),[r,s]=(0,c.useState)(null),[t,u]=(0,c.useState)(null),[v,w]=(0,c.useState)({}),[x,y]=(0,c.useState)("member"),[z,A]=(0,c.useState)(""),B=()=>{try{let a=sessionStorage.getItem("anet_v3_auth");if(a)return JSON.parse(a).token}catch{}return""},C=async()=>{if(!l.trim())return;let a=B();if(!a)return void q("V3 auth required — sign in via Agent Network login");let b=await fetch("/api/hub/auth",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"create_network",token:a,name:l,description:n})}),c=await b.json();q(c.ok?`Created: ${c.network_id}`:`Failed: ${c.error}`),c.ok&&(m(""),o(""),i()),setTimeout(()=>q(""),5e3)},D=async a=>{let b=B();if(!b)return;let c=await fetch("/api/hub/auth",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"delete_network",token:b,network_id:a})}),d=await c.json();q(d.ok?"Deleted":`Failed: ${d.error}`),s(null),d.ok&&i(),setTimeout(()=>q(""),5e3)},E=async a=>{let b=B();if(!b)return;let c=await fetch(`/api/hub/auth?endpoint=/api/networks/${a}/members&token=${b}`),d=await c.json();w(b=>({...b,[a]:d.members||[]}))},F=async a=>{let b=B();if(!b)return;let c=await fetch("/api/hub/auth",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"invite_member",token:b,network_id:a,role:x})}),d=await c.json();d.ok&&d.invite_code?A(d.invite_code):q(`Invite failed: ${d.error}`)};return(0,b.jsxs)("div",{className:"min-h-screen bg-[#0a0a1a] text-gray-100 p-4 sm:p-6 font-mono",children:[(0,b.jsxs)("div",{className:"flex items-center gap-4 mb-6",children:[(0,b.jsx)(d.default,{href:"/settings",className:"text-gray-500 hover:text-gray-300 text-sm lg:ml-0 ml-10",children:"← Settings"}),(0,b.jsx)("h1",{className:"text-2xl font-bold text-white",children:"Networks"}),(0,b.jsx)("span",{className:"text-xs bg-blue-900/30 text-blue-400 px-2 py-0.5 rounded-full border border-blue-800/30",children:j.length})]}),(0,b.jsxs)("div",{className:"max-w-2xl space-y-6",children:[(0,b.jsxs)("section",{className:"bg-[#111128] border border-[#2a2a4a] rounded-xl p-5",children:[(0,b.jsx)("h2",{className:"text-sm font-semibold text-gray-300 mb-3",children:"Create Network"}),(0,b.jsxs)("div",{className:"space-y-3",children:[(0,b.jsx)("input",{type:"text",value:l,onChange:a=>m(a.target.value),placeholder:"Network name",className:"w-full bg-[#0a0a15] border border-[#2a2a4a] rounded-lg px-3 py-2 text-sm text-white placeholder-gray-600 focus:border-cyan-500/50 focus:outline-none"}),(0,b.jsx)("input",{type:"text",value:n,onChange:a=>o(a.target.value),placeholder:"Description (optional)",className:"w-full bg-[#0a0a15] border border-[#2a2a4a] rounded-lg px-3 py-2 text-sm text-white placeholder-gray-600 focus:border-cyan-500/50 focus:outline-none"}),(0,b.jsx)("button",{onClick:C,disabled:!l.trim(),className:"px-4 py-2 bg-green-600 hover:bg-green-500 disabled:bg-gray-800 text-white text-sm rounded-lg transition-colors",children:"Create"})]}),p&&(0,b.jsx)("div",{className:`mt-2 text-xs ${p.startsWith("Failed")||p.startsWith("V3")||p.startsWith("Invite")?"text-red-400":"text-green-400"}`,children:p})]}),(0,b.jsxs)("section",{className:"bg-[#111128] border border-[#2a2a4a] rounded-xl p-5",children:[(0,b.jsx)("h2",{className:"text-sm font-semibold text-gray-300 mb-3",children:"My Networks"}),k?(0,b.jsx)("div",{className:"animate-pulse space-y-2",children:[1,2].map(a=>(0,b.jsx)("div",{className:"h-14 bg-gray-800/20 rounded"},a))}):0===j.length?(0,b.jsx)(f.EmptyState,{variant:"networks",compact:!0,sub:"Create your first network above, or sign in with V3 auth to see existing ones."}):(0,b.jsx)("div",{className:"space-y-3",children:j.map(a=>(0,b.jsxs)("div",{className:"bg-[#0a0a15] rounded-lg px-4 py-3 border border-[#1a1a2a]",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between",children:[(0,b.jsxs)("div",{className:"min-w-0",children:[(0,b.jsx)("div",{className:"text-sm text-white font-medium",children:a.network_name}),(0,b.jsxs)("div",{className:"text-[10px] text-gray-500",children:[a.network_id," · ",(0,e.timeAgo)(a.created_at)]}),a.description&&(0,b.jsx)("div",{className:"text-xs text-gray-400 mt-1",children:a.description})]}),(0,b.jsxs)("div",{className:"flex gap-2 shrink-0",children:[(0,b.jsx)("button",{onClick:()=>{t===a.network_id?u(null):(u(a.network_id),E(a.network_id))},className:"text-xs text-cyan-400 hover:text-cyan-300 px-2 py-1 rounded border border-cyan-800/30 hover:bg-cyan-500/10",children:t===a.network_id?"Hide":"Members"}),r===a.network_id?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("button",{onClick:()=>D(a.network_id),className:"text-xs text-red-400 px-2 py-1 rounded border border-red-800/30 bg-red-500/10",children:"Confirm"}),(0,b.jsx)("button",{onClick:()=>s(null),className:"text-xs text-gray-500",children:"Cancel"})]}):(0,b.jsx)("button",{onClick:()=>s(a.network_id),className:"text-xs text-red-400 hover:text-red-300 px-2 py-1 rounded border border-red-800/30 hover:bg-red-500/10",children:"Delete"})]})]}),t===a.network_id&&(0,b.jsxs)("div",{className:"mt-3 pt-3 border-t border-[#1a1a2a]",children:[(0,b.jsxs)("div",{className:"text-xs text-gray-500 mb-2",children:["Members (",(v[a.network_id]||[]).length,")"]}),0===(v[a.network_id]||[]).length?(0,b.jsx)("div",{className:"text-[10px] text-gray-600",children:"No members or V3 auth required"}):(v[a.network_id]||[]).map(a=>(0,b.jsxs)("div",{className:"flex items-center justify-between text-xs py-1",children:[(0,b.jsx)("span",{className:"text-gray-300",children:a.username||a.display_name}),(0,b.jsx)("span",{className:`px-1.5 py-0.5 rounded border text-[10px] ${"owner"===a.role?"text-yellow-300 border-yellow-500/20":"text-gray-400 border-gray-600/20"}`,children:a.role})]},a.user_id)),(0,b.jsxs)("div",{className:"mt-3 pt-3 border-t border-[#1a1a2a]",children:[(0,b.jsx)("div",{className:"text-xs text-gray-500 mb-2",children:"Invite"}),(0,b.jsxs)("div",{className:"flex gap-2",children:[(0,b.jsxs)("select",{value:x,onChange:a=>y(a.target.value),className:"bg-[#0a0a15] border border-[#2a2a4a] rounded px-2 py-1 text-xs text-white focus:outline-none",children:[(0,b.jsx)("option",{value:"member",children:"member"}),(0,b.jsx)("option",{value:"admin",children:"admin"}),(0,b.jsx)("option",{value:"viewer",children:"viewer"})]}),(0,b.jsx)("button",{onClick:()=>F(a.network_id),className:"px-2 py-1 bg-green-600 hover:bg-green-500 text-white text-xs rounded",children:"Generate Code"})]}),z&&(0,b.jsxs)("div",{className:"mt-2 bg-green-500/5 border border-green-500/20 rounded px-3 py-2",children:[(0,b.jsx)("div",{className:"text-[10px] text-green-400 mb-1",children:"Invite code:"}),(0,b.jsx)("code",{className:"text-xs text-green-300 select-all",children:z})]})]})]})]},a.network_id))})]})]})]})}])}];
|
|
2
|
-
|
|
3
|
-
//# sourceMappingURL=app_0.0wpa~._.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../app/components/utils.ts","../../../../app/components/EmptyState.tsx","../../../../app/settings/networks/page.tsx"],"sourcesContent":["export function timeAgo(dateStr: string): string {\n if (!dateStr) return '--';\n const diff = Date.now() - new Date(dateStr.replace(' ', 'T') + 'Z').getTime();\n const s = Math.floor(diff / 1000);\n if (s < 60) return `${s}s ago`;\n if (s < 3600) return `${Math.floor(s / 60)}m ago`;\n if (s < 86400) return `${Math.floor(s / 3600)}h ago`;\n return `${Math.floor(s / 86400)}d ago`;\n}\n\nexport function statusColor(status: string, hasSse: boolean): string {\n if (hasSse && status === 'working') return 'bg-green-500';\n if (hasSse && status === 'idle') return 'bg-emerald-400';\n if (hasSse) return 'bg-blue-400';\n if (status === 'offline') return 'bg-gray-500';\n return 'bg-yellow-400';\n}\n\nexport function formatUptime(seconds: number): string {\n const h = Math.floor(seconds / 3600);\n const m = Math.floor((seconds % 3600) / 60);\n if (h > 0) return `${h}h ${m}m`;\n return `${m}m`;\n}\n","'use client';\n\nimport Link from 'next/link';\n\nexport type EmptyVariant = 'nodes' | 'tasks' | 'messages' | 'logs' | 'tokens' | 'networks' | 'generic';\n\ninterface EmptyStateProps {\n /** Picks the icon glyph and default copy if title/sub omitted. */\n variant?: EmptyVariant;\n /** Optional override headline. */\n title?: string;\n /** Optional override sub-copy. */\n sub?: string;\n /** Optional CTA: text + href (internal) or onClick. */\n cta?: { label: string; href?: string; onClick?: () => void };\n /** Compact mode for in-card empty states (smaller padding). */\n compact?: boolean;\n}\n\nconst DEFAULTS: Record<EmptyVariant, { title: string; sub: string }> = {\n nodes: { title: 'No agents in this network', sub: 'Agent sessions will appear here once they connect to the CommHub.' },\n tasks: { title: 'No tasks yet', sub: 'Tasks will appear here when agents send them via CommHub.' },\n messages: { title: 'No messages', sub: 'Messages between agents will appear here.' },\n logs: { title: 'No audit logs', sub: 'Events will appear here when users register, login, or perform actions.' },\n tokens: { title: 'No API tokens', sub: 'Create one to authenticate CLI tools and external integrations.' },\n networks: { title: 'No networks found', sub: 'Create one or sign in with V3 auth to see your networks.' },\n generic: { title: 'Nothing here yet', sub: 'Data will appear here once available.' },\n};\n\n/**\n * Minimal monochrome SVG glyphs per variant. No filled shapes, no gradients,\n * no AI-decoration — just thin-stroke line art that fades into the page.\n * 64×64 viewBox; rendered at 56×56 (compact 40×40).\n */\nfunction Glyph({ variant, size }: { variant: EmptyVariant; size: number }) {\n const s = { width: size, height: size };\n const baseProps = {\n fill: 'none',\n stroke: 'currentColor',\n strokeWidth: 1.25,\n strokeLinecap: 'round' as const,\n strokeLinejoin: 'round' as const,\n };\n\n switch (variant) {\n case 'nodes':\n // Mesh with dashed edges = \"nodes will land here\"\n return (\n <svg viewBox=\"0 0 64 64\" {...s}>\n <g {...baseProps}>\n <circle cx=\"32\" cy=\"14\" r=\"4\" />\n <circle cx=\"14\" cy=\"44\" r=\"4\" />\n <circle cx=\"50\" cy=\"44\" r=\"4\" />\n <line x1=\"32\" y1=\"18\" x2=\"14\" y2=\"40\" strokeDasharray=\"3 3\" opacity=\"0.6\" />\n <line x1=\"32\" y1=\"18\" x2=\"50\" y2=\"40\" strokeDasharray=\"3 3\" opacity=\"0.6\" />\n <line x1=\"18\" y1=\"44\" x2=\"46\" y2=\"44\" strokeDasharray=\"3 3\" opacity=\"0.6\" />\n </g>\n </svg>\n );\n case 'tasks':\n // Empty checkbox list\n return (\n <svg viewBox=\"0 0 64 64\" {...s}>\n <g {...baseProps}>\n <rect x=\"14\" y=\"14\" width=\"36\" height=\"6\" rx=\"1.5\" />\n <rect x=\"14\" y=\"26\" width=\"36\" height=\"6\" rx=\"1.5\" opacity=\"0.6\" />\n <rect x=\"14\" y=\"38\" width=\"36\" height=\"6\" rx=\"1.5\" opacity=\"0.35\" />\n </g>\n </svg>\n );\n case 'messages':\n // Speech bubble outline\n return (\n <svg viewBox=\"0 0 64 64\" {...s}>\n <g {...baseProps}>\n <path d=\"M14 18 h36 a3 3 0 0 1 3 3 v18 a3 3 0 0 1 -3 3 h-18 l-8 6 v-6 h-10 a3 3 0 0 1 -3 -3 v-18 a3 3 0 0 1 3 -3 z\" />\n <line x1=\"22\" y1=\"28\" x2=\"42\" y2=\"28\" opacity=\"0.5\" />\n <line x1=\"22\" y1=\"34\" x2=\"36\" y2=\"34\" opacity=\"0.5\" />\n </g>\n </svg>\n );\n case 'logs':\n // Document with lines\n return (\n <svg viewBox=\"0 0 64 64\" {...s}>\n <g {...baseProps}>\n <path d=\"M18 12 h22 l8 8 v32 a2 2 0 0 1 -2 2 h-28 a2 2 0 0 1 -2 -2 v-38 a2 2 0 0 1 2 -2 z\" />\n <path d=\"M40 12 v8 h8\" opacity=\"0.6\" />\n <line x1=\"24\" y1=\"32\" x2=\"40\" y2=\"32\" opacity=\"0.55\" />\n <line x1=\"24\" y1=\"38\" x2=\"40\" y2=\"38\" opacity=\"0.4\" />\n <line x1=\"24\" y1=\"44\" x2=\"34\" y2=\"44\" opacity=\"0.25\" />\n </g>\n </svg>\n );\n case 'tokens':\n // Key outline\n return (\n <svg viewBox=\"0 0 64 64\" {...s}>\n <g {...baseProps}>\n <circle cx=\"22\" cy=\"32\" r=\"8\" />\n <line x1=\"30\" y1=\"32\" x2=\"54\" y2=\"32\" />\n <line x1=\"44\" y1=\"32\" x2=\"44\" y2=\"38\" />\n <line x1=\"50\" y1=\"32\" x2=\"50\" y2=\"40\" />\n </g>\n </svg>\n );\n case 'networks':\n // Globe-ish concentric ovals\n return (\n <svg viewBox=\"0 0 64 64\" {...s}>\n <g {...baseProps}>\n <circle cx=\"32\" cy=\"32\" r=\"18\" />\n <ellipse cx=\"32\" cy=\"32\" rx=\"18\" ry=\"9\" opacity=\"0.55\" />\n <line x1=\"14\" y1=\"32\" x2=\"50\" y2=\"32\" opacity=\"0.55\" />\n <line x1=\"32\" y1=\"14\" x2=\"32\" y2=\"50\" opacity=\"0.55\" />\n </g>\n </svg>\n );\n case 'generic':\n default:\n // Soft sparkle outline\n return (\n <svg viewBox=\"0 0 64 64\" {...s}>\n <g {...baseProps}>\n <circle cx=\"32\" cy=\"32\" r=\"14\" strokeDasharray=\"3 3\" opacity=\"0.6\" />\n <circle cx=\"32\" cy=\"32\" r=\"3\" />\n </g>\n </svg>\n );\n }\n}\n\nexport function EmptyState({ variant = 'generic', title, sub, cta, compact = false }: EmptyStateProps) {\n const d = DEFAULTS[variant];\n const headline = title ?? d.title;\n const subcopy = sub ?? d.sub;\n const iconSize = compact ? 40 : 56;\n\n return (\n <div className={`text-center ${compact ? 'py-8' : 'py-16'} px-4`} role=\"status\">\n <div className=\"anet-empty-glyph inline-flex items-center justify-center mb-4 text-gray-500\" aria-hidden>\n <Glyph variant={variant} size={iconSize} />\n </div>\n <h3 className={`font-medium text-gray-300 ${compact ? 'text-sm' : 'text-base'}`}>{headline}</h3>\n {subcopy && (\n <p className={`text-gray-500 ${compact ? 'text-xs mt-1.5' : 'text-sm mt-2'} max-w-md mx-auto leading-relaxed`}>\n {subcopy}\n </p>\n )}\n {cta && (\n <div className=\"mt-4\">\n {cta.href ? (\n <Link href={cta.href} className=\"inline-flex items-center gap-1.5 text-sm font-medium text-cyan-400 hover:text-cyan-300\">\n {cta.label}\n <span aria-hidden>→</span>\n </Link>\n ) : (\n <button onClick={cta.onClick} className=\"inline-flex items-center gap-1.5 text-sm font-medium text-cyan-400 hover:text-cyan-300\">\n {cta.label}\n <span aria-hidden>→</span>\n </button>\n )}\n </div>\n )}\n </div>\n );\n}\n\n/**\n * Overview-specific variant with a hint about cross-network global count.\n * Kept here so /app/page.tsx can drop in without ceremony.\n */\nexport function NodesEmptyState({ hint }: { hint?: { global_count?: number; filtered_network?: string } }) {\n if (hint?.global_count) {\n return (\n <EmptyState\n variant=\"nodes\"\n title=\"No agents in this network\"\n sub={`Server has ${hint.global_count} nodes globally, but none are registered to the current network. Switch network or contact admin.`}\n />\n );\n }\n return (\n <EmptyState\n variant=\"nodes\"\n cta={{ label: 'Run anet quickstart', href: 'https://anet.sh' }}\n />\n );\n}\n","'use client';\n\nimport { useEffect, useState, useCallback } from 'react';\nimport Link from 'next/link';\nimport { timeAgo } from '../../components/utils';\nimport { EmptyState } from '../../components/EmptyState';\nimport useSWR from 'swr';\n\nconst fetcher = (url: string) => fetch(url).then(r => r.json());\n\ninterface Network {\n network_id: string;\n network_name: string;\n owner_id: string;\n description: string;\n created_at: string;\n}\n\ninterface Member {\n user_id: string;\n username: string;\n display_name: string;\n role: string;\n joined_at: string;\n}\n\nexport default function NetworksPage() {\n const { data, mutate } = useSWR('/api/hub/networks', fetcher, { refreshInterval: 10000 });\n const networks: Network[] = data?.networks || [];\n const loading = !data;\n\n const [newName, setNewName] = useState('');\n const [newDesc, setNewDesc] = useState('');\n const [result, setResult] = useState('');\n const [confirmDelete, setConfirmDelete] = useState<string | null>(null);\n const [expandedNetwork, setExpandedNetwork] = useState<string | null>(null);\n const [members, setMembers] = useState<Record<string, Member[]>>({});\n const [inviteRole, setInviteRole] = useState('member');\n const [inviteCode, setInviteCode] = useState('');\n\n const getToken = () => {\n try {\n const saved = sessionStorage.getItem('anet_v3_auth');\n if (saved) return JSON.parse(saved).token;\n } catch {}\n return '';\n };\n\n const createNetwork = async () => {\n if (!newName.trim()) return;\n const token = getToken();\n if (!token) { setResult('V3 auth required — sign in via Agent Network login'); return; }\n const res = await fetch('/api/hub/auth', {\n method: 'POST', headers: { 'Content-Type': 'application/json' },\n body: JSON.stringify({ action: 'create_network', token, name: newName, description: newDesc }),\n });\n const d = await res.json();\n setResult(d.ok ? `Created: ${d.network_id}` : `Failed: ${d.error}`);\n if (d.ok) { setNewName(''); setNewDesc(''); mutate(); }\n setTimeout(() => setResult(''), 5000);\n };\n\n const deleteNetwork = async (networkId: string) => {\n const token = getToken();\n if (!token) return;\n const res = await fetch('/api/hub/auth', {\n method: 'POST', headers: { 'Content-Type': 'application/json' },\n body: JSON.stringify({ action: 'delete_network', token, network_id: networkId }),\n });\n const d = await res.json();\n setResult(d.ok ? 'Deleted' : `Failed: ${d.error}`);\n setConfirmDelete(null);\n if (d.ok) mutate();\n setTimeout(() => setResult(''), 5000);\n };\n\n const fetchMembers = async (networkId: string) => {\n const token = getToken();\n if (!token) return;\n const res = await fetch(`/api/hub/auth?endpoint=/api/networks/${networkId}/members&token=${token}`);\n const d = await res.json();\n setMembers(prev => ({ ...prev, [networkId]: d.members || [] }));\n };\n\n const generateInvite = async (networkId: string) => {\n const token = getToken();\n if (!token) return;\n const res = await fetch('/api/hub/auth', {\n method: 'POST', headers: { 'Content-Type': 'application/json' },\n body: JSON.stringify({ action: 'invite_member', token, network_id: networkId, role: inviteRole }),\n });\n const d = await res.json();\n if (d.ok && d.invite_code) setInviteCode(d.invite_code);\n else setResult(`Invite failed: ${d.error}`);\n };\n\n return (\n <div className=\"min-h-screen bg-[#0a0a1a] text-gray-100 p-4 sm:p-6 font-mono\">\n <div className=\"flex items-center gap-4 mb-6\">\n <Link href=\"/settings\" className=\"text-gray-500 hover:text-gray-300 text-sm lg:ml-0 ml-10\">← Settings</Link>\n <h1 className=\"text-2xl font-bold text-white\">Networks</h1>\n <span className=\"text-xs bg-blue-900/30 text-blue-400 px-2 py-0.5 rounded-full border border-blue-800/30\">\n {networks.length}\n </span>\n </div>\n\n <div className=\"max-w-2xl space-y-6\">\n {/* Create */}\n <section className=\"bg-[#111128] border border-[#2a2a4a] rounded-xl p-5\">\n <h2 className=\"text-sm font-semibold text-gray-300 mb-3\">Create Network</h2>\n <div className=\"space-y-3\">\n <input type=\"text\" value={newName} onChange={e => setNewName(e.target.value)} placeholder=\"Network name\"\n className=\"w-full bg-[#0a0a15] border border-[#2a2a4a] rounded-lg px-3 py-2 text-sm text-white placeholder-gray-600 focus:border-cyan-500/50 focus:outline-none\" />\n <input type=\"text\" value={newDesc} onChange={e => setNewDesc(e.target.value)} placeholder=\"Description (optional)\"\n className=\"w-full bg-[#0a0a15] border border-[#2a2a4a] rounded-lg px-3 py-2 text-sm text-white placeholder-gray-600 focus:border-cyan-500/50 focus:outline-none\" />\n <button onClick={createNetwork} disabled={!newName.trim()}\n className=\"px-4 py-2 bg-green-600 hover:bg-green-500 disabled:bg-gray-800 text-white text-sm rounded-lg transition-colors\">\n Create\n </button>\n </div>\n {result && <div className={`mt-2 text-xs ${result.startsWith('Failed') || result.startsWith('V3') || result.startsWith('Invite') ? 'text-red-400' : 'text-green-400'}`}>{result}</div>}\n </section>\n\n {/* List */}\n <section className=\"bg-[#111128] border border-[#2a2a4a] rounded-xl p-5\">\n <h2 className=\"text-sm font-semibold text-gray-300 mb-3\">My Networks</h2>\n {loading ? (\n <div className=\"animate-pulse space-y-2\">{[1,2].map(i => <div key={i} className=\"h-14 bg-gray-800/20 rounded\" />)}</div>\n ) : networks.length === 0 ? (\n <EmptyState\n variant=\"networks\"\n compact\n sub=\"Create your first network above, or sign in with V3 auth to see existing ones.\"\n />\n ) : (\n <div className=\"space-y-3\">\n {networks.map(n => (\n <div key={n.network_id} className=\"bg-[#0a0a15] rounded-lg px-4 py-3 border border-[#1a1a2a]\">\n <div className=\"flex items-center justify-between\">\n <div className=\"min-w-0\">\n <div className=\"text-sm text-white font-medium\">{n.network_name}</div>\n <div className=\"text-[10px] text-gray-500\">{n.network_id} · {timeAgo(n.created_at)}</div>\n {n.description && <div className=\"text-xs text-gray-400 mt-1\">{n.description}</div>}\n </div>\n <div className=\"flex gap-2 shrink-0\">\n <button onClick={() => {\n if (expandedNetwork === n.network_id) { setExpandedNetwork(null); return; }\n setExpandedNetwork(n.network_id);\n fetchMembers(n.network_id);\n }} className=\"text-xs text-cyan-400 hover:text-cyan-300 px-2 py-1 rounded border border-cyan-800/30 hover:bg-cyan-500/10\">\n {expandedNetwork === n.network_id ? 'Hide' : 'Members'}\n </button>\n {confirmDelete === n.network_id ? (\n <>\n <button onClick={() => deleteNetwork(n.network_id)} className=\"text-xs text-red-400 px-2 py-1 rounded border border-red-800/30 bg-red-500/10\">Confirm</button>\n <button onClick={() => setConfirmDelete(null)} className=\"text-xs text-gray-500\">Cancel</button>\n </>\n ) : (\n <button onClick={() => setConfirmDelete(n.network_id)} className=\"text-xs text-red-400 hover:text-red-300 px-2 py-1 rounded border border-red-800/30 hover:bg-red-500/10\">\n Delete\n </button>\n )}\n </div>\n </div>\n\n {expandedNetwork === n.network_id && (\n <div className=\"mt-3 pt-3 border-t border-[#1a1a2a]\">\n <div className=\"text-xs text-gray-500 mb-2\">Members ({(members[n.network_id] || []).length})</div>\n {(members[n.network_id] || []).length === 0 ? (\n <div className=\"text-[10px] text-gray-600\">No members or V3 auth required</div>\n ) : (\n (members[n.network_id] || []).map(m => (\n <div key={m.user_id} className=\"flex items-center justify-between text-xs py-1\">\n <span className=\"text-gray-300\">{m.username || m.display_name}</span>\n <span className={`px-1.5 py-0.5 rounded border text-[10px] ${\n m.role === 'owner' ? 'text-yellow-300 border-yellow-500/20' : 'text-gray-400 border-gray-600/20'\n }`}>{m.role}</span>\n </div>\n ))\n )}\n\n {/* Invite */}\n <div className=\"mt-3 pt-3 border-t border-[#1a1a2a]\">\n <div className=\"text-xs text-gray-500 mb-2\">Invite</div>\n <div className=\"flex gap-2\">\n <select value={inviteRole} onChange={e => setInviteRole(e.target.value)}\n className=\"bg-[#0a0a15] border border-[#2a2a4a] rounded px-2 py-1 text-xs text-white focus:outline-none\">\n <option value=\"member\">member</option>\n <option value=\"admin\">admin</option>\n <option value=\"viewer\">viewer</option>\n </select>\n <button onClick={() => generateInvite(n.network_id)}\n className=\"px-2 py-1 bg-green-600 hover:bg-green-500 text-white text-xs rounded\">\n Generate Code\n </button>\n </div>\n {inviteCode && (\n <div className=\"mt-2 bg-green-500/5 border border-green-500/20 rounded px-3 py-2\">\n <div className=\"text-[10px] text-green-400 mb-1\">Invite code:</div>\n <code className=\"text-xs text-green-300 select-all\">{inviteCode}</code>\n </div>\n )}\n </div>\n </div>\n )}\n </div>\n ))}\n </div>\n )}\n </section>\n </div>\n </div>\n );\n}\n"],"names":["timeAgo","dateStr","diff","Date","now","replace","getTime","s","Math","floor","statusColor","status","hasSse","formatUptime","seconds","h","m","DEFAULTS","nodes","title","sub","tasks","messages","logs","tokens","networks","generic","Glyph","variant","size","width","height","baseProps","fill","stroke","strokeWidth","strokeLinecap","strokeLinejoin","viewBox","cx","cy","r","x1","y1","x2","y2","strokeDasharray","opacity","x","y","rx","d","ry","EmptyState","cta","compact","headline","subcopy","iconSize","className","role","href","label","onClick","NodesEmptyState","hint","global_count","fetcher","url","fetch","then","json","NetworksPage","data","mutate","refreshInterval","loading","newName","setNewName","newDesc","setNewDesc","result","setResult","confirmDelete","setConfirmDelete","expandedNetwork","setExpandedNetwork","members","setMembers","inviteRole","setInviteRole","inviteCode","setInviteCode","getToken","saved","sessionStorage","getItem","JSON","parse","token","createNetwork","trim","res","method","headers","body","stringify","action","name","description","ok","network_id","error","setTimeout","deleteNetwork","networkId","fetchMembers","prev","generateInvite","invite_code","length","type","value","onChange","e","target","placeholder","disabled","startsWith","map","i","n","network_name","created_at","username","display_name","user_id"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,18150,e=>{"use strict";e.s(["formatUptime",0,function(e){let t=Math.floor(e/3600),s=Math.floor(e%3600/60);return t>0?`${t}h ${s}m`:`${s}m`},"timeAgo",0,function(e){if(!e)return"--";let t=Math.floor((Date.now()-new Date(e.replace(" ","T")+"Z").getTime())/1e3);return t<60?`${t}s ago`:t<3600?`${Math.floor(t/60)}m ago`:t<86400?`${Math.floor(t/3600)}h ago`:`${Math.floor(t/86400)}d ago`}])},95356,e=>{"use strict";var t=e.i(18050),s=e.i(22016);let r={nodes:{title:"No agents in this network",sub:"Agent sessions will appear here once they connect to the CommHub."},tasks:{title:"No tasks yet",sub:"Tasks will appear here when agents send them via CommHub."},messages:{title:"No messages",sub:"Messages between agents will appear here."},logs:{title:"No audit logs",sub:"Events will appear here when users register, login, or perform actions."},tokens:{title:"No API tokens",sub:"Create one to authenticate CLI tools and external integrations."},networks:{title:"No networks found",sub:"Create one or sign in with V3 auth to see your networks."},generic:{title:"Nothing here yet",sub:"Data will appear here once available."}};function a({variant:e,size:s}){let r={width:s,height:s},n={fill:"none",stroke:"currentColor",strokeWidth:1.25,strokeLinecap:"round",strokeLinejoin:"round"};switch(e){case"nodes":return(0,t.jsx)("svg",{viewBox:"0 0 64 64",...r,children:(0,t.jsxs)("g",{...n,children:[(0,t.jsx)("circle",{cx:"32",cy:"14",r:"4"}),(0,t.jsx)("circle",{cx:"14",cy:"44",r:"4"}),(0,t.jsx)("circle",{cx:"50",cy:"44",r:"4"}),(0,t.jsx)("line",{x1:"32",y1:"18",x2:"14",y2:"40",strokeDasharray:"3 3",opacity:"0.6"}),(0,t.jsx)("line",{x1:"32",y1:"18",x2:"50",y2:"40",strokeDasharray:"3 3",opacity:"0.6"}),(0,t.jsx)("line",{x1:"18",y1:"44",x2:"46",y2:"44",strokeDasharray:"3 3",opacity:"0.6"})]})});case"tasks":return(0,t.jsx)("svg",{viewBox:"0 0 64 64",...r,children:(0,t.jsxs)("g",{...n,children:[(0,t.jsx)("rect",{x:"14",y:"14",width:"36",height:"6",rx:"1.5"}),(0,t.jsx)("rect",{x:"14",y:"26",width:"36",height:"6",rx:"1.5",opacity:"0.6"}),(0,t.jsx)("rect",{x:"14",y:"38",width:"36",height:"6",rx:"1.5",opacity:"0.35"})]})});case"messages":return(0,t.jsx)("svg",{viewBox:"0 0 64 64",...r,children:(0,t.jsxs)("g",{...n,children:[(0,t.jsx)("path",{d:"M14 18 h36 a3 3 0 0 1 3 3 v18 a3 3 0 0 1 -3 3 h-18 l-8 6 v-6 h-10 a3 3 0 0 1 -3 -3 v-18 a3 3 0 0 1 3 -3 z"}),(0,t.jsx)("line",{x1:"22",y1:"28",x2:"42",y2:"28",opacity:"0.5"}),(0,t.jsx)("line",{x1:"22",y1:"34",x2:"36",y2:"34",opacity:"0.5"})]})});case"logs":return(0,t.jsx)("svg",{viewBox:"0 0 64 64",...r,children:(0,t.jsxs)("g",{...n,children:[(0,t.jsx)("path",{d:"M18 12 h22 l8 8 v32 a2 2 0 0 1 -2 2 h-28 a2 2 0 0 1 -2 -2 v-38 a2 2 0 0 1 2 -2 z"}),(0,t.jsx)("path",{d:"M40 12 v8 h8",opacity:"0.6"}),(0,t.jsx)("line",{x1:"24",y1:"32",x2:"40",y2:"32",opacity:"0.55"}),(0,t.jsx)("line",{x1:"24",y1:"38",x2:"40",y2:"38",opacity:"0.4"}),(0,t.jsx)("line",{x1:"24",y1:"44",x2:"34",y2:"44",opacity:"0.25"})]})});case"tokens":return(0,t.jsx)("svg",{viewBox:"0 0 64 64",...r,children:(0,t.jsxs)("g",{...n,children:[(0,t.jsx)("circle",{cx:"22",cy:"32",r:"8"}),(0,t.jsx)("line",{x1:"30",y1:"32",x2:"54",y2:"32"}),(0,t.jsx)("line",{x1:"44",y1:"32",x2:"44",y2:"38"}),(0,t.jsx)("line",{x1:"50",y1:"32",x2:"50",y2:"40"})]})});case"networks":return(0,t.jsx)("svg",{viewBox:"0 0 64 64",...r,children:(0,t.jsxs)("g",{...n,children:[(0,t.jsx)("circle",{cx:"32",cy:"32",r:"18"}),(0,t.jsx)("ellipse",{cx:"32",cy:"32",rx:"18",ry:"9",opacity:"0.55"}),(0,t.jsx)("line",{x1:"14",y1:"32",x2:"50",y2:"32",opacity:"0.55"}),(0,t.jsx)("line",{x1:"32",y1:"14",x2:"32",y2:"50",opacity:"0.55"})]})});default:return(0,t.jsx)("svg",{viewBox:"0 0 64 64",...r,children:(0,t.jsxs)("g",{...n,children:[(0,t.jsx)("circle",{cx:"32",cy:"32",r:"14",strokeDasharray:"3 3",opacity:"0.6"}),(0,t.jsx)("circle",{cx:"32",cy:"32",r:"3"})]})})}}function n({variant:e="generic",title:i,sub:o,cta:l,compact:c=!1}){let x=r[e],d=i??x.title,h=o??x.sub;return(0,t.jsxs)("div",{className:`text-center ${c?"py-8":"py-16"} px-4`,role:"status",children:[(0,t.jsx)("div",{className:"anet-empty-glyph inline-flex items-center justify-center mb-4 text-gray-500","aria-hidden":!0,children:(0,t.jsx)(a,{variant:e,size:c?40:56})}),(0,t.jsx)("h3",{className:`font-medium text-gray-300 ${c?"text-sm":"text-base"}`,children:d}),h&&(0,t.jsx)("p",{className:`text-gray-500 ${c?"text-xs mt-1.5":"text-sm mt-2"} max-w-md mx-auto leading-relaxed`,children:h}),l&&(0,t.jsx)("div",{className:"mt-4",children:l.href?(0,t.jsxs)(s.default,{href:l.href,className:"inline-flex items-center gap-1.5 text-sm font-medium text-cyan-400 hover:text-cyan-300",children:[l.label,(0,t.jsx)("span",{"aria-hidden":!0,children:"→"})]}):(0,t.jsxs)("button",{onClick:l.onClick,className:"inline-flex items-center gap-1.5 text-sm font-medium text-cyan-400 hover:text-cyan-300",children:[l.label,(0,t.jsx)("span",{"aria-hidden":!0,children:"→"})]})})]})}e.s(["EmptyState",0,n,"NodesEmptyState",0,function({hint:e}){return e?.global_count?(0,t.jsx)(n,{variant:"nodes",title:"No agents in this network",sub:`Server has ${e.global_count} nodes globally, but none are registered to the current network. Switch network or contact admin.`}):(0,t.jsx)(n,{variant:"nodes",cta:{label:"Run anet quickstart",href:"https://anet.sh"}})}])},18581,e=>{"use strict";var t=e.i(18050),s=e.i(71645),r=e.i(22016),a=e.i(18150),n=e.i(95356),i=e.i(83599);let o=e=>fetch(e).then(e=>e.json());e.s(["default",0,function(){let{data:e,mutate:l}=(0,i.default)("/api/hub/networks",o,{refreshInterval:1e4}),c=e?.networks||[],x=!e,[d,h]=(0,s.useState)(""),[m,u]=(0,s.useState)(""),[y,p]=(0,s.useState)(""),[g,b]=(0,s.useState)(null),[j,v]=(0,s.useState)(null),[w,f]=(0,s.useState)({}),[k,N]=(0,s.useState)("member"),[_,C]=(0,s.useState)(""),S=()=>{try{let e=sessionStorage.getItem("anet_v3_auth");if(e)return JSON.parse(e).token}catch{}return""},$=async()=>{if(!d.trim())return;let e=S();if(!e)return void p("V3 auth required — sign in via Agent Network login");let t=await fetch("/api/hub/auth",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"create_network",token:e,name:d,description:m})}),s=await t.json();p(s.ok?`Created: ${s.network_id}`:`Failed: ${s.error}`),s.ok&&(h(""),u(""),l()),setTimeout(()=>p(""),5e3)},T=async e=>{let t=S();if(!t)return;let s=await fetch("/api/hub/auth",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"delete_network",token:t,network_id:e})}),r=await s.json();p(r.ok?"Deleted":`Failed: ${r.error}`),b(null),r.ok&&l(),setTimeout(()=>p(""),5e3)},M=async e=>{let t=S();if(!t)return;let s=await fetch(`/api/hub/auth?endpoint=/api/networks/${e}/members&token=${t}`),r=await s.json();f(t=>({...t,[e]:r.members||[]}))},D=async e=>{let t=S();if(!t)return;let s=await fetch("/api/hub/auth",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"invite_member",token:t,network_id:e,role:k})}),r=await s.json();r.ok&&r.invite_code?C(r.invite_code):p(`Invite failed: ${r.error}`)};return(0,t.jsxs)("div",{className:"min-h-screen bg-[#0a0a1a] text-gray-100 p-4 sm:p-6 font-mono",children:[(0,t.jsxs)("div",{className:"flex items-center gap-4 mb-6",children:[(0,t.jsx)(r.default,{href:"/settings",className:"text-gray-500 hover:text-gray-300 text-sm lg:ml-0 ml-10",children:"← Settings"}),(0,t.jsx)("h1",{className:"text-2xl font-bold text-white",children:"Networks"}),(0,t.jsx)("span",{className:"text-xs bg-blue-900/30 text-blue-400 px-2 py-0.5 rounded-full border border-blue-800/30",children:c.length})]}),(0,t.jsxs)("div",{className:"max-w-2xl space-y-6",children:[(0,t.jsxs)("section",{className:"bg-[#111128] border border-[#2a2a4a] rounded-xl p-5",children:[(0,t.jsx)("h2",{className:"text-sm font-semibold text-gray-300 mb-3",children:"Create Network"}),(0,t.jsxs)("div",{className:"space-y-3",children:[(0,t.jsx)("input",{type:"text",value:d,onChange:e=>h(e.target.value),placeholder:"Network name",className:"w-full bg-[#0a0a15] border border-[#2a2a4a] rounded-lg px-3 py-2 text-sm text-white placeholder-gray-600 focus:border-cyan-500/50 focus:outline-none"}),(0,t.jsx)("input",{type:"text",value:m,onChange:e=>u(e.target.value),placeholder:"Description (optional)",className:"w-full bg-[#0a0a15] border border-[#2a2a4a] rounded-lg px-3 py-2 text-sm text-white placeholder-gray-600 focus:border-cyan-500/50 focus:outline-none"}),(0,t.jsx)("button",{onClick:$,disabled:!d.trim(),className:"px-4 py-2 bg-green-600 hover:bg-green-500 disabled:bg-gray-800 text-white text-sm rounded-lg transition-colors",children:"Create"})]}),y&&(0,t.jsx)("div",{className:`mt-2 text-xs ${y.startsWith("Failed")||y.startsWith("V3")||y.startsWith("Invite")?"text-red-400":"text-green-400"}`,children:y})]}),(0,t.jsxs)("section",{className:"bg-[#111128] border border-[#2a2a4a] rounded-xl p-5",children:[(0,t.jsx)("h2",{className:"text-sm font-semibold text-gray-300 mb-3",children:"My Networks"}),x?(0,t.jsx)("div",{className:"animate-pulse space-y-2",children:[1,2].map(e=>(0,t.jsx)("div",{className:"h-14 bg-gray-800/20 rounded"},e))}):0===c.length?(0,t.jsx)(n.EmptyState,{variant:"networks",compact:!0,sub:"Create your first network above, or sign in with V3 auth to see existing ones."}):(0,t.jsx)("div",{className:"space-y-3",children:c.map(e=>(0,t.jsxs)("div",{className:"bg-[#0a0a15] rounded-lg px-4 py-3 border border-[#1a1a2a]",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between",children:[(0,t.jsxs)("div",{className:"min-w-0",children:[(0,t.jsx)("div",{className:"text-sm text-white font-medium",children:e.network_name}),(0,t.jsxs)("div",{className:"text-[10px] text-gray-500",children:[e.network_id," · ",(0,a.timeAgo)(e.created_at)]}),e.description&&(0,t.jsx)("div",{className:"text-xs text-gray-400 mt-1",children:e.description})]}),(0,t.jsxs)("div",{className:"flex gap-2 shrink-0",children:[(0,t.jsx)("button",{onClick:()=>{j===e.network_id?v(null):(v(e.network_id),M(e.network_id))},className:"text-xs text-cyan-400 hover:text-cyan-300 px-2 py-1 rounded border border-cyan-800/30 hover:bg-cyan-500/10",children:j===e.network_id?"Hide":"Members"}),g===e.network_id?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("button",{onClick:()=>T(e.network_id),className:"text-xs text-red-400 px-2 py-1 rounded border border-red-800/30 bg-red-500/10",children:"Confirm"}),(0,t.jsx)("button",{onClick:()=>b(null),className:"text-xs text-gray-500",children:"Cancel"})]}):(0,t.jsx)("button",{onClick:()=>b(e.network_id),className:"text-xs text-red-400 hover:text-red-300 px-2 py-1 rounded border border-red-800/30 hover:bg-red-500/10",children:"Delete"})]})]}),j===e.network_id&&(0,t.jsxs)("div",{className:"mt-3 pt-3 border-t border-[#1a1a2a]",children:[(0,t.jsxs)("div",{className:"text-xs text-gray-500 mb-2",children:["Members (",(w[e.network_id]||[]).length,")"]}),0===(w[e.network_id]||[]).length?(0,t.jsx)("div",{className:"text-[10px] text-gray-600",children:"No members or V3 auth required"}):(w[e.network_id]||[]).map(e=>(0,t.jsxs)("div",{className:"flex items-center justify-between text-xs py-1",children:[(0,t.jsx)("span",{className:"text-gray-300",children:e.username||e.display_name}),(0,t.jsx)("span",{className:`px-1.5 py-0.5 rounded border text-[10px] ${"owner"===e.role?"text-yellow-300 border-yellow-500/20":"text-gray-400 border-gray-600/20"}`,children:e.role})]},e.user_id)),(0,t.jsxs)("div",{className:"mt-3 pt-3 border-t border-[#1a1a2a]",children:[(0,t.jsx)("div",{className:"text-xs text-gray-500 mb-2",children:"Invite"}),(0,t.jsxs)("div",{className:"flex gap-2",children:[(0,t.jsxs)("select",{value:k,onChange:e=>N(e.target.value),className:"bg-[#0a0a15] border border-[#2a2a4a] rounded px-2 py-1 text-xs text-white focus:outline-none",children:[(0,t.jsx)("option",{value:"member",children:"member"}),(0,t.jsx)("option",{value:"admin",children:"admin"}),(0,t.jsx)("option",{value:"viewer",children:"viewer"})]}),(0,t.jsx)("button",{onClick:()=>D(e.network_id),className:"px-2 py-1 bg-green-600 hover:bg-green-500 text-white text-xs rounded",children:"Generate Code"})]}),_&&(0,t.jsxs)("div",{className:"mt-2 bg-green-500/5 border border-green-500/20 rounded px-3 py-2",children:[(0,t.jsx)("div",{className:"text-[10px] text-green-400 mb-1",children:"Invite code:"}),(0,t.jsx)("code",{className:"text-xs text-green-300 select-all",children:_})]})]})]})]},e.network_id))})]})]})]})}])}]);
|