@sleep2agi/agent-network-dashboard 0.4.5-preview.15 → 0.4.5-preview.17
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 +9 -9
- 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 +3 -3
- package/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
- package/.next/server/app/index.segments/_full.segment.rsc +3 -3
- package/.next/server/app/index.segments/_head.segment.rsc +1 -1
- package/.next/server/app/index.segments/_index.segment.rsc +2 -2
- package/.next/server/app/index.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/login/page_client-reference-manifest.js +1 -1
- package/.next/server/app/login.html +2 -2
- package/.next/server/app/login.rsc +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.js.nft.json +1 -1
- package/.next/server/app/logs/page_client-reference-manifest.js +1 -1
- package/.next/server/app/logs.html +2 -2
- package/.next/server/app/logs.rsc +3 -3
- package/.next/server/app/logs.segments/_full.segment.rsc +3 -3
- 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 +2 -2
- package/.next/server/app/logs.segments/logs.segment.rsc +1 -1
- package/.next/server/app/messages/page.js.nft.json +1 -1
- package/.next/server/app/messages/page_client-reference-manifest.js +1 -1
- package/.next/server/app/messages.html +2 -2
- package/.next/server/app/messages.rsc +3 -3
- package/.next/server/app/messages.segments/_full.segment.rsc +3 -3
- 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 +2 -2
- 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.js.nft.json +1 -1
- package/.next/server/app/nodes/page_client-reference-manifest.js +1 -1
- package/.next/server/app/nodes.html +2 -2
- package/.next/server/app/nodes.rsc +3 -3
- package/.next/server/app/nodes.segments/_full.segment.rsc +3 -3
- package/.next/server/app/nodes.segments/_head.segment.rsc +1 -1
- package/.next/server/app/nodes.segments/_index.segment.rsc +2 -2
- package/.next/server/app/nodes.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/nodes.segments/nodes/__PAGE__.segment.rsc +2 -2
- package/.next/server/app/nodes.segments/nodes.segment.rsc +1 -1
- package/.next/server/app/page.js.nft.json +1 -1
- package/.next/server/app/page_client-reference-manifest.js +1 -1
- package/.next/server/app/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 +3 -3
- package/.next/server/app/server-logs.segments/_full.segment.rsc +3 -3
- 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 +2 -2
- 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.js.nft.json +1 -1
- package/.next/server/app/tasks/page_client-reference-manifest.js +1 -1
- package/.next/server/app/tasks.html +2 -2
- package/.next/server/app/tasks.rsc +3 -3
- package/.next/server/app/tasks.segments/_full.segment.rsc +3 -3
- 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 +2 -2
- package/.next/server/app/tasks.segments/tasks.segment.rsc +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__04e5_8f._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__04e5_8f._.js.map +1 -0
- package/.next/server/chunks/ssr/{[root-of-the-server]__0~wm-j6._.js → [root-of-the-server]__0o8yj3c._.js} +2 -2
- package/.next/server/chunks/ssr/[root-of-the-server]__0o8yj3c._.js.map +1 -0
- package/.next/server/chunks/ssr/{_13_v7-3._.js → _0kdizff._.js} +2 -2
- package/.next/server/chunks/ssr/_0kdizff._.js.map +1 -0
- package/.next/server/chunks/ssr/{app_10b5blc._.js → app_0.zbtn5._.js} +2 -2
- package/.next/server/chunks/ssr/app_0.zbtn5._.js.map +1 -0
- package/.next/server/chunks/ssr/{app_11rum9b._.js → app_04n78pr._.js} +2 -2
- package/.next/server/chunks/ssr/app_04n78pr._.js.map +1 -0
- package/.next/server/chunks/ssr/app_0_agk0r._.js +3 -0
- package/.next/server/chunks/ssr/app_0_agk0r._.js.map +1 -0
- package/.next/server/chunks/ssr/app_server-logs_page_tsx_0_kpp1p._.js +1 -1
- package/.next/server/chunks/ssr/app_server-logs_page_tsx_0_kpp1p._.js.map +1 -1
- package/.next/server/middleware-build-manifest.js +3 -3
- package/.next/server/pages/404.html +2 -2
- package/.next/server/pages/500.html +1 -1
- package/.next/server/server-reference-manifest.js +1 -1
- package/.next/server/server-reference-manifest.json +1 -1
- package/.next/static/chunks/{0h.ajsk_uxigl.js → 0elnqam.~nrl2.js} +1 -1
- package/.next/static/chunks/{05f.bm74.tg7p.js → 0l3gf0ickq445.js} +1 -1
- package/.next/static/chunks/{163g5zdashl0u.js → 0lb13~qih~i61.js} +1 -1
- package/.next/static/chunks/0lv.yycx.sypc.css +2 -0
- package/.next/static/chunks/0qnpc7rbxn12u.js +1 -0
- package/.next/static/chunks/10-ka4k4ni9u2.js +1 -0
- package/.next/static/chunks/{12dcb86elsl-e.js → 169v~dd1tdxdm.js} +1 -1
- package/.next/static/chunks/{0phmkvpddvjsy.js → 17uwnuk~0zoo3.js} +1 -1
- package/.next/trace +2 -2
- package/.next/trace-build +1 -1
- package/app/logs/page.tsx +28 -4
- package/app/server-logs/page.tsx +37 -3
- package/package.json +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__0byvz32._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__0byvz32._.js.map +0 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__0~wm-j6._.js.map +0 -1
- package/.next/server/chunks/ssr/_13_v7-3._.js.map +0 -1
- package/.next/server/chunks/ssr/app_0et5yua._.js +0 -3
- package/.next/server/chunks/ssr/app_0et5yua._.js.map +0 -1
- package/.next/server/chunks/ssr/app_10b5blc._.js.map +0 -1
- package/.next/server/chunks/ssr/app_11rum9b._.js.map +0 -1
- package/.next/static/chunks/0e7c40p~wq665.js +0 -1
- package/.next/static/chunks/10njj7kn9ylkf.js +0 -1
- package/.next/static/chunks/17q03qbexyddu.css +0 -2
- /package/.next/static/{ksLTC2gWmWR-gtsZUF5MZ → 9vSDWewK_Acg2OEuBE1nE}/_buildManifest.js +0 -0
- /package/.next/static/{ksLTC2gWmWR-gtsZUF5MZ → 9vSDWewK_Acg2OEuBE1nE}/_clientMiddlewareManifest.js +0 -0
- /package/.next/static/{ksLTC2gWmWR-gtsZUF5MZ → 9vSDWewK_Acg2OEuBE1nE}/_ssgManifest.js +0 -0
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,65822,e=>{"use strict";var t=e.i(83599),s=e.i(58963);let a=async e=>{let t=await fetch(e);if(401===t.status)throw window.location.assign("/login"),Error("unauthorized");return t.json()},r={refreshInterval:5e3,dedupingInterval:3e3};function n(e,t){if(!t)return e;let s=e.includes("?")?"&":"?";return`${e}${s}network_id=${encodeURIComponent(t)}`}e.s(["useAnetConfig",0,function(){let{data:e}=(0,t.default)("/api/anet/config",a,{refreshInterval:3e4});return{config:e||null}},"useHealth",0,function(){let{data:e,error:s}=(0,t.default)("/api/hub/health",a,r);return{health:e||null,error:s}},"useLicense",0,function(){let{data:e,error:s}=(0,t.default)("/api/hub/license",a,{refreshInterval:6e4});return{license:e?.ok?e:null,error:s}},"useMessages",0,function(e=100){let{networkId:l}=(0,s.useNetworkId)(),{data:i,error:o,isLoading:c}=(0,t.default)(n(`/api/hub/messages?limit=${e}`,l),a,r);return{messages:i?.messages||[],error:o,isLoading:c}},"useSessions",0,function(){let{networkId:e}=(0,s.useNetworkId)(),{data:l,error:i,isLoading:o}=(0,t.default)(n("/api/hub/status",e),a,r);return{sessions:l?.sessions||[],hint:l?._hint,error:i,isLoading:o}},"useStats",0,function(){let{networkId:e}=(0,s.useNetworkId)(),{data:l,error:i}=(0,t.default)(n("/api/hub/stats",e),a,r);return{stats:l?.ok?l:null,error:i}},"useTasks",0,function(e){let{networkId:l}=(0,s.useNetworkId)(),i=new URLSearchParams({limit:"100",...e}).toString(),{data:o,error:c,isLoading:x}=(0,t.default)(n(`/api/hub/tasks?${i}`,l),a,r);return{tasks:o?.tasks||[],count:o?.count??0,source:o?.source,error:c,isLoading:x}}])},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 a={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 r({variant:e,size:s}){let a={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",...a,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",...a,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",...a,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",...a,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",...a,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",...a,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",...a,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:l,sub:i,cta:o,compact:c=!1}){let x=a[e],d=l??x.title,h=i??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)(r,{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}),o&&(0,t.jsx)("div",{className:"mt-4",children:o.href?(0,t.jsxs)(s.default,{href:o.href,className:"inline-flex items-center gap-1.5 text-sm font-medium text-cyan-400 hover:text-cyan-300",children:[o.label,(0,t.jsx)("span",{"aria-hidden":!0,children:"→"})]}):(0,t.jsxs)("button",{onClick:o.onClick,className:"inline-flex items-center gap-1.5 text-sm font-medium text-cyan-400 hover:text-cyan-300",children:[o.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"}})}])},69874,e=>{"use strict";var t=e.i(18050);let s=[180,200,220,270,300,330,30,90];e.s(["AliasAvatar",0,function({alias:e,size:a=28,className:r=""}){let n=function(e){let t=0;for(let s=0;s<e.length;s++)t=31*t+e.charCodeAt(s)>>>0;let a=s[t%s.length];return{bg:`hsl(${a} 55% 22%)`,ring:`hsl(${a} 60% 45%)`,text:`hsl(${a} 80% 78%)`}}(e),l=Math.max(9,Math.round(.42*a));return(0,t.jsx)("span",{className:`anet-alias-avatar inline-flex items-center justify-center rounded-full border shrink-0 font-semibold ${r}`,style:{width:a,height:a,fontSize:l,backgroundColor:n.bg,borderColor:n.ring,color:n.text},title:e,"aria-hidden":!0,children:e?(e.trim().match(/[\p{L}\p{N}]/u)?.[0]||e.trim()[0]||"·").toUpperCase():"·"})}])},82756,e=>{"use strict";var t=e.i(18050),s=e.i(71645),a=e.i(65822),r=e.i(18150),n=e.i(95356),l=e.i(69874);let i={task:"bg-green-500/10 text-green-300 border-green-500/20",message:"bg-blue-500/10 text-blue-300 border-blue-500/20",broadcast:"bg-purple-500/10 text-purple-300 border-purple-500/20",reply:"bg-cyan-500/10 text-cyan-300 border-cyan-500/20"};function o(e){return e?new Date(e.replace(" ","T")+"Z").getTime():0}function c(e){return"broadcast"===e.type?"broadcast":"dashboard"===(e.from_alias||"").toLowerCase()?"outgoing":"incoming"}function x(e,s){let a=e||"--",r=s.trim();if(!r||r.startsWith("from:"))return a;let n=a.toLowerCase().indexOf(r.toLowerCase());return n<0?a:(0,t.jsxs)(t.Fragment,{children:[a.slice(0,n),(0,t.jsx)("mark",{className:"bg-yellow-500/30 text-yellow-200 rounded px-0.5",children:a.slice(n,n+r.length)}),a.slice(n+r.length)]})}e.s(["default",0,function(){let{messages:e,isLoading:d}=(0,a.useMessages)(200),[h,m]=(0,s.useState)(""),[u,p]=(0,s.useState)(""),[g,y]=(0,s.useState)(!1),[b,j]=(0,s.useState)("timeline"),f=(0,s.useMemo)(()=>{let t=new Set;return e.forEach(e=>{let s=e.from_alias?.trim();s&&"dashboard"!==s.toLowerCase()&&t.add(s)}),[...t].slice(0,8)},[e]),v=(0,s.useMemo)(()=>{let t=u.trim().toLowerCase(),s=t.startsWith("from:")?t.slice(5).trim():"";return[...e].filter(e=>(!h||e.type===h)&&(s?(e.from_alias||"").toLowerCase().includes(s):!t||(e.from_alias||"").toLowerCase().includes(t)||(e.to_alias||"").toLowerCase().includes(t)||(e.content||"").toLowerCase().includes(t))).sort((e,t)=>o(e.created_at)-o(t.created_at))},[h,e,u]),w=(0,s.useMemo)(()=>{let e=new Map;return v.forEach(t=>{let s=t.from_alias||"?",a=t.to_alias||"?",r=[s,a].sort().join("↔"),n=e.get(r)||{participants:[s,a].sort(),messages:[],lastTime:0};n.messages.push(t),n.lastTime=Math.max(n.lastTime,o(t.created_at)),e.set(r,n)}),[...e.values()].sort((e,t)=>t.lastTime-e.lastTime)},[v]);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)("h1",{className:"text-2xl font-bold text-white lg:ml-0 ml-10",children:"Messages"}),(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:e.length}),v.length>0&&(0,t.jsx)("button",{onClick:()=>{let e=v.map(e=>`**${e.from_alias||"?"}** → ${e.to_alias||"?"} (${e.type||"?"}) — ${e.created_at||""}
|
|
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`}])},69874,e=>{"use strict";var t=e.i(18050);let s=[180,200,220,270,300,330,30,90];e.s(["AliasAvatar",0,function({alias:e,size:a=28,className:r=""}){let n=function(e){let t=0;for(let s=0;s<e.length;s++)t=31*t+e.charCodeAt(s)>>>0;let a=s[t%s.length];return{bg:`hsl(${a} 55% 22%)`,ring:`hsl(${a} 60% 45%)`,text:`hsl(${a} 80% 78%)`}}(e),l=Math.max(9,Math.round(.42*a));return(0,t.jsx)("span",{className:`anet-alias-avatar inline-flex items-center justify-center rounded-full border shrink-0 font-semibold ${r}`,style:{width:a,height:a,fontSize:l,backgroundColor:n.bg,borderColor:n.ring,color:n.text},title:e,"aria-hidden":!0,children:e?(e.trim().match(/[\p{L}\p{N}]/u)?.[0]||e.trim()[0]||"·").toUpperCase():"·"})}])},95356,e=>{"use strict";var t=e.i(18050),s=e.i(22016);let a={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 r({variant:e,size:s}){let a={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",...a,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",...a,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",...a,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",...a,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",...a,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",...a,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",...a,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:l,sub:i,cta:o,compact:c=!1}){let x=a[e],d=l??x.title,h=i??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)(r,{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}),o&&(0,t.jsx)("div",{className:"mt-4",children:o.href?(0,t.jsxs)(s.default,{href:o.href,className:"inline-flex items-center gap-1.5 text-sm font-medium text-cyan-400 hover:text-cyan-300",children:[o.label,(0,t.jsx)("span",{"aria-hidden":!0,children:"→"})]}):(0,t.jsxs)("button",{onClick:o.onClick,className:"inline-flex items-center gap-1.5 text-sm font-medium text-cyan-400 hover:text-cyan-300",children:[o.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"}})}])},65822,e=>{"use strict";var t=e.i(83599),s=e.i(58963);let a=async e=>{let t=await fetch(e);if(401===t.status)throw window.location.assign("/login"),Error("unauthorized");return t.json()},r={refreshInterval:5e3,dedupingInterval:3e3};function n(e,t){if(!t)return e;let s=e.includes("?")?"&":"?";return`${e}${s}network_id=${encodeURIComponent(t)}`}e.s(["useAnetConfig",0,function(){let{data:e}=(0,t.default)("/api/anet/config",a,{refreshInterval:3e4});return{config:e||null}},"useHealth",0,function(){let{data:e,error:s}=(0,t.default)("/api/hub/health",a,r);return{health:e||null,error:s}},"useLicense",0,function(){let{data:e,error:s}=(0,t.default)("/api/hub/license",a,{refreshInterval:6e4});return{license:e?.ok?e:null,error:s}},"useMessages",0,function(e=100){let{networkId:l}=(0,s.useNetworkId)(),{data:i,error:o,isLoading:c}=(0,t.default)(n(`/api/hub/messages?limit=${e}`,l),a,r);return{messages:i?.messages||[],error:o,isLoading:c}},"useSessions",0,function(){let{networkId:e}=(0,s.useNetworkId)(),{data:l,error:i,isLoading:o}=(0,t.default)(n("/api/hub/status",e),a,r);return{sessions:l?.sessions||[],hint:l?._hint,error:i,isLoading:o}},"useStats",0,function(){let{networkId:e}=(0,s.useNetworkId)(),{data:l,error:i}=(0,t.default)(n("/api/hub/stats",e),a,r);return{stats:l?.ok?l:null,error:i}},"useTasks",0,function(e){let{networkId:l}=(0,s.useNetworkId)(),i=new URLSearchParams({limit:"100",...e}).toString(),{data:o,error:c,isLoading:x}=(0,t.default)(n(`/api/hub/tasks?${i}`,l),a,r);return{tasks:o?.tasks||[],count:o?.count??0,source:o?.source,error:c,isLoading:x}}])},82756,e=>{"use strict";var t=e.i(18050),s=e.i(71645),a=e.i(65822),r=e.i(18150),n=e.i(95356),l=e.i(69874);let i={task:"bg-green-500/10 text-green-300 border-green-500/20",message:"bg-blue-500/10 text-blue-300 border-blue-500/20",broadcast:"bg-purple-500/10 text-purple-300 border-purple-500/20",reply:"bg-cyan-500/10 text-cyan-300 border-cyan-500/20"};function o(e){return e?new Date(e.replace(" ","T")+"Z").getTime():0}function c(e){return"broadcast"===e.type?"broadcast":"dashboard"===(e.from_alias||"").toLowerCase()?"outgoing":"incoming"}function x(e,s){let a=e||"--",r=s.trim();if(!r||r.startsWith("from:"))return a;let n=a.toLowerCase().indexOf(r.toLowerCase());return n<0?a:(0,t.jsxs)(t.Fragment,{children:[a.slice(0,n),(0,t.jsx)("mark",{className:"bg-yellow-500/30 text-yellow-200 rounded px-0.5",children:a.slice(n,n+r.length)}),a.slice(n+r.length)]})}e.s(["default",0,function(){let{messages:e,isLoading:d}=(0,a.useMessages)(200),[h,m]=(0,s.useState)(""),[u,p]=(0,s.useState)(""),[g,y]=(0,s.useState)(!1),[b,j]=(0,s.useState)("timeline"),f=(0,s.useMemo)(()=>{let t=new Set;return e.forEach(e=>{let s=e.from_alias?.trim();s&&"dashboard"!==s.toLowerCase()&&t.add(s)}),[...t].slice(0,8)},[e]),v=(0,s.useMemo)(()=>{let t=u.trim().toLowerCase(),s=t.startsWith("from:")?t.slice(5).trim():"";return[...e].filter(e=>(!h||e.type===h)&&(s?(e.from_alias||"").toLowerCase().includes(s):!t||(e.from_alias||"").toLowerCase().includes(t)||(e.to_alias||"").toLowerCase().includes(t)||(e.content||"").toLowerCase().includes(t))).sort((e,t)=>o(e.created_at)-o(t.created_at))},[h,e,u]),w=(0,s.useMemo)(()=>{let e=new Map;return v.forEach(t=>{let s=t.from_alias||"?",a=t.to_alias||"?",r=[s,a].sort().join("↔"),n=e.get(r)||{participants:[s,a].sort(),messages:[],lastTime:0};n.messages.push(t),n.lastTime=Math.max(n.lastTime,o(t.created_at)),e.set(r,n)}),[...e.values()].sort((e,t)=>t.lastTime-e.lastTime)},[v]);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)("h1",{className:"text-2xl font-bold text-white lg:ml-0 ml-10",children:"Messages"}),(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:e.length}),v.length>0&&(0,t.jsx)("button",{onClick:()=>{let e=v.map(e=>`**${e.from_alias||"?"}** → ${e.to_alias||"?"} (${e.type||"?"}) — ${e.created_at||""}
|
|
2
2
|
|
|
3
3
|
${e.content||"--"}
|
|
4
4
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,65822,e=>{"use strict";var s=e.i(83599),t=e.i(58963);let a=async e=>{let s=await fetch(e);if(401===s.status)throw window.location.assign("/login"),Error("unauthorized");return s.json()},r={refreshInterval:5e3,dedupingInterval:3e3};function n(e,s){if(!s)return e;let t=e.includes("?")?"&":"?";return`${e}${t}network_id=${encodeURIComponent(s)}`}e.s(["useAnetConfig",0,function(){let{data:e}=(0,s.default)("/api/anet/config",a,{refreshInterval:3e4});return{config:e||null}},"useHealth",0,function(){let{data:e,error:t}=(0,s.default)("/api/hub/health",a,r);return{health:e||null,error:t}},"useLicense",0,function(){let{data:e,error:t}=(0,s.default)("/api/hub/license",a,{refreshInterval:6e4});return{license:e?.ok?e:null,error:t}},"useMessages",0,function(e=100){let{networkId:l}=(0,t.useNetworkId)(),{data:i,error:o,isLoading:c}=(0,s.default)(n(`/api/hub/messages?limit=${e}`,l),a,r);return{messages:i?.messages||[],error:o,isLoading:c}},"useSessions",0,function(){let{networkId:e}=(0,t.useNetworkId)(),{data:l,error:i,isLoading:o}=(0,s.default)(n("/api/hub/status",e),a,r);return{sessions:l?.sessions||[],hint:l?._hint,error:i,isLoading:o}},"useStats",0,function(){let{networkId:e}=(0,t.useNetworkId)(),{data:l,error:i}=(0,s.default)(n("/api/hub/stats",e),a,r);return{stats:l?.ok?l:null,error:i}},"useTasks",0,function(e){let{networkId:l}=(0,t.useNetworkId)(),i=new URLSearchParams({limit:"100",...e}).toString(),{data:o,error:c,isLoading:d}=(0,s.default)(n(`/api/hub/tasks?${i}`,l),a,r);return{tasks:o?.tasks||[],count:o?.count??0,source:o?.source,error:c,isLoading:d}}])},18150,e=>{"use strict";e.s(["formatUptime",0,function(e){let s=Math.floor(e/3600),t=Math.floor(e%3600/60);return s>0?`${s}h ${t}m`:`${t}m`},"timeAgo",0,function(e){if(!e)return"--";let s=Math.floor((Date.now()-new Date(e.replace(" ","T")+"Z").getTime())/1e3);return s<60?`${s}s ago`:s<3600?`${Math.floor(s/60)}m ago`:s<86400?`${Math.floor(s/3600)}h ago`:`${Math.floor(s/86400)}d ago`}])},95356,e=>{"use strict";var s=e.i(18050),t=e.i(22016);let a={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 r({variant:e,size:t}){let a={width:t,height:t},n={fill:"none",stroke:"currentColor",strokeWidth:1.25,strokeLinecap:"round",strokeLinejoin:"round"};switch(e){case"nodes":return(0,s.jsx)("svg",{viewBox:"0 0 64 64",...a,children:(0,s.jsxs)("g",{...n,children:[(0,s.jsx)("circle",{cx:"32",cy:"14",r:"4"}),(0,s.jsx)("circle",{cx:"14",cy:"44",r:"4"}),(0,s.jsx)("circle",{cx:"50",cy:"44",r:"4"}),(0,s.jsx)("line",{x1:"32",y1:"18",x2:"14",y2:"40",strokeDasharray:"3 3",opacity:"0.6"}),(0,s.jsx)("line",{x1:"32",y1:"18",x2:"50",y2:"40",strokeDasharray:"3 3",opacity:"0.6"}),(0,s.jsx)("line",{x1:"18",y1:"44",x2:"46",y2:"44",strokeDasharray:"3 3",opacity:"0.6"})]})});case"tasks":return(0,s.jsx)("svg",{viewBox:"0 0 64 64",...a,children:(0,s.jsxs)("g",{...n,children:[(0,s.jsx)("rect",{x:"14",y:"14",width:"36",height:"6",rx:"1.5"}),(0,s.jsx)("rect",{x:"14",y:"26",width:"36",height:"6",rx:"1.5",opacity:"0.6"}),(0,s.jsx)("rect",{x:"14",y:"38",width:"36",height:"6",rx:"1.5",opacity:"0.35"})]})});case"messages":return(0,s.jsx)("svg",{viewBox:"0 0 64 64",...a,children:(0,s.jsxs)("g",{...n,children:[(0,s.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,s.jsx)("line",{x1:"22",y1:"28",x2:"42",y2:"28",opacity:"0.5"}),(0,s.jsx)("line",{x1:"22",y1:"34",x2:"36",y2:"34",opacity:"0.5"})]})});case"logs":return(0,s.jsx)("svg",{viewBox:"0 0 64 64",...a,children:(0,s.jsxs)("g",{...n,children:[(0,s.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,s.jsx)("path",{d:"M40 12 v8 h8",opacity:"0.6"}),(0,s.jsx)("line",{x1:"24",y1:"32",x2:"40",y2:"32",opacity:"0.55"}),(0,s.jsx)("line",{x1:"24",y1:"38",x2:"40",y2:"38",opacity:"0.4"}),(0,s.jsx)("line",{x1:"24",y1:"44",x2:"34",y2:"44",opacity:"0.25"})]})});case"tokens":return(0,s.jsx)("svg",{viewBox:"0 0 64 64",...a,children:(0,s.jsxs)("g",{...n,children:[(0,s.jsx)("circle",{cx:"22",cy:"32",r:"8"}),(0,s.jsx)("line",{x1:"30",y1:"32",x2:"54",y2:"32"}),(0,s.jsx)("line",{x1:"44",y1:"32",x2:"44",y2:"38"}),(0,s.jsx)("line",{x1:"50",y1:"32",x2:"50",y2:"40"})]})});case"networks":return(0,s.jsx)("svg",{viewBox:"0 0 64 64",...a,children:(0,s.jsxs)("g",{...n,children:[(0,s.jsx)("circle",{cx:"32",cy:"32",r:"18"}),(0,s.jsx)("ellipse",{cx:"32",cy:"32",rx:"18",ry:"9",opacity:"0.55"}),(0,s.jsx)("line",{x1:"14",y1:"32",x2:"50",y2:"32",opacity:"0.55"}),(0,s.jsx)("line",{x1:"32",y1:"14",x2:"32",y2:"50",opacity:"0.55"})]})});default:return(0,s.jsx)("svg",{viewBox:"0 0 64 64",...a,children:(0,s.jsxs)("g",{...n,children:[(0,s.jsx)("circle",{cx:"32",cy:"32",r:"14",strokeDasharray:"3 3",opacity:"0.6"}),(0,s.jsx)("circle",{cx:"32",cy:"32",r:"3"})]})})}}function n({variant:e="generic",title:l,sub:i,cta:o,compact:c=!1}){let d=a[e],x=l??d.title,h=i??d.sub;return(0,s.jsxs)("div",{className:`text-center ${c?"py-8":"py-16"} px-4`,role:"status",children:[(0,s.jsx)("div",{className:"anet-empty-glyph inline-flex items-center justify-center mb-4 text-gray-500","aria-hidden":!0,children:(0,s.jsx)(r,{variant:e,size:c?40:56})}),(0,s.jsx)("h3",{className:`font-medium text-gray-300 ${c?"text-sm":"text-base"}`,children:x}),h&&(0,s.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}),o&&(0,s.jsx)("div",{className:"mt-4",children:o.href?(0,s.jsxs)(t.default,{href:o.href,className:"inline-flex items-center gap-1.5 text-sm font-medium text-cyan-400 hover:text-cyan-300",children:[o.label,(0,s.jsx)("span",{"aria-hidden":!0,children:"→"})]}):(0,s.jsxs)("button",{onClick:o.onClick,className:"inline-flex items-center gap-1.5 text-sm font-medium text-cyan-400 hover:text-cyan-300",children:[o.label,(0,s.jsx)("span",{"aria-hidden":!0,children:"→"})]})})]})}e.s(["EmptyState",0,n,"NodesEmptyState",0,function({hint:e}){return e?.global_count?(0,s.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,s.jsx)(n,{variant:"nodes",cta:{label:"Run anet quickstart",href:"https://anet.sh"}})}])},69874,e=>{"use strict";var s=e.i(18050);let t=[180,200,220,270,300,330,30,90];e.s(["AliasAvatar",0,function({alias:e,size:a=28,className:r=""}){let n=function(e){let s=0;for(let t=0;t<e.length;t++)s=31*s+e.charCodeAt(t)>>>0;let a=t[s%t.length];return{bg:`hsl(${a} 55% 22%)`,ring:`hsl(${a} 60% 45%)`,text:`hsl(${a} 80% 78%)`}}(e),l=Math.max(9,Math.round(.42*a));return(0,s.jsx)("span",{className:`anet-alias-avatar inline-flex items-center justify-center rounded-full border shrink-0 font-semibold ${r}`,style:{width:a,height:a,fontSize:l,backgroundColor:n.bg,borderColor:n.ring,color:n.text},title:e,"aria-hidden":!0,children:e?(e.trim().match(/[\p{L}\p{N}]/u)?.[0]||e.trim()[0]||"·").toUpperCase():"·"})}])},86688,e=>{"use strict";var s=e.i(18050),t=e.i(71645),a=e.i(22016),r=e.i(18150),n=e.i(65822),l=e.i(58442),i=e.i(95356),o=e.i(69874);let c={working:"bg-green-500/10 text-green-300 border-green-500/20",idle:"bg-blue-500/10 text-blue-300 border-blue-500/20",blocked:"bg-yellow-500/10 text-yellow-300 border-yellow-500/20",error:"bg-red-500/10 text-red-300 border-red-500/20",offline:"bg-gray-500/10 text-gray-500 border-gray-500/20"};e.s(["default",0,function(){let e,d,x,h,{sessions:u,isLoading:g}=(0,n.useSessions)(),{health:p}=(0,n.useHealth)(),m=p?.sse_sessions||{},y=e=>(e.network_id?m[`${e.network_id}:${e.alias}`]:void 0)??m[e.alias],[b,j]=(0,t.useState)(""),[f,v]=(0,t.useState)(""),[N,w]=(0,t.useState)("list"),[k,C]=(0,t.useState)({}),[$,S]=(0,t.useState)(null),[A,T]=(0,t.useState)({}),[_,I]=(0,t.useState)(null),M=u.map(e=>({...e,online:!!y(e)})).filter(e=>"online"===b?e.online:"offline"===b?!e.online:!b||b===e.status).filter(e=>!f||e.alias.toLowerCase().includes(f.toLowerCase())||(e.agent||"").toLowerCase().includes(f.toLowerCase())).sort((e,s)=>!!s.online-!!e.online||("working"===s.status)-("working"===e.status)),L=u.filter(e=>y(e)).length,B=e=>{S(s=>s===e?null:e),T(s=>({...s,[e]:{}}))},E=(e,s)=>{C(t=>({...t,[e]:s}))},U=async e=>{let s=k[e]?.trim()||"";if(s){T(s=>({...s,[e]:{sending:!0}}));try{let t=await fetch("/api/hub/send",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({alias:e,task:s})}),a=await t.json();if(!t.ok||a?.ok===!1)throw Error(a?.error||"Send failed");C(s=>({...s,[e]:""})),T(s=>({...s,[e]:{success:"Task sent"}})),S(null)}catch(s){T(t=>({...t,[e]:{error:s instanceof Error?s.message:"Send failed"}}))}}};return(0,s.jsxs)("div",{className:"min-h-screen bg-[#0a0a1a] text-gray-100 p-4 sm:p-6 font-mono",children:[(0,s.jsxs)("div",{className:"flex items-center gap-4 mb-6",children:[(0,s.jsx)("h1",{className:"text-2xl font-bold text-white lg:ml-0 ml-10",children:"Nodes"}),(0,s.jsxs)("span",{className:"text-xs bg-green-900/30 text-green-400 px-2 py-0.5 rounded-full border border-green-800/30",children:[L," online"]}),(0,s.jsxs)("span",{className:"text-xs bg-gray-900/30 text-gray-400 px-2 py-0.5 rounded-full border border-gray-800/30",children:[u.length," total"]})]}),u.length>0&&(e=M.filter(e=>e.online&&"working"===e.status).length,d=M.filter(e=>e.online&&"idle"===e.status).length,x=M.filter(e=>!e.online).length,h=M.length||1,(0,s.jsxs)("div",{className:"mb-6",children:[(0,s.jsxs)("div",{className:"flex h-2 rounded-full overflow-hidden bg-gray-800",children:[e>0&&(0,s.jsx)("div",{className:"bg-green-500",style:{width:`${e/h*100}%`}}),d>0&&(0,s.jsx)("div",{className:"bg-cyan-500",style:{width:`${d/h*100}%`}}),x>0&&(0,s.jsx)("div",{className:"bg-gray-600",style:{width:`${x/h*100}%`}})]}),(0,s.jsxs)("div",{className:"flex gap-4 mt-1.5 text-[10px] text-gray-500",children:[e>0&&(0,s.jsxs)("span",{children:[(0,s.jsx)("span",{className:"inline-block w-2 h-2 rounded-full bg-green-500 mr-1"}),e," working"]}),d>0&&(0,s.jsxs)("span",{children:[(0,s.jsx)("span",{className:"inline-block w-2 h-2 rounded-full bg-cyan-500 mr-1"}),d," idle"]}),x>0&&(0,s.jsxs)("span",{children:[(0,s.jsx)("span",{className:"inline-block w-2 h-2 rounded-full bg-gray-600 mr-1"}),x," offline"]})]})]})),(0,s.jsxs)("div",{className:"flex flex-wrap gap-3 mb-6",children:[(0,s.jsx)("input",{type:"text",value:f,onChange:e=>v(e.target.value),placeholder:"Search nodes...",className:"bg-[#111128] border border-[#2a2a4a] rounded-lg px-3 py-2 text-sm text-white placeholder-gray-600 focus:border-blue-500/50 focus:outline-none w-48"}),(0,s.jsxs)("select",{value:b,onChange:e=>j(e.target.value),className:"bg-[#111128] border border-[#2a2a4a] rounded-lg px-3 py-2 text-sm text-white focus:border-blue-500/50 focus:outline-none",children:[(0,s.jsx)("option",{value:"",children:"All"}),(0,s.jsx)("option",{value:"online",children:"Online"}),(0,s.jsx)("option",{value:"offline",children:"Offline"}),(0,s.jsx)("option",{value:"working",children:"Working"}),(0,s.jsx)("option",{value:"idle",children:"Idle"}),(0,s.jsx)("option",{value:"blocked",children:"Blocked"}),(0,s.jsx)("option",{value:"error",children:"Error"})]}),(0,s.jsx)("div",{className:"ml-auto flex rounded-lg border border-[#2a2a4a] bg-[#111128] p-1 text-sm",children:["list","grid"].map(e=>(0,s.jsx)("button",{type:"button",onClick:()=>w(e),className:`rounded-md px-3 py-1.5 transition-colors ${N===e?"bg-cyan-500/10 text-cyan-300":"text-gray-500 hover:text-gray-200"}`,children:"list"===e?"List":"Grid"},e))})]}),g?(0,s.jsx)("div",{className:"animate-pulse space-y-2",children:[1,2,3,4].map(e=>(0,s.jsx)("div",{className:"h-16 bg-gray-800/20 rounded-lg"},e))}):0===M.length?(0,s.jsx)(i.EmptyState,{variant:"nodes",title:"No nodes match your filters",sub:"Try clearing search or status filters, or wait for an agent to register."}):"grid"===N?(0,s.jsx)("div",{className:"grid grid-cols-1 md:grid-cols-2 xl:grid-cols-3 gap-4",children:M.map(e=>{let t=e.online?e.status:"offline",n=A[e.alias]||{},l="number"==typeof e.progress?e.progress:0;return(0,s.jsxs)("div",{className:`relative overflow-hidden rounded-xl border border-[#2a2a4a] bg-[#111128] p-4 transition-colors ${!e.online?"opacity-60":""}`,children:[!e.online&&(0,s.jsx)("div",{className:"pointer-events-none absolute inset-0 flex items-center justify-center",children:(0,s.jsx)("span",{className:"rotate-[-20deg] rounded-xl border border-white/10 bg-black/20 px-5 py-2 text-xl font-bold uppercase tracking-[0.35em] text-white/10",children:"Offline"})}),(0,s.jsxs)("div",{className:"flex items-start gap-3",children:[(0,s.jsx)(o.AliasAvatar,{alias:e.alias,size:36}),(0,s.jsxs)(a.default,{href:`/node?alias=${encodeURIComponent(e.alias)}`,className:"min-w-0 flex-1 hover:text-cyan-300",children:[(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[(0,s.jsx)("span",{className:"truncate text-base font-semibold text-white",children:e.alias}),(0,s.jsx)("span",{className:`shrink-0 rounded-md border px-2 py-0.5 text-[10px] uppercase tracking-wide ${c[t]||c.offline}`,children:t})]}),(0,s.jsxs)("div",{className:"mt-0.5 truncate text-xs text-gray-500",children:[e.agent||"—",(0,s.jsx)("span",{className:"text-gray-700 mx-1.5",children:"·"}),e.server||"—"]})]}),(0,s.jsxs)("div",{className:"flex gap-1.5 shrink-0",children:[(0,s.jsx)("button",{type:"button",onClick:()=>I(e.alias),className:"rounded-lg border border-green-500/20 bg-green-500/10 px-3 py-1.5 text-xs text-green-300 transition-colors hover:bg-green-500/20",children:"Chat"}),(0,s.jsx)("button",{type:"button",onClick:()=>B(e.alias),className:"rounded-lg border border-cyan-500/20 bg-cyan-500/10 px-3 py-1.5 text-xs text-cyan-300 transition-colors hover:bg-cyan-500/20",children:"Task"})]})]}),(0,s.jsxs)("div",{className:"mt-3 rounded-lg border border-[#1a1a2a] bg-[#0a0a15] px-3 py-2 text-xs",children:[(0,s.jsxs)("div",{className:"flex items-center justify-between gap-3",children:[(0,s.jsx)("span",{className:"text-[10px] uppercase tracking-wide text-gray-600",children:"Current task"}),(0,s.jsx)("span",{className:"text-[10px] text-gray-600",children:(0,r.timeAgo)(e.last_seen_at||e.updated_at)})]}),(0,s.jsx)("div",{className:`mt-1 line-clamp-2 ${e.task?"text-gray-300":"text-gray-600 italic"}`,children:e.task||"No current task"})]}),l>0&&l<100&&(0,s.jsx)("div",{className:"mt-3 h-1.5 overflow-hidden rounded-full bg-gray-800",children:(0,s.jsx)("div",{className:"h-1.5 rounded-full bg-cyan-400 transition-all",style:{width:`${l}%`}})}),$===e.alias&&(0,s.jsxs)("div",{className:"mt-4 space-y-2 rounded-lg border border-[#2a2a4a] bg-[#0a0a15] p-3",children:[(0,s.jsx)("input",{type:"text",value:k[e.alias]||"",onChange:s=>E(e.alias,s.target.value),onKeyDown:s=>"Enter"===s.key&&U(e.alias),placeholder:`Send task to ${e.alias}...`,className:"w-full rounded-lg border border-[#2a2a4a] bg-[#050510] px-3 py-2 text-xs text-white placeholder-gray-600 focus:border-cyan-500 focus:outline-none"}),(0,s.jsxs)("div",{className:"flex justify-end gap-2",children:[(0,s.jsx)("button",{type:"button",onClick:()=>S(null),className:"rounded-lg border border-gray-700 px-3 py-1.5 text-xs text-gray-400 hover:text-gray-200",children:"Cancel"}),(0,s.jsx)("button",{type:"button",onClick:()=>U(e.alias),disabled:n.sending||!(k[e.alias]||"").trim(),className:"rounded-lg bg-cyan-600 px-3 py-1.5 text-xs text-white hover:bg-cyan-500 disabled:cursor-not-allowed disabled:bg-gray-700",children:n.sending?"Sending...":"Send"})]})]}),n.error&&(0,s.jsx)("div",{className:"mt-2 text-xs text-red-400",children:n.error}),n.success&&$!==e.alias&&(0,s.jsx)("div",{className:"mt-2 text-xs text-green-400",children:n.success})]},e.alias)})}):(0,s.jsxs)("div",{className:"space-y-2",children:[(0,s.jsxs)("div",{className:"hidden sm:grid sm:grid-cols-12 gap-2 px-4 py-2 text-xs text-gray-600 uppercase",children:[(0,s.jsx)("div",{className:"col-span-1",children:"Status"}),(0,s.jsx)("div",{className:"col-span-2",children:"Alias"}),(0,s.jsx)("div",{className:"col-span-2",children:"Agent"}),(0,s.jsx)("div",{className:"col-span-2",children:"Server"}),(0,s.jsx)("div",{className:"col-span-2",children:"Current Task"}),(0,s.jsx)("div",{className:"col-span-1",children:"Updated"}),(0,s.jsx)("div",{className:"col-span-2 text-right",children:"Actions"})]}),M.map(e=>{let t=e.online?e.status:"offline",n=A[e.alias]||{};return(0,s.jsxs)("div",{className:`rounded-lg border border-[#2a2a4a] bg-[#111128] px-4 py-3 transition-colors hover:border-[#3a3a5a] ${!e.online?"opacity-50":""}`,children:[(0,s.jsxs)("div",{className:"hidden sm:grid sm:grid-cols-12 gap-2 items-center",children:[(0,s.jsx)("div",{className:"col-span-1",children:(0,s.jsx)("span",{className:`text-xs px-2 py-0.5 rounded-md border ${c[t]||c.offline}`,children:t})}),(0,s.jsx)("div",{className:"col-span-2 min-w-0",children:(0,s.jsxs)(a.default,{href:`/node?alias=${encodeURIComponent(e.alias)}`,className:"flex items-center gap-2 min-w-0 hover:text-cyan-300",children:[(0,s.jsx)(o.AliasAvatar,{alias:e.alias,size:20}),(0,s.jsx)("span",{className:"truncate text-sm font-medium text-white",children:e.alias})]})}),(0,s.jsx)("div",{className:"col-span-2 truncate text-xs text-gray-400",children:e.agent||"--"}),(0,s.jsx)("div",{className:"col-span-2 truncate text-xs text-gray-400",children:e.server||"--"}),(0,s.jsx)("div",{className:"col-span-2 truncate text-xs text-gray-500",children:e.task||"--"}),(0,s.jsx)("div",{className:"col-span-1 text-xs text-gray-500",children:(0,r.timeAgo)(e.last_seen_at||e.updated_at)}),(0,s.jsxs)("div",{className:"col-span-2 flex justify-end gap-1.5",children:[(0,s.jsx)("button",{type:"button",onClick:()=>I(e.alias),className:"rounded-lg border border-green-500/20 bg-green-500/10 px-2 py-1 text-xs text-green-300 hover:bg-green-500/20",children:"Chat"}),(0,s.jsx)("button",{type:"button",onClick:()=>B(e.alias),className:"rounded-lg border border-cyan-500/20 bg-cyan-500/10 px-2 py-1 text-xs text-cyan-300 hover:bg-cyan-500/20",children:"Task"})]})]}),(0,s.jsxs)("div",{className:"sm:hidden space-y-2",children:[(0,s.jsxs)("div",{className:"flex items-center gap-2.5",children:[(0,s.jsx)(o.AliasAvatar,{alias:e.alias,size:28}),(0,s.jsxs)(a.default,{href:`/node?alias=${encodeURIComponent(e.alias)}`,className:"min-w-0 flex-1 hover:text-cyan-300",children:[(0,s.jsx)("div",{className:"truncate text-sm font-medium text-white",children:e.alias}),(0,s.jsxs)("div",{className:"truncate text-[10px] text-gray-500",children:[e.agent||"—"," · ",(0,r.timeAgo)(e.last_seen_at||e.updated_at)]})]}),(0,s.jsx)("span",{className:`shrink-0 text-xs px-2 py-0.5 rounded-md border ${c[t]||c.offline}`,children:t})]}),e.task&&(0,s.jsx)("div",{className:"truncate text-xs text-gray-500",children:e.task}),(0,s.jsxs)("div",{className:"flex gap-2",children:[(0,s.jsx)("button",{type:"button",onClick:()=>I(e.alias),className:"flex-1 rounded-lg border border-green-500/20 bg-green-500/10 px-3 py-2 text-xs text-green-300 hover:bg-green-500/20",children:"Chat"}),(0,s.jsx)("button",{type:"button",onClick:()=>B(e.alias),className:"flex-1 rounded-lg border border-cyan-500/20 bg-cyan-500/10 px-3 py-2 text-xs text-cyan-300 hover:bg-cyan-500/20",children:"Send Task"})]})]}),$===e.alias&&(0,s.jsxs)("div",{className:"mt-3 space-y-2 border-t border-[#2a2a4a] pt-3",children:[(0,s.jsx)("input",{type:"text",value:k[e.alias]||"",onChange:s=>E(e.alias,s.target.value),onKeyDown:s=>"Enter"===s.key&&U(e.alias),placeholder:`Send task to ${e.alias}...`,className:"w-full rounded-lg border border-[#2a2a4a] bg-[#0a0a15] px-3 py-2 text-xs text-white placeholder-gray-600 focus:border-cyan-500 focus:outline-none"}),(0,s.jsxs)("div",{className:"flex justify-end gap-2",children:[(0,s.jsx)("button",{type:"button",onClick:()=>S(null),className:"rounded-lg border border-gray-700 px-3 py-1.5 text-xs text-gray-400 hover:text-gray-200",children:"Cancel"}),(0,s.jsx)("button",{type:"button",onClick:()=>U(e.alias),disabled:n.sending||!(k[e.alias]||"").trim(),className:"rounded-lg bg-cyan-600 px-3 py-1.5 text-xs text-white hover:bg-cyan-500 disabled:cursor-not-allowed disabled:bg-gray-700",children:n.sending?"Sending...":"Send"})]})]}),n.error&&(0,s.jsx)("div",{className:"mt-2 text-xs text-red-400",children:n.error}),n.success&&$!==e.alias&&(0,s.jsx)("div",{className:"mt-2 text-xs text-green-400",children:n.success})]},e.alias)})]}),_&&(0,s.jsx)(l.TaskChatPanel,{alias:_,onClose:()=>I(null)})]})}])}]);
|
|
1
|
+
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,18150,e=>{"use strict";e.s(["formatUptime",0,function(e){let s=Math.floor(e/3600),t=Math.floor(e%3600/60);return s>0?`${s}h ${t}m`:`${t}m`},"timeAgo",0,function(e){if(!e)return"--";let s=Math.floor((Date.now()-new Date(e.replace(" ","T")+"Z").getTime())/1e3);return s<60?`${s}s ago`:s<3600?`${Math.floor(s/60)}m ago`:s<86400?`${Math.floor(s/3600)}h ago`:`${Math.floor(s/86400)}d ago`}])},69874,e=>{"use strict";var s=e.i(18050);let t=[180,200,220,270,300,330,30,90];e.s(["AliasAvatar",0,function({alias:e,size:a=28,className:r=""}){let n=function(e){let s=0;for(let t=0;t<e.length;t++)s=31*s+e.charCodeAt(t)>>>0;let a=t[s%t.length];return{bg:`hsl(${a} 55% 22%)`,ring:`hsl(${a} 60% 45%)`,text:`hsl(${a} 80% 78%)`}}(e),l=Math.max(9,Math.round(.42*a));return(0,s.jsx)("span",{className:`anet-alias-avatar inline-flex items-center justify-center rounded-full border shrink-0 font-semibold ${r}`,style:{width:a,height:a,fontSize:l,backgroundColor:n.bg,borderColor:n.ring,color:n.text},title:e,"aria-hidden":!0,children:e?(e.trim().match(/[\p{L}\p{N}]/u)?.[0]||e.trim()[0]||"·").toUpperCase():"·"})}])},95356,e=>{"use strict";var s=e.i(18050),t=e.i(22016);let a={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 r({variant:e,size:t}){let a={width:t,height:t},n={fill:"none",stroke:"currentColor",strokeWidth:1.25,strokeLinecap:"round",strokeLinejoin:"round"};switch(e){case"nodes":return(0,s.jsx)("svg",{viewBox:"0 0 64 64",...a,children:(0,s.jsxs)("g",{...n,children:[(0,s.jsx)("circle",{cx:"32",cy:"14",r:"4"}),(0,s.jsx)("circle",{cx:"14",cy:"44",r:"4"}),(0,s.jsx)("circle",{cx:"50",cy:"44",r:"4"}),(0,s.jsx)("line",{x1:"32",y1:"18",x2:"14",y2:"40",strokeDasharray:"3 3",opacity:"0.6"}),(0,s.jsx)("line",{x1:"32",y1:"18",x2:"50",y2:"40",strokeDasharray:"3 3",opacity:"0.6"}),(0,s.jsx)("line",{x1:"18",y1:"44",x2:"46",y2:"44",strokeDasharray:"3 3",opacity:"0.6"})]})});case"tasks":return(0,s.jsx)("svg",{viewBox:"0 0 64 64",...a,children:(0,s.jsxs)("g",{...n,children:[(0,s.jsx)("rect",{x:"14",y:"14",width:"36",height:"6",rx:"1.5"}),(0,s.jsx)("rect",{x:"14",y:"26",width:"36",height:"6",rx:"1.5",opacity:"0.6"}),(0,s.jsx)("rect",{x:"14",y:"38",width:"36",height:"6",rx:"1.5",opacity:"0.35"})]})});case"messages":return(0,s.jsx)("svg",{viewBox:"0 0 64 64",...a,children:(0,s.jsxs)("g",{...n,children:[(0,s.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,s.jsx)("line",{x1:"22",y1:"28",x2:"42",y2:"28",opacity:"0.5"}),(0,s.jsx)("line",{x1:"22",y1:"34",x2:"36",y2:"34",opacity:"0.5"})]})});case"logs":return(0,s.jsx)("svg",{viewBox:"0 0 64 64",...a,children:(0,s.jsxs)("g",{...n,children:[(0,s.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,s.jsx)("path",{d:"M40 12 v8 h8",opacity:"0.6"}),(0,s.jsx)("line",{x1:"24",y1:"32",x2:"40",y2:"32",opacity:"0.55"}),(0,s.jsx)("line",{x1:"24",y1:"38",x2:"40",y2:"38",opacity:"0.4"}),(0,s.jsx)("line",{x1:"24",y1:"44",x2:"34",y2:"44",opacity:"0.25"})]})});case"tokens":return(0,s.jsx)("svg",{viewBox:"0 0 64 64",...a,children:(0,s.jsxs)("g",{...n,children:[(0,s.jsx)("circle",{cx:"22",cy:"32",r:"8"}),(0,s.jsx)("line",{x1:"30",y1:"32",x2:"54",y2:"32"}),(0,s.jsx)("line",{x1:"44",y1:"32",x2:"44",y2:"38"}),(0,s.jsx)("line",{x1:"50",y1:"32",x2:"50",y2:"40"})]})});case"networks":return(0,s.jsx)("svg",{viewBox:"0 0 64 64",...a,children:(0,s.jsxs)("g",{...n,children:[(0,s.jsx)("circle",{cx:"32",cy:"32",r:"18"}),(0,s.jsx)("ellipse",{cx:"32",cy:"32",rx:"18",ry:"9",opacity:"0.55"}),(0,s.jsx)("line",{x1:"14",y1:"32",x2:"50",y2:"32",opacity:"0.55"}),(0,s.jsx)("line",{x1:"32",y1:"14",x2:"32",y2:"50",opacity:"0.55"})]})});default:return(0,s.jsx)("svg",{viewBox:"0 0 64 64",...a,children:(0,s.jsxs)("g",{...n,children:[(0,s.jsx)("circle",{cx:"32",cy:"32",r:"14",strokeDasharray:"3 3",opacity:"0.6"}),(0,s.jsx)("circle",{cx:"32",cy:"32",r:"3"})]})})}}function n({variant:e="generic",title:l,sub:i,cta:o,compact:c=!1}){let d=a[e],x=l??d.title,h=i??d.sub;return(0,s.jsxs)("div",{className:`text-center ${c?"py-8":"py-16"} px-4`,role:"status",children:[(0,s.jsx)("div",{className:"anet-empty-glyph inline-flex items-center justify-center mb-4 text-gray-500","aria-hidden":!0,children:(0,s.jsx)(r,{variant:e,size:c?40:56})}),(0,s.jsx)("h3",{className:`font-medium text-gray-300 ${c?"text-sm":"text-base"}`,children:x}),h&&(0,s.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}),o&&(0,s.jsx)("div",{className:"mt-4",children:o.href?(0,s.jsxs)(t.default,{href:o.href,className:"inline-flex items-center gap-1.5 text-sm font-medium text-cyan-400 hover:text-cyan-300",children:[o.label,(0,s.jsx)("span",{"aria-hidden":!0,children:"→"})]}):(0,s.jsxs)("button",{onClick:o.onClick,className:"inline-flex items-center gap-1.5 text-sm font-medium text-cyan-400 hover:text-cyan-300",children:[o.label,(0,s.jsx)("span",{"aria-hidden":!0,children:"→"})]})})]})}e.s(["EmptyState",0,n,"NodesEmptyState",0,function({hint:e}){return e?.global_count?(0,s.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,s.jsx)(n,{variant:"nodes",cta:{label:"Run anet quickstart",href:"https://anet.sh"}})}])},65822,e=>{"use strict";var s=e.i(83599),t=e.i(58963);let a=async e=>{let s=await fetch(e);if(401===s.status)throw window.location.assign("/login"),Error("unauthorized");return s.json()},r={refreshInterval:5e3,dedupingInterval:3e3};function n(e,s){if(!s)return e;let t=e.includes("?")?"&":"?";return`${e}${t}network_id=${encodeURIComponent(s)}`}e.s(["useAnetConfig",0,function(){let{data:e}=(0,s.default)("/api/anet/config",a,{refreshInterval:3e4});return{config:e||null}},"useHealth",0,function(){let{data:e,error:t}=(0,s.default)("/api/hub/health",a,r);return{health:e||null,error:t}},"useLicense",0,function(){let{data:e,error:t}=(0,s.default)("/api/hub/license",a,{refreshInterval:6e4});return{license:e?.ok?e:null,error:t}},"useMessages",0,function(e=100){let{networkId:l}=(0,t.useNetworkId)(),{data:i,error:o,isLoading:c}=(0,s.default)(n(`/api/hub/messages?limit=${e}`,l),a,r);return{messages:i?.messages||[],error:o,isLoading:c}},"useSessions",0,function(){let{networkId:e}=(0,t.useNetworkId)(),{data:l,error:i,isLoading:o}=(0,s.default)(n("/api/hub/status",e),a,r);return{sessions:l?.sessions||[],hint:l?._hint,error:i,isLoading:o}},"useStats",0,function(){let{networkId:e}=(0,t.useNetworkId)(),{data:l,error:i}=(0,s.default)(n("/api/hub/stats",e),a,r);return{stats:l?.ok?l:null,error:i}},"useTasks",0,function(e){let{networkId:l}=(0,t.useNetworkId)(),i=new URLSearchParams({limit:"100",...e}).toString(),{data:o,error:c,isLoading:d}=(0,s.default)(n(`/api/hub/tasks?${i}`,l),a,r);return{tasks:o?.tasks||[],count:o?.count??0,source:o?.source,error:c,isLoading:d}}])},86688,e=>{"use strict";var s=e.i(18050),t=e.i(71645),a=e.i(22016),r=e.i(18150),n=e.i(65822),l=e.i(58442),i=e.i(95356),o=e.i(69874);let c={working:"bg-green-500/10 text-green-300 border-green-500/20",idle:"bg-blue-500/10 text-blue-300 border-blue-500/20",blocked:"bg-yellow-500/10 text-yellow-300 border-yellow-500/20",error:"bg-red-500/10 text-red-300 border-red-500/20",offline:"bg-gray-500/10 text-gray-500 border-gray-500/20"};e.s(["default",0,function(){let e,d,x,h,{sessions:u,isLoading:g}=(0,n.useSessions)(),{health:p}=(0,n.useHealth)(),m=p?.sse_sessions||{},y=e=>(e.network_id?m[`${e.network_id}:${e.alias}`]:void 0)??m[e.alias],[b,j]=(0,t.useState)(""),[f,v]=(0,t.useState)(""),[N,w]=(0,t.useState)("list"),[k,C]=(0,t.useState)({}),[$,S]=(0,t.useState)(null),[A,T]=(0,t.useState)({}),[_,I]=(0,t.useState)(null),M=u.map(e=>({...e,online:!!y(e)})).filter(e=>"online"===b?e.online:"offline"===b?!e.online:!b||b===e.status).filter(e=>!f||e.alias.toLowerCase().includes(f.toLowerCase())||(e.agent||"").toLowerCase().includes(f.toLowerCase())).sort((e,s)=>!!s.online-!!e.online||("working"===s.status)-("working"===e.status)),L=u.filter(e=>y(e)).length,B=e=>{S(s=>s===e?null:e),T(s=>({...s,[e]:{}}))},E=(e,s)=>{C(t=>({...t,[e]:s}))},U=async e=>{let s=k[e]?.trim()||"";if(s){T(s=>({...s,[e]:{sending:!0}}));try{let t=await fetch("/api/hub/send",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({alias:e,task:s})}),a=await t.json();if(!t.ok||a?.ok===!1)throw Error(a?.error||"Send failed");C(s=>({...s,[e]:""})),T(s=>({...s,[e]:{success:"Task sent"}})),S(null)}catch(s){T(t=>({...t,[e]:{error:s instanceof Error?s.message:"Send failed"}}))}}};return(0,s.jsxs)("div",{className:"min-h-screen bg-[#0a0a1a] text-gray-100 p-4 sm:p-6 font-mono",children:[(0,s.jsxs)("div",{className:"flex items-center gap-4 mb-6",children:[(0,s.jsx)("h1",{className:"text-2xl font-bold text-white lg:ml-0 ml-10",children:"Nodes"}),(0,s.jsxs)("span",{className:"text-xs bg-green-900/30 text-green-400 px-2 py-0.5 rounded-full border border-green-800/30",children:[L," online"]}),(0,s.jsxs)("span",{className:"text-xs bg-gray-900/30 text-gray-400 px-2 py-0.5 rounded-full border border-gray-800/30",children:[u.length," total"]})]}),u.length>0&&(e=M.filter(e=>e.online&&"working"===e.status).length,d=M.filter(e=>e.online&&"idle"===e.status).length,x=M.filter(e=>!e.online).length,h=M.length||1,(0,s.jsxs)("div",{className:"mb-6",children:[(0,s.jsxs)("div",{className:"flex h-2 rounded-full overflow-hidden bg-gray-800",children:[e>0&&(0,s.jsx)("div",{className:"bg-green-500",style:{width:`${e/h*100}%`}}),d>0&&(0,s.jsx)("div",{className:"bg-cyan-500",style:{width:`${d/h*100}%`}}),x>0&&(0,s.jsx)("div",{className:"bg-gray-600",style:{width:`${x/h*100}%`}})]}),(0,s.jsxs)("div",{className:"flex gap-4 mt-1.5 text-[10px] text-gray-500",children:[e>0&&(0,s.jsxs)("span",{children:[(0,s.jsx)("span",{className:"inline-block w-2 h-2 rounded-full bg-green-500 mr-1"}),e," working"]}),d>0&&(0,s.jsxs)("span",{children:[(0,s.jsx)("span",{className:"inline-block w-2 h-2 rounded-full bg-cyan-500 mr-1"}),d," idle"]}),x>0&&(0,s.jsxs)("span",{children:[(0,s.jsx)("span",{className:"inline-block w-2 h-2 rounded-full bg-gray-600 mr-1"}),x," offline"]})]})]})),(0,s.jsxs)("div",{className:"flex flex-wrap gap-3 mb-6",children:[(0,s.jsx)("input",{type:"text",value:f,onChange:e=>v(e.target.value),placeholder:"Search nodes...",className:"bg-[#111128] border border-[#2a2a4a] rounded-lg px-3 py-2 text-sm text-white placeholder-gray-600 focus:border-blue-500/50 focus:outline-none w-48"}),(0,s.jsxs)("select",{value:b,onChange:e=>j(e.target.value),className:"bg-[#111128] border border-[#2a2a4a] rounded-lg px-3 py-2 text-sm text-white focus:border-blue-500/50 focus:outline-none",children:[(0,s.jsx)("option",{value:"",children:"All"}),(0,s.jsx)("option",{value:"online",children:"Online"}),(0,s.jsx)("option",{value:"offline",children:"Offline"}),(0,s.jsx)("option",{value:"working",children:"Working"}),(0,s.jsx)("option",{value:"idle",children:"Idle"}),(0,s.jsx)("option",{value:"blocked",children:"Blocked"}),(0,s.jsx)("option",{value:"error",children:"Error"})]}),(0,s.jsx)("div",{className:"ml-auto flex rounded-lg border border-[#2a2a4a] bg-[#111128] p-1 text-sm",children:["list","grid"].map(e=>(0,s.jsx)("button",{type:"button",onClick:()=>w(e),className:`rounded-md px-3 py-1.5 transition-colors ${N===e?"bg-cyan-500/10 text-cyan-300":"text-gray-500 hover:text-gray-200"}`,children:"list"===e?"List":"Grid"},e))})]}),g?(0,s.jsx)("div",{className:"animate-pulse space-y-2",children:[1,2,3,4].map(e=>(0,s.jsx)("div",{className:"h-16 bg-gray-800/20 rounded-lg"},e))}):0===M.length?(0,s.jsx)(i.EmptyState,{variant:"nodes",title:"No nodes match your filters",sub:"Try clearing search or status filters, or wait for an agent to register."}):"grid"===N?(0,s.jsx)("div",{className:"grid grid-cols-1 md:grid-cols-2 xl:grid-cols-3 gap-4",children:M.map(e=>{let t=e.online?e.status:"offline",n=A[e.alias]||{},l="number"==typeof e.progress?e.progress:0;return(0,s.jsxs)("div",{className:`relative overflow-hidden rounded-xl border border-[#2a2a4a] bg-[#111128] p-4 transition-colors ${!e.online?"opacity-60":""}`,children:[!e.online&&(0,s.jsx)("div",{className:"pointer-events-none absolute inset-0 flex items-center justify-center",children:(0,s.jsx)("span",{className:"rotate-[-20deg] rounded-xl border border-white/10 bg-black/20 px-5 py-2 text-xl font-bold uppercase tracking-[0.35em] text-white/10",children:"Offline"})}),(0,s.jsxs)("div",{className:"flex items-start gap-3",children:[(0,s.jsx)(o.AliasAvatar,{alias:e.alias,size:36}),(0,s.jsxs)(a.default,{href:`/node?alias=${encodeURIComponent(e.alias)}`,className:"min-w-0 flex-1 hover:text-cyan-300",children:[(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[(0,s.jsx)("span",{className:"truncate text-base font-semibold text-white",children:e.alias}),(0,s.jsx)("span",{className:`shrink-0 rounded-md border px-2 py-0.5 text-[10px] uppercase tracking-wide ${c[t]||c.offline}`,children:t})]}),(0,s.jsxs)("div",{className:"mt-0.5 truncate text-xs text-gray-500",children:[e.agent||"—",(0,s.jsx)("span",{className:"text-gray-700 mx-1.5",children:"·"}),e.server||"—"]})]}),(0,s.jsxs)("div",{className:"flex gap-1.5 shrink-0",children:[(0,s.jsx)("button",{type:"button",onClick:()=>I(e.alias),className:"rounded-lg border border-green-500/20 bg-green-500/10 px-3 py-1.5 text-xs text-green-300 transition-colors hover:bg-green-500/20",children:"Chat"}),(0,s.jsx)("button",{type:"button",onClick:()=>B(e.alias),className:"rounded-lg border border-cyan-500/20 bg-cyan-500/10 px-3 py-1.5 text-xs text-cyan-300 transition-colors hover:bg-cyan-500/20",children:"Task"})]})]}),(0,s.jsxs)("div",{className:"mt-3 rounded-lg border border-[#1a1a2a] bg-[#0a0a15] px-3 py-2 text-xs",children:[(0,s.jsxs)("div",{className:"flex items-center justify-between gap-3",children:[(0,s.jsx)("span",{className:"text-[10px] uppercase tracking-wide text-gray-600",children:"Current task"}),(0,s.jsx)("span",{className:"text-[10px] text-gray-600",children:(0,r.timeAgo)(e.last_seen_at||e.updated_at)})]}),(0,s.jsx)("div",{className:`mt-1 line-clamp-2 ${e.task?"text-gray-300":"text-gray-600 italic"}`,children:e.task||"No current task"})]}),l>0&&l<100&&(0,s.jsx)("div",{className:"mt-3 h-1.5 overflow-hidden rounded-full bg-gray-800",children:(0,s.jsx)("div",{className:"h-1.5 rounded-full bg-cyan-400 transition-all",style:{width:`${l}%`}})}),$===e.alias&&(0,s.jsxs)("div",{className:"mt-4 space-y-2 rounded-lg border border-[#2a2a4a] bg-[#0a0a15] p-3",children:[(0,s.jsx)("input",{type:"text",value:k[e.alias]||"",onChange:s=>E(e.alias,s.target.value),onKeyDown:s=>"Enter"===s.key&&U(e.alias),placeholder:`Send task to ${e.alias}...`,className:"w-full rounded-lg border border-[#2a2a4a] bg-[#050510] px-3 py-2 text-xs text-white placeholder-gray-600 focus:border-cyan-500 focus:outline-none"}),(0,s.jsxs)("div",{className:"flex justify-end gap-2",children:[(0,s.jsx)("button",{type:"button",onClick:()=>S(null),className:"rounded-lg border border-gray-700 px-3 py-1.5 text-xs text-gray-400 hover:text-gray-200",children:"Cancel"}),(0,s.jsx)("button",{type:"button",onClick:()=>U(e.alias),disabled:n.sending||!(k[e.alias]||"").trim(),className:"rounded-lg bg-cyan-600 px-3 py-1.5 text-xs text-white hover:bg-cyan-500 disabled:cursor-not-allowed disabled:bg-gray-700",children:n.sending?"Sending...":"Send"})]})]}),n.error&&(0,s.jsx)("div",{className:"mt-2 text-xs text-red-400",children:n.error}),n.success&&$!==e.alias&&(0,s.jsx)("div",{className:"mt-2 text-xs text-green-400",children:n.success})]},e.alias)})}):(0,s.jsxs)("div",{className:"space-y-2",children:[(0,s.jsxs)("div",{className:"hidden sm:grid sm:grid-cols-12 gap-2 px-4 py-2 text-xs text-gray-600 uppercase",children:[(0,s.jsx)("div",{className:"col-span-1",children:"Status"}),(0,s.jsx)("div",{className:"col-span-2",children:"Alias"}),(0,s.jsx)("div",{className:"col-span-2",children:"Agent"}),(0,s.jsx)("div",{className:"col-span-2",children:"Server"}),(0,s.jsx)("div",{className:"col-span-2",children:"Current Task"}),(0,s.jsx)("div",{className:"col-span-1",children:"Updated"}),(0,s.jsx)("div",{className:"col-span-2 text-right",children:"Actions"})]}),M.map(e=>{let t=e.online?e.status:"offline",n=A[e.alias]||{};return(0,s.jsxs)("div",{className:`rounded-lg border border-[#2a2a4a] bg-[#111128] px-4 py-3 transition-colors hover:border-[#3a3a5a] ${!e.online?"opacity-50":""}`,children:[(0,s.jsxs)("div",{className:"hidden sm:grid sm:grid-cols-12 gap-2 items-center",children:[(0,s.jsx)("div",{className:"col-span-1",children:(0,s.jsx)("span",{className:`text-xs px-2 py-0.5 rounded-md border ${c[t]||c.offline}`,children:t})}),(0,s.jsx)("div",{className:"col-span-2 min-w-0",children:(0,s.jsxs)(a.default,{href:`/node?alias=${encodeURIComponent(e.alias)}`,className:"flex items-center gap-2 min-w-0 hover:text-cyan-300",children:[(0,s.jsx)(o.AliasAvatar,{alias:e.alias,size:20}),(0,s.jsx)("span",{className:"truncate text-sm font-medium text-white",children:e.alias})]})}),(0,s.jsx)("div",{className:"col-span-2 truncate text-xs text-gray-400",children:e.agent||"--"}),(0,s.jsx)("div",{className:"col-span-2 truncate text-xs text-gray-400",children:e.server||"--"}),(0,s.jsx)("div",{className:"col-span-2 truncate text-xs text-gray-500",children:e.task||"--"}),(0,s.jsx)("div",{className:"col-span-1 text-xs text-gray-500",children:(0,r.timeAgo)(e.last_seen_at||e.updated_at)}),(0,s.jsxs)("div",{className:"col-span-2 flex justify-end gap-1.5",children:[(0,s.jsx)("button",{type:"button",onClick:()=>I(e.alias),className:"rounded-lg border border-green-500/20 bg-green-500/10 px-2 py-1 text-xs text-green-300 hover:bg-green-500/20",children:"Chat"}),(0,s.jsx)("button",{type:"button",onClick:()=>B(e.alias),className:"rounded-lg border border-cyan-500/20 bg-cyan-500/10 px-2 py-1 text-xs text-cyan-300 hover:bg-cyan-500/20",children:"Task"})]})]}),(0,s.jsxs)("div",{className:"sm:hidden space-y-2",children:[(0,s.jsxs)("div",{className:"flex items-center gap-2.5",children:[(0,s.jsx)(o.AliasAvatar,{alias:e.alias,size:28}),(0,s.jsxs)(a.default,{href:`/node?alias=${encodeURIComponent(e.alias)}`,className:"min-w-0 flex-1 hover:text-cyan-300",children:[(0,s.jsx)("div",{className:"truncate text-sm font-medium text-white",children:e.alias}),(0,s.jsxs)("div",{className:"truncate text-[10px] text-gray-500",children:[e.agent||"—"," · ",(0,r.timeAgo)(e.last_seen_at||e.updated_at)]})]}),(0,s.jsx)("span",{className:`shrink-0 text-xs px-2 py-0.5 rounded-md border ${c[t]||c.offline}`,children:t})]}),e.task&&(0,s.jsx)("div",{className:"truncate text-xs text-gray-500",children:e.task}),(0,s.jsxs)("div",{className:"flex gap-2",children:[(0,s.jsx)("button",{type:"button",onClick:()=>I(e.alias),className:"flex-1 rounded-lg border border-green-500/20 bg-green-500/10 px-3 py-2 text-xs text-green-300 hover:bg-green-500/20",children:"Chat"}),(0,s.jsx)("button",{type:"button",onClick:()=>B(e.alias),className:"flex-1 rounded-lg border border-cyan-500/20 bg-cyan-500/10 px-3 py-2 text-xs text-cyan-300 hover:bg-cyan-500/20",children:"Send Task"})]})]}),$===e.alias&&(0,s.jsxs)("div",{className:"mt-3 space-y-2 border-t border-[#2a2a4a] pt-3",children:[(0,s.jsx)("input",{type:"text",value:k[e.alias]||"",onChange:s=>E(e.alias,s.target.value),onKeyDown:s=>"Enter"===s.key&&U(e.alias),placeholder:`Send task to ${e.alias}...`,className:"w-full rounded-lg border border-[#2a2a4a] bg-[#0a0a15] px-3 py-2 text-xs text-white placeholder-gray-600 focus:border-cyan-500 focus:outline-none"}),(0,s.jsxs)("div",{className:"flex justify-end gap-2",children:[(0,s.jsx)("button",{type:"button",onClick:()=>S(null),className:"rounded-lg border border-gray-700 px-3 py-1.5 text-xs text-gray-400 hover:text-gray-200",children:"Cancel"}),(0,s.jsx)("button",{type:"button",onClick:()=>U(e.alias),disabled:n.sending||!(k[e.alias]||"").trim(),className:"rounded-lg bg-cyan-600 px-3 py-1.5 text-xs text-white hover:bg-cyan-500 disabled:cursor-not-allowed disabled:bg-gray-700",children:n.sending?"Sending...":"Send"})]})]}),n.error&&(0,s.jsx)("div",{className:"mt-2 text-xs text-red-400",children:n.error}),n.success&&$!==e.alias&&(0,s.jsx)("div",{className:"mt-2 text-xs text-green-400",children:n.success})]},e.alias)})]}),_&&(0,s.jsx)(l.TaskChatPanel,{alias:_,onClose:()=>I(null)})]})}])}]);
|
package/.next/trace
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
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":
|
|
1
|
+
[{"name":"generate-buildid","duration":302,"timestamp":193534867126,"id":4,"parentId":1,"tags":{},"startTime":1778565020692,"traceId":"b953c42af2628d1a"},{"name":"load-custom-routes","duration":538,"timestamp":193534867573,"id":5,"parentId":1,"tags":{},"startTime":1778565020692,"traceId":"b953c42af2628d1a"},{"name":"create-dist-dir","duration":567,"timestamp":193534868367,"id":6,"parentId":1,"tags":{},"startTime":1778565020693,"traceId":"b953c42af2628d1a"},{"name":"clean","duration":645,"timestamp":193534869959,"id":7,"parentId":1,"tags":{},"startTime":1778565020695,"traceId":"b953c42af2628d1a"},{"name":"discover-routes","duration":12284,"timestamp":193535003563,"id":8,"parentId":1,"tags":{},"startTime":1778565020828,"traceId":"b953c42af2628d1a"},{"name":"create-root-mapping","duration":131,"timestamp":193535015930,"id":9,"parentId":1,"tags":{},"startTime":1778565020841,"traceId":"b953c42af2628d1a"},{"name":"generate-route-types","duration":38758,"timestamp":193535018381,"id":10,"parentId":1,"tags":{},"startTime":1778565020843,"traceId":"b953c42af2628d1a"},{"name":"public-dir-conflict-check","duration":98,"timestamp":193535057308,"id":11,"parentId":1,"tags":{},"startTime":1778565020882,"traceId":"b953c42af2628d1a"},{"name":"generate-routes-manifest","duration":4244,"timestamp":193535057583,"id":12,"parentId":1,"tags":{},"startTime":1778565020882,"traceId":"b953c42af2628d1a"},{"name":"run-turbopack","duration":12417567,"timestamp":193535070193,"id":14,"parentId":1,"tags":{},"startTime":1778565020895,"traceId":"b953c42af2628d1a"},{"name":"turbopack-build-events","duration":77,"timestamp":193535491437,"id":15,"parentId":1,"tags":{},"startTime":1778565021316,"traceId":"b953c42af2628d1a"},{"name":"run-typescript","duration":9856766,"timestamp":193547496313,"id":16,"parentId":1,"tags":{},"startTime":1778565033321,"traceId":"b953c42af2628d1a"},{"name":"generate-required-server-files","duration":2658,"timestamp":193557354238,"id":18,"parentId":1,"tags":{},"startTime":1778565043179,"traceId":"b953c42af2628d1a"},{"name":"check-static-error-page","duration":21266,"timestamp":193557450777,"id":20,"parentId":19,"tags":{},"startTime":1778565043275,"traceId":"b953c42af2628d1a"},{"name":"is-page-static","duration":472277,"timestamp":193557474312,"id":62,"parentId":22,"tags":{},"startTime":1778565043299,"traceId":"b953c42af2628d1a"},{"name":"check-page","duration":492733,"timestamp":193557453978,"id":22,"parentId":19,"tags":{"page":"/_global-error"},"startTime":1778565043279,"traceId":"b953c42af2628d1a"},{"name":"is-page-static","duration":528018,"timestamp":193557473981,"id":61,"parentId":21,"tags":{},"startTime":1778565043299,"traceId":"b953c42af2628d1a"},{"name":"check-page","duration":550196,"timestamp":193557451900,"id":21,"parentId":19,"tags":{"page":"/_not-found"},"startTime":1778565043277,"traceId":"b953c42af2628d1a"},{"name":"is-page-static","duration":644957,"timestamp":193557474397,"id":63,"parentId":25,"tags":{},"startTime":1778565043299,"traceId":"b953c42af2628d1a"},{"name":"check-page","duration":662762,"timestamp":193557456667,"id":25,"parentId":19,"tags":{"page":"/api/auth/login"},"startTime":1778565043281,"traceId":"b953c42af2628d1a"},{"name":"is-page-static","duration":651983,"timestamp":193557474578,"id":65,"parentId":27,"tags":{},"startTime":1778565043299,"traceId":"b953c42af2628d1a"},{"name":"check-page","duration":669583,"timestamp":193557457050,"id":27,"parentId":19,"tags":{"page":"/api/auth/v3"},"startTime":1778565043282,"traceId":"b953c42af2628d1a"},{"name":"is-page-static","duration":659977,"timestamp":193557474537,"id":64,"parentId":26,"tags":{},"startTime":1778565043299,"traceId":"b953c42af2628d1a"},{"name":"check-page","duration":677703,"timestamp":193557456879,"id":26,"parentId":19,"tags":{"page":"/api/auth/logout"},"startTime":1778565043282,"traceId":"b953c42af2628d1a"},{"name":"is-page-static","duration":671051,"timestamp":193557474657,"id":67,"parentId":29,"tags":{},"startTime":1778565043299,"traceId":"b953c42af2628d1a"},{"name":"check-page","duration":688430,"timestamp":193557457348,"id":29,"parentId":19,"tags":{"page":"/api/hub/auth"},"startTime":1778565043282,"traceId":"b953c42af2628d1a"},{"name":"is-page-static","duration":671346,"timestamp":193557474612,"id":66,"parentId":28,"tags":{},"startTime":1778565043299,"traceId":"b953c42af2628d1a"},{"name":"check-page","duration":688788,"timestamp":193557457201,"id":28,"parentId":19,"tags":{"page":"/api/hub/audit-log"},"startTime":1778565043282,"traceId":"b953c42af2628d1a"},{"name":"is-page-static","duration":684662,"timestamp":193557474727,"id":69,"parentId":32,"tags":{},"startTime":1778565043299,"traceId":"b953c42af2628d1a"},{"name":"check-page","duration":700333,"timestamp":193557459179,"id":32,"parentId":19,"tags":{"page":"/api/hub/health"},"startTime":1778565043284,"traceId":"b953c42af2628d1a"},{"name":"is-page-static","duration":691487,"timestamp":193557474876,"id":71,"parentId":34,"tags":{},"startTime":1778565043300,"traceId":"b953c42af2628d1a"},{"name":"check-page","duration":706207,"timestamp":193557460222,"id":34,"parentId":19,"tags":{"page":"/api/hub/license"},"startTime":1778565043285,"traceId":"b953c42af2628d1a"},{"name":"is-page-static","duration":704957,"timestamp":193557474831,"id":70,"parentId":33,"tags":{},"startTime":1778565043300,"traceId":"b953c42af2628d1a"},{"name":"check-page","duration":719856,"timestamp":193557459993,"id":33,"parentId":19,"tags":{"page":"/api/hub/inbox"},"startTime":1778565043285,"traceId":"b953c42af2628d1a"},{"name":"is-page-static","duration":722021,"timestamp":193557474896,"id":72,"parentId":35,"tags":{},"startTime":1778565043300,"traceId":"b953c42af2628d1a"},{"name":"check-page","duration":736619,"timestamp":193557460376,"id":35,"parentId":19,"tags":{"page":"/api/hub/messages"},"startTime":1778565043285,"traceId":"b953c42af2628d1a"},{"name":"is-page-static","duration":741469,"timestamp":193557474692,"id":68,"parentId":30,"tags":{},"startTime":1778565043299,"traceId":"b953c42af2628d1a"},{"name":"check-page","duration":758545,"timestamp":193557457680,"id":30,"parentId":19,"tags":{"page":"/api/hub/broadcast"},"startTime":1778565043282,"traceId":"b953c42af2628d1a"},{"name":"is-page-static","duration":743614,"timestamp":193557474983,"id":74,"parentId":37,"tags":{},"startTime":1778565043300,"traceId":"b953c42af2628d1a"},{"name":"check-page","duration":757766,"timestamp":193557460884,"id":37,"parentId":19,"tags":{"page":"/api/hub/nodes"},"startTime":1778565043286,"traceId":"b953c42af2628d1a"},{"name":"is-page-static","duration":746276,"timestamp":193557474963,"id":73,"parentId":36,"tags":{},"startTime":1778565043300,"traceId":"b953c42af2628d1a"},{"name":"check-page","duration":760543,"timestamp":193557460747,"id":36,"parentId":19,"tags":{"page":"/api/hub/networks"},"startTime":1778565043285,"traceId":"b953c42af2628d1a"},{"name":"is-page-static","duration":751707,"timestamp":193557474996,"id":76,"parentId":39,"tags":{},"startTime":1778565043300,"traceId":"b953c42af2628d1a"},{"name":"check-page","duration":765652,"timestamp":193557461107,"id":39,"parentId":19,"tags":{"page":"/api/hub/send"},"startTime":1778565043286,"traceId":"b953c42af2628d1a"},{"name":"is-page-static","duration":754190,"timestamp":193557475015,"id":77,"parentId":40,"tags":{},"startTime":1778565043300,"traceId":"b953c42af2628d1a"},{"name":"check-page","duration":768065,"timestamp":193557461188,"id":40,"parentId":19,"tags":{"page":"/api/hub/server-logs"},"startTime":1778565043286,"traceId":"b953c42af2628d1a"},{"name":"is-page-static","duration":759384,"timestamp":193557475021,"id":78,"parentId":41,"tags":{},"startTime":1778565043300,"traceId":"b953c42af2628d1a"},{"name":"check-page","duration":773134,"timestamp":193557461335,"id":41,"parentId":19,"tags":{"page":"/api/hub/session"},"startTime":1778565043286,"traceId":"b953c42af2628d1a"},{"name":"is-page-static","duration":761330,"timestamp":193557475027,"id":79,"parentId":42,"tags":{},"startTime":1778565043300,"traceId":"b953c42af2628d1a"},{"name":"check-page","duration":774974,"timestamp":193557461438,"id":42,"parentId":19,"tags":{"page":"/api/hub/stats"},"startTime":1778565043286,"traceId":"b953c42af2628d1a"},{"name":"is-page-static","duration":769848,"timestamp":193557474991,"id":75,"parentId":38,"tags":{},"startTime":1778565043300,"traceId":"b953c42af2628d1a"},{"name":"check-page","duration":783884,"timestamp":193557461021,"id":38,"parentId":19,"tags":{"page":"/api/hub/register"},"startTime":1778565043286,"traceId":"b953c42af2628d1a"},{"name":"is-page-static","duration":770049,"timestamp":193557475033,"id":80,"parentId":43,"tags":{},"startTime":1778565043300,"traceId":"b953c42af2628d1a"},{"name":"check-page","duration":783600,"timestamp":193557461513,"id":43,"parentId":19,"tags":{"page":"/api/hub/status"},"startTime":1778565043286,"traceId":"b953c42af2628d1a"},{"name":"is-page-static","duration":771391,"timestamp":193557475038,"id":81,"parentId":44,"tags":{},"startTime":1778565043300,"traceId":"b953c42af2628d1a"},{"name":"check-page","duration":784878,"timestamp":193557461596,"id":44,"parentId":19,"tags":{"page":"/api/hub/task-events"},"startTime":1778565043286,"traceId":"b953c42af2628d1a"},{"name":"is-page-static","duration":782787,"timestamp":193557475044,"id":82,"parentId":45,"tags":{},"startTime":1778565043300,"traceId":"b953c42af2628d1a"},{"name":"check-page","duration":796212,"timestamp":193557461675,"id":45,"parentId":19,"tags":{"page":"/api/hub/tasks"},"startTime":1778565043286,"traceId":"b953c42af2628d1a"},{"name":"is-page-static","duration":784021,"timestamp":193557475050,"id":83,"parentId":46,"tags":{},"startTime":1778565043300,"traceId":"b953c42af2628d1a"},{"name":"check-page","duration":797347,"timestamp":193557461775,"id":46,"parentId":19,"tags":{"page":"/api/hub/tmux"},"startTime":1778565043286,"traceId":"b953c42af2628d1a"},{"name":"is-page-static","duration":784216,"timestamp":193557475056,"id":84,"parentId":47,"tags":{},"startTime":1778565043300,"traceId":"b953c42af2628d1a"},{"name":"check-page","duration":797435,"timestamp":193557461856,"id":47,"parentId":19,"tags":{"page":"/api/hub/tokens"},"startTime":1778565043287,"traceId":"b953c42af2628d1a"},{"name":"is-page-static","duration":789128,"timestamp":193557477228,"id":86,"parentId":24,"tags":{},"startTime":1778565043302,"traceId":"b953c42af2628d1a"},{"name":"check-page","duration":812077,"timestamp":193557454364,"id":24,"parentId":19,"tags":{"page":"/api/anet/config"},"startTime":1778565043279,"traceId":"b953c42af2628d1a"},{"name":"is-page-static","duration":775570,"timestamp":193557490987,"id":87,"parentId":31,"tags":{},"startTime":1778565043316,"traceId":"b953c42af2628d1a"},{"name":"check-page","duration":808730,"timestamp":193557457847,"id":31,"parentId":19,"tags":{"page":"/api/hub/events"},"startTime":1778565043283,"traceId":"b953c42af2628d1a"},{"name":"is-page-static","duration":791611,"timestamp":193557475061,"id":85,"parentId":48,"tags":{},"startTime":1778565043300,"traceId":"b953c42af2628d1a"},{"name":"check-page","duration":804766,"timestamp":193557461929,"id":48,"parentId":19,"tags":{"page":"/favicon.ico"},"startTime":1778565043287,"traceId":"b953c42af2628d1a"},{"name":"is-page-static","duration":730840,"timestamp":193557553657,"id":88,"parentId":23,"tags":{},"startTime":1778565043378,"traceId":"b953c42af2628d1a"},{"name":"check-page","duration":830325,"timestamp":193557454226,"id":23,"parentId":19,"tags":{"page":"/admin"},"startTime":1778565043279,"traceId":"b953c42af2628d1a"},{"name":"is-page-static","duration":746106,"timestamp":193557553713,"id":91,"parentId":51,"tags":{},"startTime":1778565043378,"traceId":"b953c42af2628d1a"},{"name":"check-page","duration":837347,"timestamp":193557462536,"id":51,"parentId":19,"tags":{"page":"/messages"},"startTime":1778565043287,"traceId":"b953c42af2628d1a"},{"name":"is-page-static","duration":759983,"timestamp":193557553719,"id":92,"parentId":52,"tags":{},"startTime":1778565043378,"traceId":"b953c42af2628d1a"},{"name":"check-page","duration":851045,"timestamp":193557462709,"id":52,"parentId":19,"tags":{"page":"/node"},"startTime":1778565043287,"traceId":"b953c42af2628d1a"},{"name":"is-page-static","duration":777029,"timestamp":193557553727,"id":93,"parentId":53,"tags":{},"startTime":1778565043378,"traceId":"b953c42af2628d1a"},{"name":"check-page","duration":867938,"timestamp":193557462876,"id":53,"parentId":19,"tags":{"page":"/nodes"},"startTime":1778565043288,"traceId":"b953c42af2628d1a"},{"name":"is-page-static","duration":788549,"timestamp":193557553736,"id":94,"parentId":55,"tags":{},"startTime":1778565043378,"traceId":"b953c42af2628d1a"},{"name":"check-page","duration":877296,"timestamp":193557465047,"id":55,"parentId":19,"tags":{"page":"/server-logs"},"startTime":1778565043290,"traceId":"b953c42af2628d1a"},{"name":"is-page-static","duration":808449,"timestamp":193557553694,"id":89,"parentId":49,"tags":{},"startTime":1778565043378,"traceId":"b953c42af2628d1a"},{"name":"check-page","duration":899928,"timestamp":193557462290,"id":49,"parentId":19,"tags":{"page":"/login"},"startTime":1778565043287,"traceId":"b953c42af2628d1a"},{"name":"is-page-static","duration":816441,"timestamp":193557553741,"id":95,"parentId":56,"tags":{},"startTime":1778565043378,"traceId":"b953c42af2628d1a"},{"name":"check-page","duration":904967,"timestamp":193557465271,"id":56,"parentId":19,"tags":{"page":"/settings/networks"},"startTime":1778565043290,"traceId":"b953c42af2628d1a"},{"name":"is-page-static","duration":822347,"timestamp":193557553749,"id":96,"parentId":58,"tags":{},"startTime":1778565043378,"traceId":"b953c42af2628d1a"},{"name":"check-page","duration":904645,"timestamp":193557471514,"id":58,"parentId":19,"tags":{"page":"/settings/tokens"},"startTime":1778565043296,"traceId":"b953c42af2628d1a"},{"name":"is-page-static","duration":822607,"timestamp":193557553704,"id":90,"parentId":50,"tags":{},"startTime":1778565043378,"traceId":"b953c42af2628d1a"},{"name":"check-page","duration":913916,"timestamp":193557462415,"id":50,"parentId":19,"tags":{"page":"/logs"},"startTime":1778565043287,"traceId":"b953c42af2628d1a"},{"name":"is-page-static","duration":826636,"timestamp":193557553770,"id":98,"parentId":60,"tags":{},"startTime":1778565043378,"traceId":"b953c42af2628d1a"},{"name":"check-page","duration":908642,"timestamp":193557471815,"id":60,"parentId":19,"tags":{"page":"/tasks"},"startTime":1778565043297,"traceId":"b953c42af2628d1a"},{"name":"is-page-static","duration":834882,"timestamp":193557553788,"id":100,"parentId":57,"tags":{},"startTime":1778565043378,"traceId":"b953c42af2628d1a"},{"name":"check-page","duration":920904,"timestamp":193557467819,"id":57,"parentId":19,"tags":{"page":"/settings"},"startTime":1778565043293,"traceId":"b953c42af2628d1a"},{"name":"is-page-static","duration":835917,"timestamp":193557553757,"id":97,"parentId":59,"tags":{},"startTime":1778565043378,"traceId":"b953c42af2628d1a"},{"name":"check-page","duration":918034,"timestamp":193557471694,"id":59,"parentId":19,"tags":{"page":"/tasks/[id]"},"startTime":1778565043296,"traceId":"b953c42af2628d1a"},{"name":"is-page-static","duration":837077,"timestamp":193557553780,"id":99,"parentId":54,"tags":{},"startTime":1778565043378,"traceId":"b953c42af2628d1a"},{"name":"check-page","duration":927817,"timestamp":193557463081,"id":54,"parentId":19,"tags":{"page":"/"},"startTime":1778565043288,"traceId":"b953c42af2628d1a"},{"name":"static-check","duration":941639,"timestamp":193557449293,"id":19,"parentId":1,"tags":{},"startTime":1778565043274,"traceId":"b953c42af2628d1a"},{"name":"write-routes-manifest","duration":407,"timestamp":193558397645,"id":102,"parentId":1,"tags":{},"startTime":1778565044222,"traceId":"b953c42af2628d1a"},{"name":"load-dotenv","duration":49,"timestamp":193558410523,"id":105,"parentId":104,"tags":{},"startTime":1778565044235,"traceId":"b953c42af2628d1a"},{"name":"run-export-path-map","duration":1047,"timestamp":193558413112,"id":106,"parentId":104,"tags":{},"startTime":1778565044238,"traceId":"b953c42af2628d1a"},{"name":"next-export","duration":640918,"timestamp":193558409267,"id":104,"parentId":1,"tags":{},"startTime":1778565044234,"traceId":"b953c42af2628d1a"},{"name":"move-exported-app-not-found-","duration":1670,"timestamp":193559053763,"id":107,"parentId":103,"tags":{},"startTime":1778565044878,"traceId":"b953c42af2628d1a"},{"name":"move-exported-app-global-error-","duration":495,"timestamp":193559055539,"id":108,"parentId":103,"tags":{},"startTime":1778565044880,"traceId":"b953c42af2628d1a"}]
|
|
2
|
+
[{"name":"static-generation","duration":658421,"timestamp":193558401857,"id":103,"parentId":1,"tags":{},"startTime":1778565044227,"traceId":"b953c42af2628d1a"},{"name":"write-routes-manifest","duration":375,"timestamp":193559060483,"id":109,"parentId":1,"tags":{},"startTime":1778565044885,"traceId":"b953c42af2628d1a"},{"name":"print-tree-view","duration":3703,"timestamp":193559067231,"id":110,"parentId":1,"tags":{},"startTime":1778565044892,"traceId":"b953c42af2628d1a"},{"name":"write-route-bundle-stats","duration":14684,"timestamp":193559070981,"id":111,"parentId":1,"tags":{},"startTime":1778565044896,"traceId":"b953c42af2628d1a"},{"name":"telemetry-flush","duration":222631,"timestamp":193559085704,"id":112,"parentId":1,"tags":{},"startTime":1778565044910,"traceId":"b953c42af2628d1a"},{"name":"next-build","duration":24498249,"timestamp":193534810127,"id":1,"tags":{"buildMode":"default","version":"16.2.3","bundler":"turbopack","has-custom-webpack-config":"false","use-build-worker":"true"},"startTime":1778565020635,"traceId":"b953c42af2628d1a"}]
|
package/.next/trace-build
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
[{"name":"run-turbopack","duration":
|
|
1
|
+
[{"name":"run-turbopack","duration":12417567,"timestamp":193535070193,"id":14,"parentId":1,"tags":{},"startTime":1778565020895,"traceId":"b953c42af2628d1a"},{"name":"turbopack-build-events","duration":77,"timestamp":193535491437,"id":15,"parentId":1,"tags":{},"startTime":1778565021316,"traceId":"b953c42af2628d1a"},{"name":"run-typescript","duration":9856766,"timestamp":193547496313,"id":16,"parentId":1,"tags":{},"startTime":1778565033321,"traceId":"b953c42af2628d1a"},{"name":"static-check","duration":941639,"timestamp":193557449293,"id":19,"parentId":1,"tags":{},"startTime":1778565043274,"traceId":"b953c42af2628d1a"},{"name":"static-generation","duration":658421,"timestamp":193558401857,"id":103,"parentId":1,"tags":{},"startTime":1778565044227,"traceId":"b953c42af2628d1a"},{"name":"telemetry-flush","duration":222631,"timestamp":193559085704,"id":112,"parentId":1,"tags":{},"startTime":1778565044910,"traceId":"b953c42af2628d1a"},{"name":"next-build","duration":24498249,"timestamp":193534810127,"id":1,"tags":{"buildMode":"default","version":"16.2.3","bundler":"turbopack","has-custom-webpack-config":"false","use-build-worker":"true"},"startTime":1778565020635,"traceId":"b953c42af2628d1a"}]
|
package/app/logs/page.tsx
CHANGED
|
@@ -5,6 +5,7 @@ import Link from 'next/link';
|
|
|
5
5
|
import { timeAgo } from '../components/utils';
|
|
6
6
|
import { useNetworkId } from '../lib/network-context';
|
|
7
7
|
import { EmptyState } from '../components/EmptyState';
|
|
8
|
+
import { AliasAvatar } from '../components/AliasAvatar';
|
|
8
9
|
|
|
9
10
|
interface AuditLog {
|
|
10
11
|
id: string;
|
|
@@ -26,6 +27,18 @@ const ACTION_COLORS: Record<string, string> = {
|
|
|
26
27
|
send_task: 'bg-cyan-500/10 text-cyan-300 border-cyan-500/20',
|
|
27
28
|
};
|
|
28
29
|
|
|
30
|
+
/** 2px left-rail stripe color per audit action — reuses the r32 server-logs
|
|
31
|
+
* pattern so failed logins / token rotations spike out of a wall of
|
|
32
|
+
* registers and logins without users reading every chip. Inline hex
|
|
33
|
+
* prevents Tailwind v4 from purging dynamic class names. */
|
|
34
|
+
const ACTION_STRIPE: Record<string, string> = {
|
|
35
|
+
register: '#4ade80',
|
|
36
|
+
login: '#60a5fa',
|
|
37
|
+
login_failed: '#ef4444',
|
|
38
|
+
create_network: '#a78bfa',
|
|
39
|
+
send_task: '#22d3ee',
|
|
40
|
+
};
|
|
41
|
+
|
|
29
42
|
export default function LogsPage() {
|
|
30
43
|
const { networkId } = useNetworkId();
|
|
31
44
|
const [logs, setLogs] = useState<AuditLog[]>([]);
|
|
@@ -125,13 +138,23 @@ export default function LogsPage() {
|
|
|
125
138
|
<EmptyState variant="logs" />
|
|
126
139
|
) : (
|
|
127
140
|
<div className="space-y-2">
|
|
128
|
-
{logs.map(log =>
|
|
129
|
-
|
|
141
|
+
{logs.map(log => {
|
|
142
|
+
const userName = log.username || log.user_id;
|
|
143
|
+
return (
|
|
144
|
+
<div key={log.id} className="relative bg-[#111128] border border-[#2a2a4a] rounded-lg pl-4 pr-4 py-3 hover:border-[#3a3a5a] transition-colors overflow-hidden">
|
|
145
|
+
{/* 2px left rail per action (round 33) — failed logins, token
|
|
146
|
+
rotations spike out of a wall of register/login rows. */}
|
|
147
|
+
<span
|
|
148
|
+
aria-hidden
|
|
149
|
+
className="absolute left-0 top-0 bottom-0 w-0.5"
|
|
150
|
+
style={{ backgroundColor: ACTION_STRIPE[log.action] || 'transparent' }}
|
|
151
|
+
/>
|
|
130
152
|
<div className="flex flex-wrap items-center gap-2 mb-1">
|
|
131
153
|
<span className={`text-xs px-2 py-0.5 rounded-md border ${ACTION_COLORS[log.action] || 'bg-gray-500/10 text-gray-400 border-gray-500/20'}`}>
|
|
132
154
|
{log.action}
|
|
133
155
|
</span>
|
|
134
|
-
<
|
|
156
|
+
{userName && <AliasAvatar alias={userName} size={16} />}
|
|
157
|
+
<span className="text-sm text-gray-200 font-medium">{userName}</span>
|
|
135
158
|
{log.target_type && (
|
|
136
159
|
<>
|
|
137
160
|
<span className="text-xs text-gray-600">→</span>
|
|
@@ -143,7 +166,8 @@ export default function LogsPage() {
|
|
|
143
166
|
{log.detail && <div className="text-xs text-gray-500">{log.detail}</div>}
|
|
144
167
|
{log.ip && log.ip !== 'unknown' && <div className="text-[10px] text-gray-700">IP: {log.ip}</div>}
|
|
145
168
|
</div>
|
|
146
|
-
|
|
169
|
+
);
|
|
170
|
+
})}
|
|
147
171
|
</div>
|
|
148
172
|
)}
|
|
149
173
|
</div>
|
package/app/server-logs/page.tsx
CHANGED
|
@@ -23,6 +23,30 @@ const LEVEL_BADGE: Record<LogLine['level'], string> = {
|
|
|
23
23
|
error: 'bg-red-500/10 text-red-300 border-red-500/30',
|
|
24
24
|
};
|
|
25
25
|
|
|
26
|
+
/** Left-rail strip color per log level — gives the eye a vertical guide
|
|
27
|
+
* when scanning long log walls. Plain hex so Tailwind purge can't drop it. */
|
|
28
|
+
const LEVEL_STRIPE: Record<LogLine['level'], string> = {
|
|
29
|
+
log: 'transparent',
|
|
30
|
+
info: '#22d3ee',
|
|
31
|
+
warn: '#f59e0b',
|
|
32
|
+
error: '#ef4444',
|
|
33
|
+
};
|
|
34
|
+
|
|
35
|
+
/** Highlight search-matched substring inside a log line. Case-insensitive
|
|
36
|
+
* first-match wrap; mark inherits color so log-level coloring stays. */
|
|
37
|
+
function highlightSearch(line: string, q: string) {
|
|
38
|
+
if (!q) return line;
|
|
39
|
+
const idx = line.toLowerCase().indexOf(q.toLowerCase());
|
|
40
|
+
if (idx < 0) return line;
|
|
41
|
+
return (
|
|
42
|
+
<>
|
|
43
|
+
{line.slice(0, idx)}
|
|
44
|
+
<mark className="bg-yellow-500/30 text-yellow-100 rounded-sm px-0.5">{line.slice(idx, idx + q.length)}</mark>
|
|
45
|
+
{line.slice(idx + q.length)}
|
|
46
|
+
</>
|
|
47
|
+
);
|
|
48
|
+
}
|
|
49
|
+
|
|
26
50
|
function shortTime(iso: string) {
|
|
27
51
|
try {
|
|
28
52
|
const d = new Date(iso);
|
|
@@ -182,12 +206,22 @@ export default function ServerLogsPage() {
|
|
|
182
206
|
) : (
|
|
183
207
|
<div className="divide-y divide-[#0d0d18] max-h-[calc(100vh-260px)] overflow-y-auto">
|
|
184
208
|
{filtered.map((l, i) => (
|
|
185
|
-
<div key={`${l.ts}-${i}`} className="
|
|
186
|
-
|
|
209
|
+
<div key={`${l.ts}-${i}`} className="relative pl-3 pr-3 py-1 hover:bg-[#0a0a14] flex gap-3">
|
|
210
|
+
{/* Round 32: 2px left rail keyed to level. Makes warn/error
|
|
211
|
+
spike visible in a wall of `log` lines without users having
|
|
212
|
+
to read the level chip on every row. */}
|
|
213
|
+
<span
|
|
214
|
+
aria-hidden
|
|
215
|
+
className="absolute left-0 top-0 bottom-0 w-0.5"
|
|
216
|
+
style={{ backgroundColor: LEVEL_STRIPE[l.level] }}
|
|
217
|
+
/>
|
|
218
|
+
<span className="text-gray-600 shrink-0 w-[100px] text-[10px] tabular-nums">{shortTime(l.ts)}</span>
|
|
187
219
|
<span className={`shrink-0 px-1.5 rounded border text-[9px] uppercase ${LEVEL_BADGE[l.level]}`}>
|
|
188
220
|
{l.level}
|
|
189
221
|
</span>
|
|
190
|
-
<span className={`break-all whitespace-pre-wrap ${LEVEL_COLOR[l.level]}`}>
|
|
222
|
+
<span className={`break-all whitespace-pre-wrap ${LEVEL_COLOR[l.level]}`}>
|
|
223
|
+
{highlightSearch(l.line, search)}
|
|
224
|
+
</span>
|
|
191
225
|
</div>
|
|
192
226
|
))}
|
|
193
227
|
</div>
|
package/package.json
CHANGED
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
module.exports=[50227,(a,b,c)=>{b.exports=a.x("node:path",()=>require("node:path"))},44332,a=>{"use strict";var b=a.i(72596),c=a.i(22397);let d=async a=>{let b=await fetch(a);if(401===b.status)throw window.location.assign("/login"),Error("unauthorized");return b.json()},e={refreshInterval:5e3,dedupingInterval:3e3};function f(a,b){if(!b)return a;let c=a.includes("?")?"&":"?";return`${a}${c}network_id=${encodeURIComponent(b)}`}a.s(["useAnetConfig",0,function(){let{data:a}=(0,b.default)("/api/anet/config",d,{refreshInterval:3e4});return{config:a||null}},"useHealth",0,function(){let{data:a,error:c}=(0,b.default)("/api/hub/health",d,e);return{health:a||null,error:c}},"useLicense",0,function(){let{data:a,error:c}=(0,b.default)("/api/hub/license",d,{refreshInterval:6e4});return{license:a?.ok?a:null,error:c}},"useMessages",0,function(a=100){let{networkId:g}=(0,c.useNetworkId)(),{data:h,error:i,isLoading:j}=(0,b.default)(f(`/api/hub/messages?limit=${a}`,g),d,e);return{messages:h?.messages||[],error:i,isLoading:j}},"useSessions",0,function(){let{networkId:a}=(0,c.useNetworkId)(),{data:g,error:h,isLoading:i}=(0,b.default)(f("/api/hub/status",a),d,e);return{sessions:g?.sessions||[],hint:g?._hint,error:h,isLoading:i}},"useStats",0,function(){let{networkId:a}=(0,c.useNetworkId)(),{data:g,error:h}=(0,b.default)(f("/api/hub/stats",a),d,e);return{stats:g?.ok?g:null,error:h}},"useTasks",0,function(a){let{networkId:g}=(0,c.useNetworkId)(),h=new URLSearchParams({limit:"100",...a}).toString(),{data:i,error:j,isLoading:k}=(0,b.default)(f(`/api/hub/tasks?${h}`,g),d,e);return{tasks:i?.tasks||[],count:i?.count??0,source:i?.source,error:j,isLoading:k}}])},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"}})}])},1720,a=>{"use strict";var b=a.i(87924);let c=[180,200,220,270,300,330,30,90];a.s(["AliasAvatar",0,function({alias:a,size:d=28,className:e=""}){let f=function(a){let b=0;for(let c=0;c<a.length;c++)b=31*b+a.charCodeAt(c)>>>0;let d=c[b%c.length];return{bg:`hsl(${d} 55% 22%)`,ring:`hsl(${d} 60% 45%)`,text:`hsl(${d} 80% 78%)`}}(a),g=Math.max(9,Math.round(.42*d));return(0,b.jsx)("span",{className:`anet-alias-avatar inline-flex items-center justify-center rounded-full border shrink-0 font-semibold ${e}`,style:{width:d,height:d,fontSize:g,backgroundColor:f.bg,borderColor:f.ring,color:f.text},title:a,"aria-hidden":!0,children:a?(a.trim().match(/[\p{L}\p{N}]/u)?.[0]||a.trim()[0]||"·").toUpperCase():"·"})}])},54826,(a,b,c)=>{},15299,(a,b,c)=>{a.r(54826);var d=a.r(72131),e=d&&"object"==typeof d&&"default"in d?d:{default:d},f="u">typeof process&&process.env&&!0,g=function(a){return"[object String]"===Object.prototype.toString.call(a)},h=function(){function a(a){var b=void 0===a?{}:a,c=b.name,d=void 0===c?"stylesheet":c,e=b.optimizeForSpeed,h=void 0===e?f:e;i(g(d),"`name` must be a string"),this._name=d,this._deletedRulePlaceholder="#"+d+"-deleted-rule____{}",i("boolean"==typeof h,"`optimizeForSpeed` must be a boolean"),this._optimizeForSpeed=h,this._serverSheet=void 0,this._tags=[],this._injected=!1,this._rulesCount=0,this._nonce=null}var b,c=a.prototype;return c.setOptimizeForSpeed=function(a){i("boolean"==typeof a,"`setOptimizeForSpeed` accepts a boolean"),i(0===this._rulesCount,"optimizeForSpeed cannot be when rules have already been inserted"),this.flush(),this._optimizeForSpeed=a,this.inject()},c.isOptimizeForSpeed=function(){return this._optimizeForSpeed},c.inject=function(){var a=this;i(!this._injected,"sheet already injected"),this._injected=!0,this._serverSheet={cssRules:[],insertRule:function(b,c){return"number"==typeof c?a._serverSheet.cssRules[c]={cssText:b}:a._serverSheet.cssRules.push({cssText:b}),c},deleteRule:function(b){a._serverSheet.cssRules[b]=null}}},c.getSheetForTag=function(a){if(a.sheet)return a.sheet;for(var b=0;b<document.styleSheets.length;b++)if(document.styleSheets[b].ownerNode===a)return document.styleSheets[b]},c.getSheet=function(){return this.getSheetForTag(this._tags[this._tags.length-1])},c.insertRule=function(a,b){return i(g(a),"`insertRule` accepts only strings"),"number"!=typeof b&&(b=this._serverSheet.cssRules.length),this._serverSheet.insertRule(a,b),this._rulesCount++},c.replaceRule=function(a,b){this._optimizeForSpeed;var c=this._serverSheet;if(b.trim()||(b=this._deletedRulePlaceholder),!c.cssRules[a])return a;c.deleteRule(a);try{c.insertRule(b,a)}catch(d){f||console.warn("StyleSheet: illegal rule: \n\n"+b+"\n\nSee https://stackoverflow.com/q/20007992 for more info"),c.insertRule(this._deletedRulePlaceholder,a)}return a},c.deleteRule=function(a){this._serverSheet.deleteRule(a)},c.flush=function(){this._injected=!1,this._rulesCount=0,this._serverSheet.cssRules=[]},c.cssRules=function(){return this._serverSheet.cssRules},c.makeStyleTag=function(a,b,c){b&&i(g(b),"makeStyleTag accepts only strings as second parameter");var d=document.createElement("style");this._nonce&&d.setAttribute("nonce",this._nonce),d.type="text/css",d.setAttribute("data-"+a,""),b&&d.appendChild(document.createTextNode(b));var e=document.head||document.getElementsByTagName("head")[0];return c?e.insertBefore(d,c):e.appendChild(d),d},b=[{key:"length",get:function(){return this._rulesCount}}],function(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1,d.configurable=!0,"value"in d&&(d.writable=!0),Object.defineProperty(a,d.key,d)}}(a.prototype,b),a}();function i(a,b){if(!a)throw Error("StyleSheet: "+b+".")}var j=function(a){for(var b=5381,c=a.length;c;)b=33*b^a.charCodeAt(--c);return b>>>0},k={};function l(a,b){if(!b)return"jsx-"+a;var c=String(b),d=a+c;return k[d]||(k[d]="jsx-"+j(a+"-"+c)),k[d]}function m(a,b){var c=a+(b=b.replace(/\/style/gi,"\\/style"));return k[c]||(k[c]=b.replace(/__jsx-style-dynamic-selector/g,a)),k[c]}var n=function(){function a(a){var b=void 0===a?{}:a,c=b.styleSheet,d=void 0===c?null:c,e=b.optimizeForSpeed,f=void 0!==e&&e;this._sheet=d||new h({name:"styled-jsx",optimizeForSpeed:f}),this._sheet.inject(),d&&"boolean"==typeof f&&(this._sheet.setOptimizeForSpeed(f),this._optimizeForSpeed=this._sheet.isOptimizeForSpeed()),this._fromServer=void 0,this._indices={},this._instancesCounts={}}var b=a.prototype;return b.add=function(a){var b=this;void 0===this._optimizeForSpeed&&(this._optimizeForSpeed=Array.isArray(a.children),this._sheet.setOptimizeForSpeed(this._optimizeForSpeed),this._optimizeForSpeed=this._sheet.isOptimizeForSpeed());var c=this.getIdAndRules(a),d=c.styleId,e=c.rules;if(d in this._instancesCounts){this._instancesCounts[d]+=1;return}var f=e.map(function(a){return b._sheet.insertRule(a)}).filter(function(a){return -1!==a});this._indices[d]=f,this._instancesCounts[d]=1},b.remove=function(a){var b=this,c=this.getIdAndRules(a).styleId;if(function(a,b){if(!a)throw Error("StyleSheetRegistry: "+b+".")}(c in this._instancesCounts,"styleId: `"+c+"` not found"),this._instancesCounts[c]-=1,this._instancesCounts[c]<1){var d=this._fromServer&&this._fromServer[c];d?(d.parentNode.removeChild(d),delete this._fromServer[c]):(this._indices[c].forEach(function(a){return b._sheet.deleteRule(a)}),delete this._indices[c]),delete this._instancesCounts[c]}},b.update=function(a,b){this.add(b),this.remove(a)},b.flush=function(){this._sheet.flush(),this._sheet.inject(),this._fromServer=void 0,this._indices={},this._instancesCounts={}},b.cssRules=function(){var a=this,b=this._fromServer?Object.keys(this._fromServer).map(function(b){return[b,a._fromServer[b]]}):[],c=this._sheet.cssRules();return b.concat(Object.keys(this._indices).map(function(b){return[b,a._indices[b].map(function(a){return c[a].cssText}).join(a._optimizeForSpeed?"":"\n")]}).filter(function(a){return!!a[1]}))},b.styles=function(a){var b,c;return b=this.cssRules(),void 0===(c=a)&&(c={}),b.map(function(a){var b=a[0],d=a[1];return e.default.createElement("style",{id:"__"+b,key:"__"+b,nonce:c.nonce?c.nonce:void 0,dangerouslySetInnerHTML:{__html:d}})})},b.getIdAndRules=function(a){var b=a.children,c=a.dynamic,d=a.id;if(c){var e=l(d,c);return{styleId:e,rules:Array.isArray(b)?b.map(function(a){return m(e,a)}):[m(e,b)]}}return{styleId:l(d),rules:Array.isArray(b)?b:[b]}},b.selectFromServer=function(){return Array.prototype.slice.call(document.querySelectorAll('[id^="__jsx-"]')).reduce(function(a,b){return a[b.id.slice(2)]=b,a},{})},a}(),o=d.createContext(null);function p(){return new n}function q(){return d.useContext(o)}function r(a){var b=q();return b&&b.add(a),null}o.displayName="StyleSheetContext",e.default.useInsertionEffect||e.default.useLayoutEffect,r.dynamic=function(a){return a.map(function(a){return l(a[0],a[1])}).join(" ")},c.StyleRegistry=function(a){var b=a.registry,c=a.children,f=d.useContext(o),g=d.useState(function(){return f||b||p()})[0];return e.default.createElement(o.Provider,{value:g},c)},c.createStyleRegistry=p,c.style=r,c.useStyleRegistry=q},31626,(a,b,c)=>{b.exports=a.r(15299).style}];
|
|
2
|
-
|
|
3
|
-
//# sourceMappingURL=%5Broot-of-the-server%5D__0byvz32._.js.map
|