@sleep2agi/agent-network-dashboard 0.4.1 → 0.4.2
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/cache/.tsbuildinfo +1 -1
- package/.next/diagnostics/route-bundle-stats.json +4 -4
- package/.next/fallback-build-manifest.json +3 -3
- package/.next/server/app/_global-error.html +1 -1
- package/.next/server/app/_global-error.rsc +1 -1
- package/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/_not-found.html +1 -1
- package/.next/server/app/_not-found.rsc +1 -1
- package/.next/server/app/_not-found.segments/_full.segment.rsc +1 -1
- package/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
- package/.next/server/app/_not-found.segments/_index.segment.rsc +1 -1
- 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 +1 -1
- package/.next/server/app/admin/page_client-reference-manifest.js +1 -1
- package/.next/server/app/admin.html +2 -2
- package/.next/server/app/admin.rsc +2 -2
- package/.next/server/app/admin.segments/_full.segment.rsc +2 -2
- package/.next/server/app/admin.segments/_head.segment.rsc +1 -1
- package/.next/server/app/admin.segments/_index.segment.rsc +1 -1
- package/.next/server/app/admin.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/admin.segments/admin/__PAGE__.segment.rsc +2 -2
- package/.next/server/app/admin.segments/admin.segment.rsc +1 -1
- package/.next/server/app/index.html +1 -1
- package/.next/server/app/index.rsc +1 -1
- package/.next/server/app/index.segments/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/index.segments/_full.segment.rsc +1 -1
- package/.next/server/app/index.segments/_head.segment.rsc +1 -1
- package/.next/server/app/index.segments/_index.segment.rsc +1 -1
- package/.next/server/app/index.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/login.html +1 -1
- package/.next/server/app/login.rsc +1 -1
- package/.next/server/app/login.segments/_full.segment.rsc +1 -1
- package/.next/server/app/login.segments/_head.segment.rsc +1 -1
- package/.next/server/app/login.segments/_index.segment.rsc +1 -1
- package/.next/server/app/login.segments/_tree.segment.rsc +1 -1
- 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.html +1 -1
- package/.next/server/app/logs.rsc +1 -1
- package/.next/server/app/logs.segments/_full.segment.rsc +1 -1
- package/.next/server/app/logs.segments/_head.segment.rsc +1 -1
- package/.next/server/app/logs.segments/_index.segment.rsc +1 -1
- package/.next/server/app/logs.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/logs.segments/logs/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/logs.segments/logs.segment.rsc +1 -1
- package/.next/server/app/messages.html +1 -1
- package/.next/server/app/messages.rsc +1 -1
- package/.next/server/app/messages.segments/_full.segment.rsc +1 -1
- package/.next/server/app/messages.segments/_head.segment.rsc +1 -1
- package/.next/server/app/messages.segments/_index.segment.rsc +1 -1
- package/.next/server/app/messages.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/messages.segments/messages/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/messages.segments/messages.segment.rsc +1 -1
- package/.next/server/app/node.html +1 -1
- package/.next/server/app/node.rsc +1 -1
- package/.next/server/app/node.segments/_full.segment.rsc +1 -1
- package/.next/server/app/node.segments/_head.segment.rsc +1 -1
- package/.next/server/app/node.segments/_index.segment.rsc +1 -1
- package/.next/server/app/node.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/node.segments/node/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/node.segments/node.segment.rsc +1 -1
- package/.next/server/app/nodes/page_client-reference-manifest.js +1 -1
- package/.next/server/app/nodes.html +2 -2
- package/.next/server/app/nodes.rsc +2 -2
- package/.next/server/app/nodes.segments/_full.segment.rsc +2 -2
- package/.next/server/app/nodes.segments/_head.segment.rsc +1 -1
- package/.next/server/app/nodes.segments/_index.segment.rsc +1 -1
- package/.next/server/app/nodes.segments/_tree.segment.rsc +1 -1
- 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/server-logs.html +1 -1
- package/.next/server/app/server-logs.rsc +1 -1
- package/.next/server/app/server-logs.segments/_full.segment.rsc +1 -1
- package/.next/server/app/server-logs.segments/_head.segment.rsc +1 -1
- package/.next/server/app/server-logs.segments/_index.segment.rsc +1 -1
- package/.next/server/app/server-logs.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/server-logs.segments/server-logs/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/server-logs.segments/server-logs.segment.rsc +1 -1
- package/.next/server/app/settings/networks.html +1 -1
- package/.next/server/app/settings/networks.rsc +1 -1
- package/.next/server/app/settings/networks.segments/_full.segment.rsc +1 -1
- package/.next/server/app/settings/networks.segments/_head.segment.rsc +1 -1
- package/.next/server/app/settings/networks.segments/_index.segment.rsc +1 -1
- package/.next/server/app/settings/networks.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/settings/networks.segments/settings/networks/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/settings/networks.segments/settings/networks.segment.rsc +1 -1
- package/.next/server/app/settings/networks.segments/settings.segment.rsc +1 -1
- package/.next/server/app/settings/tokens.html +1 -1
- package/.next/server/app/settings/tokens.rsc +1 -1
- package/.next/server/app/settings/tokens.segments/_full.segment.rsc +1 -1
- package/.next/server/app/settings/tokens.segments/_head.segment.rsc +1 -1
- package/.next/server/app/settings/tokens.segments/_index.segment.rsc +1 -1
- package/.next/server/app/settings/tokens.segments/_tree.segment.rsc +1 -1
- 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 +1 -1
- package/.next/server/app/settings.rsc +1 -1
- package/.next/server/app/settings.segments/_full.segment.rsc +1 -1
- package/.next/server/app/settings.segments/_head.segment.rsc +1 -1
- package/.next/server/app/settings.segments/_index.segment.rsc +1 -1
- package/.next/server/app/settings.segments/_tree.segment.rsc +1 -1
- 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.html +1 -1
- package/.next/server/app/tasks.rsc +1 -1
- package/.next/server/app/tasks.segments/_full.segment.rsc +1 -1
- package/.next/server/app/tasks.segments/_head.segment.rsc +1 -1
- package/.next/server/app/tasks.segments/_index.segment.rsc +1 -1
- package/.next/server/app/tasks.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/tasks.segments/tasks/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/tasks.segments/tasks.segment.rsc +1 -1
- package/.next/server/chunks/[root-of-the-server]__03ueci3._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__03ueci3._.js.map +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__0~yad5w._.js +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__0~yad5w._.js.map +1 -1
- package/.next/server/chunks/ssr/app_0ap_oiq._.js +1 -1
- package/.next/server/chunks/ssr/app_0ap_oiq._.js.map +1 -1
- package/.next/server/middleware-build-manifest.js +3 -3
- package/.next/server/pages/404.html +1 -1
- package/.next/server/pages/500.html +1 -1
- package/.next/static/chunks/0.z~9klrgd.t-.js +1 -0
- package/.next/static/chunks/07oobuohrpigy.js +1 -0
- package/.next/trace +2 -2
- package/.next/trace-build +1 -1
- package/app/admin/page.tsx +5 -2
- package/app/api/hub/session/route.ts +5 -1
- package/app/nodes/page.tsx +6 -2
- package/package.json +1 -1
- package/.next/static/chunks/00uwfd~z5dh.b.js +0 -1
- package/.next/static/chunks/0h4x8zbbd__pl.js +0 -1
- /package/.next/static/{uU1wGbI_S8fELsbm2sCaS → jWiexXqSkZJ4pDbBHriqj}/_buildManifest.js +0 -0
- /package/.next/static/{uU1wGbI_S8fELsbm2sCaS → jWiexXqSkZJ4pDbBHriqj}/_clientMiddlewareManifest.js +0 -0
- /package/.next/static/{uU1wGbI_S8fELsbm2sCaS → jWiexXqSkZJ4pDbBHriqj}/_ssgManifest.js +0 -0
|
@@ -9,4 +9,4 @@ try {
|
|
|
9
9
|
w-52
|
|
10
10
|
-translate-x-full
|
|
11
11
|
lg:translate-x-0 lg:static lg:shrink-0
|
|
12
|
-
"><div class="px-4 py-5 border-b border-[#2a2a4a] "><div><div class="text-white font-bold text-sm">Agent Network</div><div class="text-gray-600 text-xs">Dashboard</div></div></div><div class="pb-20"><nav class="flex flex-col gap-1 px-2 py-4"><a class="flex items-center gap-3 px-3 py-3 rounded-lg text-sm transition-colors active:bg-[#1a1a3a] text-gray-400 hover:text-gray-200 hover:bg-[#1a1a2a] " href="/"><svg class="w-5 h-5 shrink-0" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="1.5"><path stroke-linecap="round" stroke-linejoin="round" d="M3 12l2-2m0 0l7-7 7 7M5 10v10a1 1 0 001 1h3m10-11l2 2m-2-2v10a1 1 0 01-1 1h-3m-6 0a1 1 0 001-1v-4a1 1 0 011-1h2a1 1 0 011 1v4a1 1 0 001 1m-6 0h6"></path></svg><span>Overview</span></a><a class="flex items-center gap-3 px-3 py-3 rounded-lg text-sm transition-colors active:bg-[#1a1a3a] text-gray-400 hover:text-gray-200 hover:bg-[#1a1a2a] " href="/tasks"><svg class="w-5 h-5 shrink-0" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="1.5"><path stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path></svg><span>Tasks</span></a><a class="flex items-center gap-3 px-3 py-3 rounded-lg text-sm transition-colors active:bg-[#1a1a3a] text-gray-400 hover:text-gray-200 hover:bg-[#1a1a2a] " href="/nodes"><svg class="w-5 h-5 shrink-0" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="1.5"><path stroke-linecap="round" stroke-linejoin="round" d="M5 12h14M5 12a2 2 0 01-2-2V6a2 2 0 012-2h14a2 2 0 012 2v4a2 2 0 01-2 2M5 12a2 2 0 00-2 2v4a2 2 0 002 2h14a2 2 0 002-2v-4a2 2 0 00-2-2m-2-4h.01M17 16h.01"></path></svg><span>Nodes</span></a><a class="flex items-center gap-3 px-3 py-3 rounded-lg text-sm transition-colors active:bg-[#1a1a3a] text-gray-400 hover:text-gray-200 hover:bg-[#1a1a2a] " href="/messages"><svg class="w-5 h-5 shrink-0" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="1.5"><path stroke-linecap="round" stroke-linejoin="round" d="M8 12h.01M12 12h.01M16 12h.01M21 12c0 4.418-4.03 8-9 8a9.863 9.863 0 01-4.255-.949L3 20l1.395-3.72C3.512 15.042 3 13.574 3 12c0-4.418 4.03-8 9-8s9 3.582 9 8z"></path></svg><span>Messages</span></a><a class="flex items-center gap-3 px-3 py-3 rounded-lg text-sm transition-colors active:bg-[#1a1a3a] text-gray-400 hover:text-gray-200 hover:bg-[#1a1a2a] " href="/settings/networks"><svg class="w-5 h-5 shrink-0" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="1.5"><path stroke-linecap="round" stroke-linejoin="round" d="M21 12a9 9 0 01-9 9m9-9a9 9 0 00-9-9m9 9H3m9 9a9 9 0 01-9-9m9 9c1.657 0 3-4.03 3-9s-1.343-9-3-9m0 18c-1.657 0-3-4.03-3-9s1.343-9 3-9m-9 9a9 9 0 019-9"></path></svg><span>Networks</span></a><a class="flex items-center gap-3 px-3 py-3 rounded-lg text-sm transition-colors active:bg-[#1a1a3a] text-gray-400 hover:text-gray-200 hover:bg-[#1a1a2a] " href="/logs"><svg class="w-5 h-5 shrink-0" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="1.5"><path stroke-linecap="round" stroke-linejoin="round" d="M9 12h6m-6 4h6m2 5H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z"></path></svg><span>Audit Log</span></a><a class="flex items-center gap-3 px-3 py-3 rounded-lg text-sm transition-colors active:bg-[#1a1a3a] text-gray-400 hover:text-gray-200 hover:bg-[#1a1a2a] " href="/server-logs"><svg class="w-5 h-5 shrink-0" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="1.5"><path stroke-linecap="round" stroke-linejoin="round" d="M8 9l3 3-3 3m5 0h3M5 20h14a2 2 0 002-2V6a2 2 0 00-2-2H5a2 2 0 00-2 2v12a2 2 0 002 2z"></path></svg><span>Server Logs</span></a><a class="flex items-center gap-3 px-3 py-3 rounded-lg text-sm transition-colors active:bg-[#1a1a3a] text-gray-400 hover:text-gray-200 hover:bg-[#1a1a2a] " href="/admin"><svg class="w-5 h-5 shrink-0" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="1.5"><path stroke-linecap="round" stroke-linejoin="round" d="M12 4.354a4 4 0 110 5.292M15 21H3v-1a6 6 0 0112 0v1zm0 0h6v-1a6 6 0 00-9-5.197M13 7a4 4 0 11-8 0 4 4 0 018 0z"></path></svg><span>Admin</span></a><a class="flex items-center gap-3 px-3 py-3 rounded-lg text-sm transition-colors active:bg-[#1a1a3a] text-gray-400 hover:text-gray-200 hover:bg-[#1a1a2a] " href="/settings"><svg class="w-5 h-5 shrink-0" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="1.5"><path stroke-linecap="round" stroke-linejoin="round" d="M10.325 4.317c.426-1.756 2.924-1.756 3.35 0a1.724 1.724 0 002.573 1.066c1.543-.94 3.31.826 2.37 2.37a1.724 1.724 0 001.066 2.573c1.756.426 1.756 2.924 0 3.35a1.724 1.724 0 00-1.066 2.573c.94 1.543-.826 3.31-2.37 2.37a1.724 1.724 0 00-2.573 1.066c-.426 1.756-2.924 1.756-3.35 0a1.724 1.724 0 00-2.573-1.066c-1.543.94-3.31-.826-2.37-2.37a1.724 1.724 0 00-1.066-2.573c-1.756-.426-1.756-2.924 0-3.35a1.724 1.724 0 001.066-2.573c-.94-1.543.826-3.31 2.37-2.37.996.608 2.296.07 2.572-1.065z M15 12a3 3 0 11-6 0 3 3 0 016 0z"></path></svg><span>Settings</span></a></nav></div><div class="absolute bottom-0 left-0 right-0 border-t border-[#2a2a4a] bg-[#0d0d1a]"><button class="w-full flex items-center gap-3 px-5 py-3 text-xs text-gray-500 hover:text-red-400 hover:bg-red-500/5 transition-colors"><svg class="w-4 h-4" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="1.5"><path stroke-linecap="round" stroke-linejoin="round" d="M15.75 9V5.25A2.25 2.25 0 0013.5 3h-6a2.25 2.25 0 00-2.25 2.25v13.5A2.25 2.25 0 007.5 21h6a2.25 2.25 0 002.25-2.25V15m3 0l3-3m0 0l-3-3m3 3H9"></path></svg>Sign out</button><div class="flex items-center gap-2 px-3 py-2 justify-between"><div class="relative"><button aria-label="切换主题" class="px-2.5 py-1.5 rounded-md text-xs flex items-center gap-1.5 hover:opacity-80 transition-opacity" style="background:var(--bg-elevated);color:var(--fg);border:1px solid var(--border)"><span aria-hidden="true">🌃</span><span>Cyber</span></button></div><button class="hidden lg:flex p-1.5 rounded text-gray-600 hover:text-gray-400 transition-colors" aria-label="Collapse sidebar"><svg class="w-4 h-4 transition-transform " fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path stroke-linecap="round" stroke-linejoin="round" d="M15 19l-7-7 7-7"></path></svg></button></div></div></aside><main class="flex-1 min-w-0"><div style="font-family:system-ui,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div><style>body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding:0 23px 0 0;font-size:24px;font-weight:500;vertical-align:top;line-height:49px">404</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:49px;margin:0">This page could not be found.</h2></div></div></div><!--$--><!--/$--></main></div><script src="/_next/static/chunks/0xrnwfefpke-g.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[84128,[\"/_next/static/chunks/0gjbwb8u5wd72.js\",\"/_next/static/chunks/14bsg3_-taiw4.js\"],\"ThemeProvider\"]\n3:I[58963,[\"/_next/static/chunks/0gjbwb8u5wd72.js\",\"/_next/static/chunks/14bsg3_-taiw4.js\"],\"NetworkProvider\"]\n4:I[25045,[\"/_next/static/chunks/0gjbwb8u5wd72.js\",\"/_next/static/chunks/14bsg3_-taiw4.js\"],\"AppShell\"]\n5:I[39756,[\"/_next/static/chunks/0gjbwb8u5wd72.js\",\"/_next/static/chunks/14bsg3_-taiw4.js\"],\"default\"]\n6:I[37457,[\"/_next/static/chunks/0gjbwb8u5wd72.js\",\"/_next/static/chunks/14bsg3_-taiw4.js\"],\"default\"]\n7:I[97367,[\"/_next/static/chunks/0gjbwb8u5wd72.js\",\"/_next/static/chunks/14bsg3_-taiw4.js\"],\"OutletBoundary\"]\n8:\"$Sreact.suspense\"\nb:I[97367,[\"/_next/static/chunks/0gjbwb8u5wd72.js\",\"/_next/static/chunks/14bsg3_-taiw4.js\"],\"ViewportBoundary\"]\nd:I[97367,[\"/_next/static/chunks/0gjbwb8u5wd72.js\",\"/_next/static/chunks/14bsg3_-taiw4.js\"],\"MetadataBoundary\"]\nf:I[68027,[\"/_next/static/chunks/0gjbwb8u5wd72.js\",\"/_next/static/chunks/14bsg3_-taiw4.js\"],\"default\",1]\n:HL[\"/_next/static/chunks/0_b22ht_r8.-s.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"c\":[\"\",\"_not-found\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"/_not-found\",{\"children\":[\"__PAGE__\",{}]}]},\"$undefined\",\"$undefined\",16],[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/chunks/0_b22ht_r8.-s.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-0\",{\"src\":\"/_next/static/chunks/0gjbwb8u5wd72.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-1\",{\"src\":\"/_next/static/chunks/14bsg3_-taiw4.js\",\"async\":true,\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"data-theme\":\"cyber\",\"className\":\"geist_mono_8d43a2aa-module__8Li5zG__variable h-full antialiased\",\"children\":[[\"$\",\"head\",null,{\"children\":[\"$\",\"script\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"\\ntry {\\n var t = localStorage.getItem('anet-theme') || 'cyber';\\n document.documentElement.setAttribute('data-theme', t);\\n} catch (e) {}\\n\"}}]}],[\"$\",\"body\",null,{\"className\":\"min-h-full\",\"style\":{\"background\":\"var(--bg)\",\"color\":\"var(--fg)\"},\"children\":[\"$\",\"$L2\",null,{\"children\":[\"$\",\"$L3\",null,{\"children\":[\"$\",\"$L4\",null,{\"children\":[\"$\",\"$L5\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L6\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":404}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}]}]}]}]]}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L5\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L6\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":\"$0:f:0:1:0:props:children:1:props:children:1:props:children:props:children:props:children:props:children:props:notFound:0:1:props:style\",\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":\"$0:f:0:1:0:props:children:1:props:children:1:props:children:props:children:props:children:props:children:props:notFound:0:1:props:children:props:children:1:props:style\",\"children\":404}],[\"$\",\"div\",null,{\"style\":\"$0:f:0:1:0:props:children:1:props:children:1:props:children:props:children:props:children:props:children:props:notFound:0:1:props:children:props:children:2:props:style\",\"children\":[\"$\",\"h2\",null,{\"style\":\"$0:f:0:1:0:props:children:1:props:children:1:props:children:props:children:props:children:props:children:props:notFound:0:1:props:children:props:children:2:props:children:props:style\",\"children\":\"This page could not be found.\"}]}]]}]}]],null,[\"$\",\"$L7\",null,{\"children\":[\"$\",\"$8\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@9\"}]}]]}],{},null,false,null]},null,false,\"$@a\"]},null,false,null],[\"$\",\"$1\",\"h\",{\"children\":[[\"$\",\"meta\",null,{\"name\":\"robots\",\"content\":\"noindex\"}],[\"$\",\"$Lb\",null,{\"children\":\"$Lc\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$Ld\",null,{\"children\":[\"$\",\"$8\",null,{\"name\":\"Next.Metadata\",\"children\":\"$Le\"}]}]}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$f\",[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/chunks/0_b22ht_r8.-s.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]]],\"S\":true,\"h\":null,\"s\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\",\"b\":\"uU1wGbI_S8fELsbm2sCaS\"}\n"])</script><script>self.__next_f.push([1,"10:[]\na:\"$W10\"\n"])</script><script>self.__next_f.push([1,"c:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no\"}],[\"$\",\"meta\",\"2\",{\"name\":\"theme-color\",\"content\":\"#0a0a1a\"}]]\n"])</script><script>self.__next_f.push([1,"11:I[27201,[\"/_next/static/chunks/0gjbwb8u5wd72.js\",\"/_next/static/chunks/14bsg3_-taiw4.js\"],\"IconMark\"]\n9:null\ne:[[\"$\",\"title\",\"0\",{\"children\":\"Agent Network Dashboard\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"Real-time monitoring dashboard for Agent Network nodes via CommHub\"}],[\"$\",\"meta\",\"2\",{\"property\":\"og:title\",\"content\":\"Agent Network Dashboard\"}],[\"$\",\"meta\",\"3\",{\"property\":\"og:description\",\"content\":\"Real-time monitoring dashboard for Agent Network nodes\"}],[\"$\",\"meta\",\"4\",{\"property\":\"og:type\",\"content\":\"website\"}],[\"$\",\"meta\",\"5\",{\"name\":\"twitter:card\",\"content\":\"summary\"}],[\"$\",\"meta\",\"6\",{\"name\":\"twitter:title\",\"content\":\"Agent Network Dashboard\"}],[\"$\",\"meta\",\"7\",{\"name\":\"twitter:description\",\"content\":\"Real-time monitoring dashboard for Agent Network nodes\"}],[\"$\",\"link\",\"8\",{\"rel\":\"icon\",\"href\":\"/favicon.ico?favicon.0x3dzn~oxb6tn.ico\",\"sizes\":\"256x256\",\"type\":\"image/x-icon\"}],[\"$\",\"link\",\"9\",{\"rel\":\"icon\",\"href\":\"/favicon.svg\"}],[\"$\",\"$L11\",\"10\",{}]]\n"])</script></body></html>
|
|
12
|
+
"><div class="px-4 py-5 border-b border-[#2a2a4a] "><div><div class="text-white font-bold text-sm">Agent Network</div><div class="text-gray-600 text-xs">Dashboard</div></div></div><div class="pb-20"><nav class="flex flex-col gap-1 px-2 py-4"><a class="flex items-center gap-3 px-3 py-3 rounded-lg text-sm transition-colors active:bg-[#1a1a3a] text-gray-400 hover:text-gray-200 hover:bg-[#1a1a2a] " href="/"><svg class="w-5 h-5 shrink-0" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="1.5"><path stroke-linecap="round" stroke-linejoin="round" d="M3 12l2-2m0 0l7-7 7 7M5 10v10a1 1 0 001 1h3m10-11l2 2m-2-2v10a1 1 0 01-1 1h-3m-6 0a1 1 0 001-1v-4a1 1 0 011-1h2a1 1 0 011 1v4a1 1 0 001 1m-6 0h6"></path></svg><span>Overview</span></a><a class="flex items-center gap-3 px-3 py-3 rounded-lg text-sm transition-colors active:bg-[#1a1a3a] text-gray-400 hover:text-gray-200 hover:bg-[#1a1a2a] " href="/tasks"><svg class="w-5 h-5 shrink-0" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="1.5"><path stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path></svg><span>Tasks</span></a><a class="flex items-center gap-3 px-3 py-3 rounded-lg text-sm transition-colors active:bg-[#1a1a3a] text-gray-400 hover:text-gray-200 hover:bg-[#1a1a2a] " href="/nodes"><svg class="w-5 h-5 shrink-0" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="1.5"><path stroke-linecap="round" stroke-linejoin="round" d="M5 12h14M5 12a2 2 0 01-2-2V6a2 2 0 012-2h14a2 2 0 012 2v4a2 2 0 01-2 2M5 12a2 2 0 00-2 2v4a2 2 0 002 2h14a2 2 0 002-2v-4a2 2 0 00-2-2m-2-4h.01M17 16h.01"></path></svg><span>Nodes</span></a><a class="flex items-center gap-3 px-3 py-3 rounded-lg text-sm transition-colors active:bg-[#1a1a3a] text-gray-400 hover:text-gray-200 hover:bg-[#1a1a2a] " href="/messages"><svg class="w-5 h-5 shrink-0" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="1.5"><path stroke-linecap="round" stroke-linejoin="round" d="M8 12h.01M12 12h.01M16 12h.01M21 12c0 4.418-4.03 8-9 8a9.863 9.863 0 01-4.255-.949L3 20l1.395-3.72C3.512 15.042 3 13.574 3 12c0-4.418 4.03-8 9-8s9 3.582 9 8z"></path></svg><span>Messages</span></a><a class="flex items-center gap-3 px-3 py-3 rounded-lg text-sm transition-colors active:bg-[#1a1a3a] text-gray-400 hover:text-gray-200 hover:bg-[#1a1a2a] " href="/settings/networks"><svg class="w-5 h-5 shrink-0" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="1.5"><path stroke-linecap="round" stroke-linejoin="round" d="M21 12a9 9 0 01-9 9m9-9a9 9 0 00-9-9m9 9H3m9 9a9 9 0 01-9-9m9 9c1.657 0 3-4.03 3-9s-1.343-9-3-9m0 18c-1.657 0-3-4.03-3-9s1.343-9 3-9m-9 9a9 9 0 019-9"></path></svg><span>Networks</span></a><a class="flex items-center gap-3 px-3 py-3 rounded-lg text-sm transition-colors active:bg-[#1a1a3a] text-gray-400 hover:text-gray-200 hover:bg-[#1a1a2a] " href="/logs"><svg class="w-5 h-5 shrink-0" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="1.5"><path stroke-linecap="round" stroke-linejoin="round" d="M9 12h6m-6 4h6m2 5H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z"></path></svg><span>Audit Log</span></a><a class="flex items-center gap-3 px-3 py-3 rounded-lg text-sm transition-colors active:bg-[#1a1a3a] text-gray-400 hover:text-gray-200 hover:bg-[#1a1a2a] " href="/server-logs"><svg class="w-5 h-5 shrink-0" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="1.5"><path stroke-linecap="round" stroke-linejoin="round" d="M8 9l3 3-3 3m5 0h3M5 20h14a2 2 0 002-2V6a2 2 0 00-2-2H5a2 2 0 00-2 2v12a2 2 0 002 2z"></path></svg><span>Server Logs</span></a><a class="flex items-center gap-3 px-3 py-3 rounded-lg text-sm transition-colors active:bg-[#1a1a3a] text-gray-400 hover:text-gray-200 hover:bg-[#1a1a2a] " href="/admin"><svg class="w-5 h-5 shrink-0" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="1.5"><path stroke-linecap="round" stroke-linejoin="round" d="M12 4.354a4 4 0 110 5.292M15 21H3v-1a6 6 0 0112 0v1zm0 0h6v-1a6 6 0 00-9-5.197M13 7a4 4 0 11-8 0 4 4 0 018 0z"></path></svg><span>Admin</span></a><a class="flex items-center gap-3 px-3 py-3 rounded-lg text-sm transition-colors active:bg-[#1a1a3a] text-gray-400 hover:text-gray-200 hover:bg-[#1a1a2a] " href="/settings"><svg class="w-5 h-5 shrink-0" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="1.5"><path stroke-linecap="round" stroke-linejoin="round" d="M10.325 4.317c.426-1.756 2.924-1.756 3.35 0a1.724 1.724 0 002.573 1.066c1.543-.94 3.31.826 2.37 2.37a1.724 1.724 0 001.066 2.573c1.756.426 1.756 2.924 0 3.35a1.724 1.724 0 00-1.066 2.573c.94 1.543-.826 3.31-2.37 2.37a1.724 1.724 0 00-2.573 1.066c-.426 1.756-2.924 1.756-3.35 0a1.724 1.724 0 00-2.573-1.066c-1.543.94-3.31-.826-2.37-2.37a1.724 1.724 0 00-1.066-2.573c-1.756-.426-1.756-2.924 0-3.35a1.724 1.724 0 001.066-2.573c-.94-1.543.826-3.31 2.37-2.37.996.608 2.296.07 2.572-1.065z M15 12a3 3 0 11-6 0 3 3 0 016 0z"></path></svg><span>Settings</span></a></nav></div><div class="absolute bottom-0 left-0 right-0 border-t border-[#2a2a4a] bg-[#0d0d1a]"><button class="w-full flex items-center gap-3 px-5 py-3 text-xs text-gray-500 hover:text-red-400 hover:bg-red-500/5 transition-colors"><svg class="w-4 h-4" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="1.5"><path stroke-linecap="round" stroke-linejoin="round" d="M15.75 9V5.25A2.25 2.25 0 0013.5 3h-6a2.25 2.25 0 00-2.25 2.25v13.5A2.25 2.25 0 007.5 21h6a2.25 2.25 0 002.25-2.25V15m3 0l3-3m0 0l-3-3m3 3H9"></path></svg>Sign out</button><div class="flex items-center gap-2 px-3 py-2 justify-between"><div class="relative"><button aria-label="切换主题" class="px-2.5 py-1.5 rounded-md text-xs flex items-center gap-1.5 hover:opacity-80 transition-opacity" style="background:var(--bg-elevated);color:var(--fg);border:1px solid var(--border)"><span aria-hidden="true">🌃</span><span>Cyber</span></button></div><button class="hidden lg:flex p-1.5 rounded text-gray-600 hover:text-gray-400 transition-colors" aria-label="Collapse sidebar"><svg class="w-4 h-4 transition-transform " fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path stroke-linecap="round" stroke-linejoin="round" d="M15 19l-7-7 7-7"></path></svg></button></div></div></aside><main class="flex-1 min-w-0"><div style="font-family:system-ui,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div><style>body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding:0 23px 0 0;font-size:24px;font-weight:500;vertical-align:top;line-height:49px">404</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:49px;margin:0">This page could not be found.</h2></div></div></div><!--$--><!--/$--></main></div><script src="/_next/static/chunks/0xrnwfefpke-g.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[84128,[\"/_next/static/chunks/0gjbwb8u5wd72.js\",\"/_next/static/chunks/14bsg3_-taiw4.js\"],\"ThemeProvider\"]\n3:I[58963,[\"/_next/static/chunks/0gjbwb8u5wd72.js\",\"/_next/static/chunks/14bsg3_-taiw4.js\"],\"NetworkProvider\"]\n4:I[25045,[\"/_next/static/chunks/0gjbwb8u5wd72.js\",\"/_next/static/chunks/14bsg3_-taiw4.js\"],\"AppShell\"]\n5:I[39756,[\"/_next/static/chunks/0gjbwb8u5wd72.js\",\"/_next/static/chunks/14bsg3_-taiw4.js\"],\"default\"]\n6:I[37457,[\"/_next/static/chunks/0gjbwb8u5wd72.js\",\"/_next/static/chunks/14bsg3_-taiw4.js\"],\"default\"]\n7:I[97367,[\"/_next/static/chunks/0gjbwb8u5wd72.js\",\"/_next/static/chunks/14bsg3_-taiw4.js\"],\"OutletBoundary\"]\n8:\"$Sreact.suspense\"\nb:I[97367,[\"/_next/static/chunks/0gjbwb8u5wd72.js\",\"/_next/static/chunks/14bsg3_-taiw4.js\"],\"ViewportBoundary\"]\nd:I[97367,[\"/_next/static/chunks/0gjbwb8u5wd72.js\",\"/_next/static/chunks/14bsg3_-taiw4.js\"],\"MetadataBoundary\"]\nf:I[68027,[\"/_next/static/chunks/0gjbwb8u5wd72.js\",\"/_next/static/chunks/14bsg3_-taiw4.js\"],\"default\",1]\n:HL[\"/_next/static/chunks/0_b22ht_r8.-s.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"c\":[\"\",\"_not-found\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"/_not-found\",{\"children\":[\"__PAGE__\",{}]}]},\"$undefined\",\"$undefined\",16],[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/chunks/0_b22ht_r8.-s.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-0\",{\"src\":\"/_next/static/chunks/0gjbwb8u5wd72.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-1\",{\"src\":\"/_next/static/chunks/14bsg3_-taiw4.js\",\"async\":true,\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"data-theme\":\"cyber\",\"className\":\"geist_mono_8d43a2aa-module__8Li5zG__variable h-full antialiased\",\"children\":[[\"$\",\"head\",null,{\"children\":[\"$\",\"script\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"\\ntry {\\n var t = localStorage.getItem('anet-theme') || 'cyber';\\n document.documentElement.setAttribute('data-theme', t);\\n} catch (e) {}\\n\"}}]}],[\"$\",\"body\",null,{\"className\":\"min-h-full\",\"style\":{\"background\":\"var(--bg)\",\"color\":\"var(--fg)\"},\"children\":[\"$\",\"$L2\",null,{\"children\":[\"$\",\"$L3\",null,{\"children\":[\"$\",\"$L4\",null,{\"children\":[\"$\",\"$L5\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L6\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":404}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}]}]}]}]]}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L5\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L6\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":\"$0:f:0:1:0:props:children:1:props:children:1:props:children:props:children:props:children:props:children:props:notFound:0:1:props:style\",\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":\"$0:f:0:1:0:props:children:1:props:children:1:props:children:props:children:props:children:props:children:props:notFound:0:1:props:children:props:children:1:props:style\",\"children\":404}],[\"$\",\"div\",null,{\"style\":\"$0:f:0:1:0:props:children:1:props:children:1:props:children:props:children:props:children:props:children:props:notFound:0:1:props:children:props:children:2:props:style\",\"children\":[\"$\",\"h2\",null,{\"style\":\"$0:f:0:1:0:props:children:1:props:children:1:props:children:props:children:props:children:props:children:props:notFound:0:1:props:children:props:children:2:props:children:props:style\",\"children\":\"This page could not be found.\"}]}]]}]}]],null,[\"$\",\"$L7\",null,{\"children\":[\"$\",\"$8\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@9\"}]}]]}],{},null,false,null]},null,false,\"$@a\"]},null,false,null],[\"$\",\"$1\",\"h\",{\"children\":[[\"$\",\"meta\",null,{\"name\":\"robots\",\"content\":\"noindex\"}],[\"$\",\"$Lb\",null,{\"children\":\"$Lc\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$Ld\",null,{\"children\":[\"$\",\"$8\",null,{\"name\":\"Next.Metadata\",\"children\":\"$Le\"}]}]}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$f\",[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/chunks/0_b22ht_r8.-s.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]]],\"S\":true,\"h\":null,\"s\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\",\"b\":\"jWiexXqSkZJ4pDbBHriqj\"}\n"])</script><script>self.__next_f.push([1,"10:[]\na:\"$W10\"\n"])</script><script>self.__next_f.push([1,"c:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no\"}],[\"$\",\"meta\",\"2\",{\"name\":\"theme-color\",\"content\":\"#0a0a1a\"}]]\n"])</script><script>self.__next_f.push([1,"11:I[27201,[\"/_next/static/chunks/0gjbwb8u5wd72.js\",\"/_next/static/chunks/14bsg3_-taiw4.js\"],\"IconMark\"]\n9:null\ne:[[\"$\",\"title\",\"0\",{\"children\":\"Agent Network Dashboard\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"Real-time monitoring dashboard for Agent Network nodes via CommHub\"}],[\"$\",\"meta\",\"2\",{\"property\":\"og:title\",\"content\":\"Agent Network Dashboard\"}],[\"$\",\"meta\",\"3\",{\"property\":\"og:description\",\"content\":\"Real-time monitoring dashboard for Agent Network nodes\"}],[\"$\",\"meta\",\"4\",{\"property\":\"og:type\",\"content\":\"website\"}],[\"$\",\"meta\",\"5\",{\"name\":\"twitter:card\",\"content\":\"summary\"}],[\"$\",\"meta\",\"6\",{\"name\":\"twitter:title\",\"content\":\"Agent Network Dashboard\"}],[\"$\",\"meta\",\"7\",{\"name\":\"twitter:description\",\"content\":\"Real-time monitoring dashboard for Agent Network nodes\"}],[\"$\",\"link\",\"8\",{\"rel\":\"icon\",\"href\":\"/favicon.ico?favicon.0x3dzn~oxb6tn.ico\",\"sizes\":\"256x256\",\"type\":\"image/x-icon\"}],[\"$\",\"link\",\"9\",{\"rel\":\"icon\",\"href\":\"/favicon.svg\"}],[\"$\",\"$L11\",\"10\",{}]]\n"])</script></body></html>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
<!DOCTYPE html><html id="__next_error__"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/0xrnwfefpke-g.js"/><script src="/_next/static/chunks/0pqt~8bl3ukh4.js" async=""></script><script src="/_next/static/chunks/0u359llqm1_01.js" async=""></script><script src="/_next/static/chunks/0e-wrhqh4h3r5.js" async=""></script><script src="/_next/static/chunks/turbopack-0vsvjs02l449s.js" async=""></script><script src="/_next/static/chunks/01xlw8hd842-c.js" async=""></script><script src="/_next/static/chunks/14bsg3_-taiw4.js" async=""></script><meta name="next-size-adjust" content=""/><title>500: This page couldn’t load</title><link rel="icon" href="/favicon.ico?favicon.0x3dzn~oxb6tn.ico" sizes="256x256" type="image/x-icon"/><style>:root {--next-error-bg: #fff;--next-error-text: #171717;--next-error-title: #171717;--next-error-message: #171717;--next-error-digest: #666666;--next-error-btn-text: #fff;--next-error-btn-bg: #171717;--next-error-btn-border: none;--next-error-btn-secondary-text: #171717;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(0,0,0,0.08);}@media (prefers-color-scheme: dark) {:root {--next-error-bg: #0a0a0a;--next-error-text: #ededed;--next-error-title: #ededed;--next-error-message: #ededed;--next-error-digest: #a0a0a0;--next-error-btn-text: #0a0a0a;--next-error-btn-bg: #ededed;--next-error-btn-border: none;--next-error-btn-secondary-text: #ededed;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(255,255,255,0.14);}}body { margin: 0; color: var(--next-error-text); background: var(--next-error-bg); }</style><script src="/_next/static/chunks/03~yq9q893hmn.js" noModule=""></script></head><body><div hidden=""><!--$--><!--/$--></div><div style="font-family:system-ui,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";height:100vh;display:flex;align-items:center;justify-content:center"><div style="margin-top:-32px;max-width:325px;padding:32px 28px;text-align:left"><svg width="32" height="32" viewBox="-0.2 -1.5 32 32" fill="none" style="margin-bottom:24px"><path d="M16.9328 0C18.0839 0.000116771 19.1334 0.658832 19.634 1.69531L31.4299 26.1309C32.0708 27.4588 31.1036 28.9999 29.6291 29H2.00215C0.527541 29 -0.439628 27.4588 0.201371 26.1309L11.9973 1.69531C12.4979 0.658823 13.5474 7.75066e-05 14.6984 0H16.9328ZM3.59493 26H28.0363L16.9328 3H14.6984L3.59493 26ZM15.8156 19C16.9202 19.0001 17.8156 19.8955 17.8156 21C17.8156 22.1045 16.9202 22.9999 15.8156 23C14.7111 23 13.8156 22.1046 13.8156 21C13.8156 19.8954 14.7111 19 15.8156 19ZM17.3156 16.5H14.3156V8.5H17.3156V16.5Z" fill="var(--next-error-title)"></path></svg><h1 style="font-size:24px;font-weight:500;letter-spacing:-0.02em;line-height:32px;margin:0 0 12px 0;color:var(--next-error-title)">This page couldn’t load</h1><p style="font-size:14px;font-weight:400;line-height:21px;margin:0 0 20px 0;color:var(--next-error-message)">A server error occurred. Reload to try again.</p><form style="margin:0"><button type="submit" style="display:inline-flex;align-items:center;justify-content:center;height:32px;padding:0 12px;font-size:14px;font-weight:500;line-height:20px;border-radius:6px;cursor:pointer;color:var(--next-error-btn-text);background:var(--next-error-btn-bg);border:var(--next-error-btn-border)">Reload</button></form></div></div><!--$--><!--/$--><script src="/_next/static/chunks/0xrnwfefpke-g.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[39756,[\"/_next/static/chunks/01xlw8hd842-c.js\",\"/_next/static/chunks/14bsg3_-taiw4.js\"],\"default\"]\n3:I[37457,[\"/_next/static/chunks/01xlw8hd842-c.js\",\"/_next/static/chunks/14bsg3_-taiw4.js\"],\"default\"]\n4:I[97367,[\"/_next/static/chunks/01xlw8hd842-c.js\",\"/_next/static/chunks/14bsg3_-taiw4.js\"],\"OutletBoundary\"]\n5:\"$Sreact.suspense\"\n8:I[97367,[\"/_next/static/chunks/01xlw8hd842-c.js\",\"/_next/static/chunks/14bsg3_-taiw4.js\"],\"ViewportBoundary\"]\na:I[97367,[\"/_next/static/chunks/01xlw8hd842-c.js\",\"/_next/static/chunks/14bsg3_-taiw4.js\"],\"MetadataBoundary\"]\nc:I[68027,[\"/_next/static/chunks/01xlw8hd842-c.js\",\"/_next/static/chunks/14bsg3_-taiw4.js\"],\"default\",1]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"c\":[\"\",\"_global-error\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"__PAGE__\",{}]}],[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[[\"$\",\"html\",null,{\"id\":\"__next_error__\",\"children\":[[\"$\",\"head\",null,{\"children\":[[\"$\",\"title\",null,{\"children\":\"500: This page couldn’t load\"}],[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\":root {--next-error-bg: #fff;--next-error-text: #171717;--next-error-title: #171717;--next-error-message: #171717;--next-error-digest: #666666;--next-error-btn-text: #fff;--next-error-btn-bg: #171717;--next-error-btn-border: none;--next-error-btn-secondary-text: #171717;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(0,0,0,0.08);}@media (prefers-color-scheme: dark) {:root {--next-error-bg: #0a0a0a;--next-error-text: #ededed;--next-error-title: #ededed;--next-error-message: #ededed;--next-error-digest: #a0a0a0;--next-error-btn-text: #0a0a0a;--next-error-btn-bg: #ededed;--next-error-btn-border: none;--next-error-btn-secondary-text: #ededed;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(255,255,255,0.14);}}body { margin: 0; color: var(--next-error-text); background: var(--next-error-bg); }\"}}]]}],[\"$\",\"body\",null,{\"children\":[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"display\":\"flex\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"style\":{\"marginTop\":\"-32px\",\"maxWidth\":\"325px\",\"padding\":\"32px 28px\",\"textAlign\":\"left\"},\"children\":[[\"$\",\"svg\",null,{\"width\":\"32\",\"height\":\"32\",\"viewBox\":\"-0.2 -1.5 32 32\",\"fill\":\"none\",\"style\":{\"marginBottom\":\"24px\"},\"children\":[\"$\",\"path\",null,{\"d\":\"M16.9328 0C18.0839 0.000116771 19.1334 0.658832 19.634 1.69531L31.4299 26.1309C32.0708 27.4588 31.1036 28.9999 29.6291 29H2.00215C0.527541 29 -0.439628 27.4588 0.201371 26.1309L11.9973 1.69531C12.4979 0.658823 13.5474 7.75066e-05 14.6984 0H16.9328ZM3.59493 26H28.0363L16.9328 3H14.6984L3.59493 26ZM15.8156 19C16.9202 19.0001 17.8156 19.8955 17.8156 21C17.8156 22.1045 16.9202 22.9999 15.8156 23C14.7111 23 13.8156 22.1046 13.8156 21C13.8156 19.8954 14.7111 19 15.8156 19ZM17.3156 16.5H14.3156V8.5H17.3156V16.5Z\",\"fill\":\"var(--next-error-title)\"}]}],[\"$\",\"h1\",null,{\"style\":{\"fontSize\":\"24px\",\"fontWeight\":500,\"letterSpacing\":\"-0.02em\",\"lineHeight\":\"32px\",\"margin\":\"0 0 12px 0\",\"color\":\"var(--next-error-title)\"},\"children\":\"This page couldn’t load\"}],[\"$\",\"p\",null,{\"style\":{\"fontSize\":\"14px\",\"fontWeight\":400,\"lineHeight\":\"21px\",\"margin\":\"0 0 20px 0\",\"color\":\"var(--next-error-message)\"},\"children\":\"A server error occurred. Reload to try again.\"}],[\"$\",\"form\",null,{\"style\":{\"margin\":0},\"children\":[\"$\",\"button\",null,{\"type\":\"submit\",\"style\":{\"display\":\"inline-flex\",\"alignItems\":\"center\",\"justifyContent\":\"center\",\"height\":\"32px\",\"padding\":\"0 12px\",\"fontSize\":\"14px\",\"fontWeight\":500,\"lineHeight\":\"20px\",\"borderRadius\":\"6px\",\"cursor\":\"pointer\",\"color\":\"var(--next-error-btn-text)\",\"background\":\"var(--next-error-btn-bg)\",\"border\":\"var(--next-error-btn-border)\"},\"children\":\"Reload\"}]}]]}]}]}]]}],null,[\"$\",\"$L4\",null,{\"children\":[\"$\",\"$5\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@6\"}]}]]}],{},null,false,null]},null,false,\"$@7\"],[\"$\",\"$1\",\"h\",{\"children\":[null,[\"$\",\"$L8\",null,{\"children\":\"$L9\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$La\",null,{\"children\":[\"$\",\"$5\",null,{\"name\":\"Next.Metadata\",\"children\":\"$Lb\"}]}]}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$c\",[]],\"S\":true,\"h\":null,\"s\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\",\"b\":\"
|
|
1
|
+
<!DOCTYPE html><html id="__next_error__"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/0xrnwfefpke-g.js"/><script src="/_next/static/chunks/0pqt~8bl3ukh4.js" async=""></script><script src="/_next/static/chunks/0u359llqm1_01.js" async=""></script><script src="/_next/static/chunks/0e-wrhqh4h3r5.js" async=""></script><script src="/_next/static/chunks/turbopack-0vsvjs02l449s.js" async=""></script><script src="/_next/static/chunks/01xlw8hd842-c.js" async=""></script><script src="/_next/static/chunks/14bsg3_-taiw4.js" async=""></script><meta name="next-size-adjust" content=""/><title>500: This page couldn’t load</title><link rel="icon" href="/favicon.ico?favicon.0x3dzn~oxb6tn.ico" sizes="256x256" type="image/x-icon"/><style>:root {--next-error-bg: #fff;--next-error-text: #171717;--next-error-title: #171717;--next-error-message: #171717;--next-error-digest: #666666;--next-error-btn-text: #fff;--next-error-btn-bg: #171717;--next-error-btn-border: none;--next-error-btn-secondary-text: #171717;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(0,0,0,0.08);}@media (prefers-color-scheme: dark) {:root {--next-error-bg: #0a0a0a;--next-error-text: #ededed;--next-error-title: #ededed;--next-error-message: #ededed;--next-error-digest: #a0a0a0;--next-error-btn-text: #0a0a0a;--next-error-btn-bg: #ededed;--next-error-btn-border: none;--next-error-btn-secondary-text: #ededed;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(255,255,255,0.14);}}body { margin: 0; color: var(--next-error-text); background: var(--next-error-bg); }</style><script src="/_next/static/chunks/03~yq9q893hmn.js" noModule=""></script></head><body><div hidden=""><!--$--><!--/$--></div><div style="font-family:system-ui,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";height:100vh;display:flex;align-items:center;justify-content:center"><div style="margin-top:-32px;max-width:325px;padding:32px 28px;text-align:left"><svg width="32" height="32" viewBox="-0.2 -1.5 32 32" fill="none" style="margin-bottom:24px"><path d="M16.9328 0C18.0839 0.000116771 19.1334 0.658832 19.634 1.69531L31.4299 26.1309C32.0708 27.4588 31.1036 28.9999 29.6291 29H2.00215C0.527541 29 -0.439628 27.4588 0.201371 26.1309L11.9973 1.69531C12.4979 0.658823 13.5474 7.75066e-05 14.6984 0H16.9328ZM3.59493 26H28.0363L16.9328 3H14.6984L3.59493 26ZM15.8156 19C16.9202 19.0001 17.8156 19.8955 17.8156 21C17.8156 22.1045 16.9202 22.9999 15.8156 23C14.7111 23 13.8156 22.1046 13.8156 21C13.8156 19.8954 14.7111 19 15.8156 19ZM17.3156 16.5H14.3156V8.5H17.3156V16.5Z" fill="var(--next-error-title)"></path></svg><h1 style="font-size:24px;font-weight:500;letter-spacing:-0.02em;line-height:32px;margin:0 0 12px 0;color:var(--next-error-title)">This page couldn’t load</h1><p style="font-size:14px;font-weight:400;line-height:21px;margin:0 0 20px 0;color:var(--next-error-message)">A server error occurred. Reload to try again.</p><form style="margin:0"><button type="submit" style="display:inline-flex;align-items:center;justify-content:center;height:32px;padding:0 12px;font-size:14px;font-weight:500;line-height:20px;border-radius:6px;cursor:pointer;color:var(--next-error-btn-text);background:var(--next-error-btn-bg);border:var(--next-error-btn-border)">Reload</button></form></div></div><!--$--><!--/$--><script src="/_next/static/chunks/0xrnwfefpke-g.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[39756,[\"/_next/static/chunks/01xlw8hd842-c.js\",\"/_next/static/chunks/14bsg3_-taiw4.js\"],\"default\"]\n3:I[37457,[\"/_next/static/chunks/01xlw8hd842-c.js\",\"/_next/static/chunks/14bsg3_-taiw4.js\"],\"default\"]\n4:I[97367,[\"/_next/static/chunks/01xlw8hd842-c.js\",\"/_next/static/chunks/14bsg3_-taiw4.js\"],\"OutletBoundary\"]\n5:\"$Sreact.suspense\"\n8:I[97367,[\"/_next/static/chunks/01xlw8hd842-c.js\",\"/_next/static/chunks/14bsg3_-taiw4.js\"],\"ViewportBoundary\"]\na:I[97367,[\"/_next/static/chunks/01xlw8hd842-c.js\",\"/_next/static/chunks/14bsg3_-taiw4.js\"],\"MetadataBoundary\"]\nc:I[68027,[\"/_next/static/chunks/01xlw8hd842-c.js\",\"/_next/static/chunks/14bsg3_-taiw4.js\"],\"default\",1]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"c\":[\"\",\"_global-error\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"__PAGE__\",{}]}],[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[[\"$\",\"html\",null,{\"id\":\"__next_error__\",\"children\":[[\"$\",\"head\",null,{\"children\":[[\"$\",\"title\",null,{\"children\":\"500: This page couldn’t load\"}],[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\":root {--next-error-bg: #fff;--next-error-text: #171717;--next-error-title: #171717;--next-error-message: #171717;--next-error-digest: #666666;--next-error-btn-text: #fff;--next-error-btn-bg: #171717;--next-error-btn-border: none;--next-error-btn-secondary-text: #171717;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(0,0,0,0.08);}@media (prefers-color-scheme: dark) {:root {--next-error-bg: #0a0a0a;--next-error-text: #ededed;--next-error-title: #ededed;--next-error-message: #ededed;--next-error-digest: #a0a0a0;--next-error-btn-text: #0a0a0a;--next-error-btn-bg: #ededed;--next-error-btn-border: none;--next-error-btn-secondary-text: #ededed;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(255,255,255,0.14);}}body { margin: 0; color: var(--next-error-text); background: var(--next-error-bg); }\"}}]]}],[\"$\",\"body\",null,{\"children\":[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"display\":\"flex\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"style\":{\"marginTop\":\"-32px\",\"maxWidth\":\"325px\",\"padding\":\"32px 28px\",\"textAlign\":\"left\"},\"children\":[[\"$\",\"svg\",null,{\"width\":\"32\",\"height\":\"32\",\"viewBox\":\"-0.2 -1.5 32 32\",\"fill\":\"none\",\"style\":{\"marginBottom\":\"24px\"},\"children\":[\"$\",\"path\",null,{\"d\":\"M16.9328 0C18.0839 0.000116771 19.1334 0.658832 19.634 1.69531L31.4299 26.1309C32.0708 27.4588 31.1036 28.9999 29.6291 29H2.00215C0.527541 29 -0.439628 27.4588 0.201371 26.1309L11.9973 1.69531C12.4979 0.658823 13.5474 7.75066e-05 14.6984 0H16.9328ZM3.59493 26H28.0363L16.9328 3H14.6984L3.59493 26ZM15.8156 19C16.9202 19.0001 17.8156 19.8955 17.8156 21C17.8156 22.1045 16.9202 22.9999 15.8156 23C14.7111 23 13.8156 22.1046 13.8156 21C13.8156 19.8954 14.7111 19 15.8156 19ZM17.3156 16.5H14.3156V8.5H17.3156V16.5Z\",\"fill\":\"var(--next-error-title)\"}]}],[\"$\",\"h1\",null,{\"style\":{\"fontSize\":\"24px\",\"fontWeight\":500,\"letterSpacing\":\"-0.02em\",\"lineHeight\":\"32px\",\"margin\":\"0 0 12px 0\",\"color\":\"var(--next-error-title)\"},\"children\":\"This page couldn’t load\"}],[\"$\",\"p\",null,{\"style\":{\"fontSize\":\"14px\",\"fontWeight\":400,\"lineHeight\":\"21px\",\"margin\":\"0 0 20px 0\",\"color\":\"var(--next-error-message)\"},\"children\":\"A server error occurred. Reload to try again.\"}],[\"$\",\"form\",null,{\"style\":{\"margin\":0},\"children\":[\"$\",\"button\",null,{\"type\":\"submit\",\"style\":{\"display\":\"inline-flex\",\"alignItems\":\"center\",\"justifyContent\":\"center\",\"height\":\"32px\",\"padding\":\"0 12px\",\"fontSize\":\"14px\",\"fontWeight\":500,\"lineHeight\":\"20px\",\"borderRadius\":\"6px\",\"cursor\":\"pointer\",\"color\":\"var(--next-error-btn-text)\",\"background\":\"var(--next-error-btn-bg)\",\"border\":\"var(--next-error-btn-border)\"},\"children\":\"Reload\"}]}]]}]}]}]]}],null,[\"$\",\"$L4\",null,{\"children\":[\"$\",\"$5\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@6\"}]}]]}],{},null,false,null]},null,false,\"$@7\"],[\"$\",\"$1\",\"h\",{\"children\":[null,[\"$\",\"$L8\",null,{\"children\":\"$L9\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$La\",null,{\"children\":[\"$\",\"$5\",null,{\"name\":\"Next.Metadata\",\"children\":\"$Lb\"}]}]}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$c\",[]],\"S\":true,\"h\":null,\"s\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\",\"b\":\"jWiexXqSkZJ4pDbBHriqj\"}\n"])</script><script>self.__next_f.push([1,"d:[]\n7:\"$Wd\"\n"])</script><script>self.__next_f.push([1,"9:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n"])</script><script>self.__next_f.push([1,"e:I[27201,[\"/_next/static/chunks/01xlw8hd842-c.js\",\"/_next/static/chunks/14bsg3_-taiw4.js\"],\"IconMark\"]\n6:null\nb:[[\"$\",\"link\",\"0\",{\"rel\":\"icon\",\"href\":\"/favicon.ico?favicon.0x3dzn~oxb6tn.ico\",\"sizes\":\"256x256\",\"type\":\"image/x-icon\"}],[\"$\",\"$Le\",\"1\",{}]]\n"])</script></body></html>
|
|
@@ -0,0 +1 @@
|
|
|
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`}])},65822,e=>{"use strict";var t=e.i(83599),s=e.i(58963);let n=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 a(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",n,{refreshInterval:3e4});return{config:e||null}},"useHealth",0,function(){let{data:e,error:s}=(0,t.default)("/api/hub/health",n,r);return{health:e||null,error:s}},"useLicense",0,function(){let{data:e,error:s}=(0,t.default)("/api/hub/license",n,{refreshInterval:6e4});return{license:e?.ok?e:null,error:s}},"useMessages",0,function(e=100){let{networkId:i}=(0,s.useNetworkId)(),{data:l,error:o,isLoading:d}=(0,t.default)(a(`/api/hub/messages?limit=${e}`,i),n,r);return{messages:l?.messages||[],error:o,isLoading:d}},"useSessions",0,function(){let{networkId:e}=(0,s.useNetworkId)(),{data:i,error:l,isLoading:o}=(0,t.default)(a("/api/hub/status",e),n,r);return{sessions:i?.sessions||[],hint:i?._hint,error:l,isLoading:o}},"useStats",0,function(){let{networkId:e}=(0,s.useNetworkId)(),{data:i,error:l}=(0,t.default)(a("/api/hub/stats",e),n,r);return{stats:i?.ok?i:null,error:l}},"useTasks",0,function(e){let{networkId:i}=(0,s.useNetworkId)(),l=new URLSearchParams({limit:"100",...e}).toString(),{data:o,error:d,isLoading:c}=(0,t.default)(a(`/api/hub/tasks?${l}`,i),n,r);return{tasks:o?.tasks||[],count:o?.count??0,source:o?.source,error:d,isLoading:c}}])},16015,(e,t,s)=>{},98547,(e,t,s)=>{var n=e.i(47167);e.r(16015);var r=e.r(71645),a=r&&"object"==typeof r&&"default"in r?r:{default:r},i=void 0!==n.default&&n.default.env&&!0,l=function(e){return"[object String]"===Object.prototype.toString.call(e)},o=function(){function e(e){var t=void 0===e?{}:e,s=t.name,n=void 0===s?"stylesheet":s,r=t.optimizeForSpeed,a=void 0===r?i:r;d(l(n),"`name` must be a string"),this._name=n,this._deletedRulePlaceholder="#"+n+"-deleted-rule____{}",d("boolean"==typeof a,"`optimizeForSpeed` must be a boolean"),this._optimizeForSpeed=a,this._serverSheet=void 0,this._tags=[],this._injected=!1,this._rulesCount=0;var o="u">typeof window&&document.querySelector('meta[property="csp-nonce"]');this._nonce=o?o.getAttribute("content"):null}var t,s=e.prototype;return s.setOptimizeForSpeed=function(e){d("boolean"==typeof e,"`setOptimizeForSpeed` accepts a boolean"),d(0===this._rulesCount,"optimizeForSpeed cannot be when rules have already been inserted"),this.flush(),this._optimizeForSpeed=e,this.inject()},s.isOptimizeForSpeed=function(){return this._optimizeForSpeed},s.inject=function(){var e=this;if(d(!this._injected,"sheet already injected"),this._injected=!0,"u">typeof window&&this._optimizeForSpeed){this._tags[0]=this.makeStyleTag(this._name),this._optimizeForSpeed="insertRule"in this.getSheet(),this._optimizeForSpeed||(i||console.warn("StyleSheet: optimizeForSpeed mode not supported falling back to standard mode."),this.flush(),this._injected=!0);return}this._serverSheet={cssRules:[],insertRule:function(t,s){return"number"==typeof s?e._serverSheet.cssRules[s]={cssText:t}:e._serverSheet.cssRules.push({cssText:t}),s},deleteRule:function(t){e._serverSheet.cssRules[t]=null}}},s.getSheetForTag=function(e){if(e.sheet)return e.sheet;for(var t=0;t<document.styleSheets.length;t++)if(document.styleSheets[t].ownerNode===e)return document.styleSheets[t]},s.getSheet=function(){return this.getSheetForTag(this._tags[this._tags.length-1])},s.insertRule=function(e,t){if(d(l(e),"`insertRule` accepts only strings"),"u"<typeof window)return"number"!=typeof t&&(t=this._serverSheet.cssRules.length),this._serverSheet.insertRule(e,t),this._rulesCount++;if(this._optimizeForSpeed){var s=this.getSheet();"number"!=typeof t&&(t=s.cssRules.length);try{s.insertRule(e,t)}catch(t){return i||console.warn("StyleSheet: illegal rule: \n\n"+e+"\n\nSee https://stackoverflow.com/q/20007992 for more info"),-1}}else{var n=this._tags[t];this._tags.push(this.makeStyleTag(this._name,e,n))}return this._rulesCount++},s.replaceRule=function(e,t){if(this._optimizeForSpeed||"u"<typeof window){var s="u">typeof window?this.getSheet():this._serverSheet;if(t.trim()||(t=this._deletedRulePlaceholder),!s.cssRules[e])return e;s.deleteRule(e);try{s.insertRule(t,e)}catch(n){i||console.warn("StyleSheet: illegal rule: \n\n"+t+"\n\nSee https://stackoverflow.com/q/20007992 for more info"),s.insertRule(this._deletedRulePlaceholder,e)}}else{var n=this._tags[e];d(n,"old rule at index `"+e+"` not found"),n.textContent=t}return e},s.deleteRule=function(e){if("u"<typeof window)return void this._serverSheet.deleteRule(e);if(this._optimizeForSpeed)this.replaceRule(e,"");else{var t=this._tags[e];d(t,"rule at index `"+e+"` not found"),t.parentNode.removeChild(t),this._tags[e]=null}},s.flush=function(){this._injected=!1,this._rulesCount=0,"u">typeof window?(this._tags.forEach(function(e){return e&&e.parentNode.removeChild(e)}),this._tags=[]):this._serverSheet.cssRules=[]},s.cssRules=function(){var e=this;return"u"<typeof window?this._serverSheet.cssRules:this._tags.reduce(function(t,s){return s?t=t.concat(Array.prototype.map.call(e.getSheetForTag(s).cssRules,function(t){return t.cssText===e._deletedRulePlaceholder?null:t})):t.push(null),t},[])},s.makeStyleTag=function(e,t,s){t&&d(l(t),"makeStyleTag accepts only strings as second parameter");var n=document.createElement("style");this._nonce&&n.setAttribute("nonce",this._nonce),n.type="text/css",n.setAttribute("data-"+e,""),t&&n.appendChild(document.createTextNode(t));var r=document.head||document.getElementsByTagName("head")[0];return s?r.insertBefore(n,s):r.appendChild(n),n},t=[{key:"length",get:function(){return this._rulesCount}}],function(e,t){for(var s=0;s<t.length;s++){var n=t[s];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}(e.prototype,t),e}();function d(e,t){if(!e)throw Error("StyleSheet: "+t+".")}var c=function(e){for(var t=5381,s=e.length;s;)t=33*t^e.charCodeAt(--s);return t>>>0},u={};function h(e,t){if(!t)return"jsx-"+e;var s=String(t),n=e+s;return u[n]||(u[n]="jsx-"+c(e+"-"+s)),u[n]}function p(e,t){"u"<typeof window&&(t=t.replace(/\/style/gi,"\\/style"));var s=e+t;return u[s]||(u[s]=t.replace(/__jsx-style-dynamic-selector/g,e)),u[s]}var x=function(){function e(e){var t=void 0===e?{}:e,s=t.styleSheet,n=void 0===s?null:s,r=t.optimizeForSpeed,a=void 0!==r&&r;this._sheet=n||new o({name:"styled-jsx",optimizeForSpeed:a}),this._sheet.inject(),n&&"boolean"==typeof a&&(this._sheet.setOptimizeForSpeed(a),this._optimizeForSpeed=this._sheet.isOptimizeForSpeed()),this._fromServer=void 0,this._indices={},this._instancesCounts={}}var t=e.prototype;return t.add=function(e){var t=this;void 0===this._optimizeForSpeed&&(this._optimizeForSpeed=Array.isArray(e.children),this._sheet.setOptimizeForSpeed(this._optimizeForSpeed),this._optimizeForSpeed=this._sheet.isOptimizeForSpeed()),"u">typeof window&&!this._fromServer&&(this._fromServer=this.selectFromServer(),this._instancesCounts=Object.keys(this._fromServer).reduce(function(e,t){return e[t]=0,e},{}));var s=this.getIdAndRules(e),n=s.styleId,r=s.rules;if(n in this._instancesCounts){this._instancesCounts[n]+=1;return}var a=r.map(function(e){return t._sheet.insertRule(e)}).filter(function(e){return -1!==e});this._indices[n]=a,this._instancesCounts[n]=1},t.remove=function(e){var t=this,s=this.getIdAndRules(e).styleId;if(function(e,t){if(!e)throw Error("StyleSheetRegistry: "+t+".")}(s in this._instancesCounts,"styleId: `"+s+"` not found"),this._instancesCounts[s]-=1,this._instancesCounts[s]<1){var n=this._fromServer&&this._fromServer[s];n?(n.parentNode.removeChild(n),delete this._fromServer[s]):(this._indices[s].forEach(function(e){return t._sheet.deleteRule(e)}),delete this._indices[s]),delete this._instancesCounts[s]}},t.update=function(e,t){this.add(t),this.remove(e)},t.flush=function(){this._sheet.flush(),this._sheet.inject(),this._fromServer=void 0,this._indices={},this._instancesCounts={}},t.cssRules=function(){var e=this,t=this._fromServer?Object.keys(this._fromServer).map(function(t){return[t,e._fromServer[t]]}):[],s=this._sheet.cssRules();return t.concat(Object.keys(this._indices).map(function(t){return[t,e._indices[t].map(function(e){return s[e].cssText}).join(e._optimizeForSpeed?"":"\n")]}).filter(function(e){return!!e[1]}))},t.styles=function(e){var t,s;return t=this.cssRules(),void 0===(s=e)&&(s={}),t.map(function(e){var t=e[0],n=e[1];return a.default.createElement("style",{id:"__"+t,key:"__"+t,nonce:s.nonce?s.nonce:void 0,dangerouslySetInnerHTML:{__html:n}})})},t.getIdAndRules=function(e){var t=e.children,s=e.dynamic,n=e.id;if(s){var r=h(n,s);return{styleId:r,rules:Array.isArray(t)?t.map(function(e){return p(r,e)}):[p(r,t)]}}return{styleId:h(n),rules:Array.isArray(t)?t:[t]}},t.selectFromServer=function(){return Array.prototype.slice.call(document.querySelectorAll('[id^="__jsx-"]')).reduce(function(e,t){return e[t.id.slice(2)]=t,e},{})},e}(),g=r.createContext(null);function m(){return new x}function f(){return r.useContext(g)}g.displayName="StyleSheetContext";var y=a.default.useInsertionEffect||a.default.useLayoutEffect,b="u">typeof window?m():void 0;function v(e){var t=b||f();return t&&("u"<typeof window?t.add(e):y(function(){return t.add(e),function(){t.remove(e)}},[e.id,String(e.dynamic)])),null}v.dynamic=function(e){return e.map(function(e){return h(e[0],e[1])}).join(" ")},s.StyleRegistry=function(e){var t=e.registry,s=e.children,n=r.useContext(g),i=r.useState(function(){return n||t||m()})[0];return a.default.createElement(g.Provider,{value:i},s)},s.createStyleRegistry=m,s.style=v,s.useStyleRegistry=f},21373,(e,t,s)=>{t.exports=e.r(98547).style},86688,e=>{"use strict";var t=e.i(18050),s=e.i(71645),n=e.i(22016),r=e.i(18150),a=e.i(65822),i=e.i(58442);let l={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,o,d,c,{sessions:u,isLoading:h}=(0,a.useSessions)(),{health:p}=(0,a.useHealth)(),x=p?.sse_sessions||{},g=e=>(e.network_id?x[`${e.network_id}:${e.alias}`]:void 0)??x[e.alias],[m,f]=(0,s.useState)(""),[y,b]=(0,s.useState)(""),[v,j]=(0,s.useState)("list"),[_,S]=(0,s.useState)({}),[N,w]=(0,s.useState)(null),[k,C]=(0,s.useState)({}),[R,F]=(0,s.useState)(null),z=u.map(e=>({...e,online:!!g(e)})).filter(e=>"online"===m?e.online:"offline"===m?!e.online:!m||m===e.status).filter(e=>!y||e.alias.toLowerCase().includes(y.toLowerCase())||(e.agent||"").toLowerCase().includes(y.toLowerCase())).sort((e,t)=>!!t.online-!!e.online||("working"===t.status)-("working"===e.status)),T=u.filter(e=>g(e)).length,$=e=>{w(t=>t===e?null:e),C(t=>({...t,[e]:{}}))},A=(e,t)=>{S(s=>({...s,[e]:t}))},I=async e=>{let t=_[e]?.trim()||"";if(t){C(t=>({...t,[e]:{sending:!0}}));try{let s=await fetch("/api/hub/send",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({alias:e,task:t})}),n=await s.json();if(!s.ok||n?.ok===!1)throw Error(n?.error||"Send failed");S(t=>({...t,[e]:""})),C(t=>({...t,[e]:{success:"Task sent"}})),w(null)}catch(t){C(s=>({...s,[e]:{error:t instanceof Error?t.message:"Send failed"}}))}}};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:"Nodes"}),(0,t.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:[T," online"]}),(0,t.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=z.filter(e=>e.online&&"working"===e.status).length,o=z.filter(e=>e.online&&"idle"===e.status).length,d=z.filter(e=>!e.online).length,c=z.length||1,(0,t.jsxs)("div",{className:"mb-6",children:[(0,t.jsxs)("div",{className:"flex h-2 rounded-full overflow-hidden bg-gray-800",children:[e>0&&(0,t.jsx)("div",{className:"bg-green-500",style:{width:`${e/c*100}%`}}),o>0&&(0,t.jsx)("div",{className:"bg-cyan-500",style:{width:`${o/c*100}%`}}),d>0&&(0,t.jsx)("div",{className:"bg-gray-600",style:{width:`${d/c*100}%`}})]}),(0,t.jsxs)("div",{className:"flex gap-4 mt-1.5 text-[10px] text-gray-500",children:[e>0&&(0,t.jsxs)("span",{children:[(0,t.jsx)("span",{className:"inline-block w-2 h-2 rounded-full bg-green-500 mr-1"}),e," working"]}),o>0&&(0,t.jsxs)("span",{children:[(0,t.jsx)("span",{className:"inline-block w-2 h-2 rounded-full bg-cyan-500 mr-1"}),o," idle"]}),d>0&&(0,t.jsxs)("span",{children:[(0,t.jsx)("span",{className:"inline-block w-2 h-2 rounded-full bg-gray-600 mr-1"}),d," offline"]})]})]})),(0,t.jsxs)("div",{className:"flex flex-wrap gap-3 mb-6",children:[(0,t.jsx)("input",{type:"text",value:y,onChange:e=>b(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,t.jsxs)("select",{value:m,onChange:e=>f(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,t.jsx)("option",{value:"",children:"All"}),(0,t.jsx)("option",{value:"online",children:"Online"}),(0,t.jsx)("option",{value:"offline",children:"Offline"}),(0,t.jsx)("option",{value:"working",children:"Working"}),(0,t.jsx)("option",{value:"idle",children:"Idle"}),(0,t.jsx)("option",{value:"blocked",children:"Blocked"}),(0,t.jsx)("option",{value:"error",children:"Error"})]}),(0,t.jsx)("div",{className:"ml-auto flex rounded-lg border border-[#2a2a4a] bg-[#111128] p-1 text-sm",children:["list","grid"].map(e=>(0,t.jsx)("button",{type:"button",onClick:()=>j(e),className:`rounded-md px-3 py-1.5 transition-colors ${v===e?"bg-cyan-500/10 text-cyan-300":"text-gray-500 hover:text-gray-200"}`,children:"list"===e?"List":"Grid"},e))})]}),h?(0,t.jsx)("div",{className:"animate-pulse space-y-2",children:[1,2,3,4].map(e=>(0,t.jsx)("div",{className:"h-16 bg-gray-800/20 rounded-lg"},e))}):0===z.length?(0,t.jsx)("div",{className:"text-center py-16 text-gray-600",children:"No nodes match your filters."}):"grid"===v?(0,t.jsx)("div",{className:"grid grid-cols-1 md:grid-cols-2 xl:grid-cols-3 gap-4",children:z.map(e=>{let s=e.online?e.status:"offline",a=k[e.alias]||{},i="number"==typeof e.progress?e.progress:0;return(0,t.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,t.jsx)("div",{className:"pointer-events-none absolute inset-0 flex items-center justify-center",children:(0,t.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,t.jsxs)("div",{className:"flex items-start justify-between gap-3",children:[(0,t.jsx)(n.default,{href:`/node?alias=${encodeURIComponent(e.alias)}`,className:"min-w-0 flex-1 hover:text-cyan-300",children:(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)("span",{className:"truncate text-base font-semibold text-white",children:e.alias}),(0,t.jsx)("span",{className:`shrink-0 rounded-md border px-2 py-0.5 text-[11px] ${l[s]||l.offline}`,children:s})]})}),(0,t.jsxs)("div",{className:"flex gap-1.5 shrink-0",children:[(0,t.jsx)("button",{type:"button",onClick:()=>F(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,t.jsx)("button",{type:"button",onClick:()=>$(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,t.jsxs)("div",{className:"mt-3 space-y-2 text-xs text-gray-500",children:[(0,t.jsxs)("div",{className:"flex justify-between gap-3",children:[(0,t.jsx)("span",{children:"Agent"}),(0,t.jsx)("span",{className:"truncate text-gray-300",children:e.agent||"--"})]}),(0,t.jsxs)("div",{className:"flex justify-between gap-3",children:[(0,t.jsx)("span",{children:"Server"}),(0,t.jsx)("span",{className:"truncate text-gray-300",children:e.server||"--"})]}),(0,t.jsxs)("div",{className:"flex justify-between gap-3",children:[(0,t.jsx)("span",{children:"Updated"}),(0,t.jsx)("span",{className:"text-gray-300",children:(0,r.timeAgo)(e.last_seen_at||e.updated_at)})]})]}),(0,t.jsx)("div",{className:"mt-3 rounded-lg border border-[#1a1a2a] bg-[#0a0a15] px-3 py-2 text-xs text-gray-400",children:e.task?e.task:"No current task"}),i>0&&i<100&&(0,t.jsx)("div",{className:"mt-3 h-1.5 overflow-hidden rounded-full bg-gray-800",children:(0,t.jsx)("div",{className:"h-1.5 rounded-full bg-cyan-400 transition-all",style:{width:`${i}%`}})}),N===e.alias&&(0,t.jsxs)("div",{className:"mt-4 space-y-2 rounded-lg border border-[#2a2a4a] bg-[#0a0a15] p-3",children:[(0,t.jsx)("input",{type:"text",value:_[e.alias]||"",onChange:t=>A(e.alias,t.target.value),onKeyDown:t=>"Enter"===t.key&&I(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,t.jsxs)("div",{className:"flex justify-end gap-2",children:[(0,t.jsx)("button",{type:"button",onClick:()=>w(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,t.jsx)("button",{type:"button",onClick:()=>I(e.alias),disabled:a.sending||!(_[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:a.sending?"Sending...":"Send"})]})]}),a.error&&(0,t.jsx)("div",{className:"mt-2 text-xs text-red-400",children:a.error}),a.success&&N!==e.alias&&(0,t.jsx)("div",{className:"mt-2 text-xs text-green-400",children:a.success})]},e.alias)})}):(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsxs)("div",{className:"hidden sm:grid sm:grid-cols-12 gap-2 px-4 py-2 text-xs text-gray-600 uppercase",children:[(0,t.jsx)("div",{className:"col-span-1",children:"Status"}),(0,t.jsx)("div",{className:"col-span-2",children:"Alias"}),(0,t.jsx)("div",{className:"col-span-2",children:"Agent"}),(0,t.jsx)("div",{className:"col-span-2",children:"Server"}),(0,t.jsx)("div",{className:"col-span-2",children:"Current Task"}),(0,t.jsx)("div",{className:"col-span-1",children:"Updated"}),(0,t.jsx)("div",{className:"col-span-2 text-right",children:"Actions"})]}),z.map(e=>{let s=e.online?e.status:"offline",a=k[e.alias]||{};return(0,t.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,t.jsxs)("div",{className:"hidden sm:grid sm:grid-cols-12 gap-2 items-center",children:[(0,t.jsx)("div",{className:"col-span-1",children:(0,t.jsx)("span",{className:`text-xs px-2 py-0.5 rounded-md border ${l[s]||l.offline}`,children:s})}),(0,t.jsx)("div",{className:"col-span-2 min-w-0",children:(0,t.jsx)(n.default,{href:`/node?alias=${encodeURIComponent(e.alias)}`,className:"truncate text-sm font-medium text-white hover:text-cyan-300",children:e.alias})}),(0,t.jsx)("div",{className:"col-span-2 truncate text-xs text-gray-400",children:e.agent||"--"}),(0,t.jsx)("div",{className:"col-span-2 truncate text-xs text-gray-400",children:e.server||"--"}),(0,t.jsx)("div",{className:"col-span-2 truncate text-xs text-gray-500",children:e.task||"--"}),(0,t.jsx)("div",{className:"col-span-1 text-xs text-gray-500",children:(0,r.timeAgo)(e.last_seen_at||e.updated_at)}),(0,t.jsxs)("div",{className:"col-span-2 flex justify-end gap-1.5",children:[(0,t.jsx)("button",{type:"button",onClick:()=>F(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,t.jsx)("button",{type:"button",onClick:()=>$(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,t.jsxs)("div",{className:"sm:hidden space-y-2",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between gap-3",children:[(0,t.jsx)(n.default,{href:`/node?alias=${encodeURIComponent(e.alias)}`,className:"truncate text-sm font-medium text-white hover:text-cyan-300",children:e.alias}),(0,t.jsx)("span",{className:`shrink-0 text-xs px-2 py-0.5 rounded-md border ${l[s]||l.offline}`,children:s})]}),(0,t.jsxs)("div",{className:"text-xs text-gray-500",children:[e.agent||"--"," · ",(0,r.timeAgo)(e.last_seen_at||e.updated_at)]}),e.task&&(0,t.jsx)("div",{className:"truncate text-xs text-gray-500",children:e.task}),(0,t.jsxs)("div",{className:"flex gap-2",children:[(0,t.jsx)("button",{type:"button",onClick:()=>F(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,t.jsx)("button",{type:"button",onClick:()=>$(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"})]})]}),N===e.alias&&(0,t.jsxs)("div",{className:"mt-3 space-y-2 border-t border-[#2a2a4a] pt-3",children:[(0,t.jsx)("input",{type:"text",value:_[e.alias]||"",onChange:t=>A(e.alias,t.target.value),onKeyDown:t=>"Enter"===t.key&&I(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,t.jsxs)("div",{className:"flex justify-end gap-2",children:[(0,t.jsx)("button",{type:"button",onClick:()=>w(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,t.jsx)("button",{type:"button",onClick:()=>I(e.alias),disabled:a.sending||!(_[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:a.sending?"Sending...":"Send"})]})]}),a.error&&(0,t.jsx)("div",{className:"mt-2 text-xs text-red-400",children:a.error}),a.success&&N!==e.alias&&(0,t.jsx)("div",{className:"mt-2 text-xs text-green-400",children:a.success})]},e.alias)})]}),R&&(0,t.jsx)(i.TaskChatPanel,{alias:R,onClose:()=>F(null)})]})}])}]);
|
|
@@ -0,0 +1 @@
|
|
|
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`}])},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 l(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:n}=(0,s.useNetworkId)(),{data:i,error:o,isLoading:d}=(0,t.default)(l(`/api/hub/messages?limit=${e}`,n),a,r);return{messages:i?.messages||[],error:o,isLoading:d}},"useSessions",0,function(){let{networkId:e}=(0,s.useNetworkId)(),{data:n,error:i,isLoading:o}=(0,t.default)(l("/api/hub/status",e),a,r);return{sessions:n?.sessions||[],hint:n?._hint,error:i,isLoading:o}},"useStats",0,function(){let{networkId:e}=(0,s.useNetworkId)(),{data:n,error:i}=(0,t.default)(l("/api/hub/stats",e),a,r);return{stats:n?.ok?n:null,error:i}},"useTasks",0,function(e){let{networkId:n}=(0,s.useNetworkId)(),i=new URLSearchParams({limit:"100",...e}).toString(),{data:o,error:d,isLoading:c}=(0,t.default)(l(`/api/hub/tasks?${i}`,n),a,r);return{tasks:o?.tasks||[],count:o?.count??0,source:o?.source,error:d,isLoading:c}}])},23261,e=>{"use strict";var t=e.i(18050),s=e.i(71645),a=e.i(65822),r=e.i(18150);e.s(["default",0,function(){let{sessions:e}=(0,a.useSessions)(),{health:l}=(0,a.useHealth)(),{stats:n}=(0,a.useStats)(),i=l?.sse_sessions||{},o=e=>(e.network_id?i[`${e.network_id}:${e.alias}`]:void 0)??i[e.alias],[d,c]=(0,s.useState)(""),[u,x]=(0,s.useState)(""),[h,m]=(0,s.useState)(""),[g,b]=(0,s.useState)(""),[p,f]=(0,s.useState)(""),[y,j]=(0,s.useState)(""),[v,N]=(0,s.useState)(""),[w,k]=(0,s.useState)(""),S=async()=>{if(d.trim()&&u.trim()){try{let e=await fetch("/api/hub/auth",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"register",username:d,password:u})}),t=await e.json();m(t.ok?`Created: ${t.user.username} (${t.user.user_id})`:`Failed: ${t.error}`),t.ok&&(c(""),x(""))}catch{m("Failed")}setTimeout(()=>m(""),8e3)}},$=async()=>{if(g.trim()){try{let e=await fetch("/api/hub/broadcast",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({message:g})}),t=await e.json();f(t.ok?`Sent to ${t.recipients} nodes`:`Failed: ${t.error}`),t.ok&&b("")}catch{f("Failed")}setTimeout(()=>f(""),5e3)}},T=async()=>{if(y&&v.trim()){try{let e=await fetch("/api/hub/send",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({alias:y,task:v})}),t=await e.json();k(t.ok?"Task sent":`Failed: ${t.error}`),t.ok&&N("")}catch{k("Failed")}setTimeout(()=>k(""),5e3)}},C=e.filter(e=>o(e)),O=e.filter(e=>!o(e));return(0,t.jsxs)("div",{className:"min-h-screen bg-[#0a0a1a] text-gray-100 p-4 sm:p-6 font-mono",children:[(0,t.jsx)("h1",{className:"text-2xl font-bold text-white mb-6 lg:ml-0 ml-10",children:"Admin"}),(0,t.jsxs)("div",{className:"grid grid-cols-1 lg:grid-cols-2 gap-6 max-w-6xl",children:[(0,t.jsxs)("section",{className:"bg-[#111128] border border-[#2a2a4a] rounded-xl p-5",children:[(0,t.jsx)("h2",{className:"text-sm font-semibold text-gray-300 mb-4",children:"Server Overview"}),(0,t.jsxs)("div",{className:"grid grid-cols-2 gap-4 text-sm",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("div",{className:"text-3xl font-bold text-green-400 tabular-nums",children:C.length}),(0,t.jsx)("div",{className:"text-xs text-gray-500",children:"Online"})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("div",{className:"text-3xl font-bold text-gray-500 tabular-nums",children:O.length}),(0,t.jsx)("div",{className:"text-xs text-gray-500",children:"Offline"})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("div",{className:"text-3xl font-bold text-cyan-400 tabular-nums",children:l?.sse_connections??"--"}),(0,t.jsx)("div",{className:"text-xs text-gray-500",children:"SSE Connections"})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("div",{className:"text-3xl font-bold text-white tabular-nums",children:n?.tasks?.total??"--"}),(0,t.jsx)("div",{className:"text-xs text-gray-500",children:"Total Tasks"})]})]}),n?.tasks?.by_status&&n.tasks.by_status.length>0&&(0,t.jsx)("div",{className:"mt-4 flex flex-wrap gap-2",children:n.tasks.by_status.map(e=>(0,t.jsxs)("span",{className:"text-xs px-2 py-1 rounded bg-[#0a0a15] border border-[#1a1a2a] text-gray-400",children:[e.status,": ",e.count]},e.status))})]}),(0,t.jsxs)("section",{className:"bg-[#111128] border border-[#2a2a4a] rounded-xl p-5",children:[(0,t.jsx)("h2",{className:"text-sm font-semibold text-gray-300 mb-4",children:"Broadcast"}),(0,t.jsx)("textarea",{value:g,onChange:e=>b(e.target.value),placeholder:"Message to all online nodes...",rows:3,className:"w-full bg-[#0a0a15] border border-[#2a2a4a] rounded-lg px-3 py-2 text-sm text-white placeholder-gray-600 focus:border-cyan-500/50 focus:outline-none resize-none"}),(0,t.jsxs)("div",{className:"flex justify-between items-center mt-3",children:[(0,t.jsxs)("span",{className:"text-xs text-gray-600",children:[g.length,"/500"]}),(0,t.jsx)("button",{onClick:$,disabled:!g.trim(),className:"px-4 py-2 bg-purple-600 hover:bg-purple-500 disabled:bg-gray-800 disabled:text-gray-600 text-white text-sm rounded-lg transition-colors",children:"Broadcast"})]}),p&&(0,t.jsx)("div",{className:`mt-2 text-xs ${p.startsWith("Failed")?"text-red-400":"text-green-400"}`,children:p})]}),(0,t.jsxs)("section",{className:"bg-[#111128] border border-[#2a2a4a] rounded-xl p-5",children:[(0,t.jsx)("h2",{className:"text-sm font-semibold text-gray-300 mb-4",children:"Send Task"}),(0,t.jsxs)("select",{value:y,onChange:e=>j(e.target.value),className:"w-full bg-[#0a0a15] border border-[#2a2a4a] rounded-lg px-3 py-2 text-sm text-white focus:border-cyan-500/50 focus:outline-none mb-3",children:[(0,t.jsx)("option",{value:"",children:"Select target node..."}),C.map(e=>(0,t.jsxs)("option",{value:e.alias,children:[e.alias," (",e.status,")"]},e.alias)),(0,t.jsx)("optgroup",{label:"Offline",children:O.map(e=>(0,t.jsxs)("option",{value:e.alias,children:[e.alias," (offline)"]},e.alias))})]}),(0,t.jsx)("textarea",{value:v,onChange:e=>N(e.target.value),placeholder:"Task content...",rows:3,className:"w-full bg-[#0a0a15] border border-[#2a2a4a] rounded-lg px-3 py-2 text-sm text-white placeholder-gray-600 focus:border-cyan-500/50 focus:outline-none resize-none"}),(0,t.jsx)("div",{className:"flex justify-end mt-3",children:(0,t.jsx)("button",{onClick:T,disabled:!y||!v.trim(),className:"px-4 py-2 bg-cyan-600 hover:bg-cyan-500 disabled:bg-gray-800 disabled:text-gray-600 text-white text-sm rounded-lg transition-colors",children:"Send Task"})}),w&&(0,t.jsx)("div",{className:`mt-2 text-xs ${w.startsWith("Failed")?"text-red-400":"text-green-400"}`,children:w})]}),(0,t.jsxs)("section",{className:"bg-[#111128] border border-[#2a2a4a] rounded-xl p-5",children:[(0,t.jsxs)("h2",{className:"text-sm font-semibold text-gray-300 mb-4",children:["Online Sessions ",(0,t.jsxs)("span",{className:"text-gray-600",children:["(",C.length,")"]})]}),(0,t.jsx)("div",{className:"space-y-2 max-h-80 overflow-y-auto",children:0===C.length?(0,t.jsx)("div",{className:"text-xs text-gray-600 text-center py-4",children:"No online sessions"}):C.map(e=>(0,t.jsxs)("div",{className:"flex items-center justify-between bg-[#0a0a15] rounded-lg px-3 py-2 border border-[#1a1a2a]",children:[(0,t.jsxs)("div",{className:"min-w-0",children:[(0,t.jsx)("div",{className:"text-sm text-white font-medium truncate",children:e.alias}),(0,t.jsxs)("div",{className:"text-xs text-gray-500 truncate",children:[e.agent||"--"," · ",e.task||"idle"]})]}),(0,t.jsxs)("div",{className:"flex items-center gap-2 shrink-0",children:[(0,t.jsx)("span",{className:`text-xs px-2 py-0.5 rounded border ${"working"===e.status?"bg-green-900/30 text-green-300 border-green-800/30":"bg-blue-900/30 text-blue-300 border-blue-800/30"}`,children:e.status}),(0,t.jsx)("span",{className:"text-[10px] text-gray-600",children:(0,r.timeAgo)(e.updated_at)})]})]},e.alias))})]}),(0,t.jsxs)("section",{className:"bg-[#111128] border border-[#2a2a4a] rounded-xl p-5",children:[(0,t.jsx)("h2",{className:"text-sm font-semibold text-gray-300 mb-4",children:"Register User (V3)"}),(0,t.jsxs)("div",{className:"space-y-3",children:[(0,t.jsx)("input",{type:"text",value:d,onChange:e=>c(e.target.value),placeholder:"Username",className:"w-full bg-[#0a0a15] border border-[#2a2a4a] rounded-lg px-3 py-2 text-sm text-white placeholder-gray-600 focus:border-cyan-500/50 focus:outline-none"}),(0,t.jsx)("input",{type:"password",value:u,onChange:e=>x(e.target.value),placeholder:"Password",className:"w-full bg-[#0a0a15] border border-[#2a2a4a] rounded-lg px-3 py-2 text-sm text-white placeholder-gray-600 focus:border-cyan-500/50 focus:outline-none"}),(0,t.jsx)("button",{onClick:S,disabled:!d.trim()||!u.trim(),className:"w-full px-4 py-2 bg-green-600 hover:bg-green-500 disabled:bg-gray-800 disabled:text-gray-600 text-white text-sm rounded-lg transition-colors",children:"Register"})]}),h&&(0,t.jsx)("div",{className:`mt-2 text-xs ${h.startsWith("Failed")?"text-red-400":"text-green-400"}`,children:h})]})]})]})}])}]);
|
package/.next/trace
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
[{"name":"generate-buildid","duration":377,"timestamp":130665328322,"id":4,"parentId":1,"tags":{},"startTime":1778502151153,"traceId":"02a6962304287ef1"},{"name":"load-custom-routes","duration":482,"timestamp":130665328853,"id":5,"parentId":1,"tags":{},"startTime":1778502151154,"traceId":"02a6962304287ef1"},{"name":"create-dist-dir","duration":292,"timestamp":130665329377,"id":6,"parentId":1,"tags":{},"startTime":1778502151154,"traceId":"02a6962304287ef1"},{"name":"clean","duration":28595,"timestamp":130665330349,"id":7,"parentId":1,"tags":{},"startTime":1778502151155,"traceId":"02a6962304287ef1"},{"name":"discover-routes","duration":11386,"timestamp":130665437761,"id":8,"parentId":1,"tags":{},"startTime":1778502151262,"traceId":"02a6962304287ef1"},{"name":"create-root-mapping","duration":113,"timestamp":130665449217,"id":9,"parentId":1,"tags":{},"startTime":1778502151274,"traceId":"02a6962304287ef1"},{"name":"generate-route-types","duration":20456,"timestamp":130665451758,"id":10,"parentId":1,"tags":{},"startTime":1778502151276,"traceId":"02a6962304287ef1"},{"name":"public-dir-conflict-check","duration":130,"timestamp":130665472311,"id":11,"parentId":1,"tags":{},"startTime":1778502151297,"traceId":"02a6962304287ef1"},{"name":"generate-routes-manifest","duration":4457,"timestamp":130665472571,"id":12,"parentId":1,"tags":{},"startTime":1778502151297,"traceId":"02a6962304287ef1"},{"name":"run-turbopack","duration":8415466,"timestamp":130665496371,"id":14,"parentId":1,"tags":{},"startTime":1778502151321,"traceId":"02a6962304287ef1"},{"name":"turbopack-build-events","duration":97,"timestamp":130665786954,"id":15,"parentId":1,"tags":{},"startTime":1778502151612,"traceId":"02a6962304287ef1"},{"name":"run-typescript","duration":7884672,"timestamp":130673938976,"id":16,"parentId":1,"tags":{},"startTime":1778502159764,"traceId":"02a6962304287ef1"},{"name":"generate-required-server-files","duration":2083,"timestamp":130681824475,"id":18,"parentId":1,"tags":{},"startTime":1778502167649,"traceId":"02a6962304287ef1"},{"name":"check-static-error-page","duration":14734,"timestamp":130681904918,"id":20,"parentId":19,"tags":{},"startTime":1778502167730,"traceId":"02a6962304287ef1"},{"name":"is-page-static","duration":364281,"timestamp":130681922523,"id":62,"parentId":22,"tags":{},"startTime":1778502167747,"traceId":"02a6962304287ef1"},{"name":"check-page","duration":379700,"timestamp":130681907256,"id":22,"parentId":19,"tags":{"page":"/_global-error"},"startTime":1778502167732,"traceId":"02a6962304287ef1"},{"name":"is-page-static","duration":481846,"timestamp":130681922059,"id":61,"parentId":21,"tags":{},"startTime":1778502167747,"traceId":"02a6962304287ef1"},{"name":"check-page","duration":497878,"timestamp":130681906106,"id":21,"parentId":19,"tags":{"page":"/_not-found"},"startTime":1778502167731,"traceId":"02a6962304287ef1"},{"name":"is-page-static","duration":528640,"timestamp":130681922607,"id":63,"parentId":25,"tags":{},"startTime":1778502167747,"traceId":"02a6962304287ef1"},{"name":"check-page","duration":540696,"timestamp":130681910614,"id":25,"parentId":19,"tags":{"page":"/api/auth/login"},"startTime":1778502167735,"traceId":"02a6962304287ef1"},{"name":"is-page-static","duration":534712,"timestamp":130681922824,"id":66,"parentId":28,"tags":{},"startTime":1778502167748,"traceId":"02a6962304287ef1"},{"name":"check-page","duration":546608,"timestamp":130681910985,"id":28,"parentId":19,"tags":{"page":"/api/hub/audit-log"},"startTime":1778502167736,"traceId":"02a6962304287ef1"},{"name":"is-page-static","duration":577227,"timestamp":130681922865,"id":67,"parentId":29,"tags":{},"startTime":1778502167748,"traceId":"02a6962304287ef1"},{"name":"check-page","duration":589081,"timestamp":130681911083,"id":29,"parentId":19,"tags":{"page":"/api/hub/auth"},"startTime":1778502167736,"traceId":"02a6962304287ef1"},{"name":"is-page-static","duration":577557,"timestamp":130681922747,"id":64,"parentId":26,"tags":{},"startTime":1778502167747,"traceId":"02a6962304287ef1"},{"name":"check-page","duration":589533,"timestamp":130681910795,"id":26,"parentId":19,"tags":{"page":"/api/auth/logout"},"startTime":1778502167735,"traceId":"02a6962304287ef1"},{"name":"is-page-static","duration":586041,"timestamp":130681922930,"id":69,"parentId":32,"tags":{},"startTime":1778502167748,"traceId":"02a6962304287ef1"},{"name":"check-page","duration":597410,"timestamp":130681911641,"id":32,"parentId":19,"tags":{"page":"/api/hub/health"},"startTime":1778502167736,"traceId":"02a6962304287ef1"},{"name":"is-page-static","duration":592210,"timestamp":130681922898,"id":68,"parentId":30,"tags":{},"startTime":1778502167748,"traceId":"02a6962304287ef1"},{"name":"check-page","duration":603869,"timestamp":130681911298,"id":30,"parentId":19,"tags":{"page":"/api/hub/broadcast"},"startTime":1778502167736,"traceId":"02a6962304287ef1"},{"name":"is-page-static","duration":592272,"timestamp":130681923048,"id":70,"parentId":33,"tags":{},"startTime":1778502167748,"traceId":"02a6962304287ef1"},{"name":"check-page","duration":603608,"timestamp":130681911744,"id":33,"parentId":19,"tags":{"page":"/api/hub/inbox"},"startTime":1778502167736,"traceId":"02a6962304287ef1"},{"name":"is-page-static","duration":600730,"timestamp":130681923113,"id":72,"parentId":35,"tags":{},"startTime":1778502167748,"traceId":"02a6962304287ef1"},{"name":"check-page","duration":611970,"timestamp":130681911925,"id":35,"parentId":19,"tags":{"page":"/api/hub/messages"},"startTime":1778502167737,"traceId":"02a6962304287ef1"},{"name":"is-page-static","duration":603763,"timestamp":130681923095,"id":71,"parentId":34,"tags":{},"startTime":1778502167748,"traceId":"02a6962304287ef1"},{"name":"check-page","duration":615082,"timestamp":130681911832,"id":34,"parentId":19,"tags":{"page":"/api/hub/license"},"startTime":1778502167737,"traceId":"02a6962304287ef1"},{"name":"is-page-static","duration":607031,"timestamp":130681923165,"id":73,"parentId":36,"tags":{},"startTime":1778502167748,"traceId":"02a6962304287ef1"},{"name":"check-page","duration":617966,"timestamp":130681912330,"id":36,"parentId":19,"tags":{"page":"/api/hub/networks"},"startTime":1778502167737,"traceId":"02a6962304287ef1"},{"name":"is-page-static","duration":608217,"timestamp":130681923193,"id":75,"parentId":38,"tags":{},"startTime":1778502167748,"traceId":"02a6962304287ef1"},{"name":"check-page","duration":618848,"timestamp":130681912604,"id":38,"parentId":19,"tags":{"page":"/api/hub/register"},"startTime":1778502167737,"traceId":"02a6962304287ef1"},{"name":"is-page-static","duration":610352,"timestamp":130681923184,"id":74,"parentId":37,"tags":{},"startTime":1778502167748,"traceId":"02a6962304287ef1"},{"name":"check-page","duration":621088,"timestamp":130681912496,"id":37,"parentId":19,"tags":{"page":"/api/hub/nodes"},"startTime":1778502167737,"traceId":"02a6962304287ef1"},{"name":"is-page-static","duration":612099,"timestamp":130681923199,"id":76,"parentId":39,"tags":{},"startTime":1778502167748,"traceId":"02a6962304287ef1"},{"name":"check-page","duration":622693,"timestamp":130681912682,"id":39,"parentId":19,"tags":{"page":"/api/hub/send"},"startTime":1778502167737,"traceId":"02a6962304287ef1"},{"name":"is-page-static","duration":615671,"timestamp":130681923211,"id":78,"parentId":41,"tags":{},"startTime":1778502167748,"traceId":"02a6962304287ef1"},{"name":"check-page","duration":626079,"timestamp":130681912841,"id":41,"parentId":19,"tags":{"page":"/api/hub/session"},"startTime":1778502167738,"traceId":"02a6962304287ef1"},{"name":"is-page-static","duration":618562,"timestamp":130681923205,"id":77,"parentId":40,"tags":{},"startTime":1778502167748,"traceId":"02a6962304287ef1"},{"name":"check-page","duration":629050,"timestamp":130681912772,"id":40,"parentId":19,"tags":{"page":"/api/hub/server-logs"},"startTime":1778502167737,"traceId":"02a6962304287ef1"},{"name":"is-page-static","duration":619615,"timestamp":130681923216,"id":79,"parentId":42,"tags":{},"startTime":1778502167748,"traceId":"02a6962304287ef1"},{"name":"check-page","duration":629950,"timestamp":130681912915,"id":42,"parentId":19,"tags":{"page":"/api/hub/stats"},"startTime":1778502167738,"traceId":"02a6962304287ef1"},{"name":"is-page-static","duration":622039,"timestamp":130681923223,"id":80,"parentId":43,"tags":{},"startTime":1778502167748,"traceId":"02a6962304287ef1"},{"name":"check-page","duration":632310,"timestamp":130681912988,"id":43,"parentId":19,"tags":{"page":"/api/hub/status"},"startTime":1778502167738,"traceId":"02a6962304287ef1"},{"name":"is-page-static","duration":623049,"timestamp":130681923229,"id":81,"parentId":44,"tags":{},"startTime":1778502167748,"traceId":"02a6962304287ef1"},{"name":"check-page","duration":633229,"timestamp":130681913081,"id":44,"parentId":19,"tags":{"page":"/api/hub/task-events"},"startTime":1778502167738,"traceId":"02a6962304287ef1"},{"name":"is-page-static","duration":626146,"timestamp":130681923234,"id":82,"parentId":45,"tags":{},"startTime":1778502167748,"traceId":"02a6962304287ef1"},{"name":"check-page","duration":636274,"timestamp":130681913156,"id":45,"parentId":19,"tags":{"page":"/api/hub/tasks"},"startTime":1778502167738,"traceId":"02a6962304287ef1"},{"name":"is-page-static","duration":628118,"timestamp":130681923240,"id":83,"parentId":46,"tags":{},"startTime":1778502167748,"traceId":"02a6962304287ef1"},{"name":"check-page","duration":638283,"timestamp":130681913249,"id":46,"parentId":19,"tags":{"page":"/api/hub/tmux"},"startTime":1778502167738,"traceId":"02a6962304287ef1"},{"name":"is-page-static","duration":632810,"timestamp":130681923250,"id":85,"parentId":48,"tags":{},"startTime":1778502167748,"traceId":"02a6962304287ef1"},{"name":"check-page","duration":642699,"timestamp":130681913405,"id":48,"parentId":19,"tags":{"page":"/favicon.ico"},"startTime":1778502167738,"traceId":"02a6962304287ef1"},{"name":"is-page-static","duration":632962,"timestamp":130681923245,"id":84,"parentId":47,"tags":{},"startTime":1778502167748,"traceId":"02a6962304287ef1"},{"name":"check-page","duration":642906,"timestamp":130681913320,"id":47,"parentId":19,"tags":{"page":"/api/hub/tokens"},"startTime":1778502167738,"traceId":"02a6962304287ef1"},{"name":"is-page-static","duration":631654,"timestamp":130681928549,"id":87,"parentId":31,"tags":{},"startTime":1778502167753,"traceId":"02a6962304287ef1"},{"name":"check-page","duration":648834,"timestamp":130681911409,"id":31,"parentId":19,"tags":{"page":"/api/hub/events"},"startTime":1778502167736,"traceId":"02a6962304287ef1"},{"name":"is-page-static","duration":632598,"timestamp":130681927740,"id":86,"parentId":24,"tags":{},"startTime":1778502167752,"traceId":"02a6962304287ef1"},{"name":"check-page","duration":652428,"timestamp":130681907930,"id":24,"parentId":19,"tags":{"page":"/api/anet/config"},"startTime":1778502167733,"traceId":"02a6962304287ef1"},{"name":"is-page-static","duration":648775,"timestamp":130681922788,"id":65,"parentId":27,"tags":{},"startTime":1778502167747,"traceId":"02a6962304287ef1"},{"name":"check-page","duration":660742,"timestamp":130681910894,"id":27,"parentId":19,"tags":{"page":"/api/auth/v3"},"startTime":1778502167736,"traceId":"02a6962304287ef1"},{"name":"is-page-static","duration":649094,"timestamp":130681934323,"id":90,"parentId":50,"tags":{},"startTime":1778502167759,"traceId":"02a6962304287ef1"},{"name":"check-page","duration":668207,"timestamp":130681915281,"id":50,"parentId":19,"tags":{"page":"/logs"},"startTime":1778502167740,"traceId":"02a6962304287ef1"},{"name":"is-page-static","duration":657524,"timestamp":130681934329,"id":91,"parentId":51,"tags":{},"startTime":1778502167759,"traceId":"02a6962304287ef1"},{"name":"check-page","duration":676474,"timestamp":130681915445,"id":51,"parentId":19,"tags":{"page":"/messages"},"startTime":1778502167740,"traceId":"02a6962304287ef1"},{"name":"is-page-static","duration":662547,"timestamp":130681934340,"id":92,"parentId":52,"tags":{},"startTime":1778502167759,"traceId":"02a6962304287ef1"},{"name":"check-page","duration":681335,"timestamp":130681915613,"id":52,"parentId":19,"tags":{"page":"/node"},"startTime":1778502167740,"traceId":"02a6962304287ef1"},{"name":"is-page-static","duration":672920,"timestamp":130681934348,"id":93,"parentId":53,"tags":{},"startTime":1778502167759,"traceId":"02a6962304287ef1"},{"name":"check-page","duration":691568,"timestamp":130681915804,"id":53,"parentId":19,"tags":{"page":"/nodes"},"startTime":1778502167740,"traceId":"02a6962304287ef1"},{"name":"is-page-static","duration":688858,"timestamp":130681934353,"id":94,"parentId":55,"tags":{},"startTime":1778502167759,"traceId":"02a6962304287ef1"},{"name":"check-page","duration":706750,"timestamp":130681916526,"id":55,"parentId":19,"tags":{"page":"/server-logs"},"startTime":1778502167741,"traceId":"02a6962304287ef1"},{"name":"is-page-static","duration":693679,"timestamp":130681934313,"id":89,"parentId":49,"tags":{},"startTime":1778502167759,"traceId":"02a6962304287ef1"},{"name":"check-page","duration":713013,"timestamp":130681915089,"id":49,"parentId":19,"tags":{"page":"/login"},"startTime":1778502167740,"traceId":"02a6962304287ef1"},{"name":"is-page-static","duration":696452,"timestamp":130681934361,"id":95,"parentId":56,"tags":{},"startTime":1778502167759,"traceId":"02a6962304287ef1"},{"name":"check-page","duration":712459,"timestamp":130681918407,"id":56,"parentId":19,"tags":{"page":"/settings/networks"},"startTime":1778502167743,"traceId":"02a6962304287ef1"},{"name":"is-page-static","duration":701303,"timestamp":130681934369,"id":96,"parentId":58,"tags":{},"startTime":1778502167759,"traceId":"02a6962304287ef1"},{"name":"check-page","duration":716522,"timestamp":130681919208,"id":58,"parentId":19,"tags":{"page":"/settings/tokens"},"startTime":1778502167744,"traceId":"02a6962304287ef1"},{"name":"is-page-static","duration":702382,"timestamp":130681934281,"id":88,"parentId":23,"tags":{},"startTime":1778502167759,"traceId":"02a6962304287ef1"},{"name":"check-page","duration":728948,"timestamp":130681907768,"id":23,"parentId":19,"tags":{"page":"/admin"},"startTime":1778502167732,"traceId":"02a6962304287ef1"},{"name":"is-page-static","duration":708691,"timestamp":130681934374,"id":97,"parentId":59,"tags":{},"startTime":1778502167759,"traceId":"02a6962304287ef1"},{"name":"check-page","duration":723795,"timestamp":130681919351,"id":59,"parentId":19,"tags":{"page":"/tasks/[id]"},"startTime":1778502167744,"traceId":"02a6962304287ef1"},{"name":"is-page-static","duration":713639,"timestamp":130681934384,"id":98,"parentId":60,"tags":{},"startTime":1778502167759,"traceId":"02a6962304287ef1"},{"name":"check-page","duration":728570,"timestamp":130681919508,"id":60,"parentId":19,"tags":{"page":"/tasks"},"startTime":1778502167744,"traceId":"02a6962304287ef1"},{"name":"is-page-static","duration":715002,"timestamp":130681934406,"id":99,"parentId":54,"tags":{},"startTime":1778502167759,"traceId":"02a6962304287ef1"},{"name":"check-page","duration":733368,"timestamp":130681916084,"id":54,"parentId":19,"tags":{"page":"/"},"startTime":1778502167741,"traceId":"02a6962304287ef1"},{"name":"is-page-static","duration":710314,"timestamp":130681940928,"id":100,"parentId":57,"tags":{},"startTime":1778502167766,"traceId":"02a6962304287ef1"},{"name":"check-page","duration":732593,"timestamp":130681918687,"id":57,"parentId":19,"tags":{"page":"/settings"},"startTime":1778502167743,"traceId":"02a6962304287ef1"},{"name":"static-check","duration":747381,"timestamp":130681903929,"id":19,"parentId":1,"tags":{},"startTime":1778502167729,"traceId":"02a6962304287ef1"},{"name":"write-routes-manifest","duration":1023,"timestamp":130682662108,"id":102,"parentId":1,"tags":{},"startTime":1778502168487,"traceId":"02a6962304287ef1"},{"name":"load-dotenv","duration":56,"timestamp":130682675430,"id":105,"parentId":104,"tags":{},"startTime":1778502168500,"traceId":"02a6962304287ef1"},{"name":"run-export-path-map","duration":708,"timestamp":130682678337,"id":106,"parentId":104,"tags":{},"startTime":1778502168503,"traceId":"02a6962304287ef1"},{"name":"next-export","duration":608150,"timestamp":130682674125,"id":104,"parentId":1,"tags":{},"startTime":1778502168499,"traceId":"02a6962304287ef1"},{"name":"move-exported-app-not-found-","duration":629,"timestamp":130683285671,"id":107,"parentId":103,"tags":{},"startTime":1778502169110,"traceId":"02a6962304287ef1"},{"name":"move-exported-app-global-error-","duration":438,"timestamp":130683286404,"id":108,"parentId":103,"tags":{},"startTime":1778502169111,"traceId":"02a6962304287ef1"}]
|
|
2
|
-
[{"name":"static-generation","duration":
|
|
1
|
+
[{"name":"generate-buildid","duration":319,"timestamp":131164993819,"id":4,"parentId":1,"tags":{},"startTime":1778502650819,"traceId":"d0f2042c761f8adc"},{"name":"load-custom-routes","duration":574,"timestamp":131164994290,"id":5,"parentId":1,"tags":{},"startTime":1778502650819,"traceId":"d0f2042c761f8adc"},{"name":"create-dist-dir","duration":318,"timestamp":131164994917,"id":6,"parentId":1,"tags":{},"startTime":1778502650820,"traceId":"d0f2042c761f8adc"},{"name":"clean","duration":33525,"timestamp":131164995984,"id":7,"parentId":1,"tags":{},"startTime":1778502650821,"traceId":"d0f2042c761f8adc"},{"name":"discover-routes","duration":22053,"timestamp":131165123095,"id":8,"parentId":1,"tags":{},"startTime":1778502650948,"traceId":"d0f2042c761f8adc"},{"name":"create-root-mapping","duration":129,"timestamp":131165145216,"id":9,"parentId":1,"tags":{},"startTime":1778502650970,"traceId":"d0f2042c761f8adc"},{"name":"generate-route-types","duration":19757,"timestamp":131165147695,"id":10,"parentId":1,"tags":{},"startTime":1778502650972,"traceId":"d0f2042c761f8adc"},{"name":"public-dir-conflict-check","duration":148,"timestamp":131165167583,"id":11,"parentId":1,"tags":{},"startTime":1778502650992,"traceId":"d0f2042c761f8adc"},{"name":"generate-routes-manifest","duration":4452,"timestamp":131165167880,"id":12,"parentId":1,"tags":{},"startTime":1778502650993,"traceId":"d0f2042c761f8adc"},{"name":"run-turbopack","duration":7269554,"timestamp":131165178946,"id":14,"parentId":1,"tags":{},"startTime":1778502651004,"traceId":"d0f2042c761f8adc"},{"name":"turbopack-build-events","duration":93,"timestamp":131165468955,"id":15,"parentId":1,"tags":{},"startTime":1778502651294,"traceId":"d0f2042c761f8adc"},{"name":"run-typescript","duration":7278448,"timestamp":131172465580,"id":16,"parentId":1,"tags":{},"startTime":1778502658290,"traceId":"d0f2042c761f8adc"},{"name":"generate-required-server-files","duration":2101,"timestamp":131179745241,"id":18,"parentId":1,"tags":{},"startTime":1778502665570,"traceId":"d0f2042c761f8adc"},{"name":"check-static-error-page","duration":13093,"timestamp":131179828241,"id":20,"parentId":19,"tags":{},"startTime":1778502665653,"traceId":"d0f2042c761f8adc"},{"name":"is-page-static","duration":347868,"timestamp":131179846340,"id":62,"parentId":22,"tags":{},"startTime":1778502665671,"traceId":"d0f2042c761f8adc"},{"name":"check-page","duration":361869,"timestamp":131179832461,"id":22,"parentId":19,"tags":{"page":"/_global-error"},"startTime":1778502665657,"traceId":"d0f2042c761f8adc"},{"name":"is-page-static","duration":435371,"timestamp":131179846667,"id":64,"parentId":26,"tags":{},"startTime":1778502665671,"traceId":"d0f2042c761f8adc"},{"name":"check-page","duration":446596,"timestamp":131179835524,"id":26,"parentId":19,"tags":{"page":"/api/auth/logout"},"startTime":1778502665660,"traceId":"d0f2042c761f8adc"},{"name":"is-page-static","duration":468070,"timestamp":131179846714,"id":65,"parentId":27,"tags":{},"startTime":1778502665671,"traceId":"d0f2042c761f8adc"},{"name":"check-page","duration":479226,"timestamp":131179835619,"id":27,"parentId":19,"tags":{"page":"/api/auth/v3"},"startTime":1778502665660,"traceId":"d0f2042c761f8adc"},{"name":"is-page-static","duration":474179,"timestamp":131179845964,"id":61,"parentId":21,"tags":{},"startTime":1778502665671,"traceId":"d0f2042c761f8adc"},{"name":"check-page","duration":489324,"timestamp":131179830878,"id":21,"parentId":19,"tags":{"page":"/_not-found"},"startTime":1778502665656,"traceId":"d0f2042c761f8adc"},{"name":"is-page-static","duration":483597,"timestamp":131179846754,"id":66,"parentId":28,"tags":{},"startTime":1778502665671,"traceId":"d0f2042c761f8adc"},{"name":"check-page","duration":494771,"timestamp":131179835701,"id":28,"parentId":19,"tags":{"page":"/api/hub/audit-log"},"startTime":1778502665660,"traceId":"d0f2042c761f8adc"},{"name":"is-page-static","duration":488503,"timestamp":131179846827,"id":68,"parentId":30,"tags":{},"startTime":1778502665672,"traceId":"d0f2042c761f8adc"},{"name":"check-page","duration":498835,"timestamp":131179836572,"id":30,"parentId":19,"tags":{"page":"/api/hub/broadcast"},"startTime":1778502665661,"traceId":"d0f2042c761f8adc"},{"name":"is-page-static","duration":490717,"timestamp":131179846862,"id":69,"parentId":32,"tags":{},"startTime":1778502665672,"traceId":"d0f2042c761f8adc"},{"name":"check-page","duration":500668,"timestamp":131179836965,"id":32,"parentId":19,"tags":{"page":"/api/hub/health"},"startTime":1778502665662,"traceId":"d0f2042c761f8adc"},{"name":"is-page-static","duration":500340,"timestamp":131179846980,"id":70,"parentId":33,"tags":{},"startTime":1778502665672,"traceId":"d0f2042c761f8adc"},{"name":"check-page","duration":510287,"timestamp":131179837117,"id":33,"parentId":19,"tags":{"page":"/api/hub/inbox"},"startTime":1778502665662,"traceId":"d0f2042c761f8adc"},{"name":"is-page-static","duration":503889,"timestamp":131179847051,"id":71,"parentId":34,"tags":{},"startTime":1778502665672,"traceId":"d0f2042c761f8adc"},{"name":"check-page","duration":513791,"timestamp":131179837220,"id":34,"parentId":19,"tags":{"page":"/api/hub/license"},"startTime":1778502665662,"traceId":"d0f2042c761f8adc"},{"name":"is-page-static","duration":515948,"timestamp":131179847071,"id":72,"parentId":35,"tags":{},"startTime":1778502665672,"traceId":"d0f2042c761f8adc"},{"name":"check-page","duration":525772,"timestamp":131179837316,"id":35,"parentId":19,"tags":{"page":"/api/hub/messages"},"startTime":1778502665662,"traceId":"d0f2042c761f8adc"},{"name":"is-page-static","duration":520857,"timestamp":131179847124,"id":73,"parentId":36,"tags":{},"startTime":1778502665672,"traceId":"d0f2042c761f8adc"},{"name":"check-page","duration":531537,"timestamp":131179837676,"id":36,"parentId":19,"tags":{"page":"/api/hub/networks"},"startTime":1778502665662,"traceId":"d0f2042c761f8adc"},{"name":"is-page-static","duration":525774,"timestamp":131179847145,"id":74,"parentId":37,"tags":{},"startTime":1778502665672,"traceId":"d0f2042c761f8adc"},{"name":"check-page","duration":535167,"timestamp":131179837808,"id":37,"parentId":19,"tags":{"page":"/api/hub/nodes"},"startTime":1778502665662,"traceId":"d0f2042c761f8adc"},{"name":"is-page-static","duration":532425,"timestamp":131179847153,"id":75,"parentId":38,"tags":{},"startTime":1778502665672,"traceId":"d0f2042c761f8adc"},{"name":"check-page","duration":541734,"timestamp":131179837914,"id":38,"parentId":19,"tags":{"page":"/api/hub/register"},"startTime":1778502665663,"traceId":"d0f2042c761f8adc"},{"name":"is-page-static","duration":533966,"timestamp":131179847166,"id":76,"parentId":39,"tags":{},"startTime":1778502665672,"traceId":"d0f2042c761f8adc"},{"name":"check-page","duration":543186,"timestamp":131179837987,"id":39,"parentId":19,"tags":{"page":"/api/hub/send"},"startTime":1778502665663,"traceId":"d0f2042c761f8adc"},{"name":"is-page-static","duration":541868,"timestamp":131179847174,"id":77,"parentId":40,"tags":{},"startTime":1778502665672,"traceId":"d0f2042c761f8adc"},{"name":"check-page","duration":550981,"timestamp":131179838116,"id":40,"parentId":19,"tags":{"page":"/api/hub/server-logs"},"startTime":1778502665663,"traceId":"d0f2042c761f8adc"},{"name":"is-page-static","duration":550238,"timestamp":131179847180,"id":78,"parentId":41,"tags":{},"startTime":1778502665672,"traceId":"d0f2042c761f8adc"},{"name":"check-page","duration":559292,"timestamp":131179838197,"id":41,"parentId":19,"tags":{"page":"/api/hub/session"},"startTime":1778502665663,"traceId":"d0f2042c761f8adc"},{"name":"is-page-static","duration":552487,"timestamp":131179846789,"id":67,"parentId":29,"tags":{},"startTime":1778502665671,"traceId":"d0f2042c761f8adc"},{"name":"check-page","duration":563580,"timestamp":131179835782,"id":29,"parentId":19,"tags":{"page":"/api/hub/auth"},"startTime":1778502665660,"traceId":"d0f2042c761f8adc"},{"name":"is-page-static","duration":554738,"timestamp":131179847189,"id":79,"parentId":42,"tags":{},"startTime":1778502665672,"traceId":"d0f2042c761f8adc"},{"name":"check-page","duration":563707,"timestamp":131179838276,"id":42,"parentId":19,"tags":{"page":"/api/hub/stats"},"startTime":1778502665663,"traceId":"d0f2042c761f8adc"},{"name":"is-page-static","duration":557445,"timestamp":131179847198,"id":80,"parentId":43,"tags":{},"startTime":1778502665672,"traceId":"d0f2042c761f8adc"},{"name":"check-page","duration":566346,"timestamp":131179838350,"id":43,"parentId":19,"tags":{"page":"/api/hub/status"},"startTime":1778502665663,"traceId":"d0f2042c761f8adc"},{"name":"is-page-static","duration":558994,"timestamp":131179847204,"id":81,"parentId":44,"tags":{},"startTime":1778502665672,"traceId":"d0f2042c761f8adc"},{"name":"check-page","duration":567821,"timestamp":131179838435,"id":44,"parentId":19,"tags":{"page":"/api/hub/task-events"},"startTime":1778502665663,"traceId":"d0f2042c761f8adc"},{"name":"is-page-static","duration":561866,"timestamp":131179847213,"id":82,"parentId":45,"tags":{},"startTime":1778502665672,"traceId":"d0f2042c761f8adc"},{"name":"check-page","duration":570621,"timestamp":131179838506,"id":45,"parentId":19,"tags":{"page":"/api/hub/tasks"},"startTime":1778502665663,"traceId":"d0f2042c761f8adc"},{"name":"is-page-static","duration":563998,"timestamp":131179847222,"id":83,"parentId":46,"tags":{},"startTime":1778502665672,"traceId":"d0f2042c761f8adc"},{"name":"check-page","duration":572676,"timestamp":131179838602,"id":46,"parentId":19,"tags":{"page":"/api/hub/tmux"},"startTime":1778502665663,"traceId":"d0f2042c761f8adc"},{"name":"is-page-static","duration":565859,"timestamp":131179847228,"id":84,"parentId":47,"tags":{},"startTime":1778502665672,"traceId":"d0f2042c761f8adc"},{"name":"check-page","duration":574454,"timestamp":131179838678,"id":47,"parentId":19,"tags":{"page":"/api/hub/tokens"},"startTime":1778502665663,"traceId":"d0f2042c761f8adc"},{"name":"is-page-static","duration":567918,"timestamp":131179847237,"id":85,"parentId":48,"tags":{},"startTime":1778502665672,"traceId":"d0f2042c761f8adc"},{"name":"check-page","duration":576447,"timestamp":131179838754,"id":48,"parentId":19,"tags":{"page":"/favicon.ico"},"startTime":1778502665663,"traceId":"d0f2042c761f8adc"},{"name":"is-page-static","duration":564034,"timestamp":131179852683,"id":86,"parentId":24,"tags":{},"startTime":1778502665677,"traceId":"d0f2042c761f8adc"},{"name":"check-page","duration":583779,"timestamp":131179832979,"id":24,"parentId":19,"tags":{"page":"/api/anet/config"},"startTime":1778502665658,"traceId":"d0f2042c761f8adc"},{"name":"is-page-static","duration":567957,"timestamp":131179854211,"id":87,"parentId":31,"tags":{},"startTime":1778502665679,"traceId":"d0f2042c761f8adc"},{"name":"check-page","duration":585486,"timestamp":131179836733,"id":31,"parentId":19,"tags":{"page":"/api/hub/events"},"startTime":1778502665661,"traceId":"d0f2042c761f8adc"},{"name":"is-page-static","duration":560576,"timestamp":131179865359,"id":88,"parentId":23,"tags":{},"startTime":1778502665690,"traceId":"d0f2042c761f8adc"},{"name":"check-page","duration":593212,"timestamp":131179832770,"id":23,"parentId":19,"tags":{"page":"/admin"},"startTime":1778502665657,"traceId":"d0f2042c761f8adc"},{"name":"is-page-static","duration":566813,"timestamp":131179865425,"id":90,"parentId":50,"tags":{},"startTime":1778502665690,"traceId":"d0f2042c761f8adc"},{"name":"check-page","duration":593014,"timestamp":131179839285,"id":50,"parentId":19,"tags":{"page":"/logs"},"startTime":1778502665664,"traceId":"d0f2042c761f8adc"},{"name":"is-page-static","duration":571611,"timestamp":131179865437,"id":91,"parentId":51,"tags":{},"startTime":1778502665690,"traceId":"d0f2042c761f8adc"},{"name":"check-page","duration":597691,"timestamp":131179839407,"id":51,"parentId":19,"tags":{"page":"/messages"},"startTime":1778502665664,"traceId":"d0f2042c761f8adc"},{"name":"is-page-static","duration":579653,"timestamp":131179865446,"id":92,"parentId":52,"tags":{},"startTime":1778502665690,"traceId":"d0f2042c761f8adc"},{"name":"check-page","duration":605593,"timestamp":131179839562,"id":52,"parentId":19,"tags":{"page":"/node"},"startTime":1778502665664,"traceId":"d0f2042c761f8adc"},{"name":"is-page-static","duration":582681,"timestamp":131179865451,"id":93,"parentId":53,"tags":{},"startTime":1778502665690,"traceId":"d0f2042c761f8adc"},{"name":"check-page","duration":608456,"timestamp":131179839728,"id":53,"parentId":19,"tags":{"page":"/nodes"},"startTime":1778502665664,"traceId":"d0f2042c761f8adc"},{"name":"is-page-static","duration":587941,"timestamp":131179865459,"id":94,"parentId":55,"tags":{},"startTime":1778502665690,"traceId":"d0f2042c761f8adc"},{"name":"check-page","duration":613150,"timestamp":131179840300,"id":55,"parentId":19,"tags":{"page":"/server-logs"},"startTime":1778502665665,"traceId":"d0f2042c761f8adc"},{"name":"is-page-static","duration":593375,"timestamp":131179865468,"id":95,"parentId":56,"tags":{},"startTime":1778502665690,"traceId":"d0f2042c761f8adc"},{"name":"check-page","duration":618455,"timestamp":131179840455,"id":56,"parentId":19,"tags":{"page":"/settings/networks"},"startTime":1778502665665,"traceId":"d0f2042c761f8adc"},{"name":"is-page-static","duration":619284,"timestamp":131179846490,"id":63,"parentId":25,"tags":{},"startTime":1778502665671,"traceId":"d0f2042c761f8adc"},{"name":"check-page","duration":630473,"timestamp":131179835358,"id":25,"parentId":19,"tags":{"page":"/api/auth/login"},"startTime":1778502665660,"traceId":"d0f2042c761f8adc"},{"name":"is-page-static","duration":607585,"timestamp":131179865474,"id":96,"parentId":58,"tags":{},"startTime":1778502665690,"traceId":"d0f2042c761f8adc"},{"name":"check-page","duration":632264,"timestamp":131179840871,"id":58,"parentId":19,"tags":{"page":"/settings/tokens"},"startTime":1778502665666,"traceId":"d0f2042c761f8adc"},{"name":"is-page-static","duration":613942,"timestamp":131179865492,"id":98,"parentId":60,"tags":{},"startTime":1778502665690,"traceId":"d0f2042c761f8adc"},{"name":"check-page","duration":638594,"timestamp":131179841139,"id":60,"parentId":19,"tags":{"page":"/tasks"},"startTime":1778502665666,"traceId":"d0f2042c761f8adc"},{"name":"is-page-static","duration":620585,"timestamp":131179865500,"id":99,"parentId":54,"tags":{},"startTime":1778502665690,"traceId":"d0f2042c761f8adc"},{"name":"check-page","duration":646271,"timestamp":131179839868,"id":54,"parentId":19,"tags":{"page":"/"},"startTime":1778502665665,"traceId":"d0f2042c761f8adc"},{"name":"is-page-static","duration":622850,"timestamp":131179865418,"id":89,"parentId":49,"tags":{},"startTime":1778502665690,"traceId":"d0f2042c761f8adc"},{"name":"check-page","duration":649205,"timestamp":131179839130,"id":49,"parentId":19,"tags":{"page":"/login"},"startTime":1778502665664,"traceId":"d0f2042c761f8adc"},{"name":"is-page-static","duration":622927,"timestamp":131179868991,"id":100,"parentId":57,"tags":{},"startTime":1778502665694,"traceId":"d0f2042c761f8adc"},{"name":"check-page","duration":651365,"timestamp":131179840601,"id":57,"parentId":19,"tags":{"page":"/settings"},"startTime":1778502665665,"traceId":"d0f2042c761f8adc"},{"name":"is-page-static","duration":674382,"timestamp":131179865482,"id":97,"parentId":59,"tags":{},"startTime":1778502665690,"traceId":"d0f2042c761f8adc"},{"name":"check-page","duration":698964,"timestamp":131179840988,"id":59,"parentId":19,"tags":{"page":"/tasks/[id]"},"startTime":1778502665666,"traceId":"d0f2042c761f8adc"},{"name":"static-check","duration":712487,"timestamp":131179827553,"id":19,"parentId":1,"tags":{},"startTime":1778502665652,"traceId":"d0f2042c761f8adc"},{"name":"write-routes-manifest","duration":518,"timestamp":131180547347,"id":102,"parentId":1,"tags":{},"startTime":1778502666372,"traceId":"d0f2042c761f8adc"},{"name":"load-dotenv","duration":58,"timestamp":131180560675,"id":105,"parentId":104,"tags":{},"startTime":1778502666385,"traceId":"d0f2042c761f8adc"},{"name":"run-export-path-map","duration":845,"timestamp":131180564201,"id":106,"parentId":104,"tags":{},"startTime":1778502666389,"traceId":"d0f2042c761f8adc"},{"name":"next-export","duration":650791,"timestamp":131180558841,"id":104,"parentId":1,"tags":{},"startTime":1778502666384,"traceId":"d0f2042c761f8adc"},{"name":"move-exported-app-not-found-","duration":592,"timestamp":131181212746,"id":107,"parentId":103,"tags":{},"startTime":1778502667037,"traceId":"d0f2042c761f8adc"},{"name":"move-exported-app-global-error-","duration":428,"timestamp":131181213472,"id":108,"parentId":103,"tags":{},"startTime":1778502667038,"traceId":"d0f2042c761f8adc"}]
|
|
2
|
+
[{"name":"static-generation","duration":666197,"timestamp":131180551949,"id":103,"parentId":1,"tags":{},"startTime":1778502666377,"traceId":"d0f2042c761f8adc"},{"name":"write-routes-manifest","duration":449,"timestamp":131181218317,"id":109,"parentId":1,"tags":{},"startTime":1778502667043,"traceId":"d0f2042c761f8adc"},{"name":"print-tree-view","duration":4508,"timestamp":131181232231,"id":110,"parentId":1,"tags":{},"startTime":1778502667057,"traceId":"d0f2042c761f8adc"},{"name":"write-route-bundle-stats","duration":11727,"timestamp":131181236777,"id":111,"parentId":1,"tags":{},"startTime":1778502667061,"traceId":"d0f2042c761f8adc"},{"name":"telemetry-flush","duration":35071,"timestamp":131181248547,"id":112,"parentId":1,"tags":{},"startTime":1778502667073,"traceId":"d0f2042c761f8adc"},{"name":"next-build","duration":16342874,"timestamp":131164940789,"id":1,"tags":{"buildMode":"default","version":"16.2.3","bundler":"turbopack","has-custom-webpack-config":"false","use-build-worker":"true"},"startTime":1778502650765,"traceId":"d0f2042c761f8adc"}]
|
package/.next/trace-build
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
[{"name":"run-turbopack","duration":
|
|
1
|
+
[{"name":"run-turbopack","duration":7269554,"timestamp":131165178946,"id":14,"parentId":1,"tags":{},"startTime":1778502651004,"traceId":"d0f2042c761f8adc"},{"name":"turbopack-build-events","duration":93,"timestamp":131165468955,"id":15,"parentId":1,"tags":{},"startTime":1778502651294,"traceId":"d0f2042c761f8adc"},{"name":"run-typescript","duration":7278448,"timestamp":131172465580,"id":16,"parentId":1,"tags":{},"startTime":1778502658290,"traceId":"d0f2042c761f8adc"},{"name":"static-check","duration":712487,"timestamp":131179827553,"id":19,"parentId":1,"tags":{},"startTime":1778502665652,"traceId":"d0f2042c761f8adc"},{"name":"static-generation","duration":666197,"timestamp":131180551949,"id":103,"parentId":1,"tags":{},"startTime":1778502666377,"traceId":"d0f2042c761f8adc"},{"name":"telemetry-flush","duration":35071,"timestamp":131181248547,"id":112,"parentId":1,"tags":{},"startTime":1778502667073,"traceId":"d0f2042c761f8adc"},{"name":"next-build","duration":16342874,"timestamp":131164940789,"id":1,"tags":{"buildMode":"default","version":"16.2.3","bundler":"turbopack","has-custom-webpack-config":"false","use-build-worker":"true"},"startTime":1778502650765,"traceId":"d0f2042c761f8adc"}]
|
package/app/admin/page.tsx
CHANGED
|
@@ -9,6 +9,9 @@ export default function AdminPage() {
|
|
|
9
9
|
const { health } = useHealth();
|
|
10
10
|
const { stats } = useStats();
|
|
11
11
|
const sseMap = health?.sse_sessions || {};
|
|
12
|
+
// SSE keys are `network_id:alias` since server v0.7+; fall back to alias-only.
|
|
13
|
+
const sseFor = (s: { alias: string; network_id?: string }) =>
|
|
14
|
+
(s.network_id ? sseMap[`${s.network_id}:${s.alias}`] : undefined) ?? sseMap[s.alias];
|
|
12
15
|
|
|
13
16
|
const [regUser, setRegUser] = useState('');
|
|
14
17
|
const [regPass, setRegPass] = useState('');
|
|
@@ -64,8 +67,8 @@ export default function AdminPage() {
|
|
|
64
67
|
setTimeout(() => setTaskResult(''), 5000);
|
|
65
68
|
};
|
|
66
69
|
|
|
67
|
-
const onlineNodes = sessions.filter(s =>
|
|
68
|
-
const offlineNodes = sessions.filter(s => !
|
|
70
|
+
const onlineNodes = sessions.filter(s => sseFor(s));
|
|
71
|
+
const offlineNodes = sessions.filter(s => !sseFor(s));
|
|
69
72
|
|
|
70
73
|
return (
|
|
71
74
|
<div className="min-h-screen bg-[#0a0a1a] text-gray-100 p-4 sm:p-6 font-mono">
|
|
@@ -34,11 +34,15 @@ export async function GET(req: Request) {
|
|
|
34
34
|
// Get health for SSE info
|
|
35
35
|
const healthRes = await hubFetch('/health');
|
|
36
36
|
const healthData = await healthRes.json();
|
|
37
|
+
// SSE keys are `network_id:alias` since server v0.7+; fall back to alias.
|
|
38
|
+
const sseSessions = healthData.sse_sessions || {};
|
|
39
|
+
const sessionNetworkId = session?.network_id;
|
|
40
|
+
const sseCount = (sessionNetworkId ? sseSessions[`${sessionNetworkId}:${alias}`] : undefined) ?? sseSessions[alias] ?? 0;
|
|
37
41
|
|
|
38
42
|
return Response.json({
|
|
39
43
|
session: session || null,
|
|
40
44
|
inbox: inboxParsed.messages || [],
|
|
41
|
-
sse:
|
|
45
|
+
sse: sseCount,
|
|
42
46
|
});
|
|
43
47
|
} catch (e: unknown) {
|
|
44
48
|
return Response.json({ error: 'failed', detail: e instanceof Error ? e.message : String(e) }, { status: 502 });
|
package/app/nodes/page.tsx
CHANGED
|
@@ -22,6 +22,10 @@ export default function NodesPage() {
|
|
|
22
22
|
const { sessions, isLoading: loading } = useSessions();
|
|
23
23
|
const { health } = useHealth();
|
|
24
24
|
const sseMap = health?.sse_sessions || {};
|
|
25
|
+
// SSE keys are `network_id:alias` since server v0.7+. Look up with the
|
|
26
|
+
// composite key first, fall back to alias-only for legacy hubs.
|
|
27
|
+
const sseFor = (s: { alias: string; network_id?: string }) =>
|
|
28
|
+
(s.network_id ? sseMap[`${s.network_id}:${s.alias}`] : undefined) ?? sseMap[s.alias];
|
|
25
29
|
const [filterStatus, setFilterStatus] = useState('');
|
|
26
30
|
const [search, setSearch] = useState('');
|
|
27
31
|
const [viewMode, setViewMode] = useState<ViewMode>('list');
|
|
@@ -31,7 +35,7 @@ export default function NodesPage() {
|
|
|
31
35
|
const [chatAlias, setChatAlias] = useState<string | null>(null);
|
|
32
36
|
|
|
33
37
|
const filtered: SessionRow[] = sessions
|
|
34
|
-
.map(s => ({ ...s, online: !!
|
|
38
|
+
.map(s => ({ ...s, online: !!sseFor(s) }))
|
|
35
39
|
.filter(s => {
|
|
36
40
|
if (filterStatus === 'online') return s.online;
|
|
37
41
|
if (filterStatus === 'offline') return !s.online;
|
|
@@ -41,7 +45,7 @@ export default function NodesPage() {
|
|
|
41
45
|
.filter(s => !search || s.alias.toLowerCase().includes(search.toLowerCase()) || (s.agent || '').toLowerCase().includes(search.toLowerCase()))
|
|
42
46
|
.sort((a, b) => (b.online ? 1 : 0) - (a.online ? 1 : 0) || (b.status === 'working' ? 1 : 0) - (a.status === 'working' ? 1 : 0));
|
|
43
47
|
|
|
44
|
-
const onlineCount = sessions.filter(s =>
|
|
48
|
+
const onlineCount = sessions.filter(s => sseFor(s)).length;
|
|
45
49
|
|
|
46
50
|
const openSendTask = (alias: string) => {
|
|
47
51
|
setTaskOpenFor(current => current === alias ? null : alias);
|
package/package.json
CHANGED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,18150,e=>{"use strict";e.s(["formatUptime",0,function(e){let t=Math.floor(e/3600),s=Math.floor(e%3600/60);return t>0?`${t}h ${s}m`:`${s}m`},"timeAgo",0,function(e){if(!e)return"--";let t=Math.floor((Date.now()-new Date(e.replace(" ","T")+"Z").getTime())/1e3);return t<60?`${t}s ago`:t<3600?`${Math.floor(t/60)}m ago`:t<86400?`${Math.floor(t/3600)}h ago`:`${Math.floor(t/86400)}d ago`}])},65822,e=>{"use strict";var t=e.i(83599),s=e.i(58963);let n=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 a(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",n,{refreshInterval:3e4});return{config:e||null}},"useHealth",0,function(){let{data:e,error:s}=(0,t.default)("/api/hub/health",n,r);return{health:e||null,error:s}},"useLicense",0,function(){let{data:e,error:s}=(0,t.default)("/api/hub/license",n,{refreshInterval:6e4});return{license:e?.ok?e:null,error:s}},"useMessages",0,function(e=100){let{networkId:i}=(0,s.useNetworkId)(),{data:l,error:o,isLoading:d}=(0,t.default)(a(`/api/hub/messages?limit=${e}`,i),n,r);return{messages:l?.messages||[],error:o,isLoading:d}},"useSessions",0,function(){let{networkId:e}=(0,s.useNetworkId)(),{data:i,error:l,isLoading:o}=(0,t.default)(a("/api/hub/status",e),n,r);return{sessions:i?.sessions||[],hint:i?._hint,error:l,isLoading:o}},"useStats",0,function(){let{networkId:e}=(0,s.useNetworkId)(),{data:i,error:l}=(0,t.default)(a("/api/hub/stats",e),n,r);return{stats:i?.ok?i:null,error:l}},"useTasks",0,function(e){let{networkId:i}=(0,s.useNetworkId)(),l=new URLSearchParams({limit:"100",...e}).toString(),{data:o,error:d,isLoading:c}=(0,t.default)(a(`/api/hub/tasks?${l}`,i),n,r);return{tasks:o?.tasks||[],count:o?.count??0,source:o?.source,error:d,isLoading:c}}])},16015,(e,t,s)=>{},98547,(e,t,s)=>{var n=e.i(47167);e.r(16015);var r=e.r(71645),a=r&&"object"==typeof r&&"default"in r?r:{default:r},i=void 0!==n.default&&n.default.env&&!0,l=function(e){return"[object String]"===Object.prototype.toString.call(e)},o=function(){function e(e){var t=void 0===e?{}:e,s=t.name,n=void 0===s?"stylesheet":s,r=t.optimizeForSpeed,a=void 0===r?i:r;d(l(n),"`name` must be a string"),this._name=n,this._deletedRulePlaceholder="#"+n+"-deleted-rule____{}",d("boolean"==typeof a,"`optimizeForSpeed` must be a boolean"),this._optimizeForSpeed=a,this._serverSheet=void 0,this._tags=[],this._injected=!1,this._rulesCount=0;var o="u">typeof window&&document.querySelector('meta[property="csp-nonce"]');this._nonce=o?o.getAttribute("content"):null}var t,s=e.prototype;return s.setOptimizeForSpeed=function(e){d("boolean"==typeof e,"`setOptimizeForSpeed` accepts a boolean"),d(0===this._rulesCount,"optimizeForSpeed cannot be when rules have already been inserted"),this.flush(),this._optimizeForSpeed=e,this.inject()},s.isOptimizeForSpeed=function(){return this._optimizeForSpeed},s.inject=function(){var e=this;if(d(!this._injected,"sheet already injected"),this._injected=!0,"u">typeof window&&this._optimizeForSpeed){this._tags[0]=this.makeStyleTag(this._name),this._optimizeForSpeed="insertRule"in this.getSheet(),this._optimizeForSpeed||(i||console.warn("StyleSheet: optimizeForSpeed mode not supported falling back to standard mode."),this.flush(),this._injected=!0);return}this._serverSheet={cssRules:[],insertRule:function(t,s){return"number"==typeof s?e._serverSheet.cssRules[s]={cssText:t}:e._serverSheet.cssRules.push({cssText:t}),s},deleteRule:function(t){e._serverSheet.cssRules[t]=null}}},s.getSheetForTag=function(e){if(e.sheet)return e.sheet;for(var t=0;t<document.styleSheets.length;t++)if(document.styleSheets[t].ownerNode===e)return document.styleSheets[t]},s.getSheet=function(){return this.getSheetForTag(this._tags[this._tags.length-1])},s.insertRule=function(e,t){if(d(l(e),"`insertRule` accepts only strings"),"u"<typeof window)return"number"!=typeof t&&(t=this._serverSheet.cssRules.length),this._serverSheet.insertRule(e,t),this._rulesCount++;if(this._optimizeForSpeed){var s=this.getSheet();"number"!=typeof t&&(t=s.cssRules.length);try{s.insertRule(e,t)}catch(t){return i||console.warn("StyleSheet: illegal rule: \n\n"+e+"\n\nSee https://stackoverflow.com/q/20007992 for more info"),-1}}else{var n=this._tags[t];this._tags.push(this.makeStyleTag(this._name,e,n))}return this._rulesCount++},s.replaceRule=function(e,t){if(this._optimizeForSpeed||"u"<typeof window){var s="u">typeof window?this.getSheet():this._serverSheet;if(t.trim()||(t=this._deletedRulePlaceholder),!s.cssRules[e])return e;s.deleteRule(e);try{s.insertRule(t,e)}catch(n){i||console.warn("StyleSheet: illegal rule: \n\n"+t+"\n\nSee https://stackoverflow.com/q/20007992 for more info"),s.insertRule(this._deletedRulePlaceholder,e)}}else{var n=this._tags[e];d(n,"old rule at index `"+e+"` not found"),n.textContent=t}return e},s.deleteRule=function(e){if("u"<typeof window)return void this._serverSheet.deleteRule(e);if(this._optimizeForSpeed)this.replaceRule(e,"");else{var t=this._tags[e];d(t,"rule at index `"+e+"` not found"),t.parentNode.removeChild(t),this._tags[e]=null}},s.flush=function(){this._injected=!1,this._rulesCount=0,"u">typeof window?(this._tags.forEach(function(e){return e&&e.parentNode.removeChild(e)}),this._tags=[]):this._serverSheet.cssRules=[]},s.cssRules=function(){var e=this;return"u"<typeof window?this._serverSheet.cssRules:this._tags.reduce(function(t,s){return s?t=t.concat(Array.prototype.map.call(e.getSheetForTag(s).cssRules,function(t){return t.cssText===e._deletedRulePlaceholder?null:t})):t.push(null),t},[])},s.makeStyleTag=function(e,t,s){t&&d(l(t),"makeStyleTag accepts only strings as second parameter");var n=document.createElement("style");this._nonce&&n.setAttribute("nonce",this._nonce),n.type="text/css",n.setAttribute("data-"+e,""),t&&n.appendChild(document.createTextNode(t));var r=document.head||document.getElementsByTagName("head")[0];return s?r.insertBefore(n,s):r.appendChild(n),n},t=[{key:"length",get:function(){return this._rulesCount}}],function(e,t){for(var s=0;s<t.length;s++){var n=t[s];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}(e.prototype,t),e}();function d(e,t){if(!e)throw Error("StyleSheet: "+t+".")}var c=function(e){for(var t=5381,s=e.length;s;)t=33*t^e.charCodeAt(--s);return t>>>0},u={};function h(e,t){if(!t)return"jsx-"+e;var s=String(t),n=e+s;return u[n]||(u[n]="jsx-"+c(e+"-"+s)),u[n]}function p(e,t){"u"<typeof window&&(t=t.replace(/\/style/gi,"\\/style"));var s=e+t;return u[s]||(u[s]=t.replace(/__jsx-style-dynamic-selector/g,e)),u[s]}var x=function(){function e(e){var t=void 0===e?{}:e,s=t.styleSheet,n=void 0===s?null:s,r=t.optimizeForSpeed,a=void 0!==r&&r;this._sheet=n||new o({name:"styled-jsx",optimizeForSpeed:a}),this._sheet.inject(),n&&"boolean"==typeof a&&(this._sheet.setOptimizeForSpeed(a),this._optimizeForSpeed=this._sheet.isOptimizeForSpeed()),this._fromServer=void 0,this._indices={},this._instancesCounts={}}var t=e.prototype;return t.add=function(e){var t=this;void 0===this._optimizeForSpeed&&(this._optimizeForSpeed=Array.isArray(e.children),this._sheet.setOptimizeForSpeed(this._optimizeForSpeed),this._optimizeForSpeed=this._sheet.isOptimizeForSpeed()),"u">typeof window&&!this._fromServer&&(this._fromServer=this.selectFromServer(),this._instancesCounts=Object.keys(this._fromServer).reduce(function(e,t){return e[t]=0,e},{}));var s=this.getIdAndRules(e),n=s.styleId,r=s.rules;if(n in this._instancesCounts){this._instancesCounts[n]+=1;return}var a=r.map(function(e){return t._sheet.insertRule(e)}).filter(function(e){return -1!==e});this._indices[n]=a,this._instancesCounts[n]=1},t.remove=function(e){var t=this,s=this.getIdAndRules(e).styleId;if(function(e,t){if(!e)throw Error("StyleSheetRegistry: "+t+".")}(s in this._instancesCounts,"styleId: `"+s+"` not found"),this._instancesCounts[s]-=1,this._instancesCounts[s]<1){var n=this._fromServer&&this._fromServer[s];n?(n.parentNode.removeChild(n),delete this._fromServer[s]):(this._indices[s].forEach(function(e){return t._sheet.deleteRule(e)}),delete this._indices[s]),delete this._instancesCounts[s]}},t.update=function(e,t){this.add(t),this.remove(e)},t.flush=function(){this._sheet.flush(),this._sheet.inject(),this._fromServer=void 0,this._indices={},this._instancesCounts={}},t.cssRules=function(){var e=this,t=this._fromServer?Object.keys(this._fromServer).map(function(t){return[t,e._fromServer[t]]}):[],s=this._sheet.cssRules();return t.concat(Object.keys(this._indices).map(function(t){return[t,e._indices[t].map(function(e){return s[e].cssText}).join(e._optimizeForSpeed?"":"\n")]}).filter(function(e){return!!e[1]}))},t.styles=function(e){var t,s;return t=this.cssRules(),void 0===(s=e)&&(s={}),t.map(function(e){var t=e[0],n=e[1];return a.default.createElement("style",{id:"__"+t,key:"__"+t,nonce:s.nonce?s.nonce:void 0,dangerouslySetInnerHTML:{__html:n}})})},t.getIdAndRules=function(e){var t=e.children,s=e.dynamic,n=e.id;if(s){var r=h(n,s);return{styleId:r,rules:Array.isArray(t)?t.map(function(e){return p(r,e)}):[p(r,t)]}}return{styleId:h(n),rules:Array.isArray(t)?t:[t]}},t.selectFromServer=function(){return Array.prototype.slice.call(document.querySelectorAll('[id^="__jsx-"]')).reduce(function(e,t){return e[t.id.slice(2)]=t,e},{})},e}(),g=r.createContext(null);function m(){return new x}function f(){return r.useContext(g)}g.displayName="StyleSheetContext";var y=a.default.useInsertionEffect||a.default.useLayoutEffect,b="u">typeof window?m():void 0;function v(e){var t=b||f();return t&&("u"<typeof window?t.add(e):y(function(){return t.add(e),function(){t.remove(e)}},[e.id,String(e.dynamic)])),null}v.dynamic=function(e){return e.map(function(e){return h(e[0],e[1])}).join(" ")},s.StyleRegistry=function(e){var t=e.registry,s=e.children,n=r.useContext(g),i=r.useState(function(){return n||t||m()})[0];return a.default.createElement(g.Provider,{value:i},s)},s.createStyleRegistry=m,s.style=v,s.useStyleRegistry=f},21373,(e,t,s)=>{t.exports=e.r(98547).style},86688,e=>{"use strict";var t=e.i(18050),s=e.i(71645),n=e.i(22016),r=e.i(18150),a=e.i(65822),i=e.i(58442);let l={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,o,d,c,{sessions:u,isLoading:h}=(0,a.useSessions)(),{health:p}=(0,a.useHealth)(),x=p?.sse_sessions||{},[g,m]=(0,s.useState)(""),[f,y]=(0,s.useState)(""),[b,v]=(0,s.useState)("list"),[j,_]=(0,s.useState)({}),[S,N]=(0,s.useState)(null),[w,k]=(0,s.useState)({}),[C,R]=(0,s.useState)(null),F=u.map(e=>({...e,online:!!x[e.alias]})).filter(e=>"online"===g?e.online:"offline"===g?!e.online:!g||g===e.status).filter(e=>!f||e.alias.toLowerCase().includes(f.toLowerCase())||(e.agent||"").toLowerCase().includes(f.toLowerCase())).sort((e,t)=>!!t.online-!!e.online||("working"===t.status)-("working"===e.status)),z=u.filter(e=>x[e.alias]).length,T=e=>{N(t=>t===e?null:e),k(t=>({...t,[e]:{}}))},A=(e,t)=>{_(s=>({...s,[e]:t}))},$=async e=>{let t=j[e]?.trim()||"";if(t){k(t=>({...t,[e]:{sending:!0}}));try{let s=await fetch("/api/hub/send",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({alias:e,task:t})}),n=await s.json();if(!s.ok||n?.ok===!1)throw Error(n?.error||"Send failed");_(t=>({...t,[e]:""})),k(t=>({...t,[e]:{success:"Task sent"}})),N(null)}catch(t){k(s=>({...s,[e]:{error:t instanceof Error?t.message:"Send failed"}}))}}};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:"Nodes"}),(0,t.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:[z," online"]}),(0,t.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=F.filter(e=>e.online&&"working"===e.status).length,o=F.filter(e=>e.online&&"idle"===e.status).length,d=F.filter(e=>!e.online).length,c=F.length||1,(0,t.jsxs)("div",{className:"mb-6",children:[(0,t.jsxs)("div",{className:"flex h-2 rounded-full overflow-hidden bg-gray-800",children:[e>0&&(0,t.jsx)("div",{className:"bg-green-500",style:{width:`${e/c*100}%`}}),o>0&&(0,t.jsx)("div",{className:"bg-cyan-500",style:{width:`${o/c*100}%`}}),d>0&&(0,t.jsx)("div",{className:"bg-gray-600",style:{width:`${d/c*100}%`}})]}),(0,t.jsxs)("div",{className:"flex gap-4 mt-1.5 text-[10px] text-gray-500",children:[e>0&&(0,t.jsxs)("span",{children:[(0,t.jsx)("span",{className:"inline-block w-2 h-2 rounded-full bg-green-500 mr-1"}),e," working"]}),o>0&&(0,t.jsxs)("span",{children:[(0,t.jsx)("span",{className:"inline-block w-2 h-2 rounded-full bg-cyan-500 mr-1"}),o," idle"]}),d>0&&(0,t.jsxs)("span",{children:[(0,t.jsx)("span",{className:"inline-block w-2 h-2 rounded-full bg-gray-600 mr-1"}),d," offline"]})]})]})),(0,t.jsxs)("div",{className:"flex flex-wrap gap-3 mb-6",children:[(0,t.jsx)("input",{type:"text",value:f,onChange:e=>y(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,t.jsxs)("select",{value:g,onChange:e=>m(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,t.jsx)("option",{value:"",children:"All"}),(0,t.jsx)("option",{value:"online",children:"Online"}),(0,t.jsx)("option",{value:"offline",children:"Offline"}),(0,t.jsx)("option",{value:"working",children:"Working"}),(0,t.jsx)("option",{value:"idle",children:"Idle"}),(0,t.jsx)("option",{value:"blocked",children:"Blocked"}),(0,t.jsx)("option",{value:"error",children:"Error"})]}),(0,t.jsx)("div",{className:"ml-auto flex rounded-lg border border-[#2a2a4a] bg-[#111128] p-1 text-sm",children:["list","grid"].map(e=>(0,t.jsx)("button",{type:"button",onClick:()=>v(e),className:`rounded-md px-3 py-1.5 transition-colors ${b===e?"bg-cyan-500/10 text-cyan-300":"text-gray-500 hover:text-gray-200"}`,children:"list"===e?"List":"Grid"},e))})]}),h?(0,t.jsx)("div",{className:"animate-pulse space-y-2",children:[1,2,3,4].map(e=>(0,t.jsx)("div",{className:"h-16 bg-gray-800/20 rounded-lg"},e))}):0===F.length?(0,t.jsx)("div",{className:"text-center py-16 text-gray-600",children:"No nodes match your filters."}):"grid"===b?(0,t.jsx)("div",{className:"grid grid-cols-1 md:grid-cols-2 xl:grid-cols-3 gap-4",children:F.map(e=>{let s=e.online?e.status:"offline",a=w[e.alias]||{},i="number"==typeof e.progress?e.progress:0;return(0,t.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,t.jsx)("div",{className:"pointer-events-none absolute inset-0 flex items-center justify-center",children:(0,t.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,t.jsxs)("div",{className:"flex items-start justify-between gap-3",children:[(0,t.jsx)(n.default,{href:`/node?alias=${encodeURIComponent(e.alias)}`,className:"min-w-0 flex-1 hover:text-cyan-300",children:(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)("span",{className:"truncate text-base font-semibold text-white",children:e.alias}),(0,t.jsx)("span",{className:`shrink-0 rounded-md border px-2 py-0.5 text-[11px] ${l[s]||l.offline}`,children:s})]})}),(0,t.jsxs)("div",{className:"flex gap-1.5 shrink-0",children:[(0,t.jsx)("button",{type:"button",onClick:()=>R(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,t.jsx)("button",{type:"button",onClick:()=>T(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,t.jsxs)("div",{className:"mt-3 space-y-2 text-xs text-gray-500",children:[(0,t.jsxs)("div",{className:"flex justify-between gap-3",children:[(0,t.jsx)("span",{children:"Agent"}),(0,t.jsx)("span",{className:"truncate text-gray-300",children:e.agent||"--"})]}),(0,t.jsxs)("div",{className:"flex justify-between gap-3",children:[(0,t.jsx)("span",{children:"Server"}),(0,t.jsx)("span",{className:"truncate text-gray-300",children:e.server||"--"})]}),(0,t.jsxs)("div",{className:"flex justify-between gap-3",children:[(0,t.jsx)("span",{children:"Updated"}),(0,t.jsx)("span",{className:"text-gray-300",children:(0,r.timeAgo)(e.last_seen_at||e.updated_at)})]})]}),(0,t.jsx)("div",{className:"mt-3 rounded-lg border border-[#1a1a2a] bg-[#0a0a15] px-3 py-2 text-xs text-gray-400",children:e.task?e.task:"No current task"}),i>0&&i<100&&(0,t.jsx)("div",{className:"mt-3 h-1.5 overflow-hidden rounded-full bg-gray-800",children:(0,t.jsx)("div",{className:"h-1.5 rounded-full bg-cyan-400 transition-all",style:{width:`${i}%`}})}),S===e.alias&&(0,t.jsxs)("div",{className:"mt-4 space-y-2 rounded-lg border border-[#2a2a4a] bg-[#0a0a15] p-3",children:[(0,t.jsx)("input",{type:"text",value:j[e.alias]||"",onChange:t=>A(e.alias,t.target.value),onKeyDown:t=>"Enter"===t.key&&$(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,t.jsxs)("div",{className:"flex justify-end gap-2",children:[(0,t.jsx)("button",{type:"button",onClick:()=>N(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,t.jsx)("button",{type:"button",onClick:()=>$(e.alias),disabled:a.sending||!(j[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:a.sending?"Sending...":"Send"})]})]}),a.error&&(0,t.jsx)("div",{className:"mt-2 text-xs text-red-400",children:a.error}),a.success&&S!==e.alias&&(0,t.jsx)("div",{className:"mt-2 text-xs text-green-400",children:a.success})]},e.alias)})}):(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsxs)("div",{className:"hidden sm:grid sm:grid-cols-12 gap-2 px-4 py-2 text-xs text-gray-600 uppercase",children:[(0,t.jsx)("div",{className:"col-span-1",children:"Status"}),(0,t.jsx)("div",{className:"col-span-2",children:"Alias"}),(0,t.jsx)("div",{className:"col-span-2",children:"Agent"}),(0,t.jsx)("div",{className:"col-span-2",children:"Server"}),(0,t.jsx)("div",{className:"col-span-2",children:"Current Task"}),(0,t.jsx)("div",{className:"col-span-1",children:"Updated"}),(0,t.jsx)("div",{className:"col-span-2 text-right",children:"Actions"})]}),F.map(e=>{let s=e.online?e.status:"offline",a=w[e.alias]||{};return(0,t.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,t.jsxs)("div",{className:"hidden sm:grid sm:grid-cols-12 gap-2 items-center",children:[(0,t.jsx)("div",{className:"col-span-1",children:(0,t.jsx)("span",{className:`text-xs px-2 py-0.5 rounded-md border ${l[s]||l.offline}`,children:s})}),(0,t.jsx)("div",{className:"col-span-2 min-w-0",children:(0,t.jsx)(n.default,{href:`/node?alias=${encodeURIComponent(e.alias)}`,className:"truncate text-sm font-medium text-white hover:text-cyan-300",children:e.alias})}),(0,t.jsx)("div",{className:"col-span-2 truncate text-xs text-gray-400",children:e.agent||"--"}),(0,t.jsx)("div",{className:"col-span-2 truncate text-xs text-gray-400",children:e.server||"--"}),(0,t.jsx)("div",{className:"col-span-2 truncate text-xs text-gray-500",children:e.task||"--"}),(0,t.jsx)("div",{className:"col-span-1 text-xs text-gray-500",children:(0,r.timeAgo)(e.last_seen_at||e.updated_at)}),(0,t.jsxs)("div",{className:"col-span-2 flex justify-end gap-1.5",children:[(0,t.jsx)("button",{type:"button",onClick:()=>R(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,t.jsx)("button",{type:"button",onClick:()=>T(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,t.jsxs)("div",{className:"sm:hidden space-y-2",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between gap-3",children:[(0,t.jsx)(n.default,{href:`/node?alias=${encodeURIComponent(e.alias)}`,className:"truncate text-sm font-medium text-white hover:text-cyan-300",children:e.alias}),(0,t.jsx)("span",{className:`shrink-0 text-xs px-2 py-0.5 rounded-md border ${l[s]||l.offline}`,children:s})]}),(0,t.jsxs)("div",{className:"text-xs text-gray-500",children:[e.agent||"--"," · ",(0,r.timeAgo)(e.last_seen_at||e.updated_at)]}),e.task&&(0,t.jsx)("div",{className:"truncate text-xs text-gray-500",children:e.task}),(0,t.jsxs)("div",{className:"flex gap-2",children:[(0,t.jsx)("button",{type:"button",onClick:()=>R(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,t.jsx)("button",{type:"button",onClick:()=>T(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"})]})]}),S===e.alias&&(0,t.jsxs)("div",{className:"mt-3 space-y-2 border-t border-[#2a2a4a] pt-3",children:[(0,t.jsx)("input",{type:"text",value:j[e.alias]||"",onChange:t=>A(e.alias,t.target.value),onKeyDown:t=>"Enter"===t.key&&$(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,t.jsxs)("div",{className:"flex justify-end gap-2",children:[(0,t.jsx)("button",{type:"button",onClick:()=>N(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,t.jsx)("button",{type:"button",onClick:()=>$(e.alias),disabled:a.sending||!(j[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:a.sending?"Sending...":"Send"})]})]}),a.error&&(0,t.jsx)("div",{className:"mt-2 text-xs text-red-400",children:a.error}),a.success&&S!==e.alias&&(0,t.jsx)("div",{className:"mt-2 text-xs text-green-400",children:a.success})]},e.alias)})]}),C&&(0,t.jsx)(i.TaskChatPanel,{alias:C,onClose:()=>R(null)})]})}])}]);
|