@sleep2agi/agent-network-dashboard 0.5.7-preview.34 → 0.5.7-preview.36
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.next/BUILD_ID +1 -1
- package/.next/build-manifest.json +3 -3
- package/.next/diagnostics/route-bundle-stats.json +11 -11
- 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 +2 -2
- package/.next/server/app/index.rsc +2 -2
- package/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
- package/.next/server/app/index.segments/_full.segment.rsc +2 -2
- package/.next/server/app/index.segments/_head.segment.rsc +1 -1
- package/.next/server/app/index.segments/_index.segment.rsc +1 -1
- package/.next/server/app/index.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/login/page_client-reference-manifest.js +1 -1
- package/.next/server/app/login.html +2 -2
- package/.next/server/app/login.rsc +2 -2
- package/.next/server/app/login.segments/_full.segment.rsc +2 -2
- package/.next/server/app/login.segments/_head.segment.rsc +1 -1
- package/.next/server/app/login.segments/_index.segment.rsc +1 -1
- package/.next/server/app/login.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/login.segments/login/__PAGE__.segment.rsc +2 -2
- package/.next/server/app/login.segments/login.segment.rsc +1 -1
- package/.next/server/app/logs.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/page_client-reference-manifest.js +1 -1
- package/.next/server/app/messages.html +2 -2
- package/.next/server/app/messages.rsc +2 -2
- package/.next/server/app/messages.segments/_full.segment.rsc +2 -2
- package/.next/server/app/messages.segments/_head.segment.rsc +1 -1
- package/.next/server/app/messages.segments/_index.segment.rsc +1 -1
- package/.next/server/app/messages.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/messages.segments/messages/__PAGE__.segment.rsc +2 -2
- package/.next/server/app/messages.segments/messages.segment.rsc +1 -1
- package/.next/server/app/node.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/page_client-reference-manifest.js +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/servers.html +1 -1
- package/.next/server/app/servers.rsc +1 -1
- package/.next/server/app/servers.segments/_full.segment.rsc +1 -1
- package/.next/server/app/servers.segments/_head.segment.rsc +1 -1
- package/.next/server/app/servers.segments/_index.segment.rsc +1 -1
- package/.next/server/app/servers.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/servers.segments/servers/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/servers.segments/servers.segment.rsc +1 -1
- package/.next/server/app/settings/networks.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/page_client-reference-manifest.js +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 +2 -2
- package/.next/server/app/settings.rsc +2 -2
- package/.next/server/app/settings.segments/_full.segment.rsc +2 -2
- package/.next/server/app/settings.segments/_head.segment.rsc +1 -1
- package/.next/server/app/settings.segments/_index.segment.rsc +1 -1
- package/.next/server/app/settings.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/settings.segments/settings/__PAGE__.segment.rsc +2 -2
- package/.next/server/app/settings.segments/settings.segment.rsc +1 -1
- package/.next/server/app/tasks/page_client-reference-manifest.js +1 -1
- package/.next/server/app/tasks.html +2 -2
- package/.next/server/app/tasks.rsc +2 -2
- package/.next/server/app/tasks.segments/_full.segment.rsc +2 -2
- package/.next/server/app/tasks.segments/_head.segment.rsc +1 -1
- package/.next/server/app/tasks.segments/_index.segment.rsc +1 -1
- package/.next/server/app/tasks.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/tasks.segments/tasks/__PAGE__.segment.rsc +2 -2
- package/.next/server/app/tasks.segments/tasks.segment.rsc +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__0nw~zhp._.js +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__0nw~zhp._.js.map +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__0sv~g.o._.js +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__0sv~g.o._.js.map +1 -1
- package/.next/server/chunks/ssr/agent-network-dashboard_app_01jhlxz._.js +1 -1
- package/.next/server/chunks/ssr/agent-network-dashboard_app_01jhlxz._.js.map +1 -1
- package/.next/server/chunks/ssr/agent-network-dashboard_app_09d29my._.js +1 -1
- package/.next/server/chunks/ssr/agent-network-dashboard_app_09d29my._.js.map +1 -1
- package/.next/server/chunks/ssr/agent-network-dashboard_app_0i3759l._.js +1 -1
- package/.next/server/chunks/ssr/agent-network-dashboard_app_0i3759l._.js.map +1 -1
- package/.next/server/chunks/ssr/agent-network-dashboard_app_1153xeb._.js +2 -2
- package/.next/server/chunks/ssr/agent-network-dashboard_app_1153xeb._.js.map +1 -1
- package/.next/server/chunks/ssr/agent-network-dashboard_app_tasks_page_tsx_0mwxy4z._.js +1 -1
- package/.next/server/chunks/ssr/agent-network-dashboard_app_tasks_page_tsx_0mwxy4z._.js.map +1 -1
- package/.next/server/middleware-build-manifest.js +3 -3
- package/.next/server/pages/404.html +1 -1
- package/.next/server/pages/500.html +1 -1
- package/.next/static/chunks/{0.054rbp43q.y.js → 00d~isei247an.js} +1 -1
- package/.next/static/chunks/{01gwxcz0s4ic_.js → 02.ev9q2lzlz_.js} +1 -1
- package/.next/static/chunks/{0ymogrg8t82.8.js → 038qqfgpqqpst.js} +1 -1
- package/.next/static/chunks/{0~eyvw9.ips4y.js → 07lk087gchb7~.js} +2 -2
- package/.next/static/chunks/{056rsfg~r8v.4.js → 0ne6udqoknyrc.js} +1 -1
- package/.next/static/chunks/0q~ko.knz4cq8.js +1 -0
- package/.next/static/chunks/{0qvd1v169sclt.js → 115bj1dnqje2x.js} +1 -1
- package/.next/trace +2 -2
- package/.next/trace-build +1 -1
- package/app/admin/page.tsx +5 -1
- package/app/messages/page.tsx +5 -2
- package/app/nodes/page.tsx +8 -3
- package/app/tasks/page.tsx +23 -5
- package/package.json +1 -1
- package/.next/static/chunks/0fkd-56.k2ts..js +0 -1
- /package/.next/static/{gQUBslHrnEi2wSMEuinXH → xj8hi3hD8gSL1oD_XTWUL}/_buildManifest.js +0 -0
- /package/.next/static/{gQUBslHrnEi2wSMEuinXH → xj8hi3hD8gSL1oD_XTWUL}/_clientMiddlewareManifest.js +0 -0
- /package/.next/static/{gQUBslHrnEi2wSMEuinXH → xj8hi3hD8gSL1oD_XTWUL}/_ssgManifest.js +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,59276,e=>{"use strict";var s=e.i(12629),a=e.i(11449);let t=async e=>{let s=await fetch(e);if(401===s.status)throw window.location.assign("/login"),Error("unauthorized");return s.json()},r={refreshInterval:5e3,dedupingInterval:3e3};function n(e,s){if(!s)return e;let a=e.includes("?")?"&":"?";return`${e}${a}network_id=${encodeURIComponent(s)}`}e.s(["useAnetConfig",0,function(){let{data:e}=(0,s.default)("/api/anet/config",t,{refreshInterval:3e4});return{config:e||null}},"useHealth",0,function(){let{data:e,error:a}=(0,s.default)("/api/hub/health",t,r);return{health:e||null,error:a}},"useMessages",0,function(e=100){let{networkId:l}=(0,a.useNetworkId)(),{data:i,error:o,isLoading:c}=(0,s.default)(n(`/api/hub/messages?limit=${e}`,l),t,r);return{messages:i?.messages||[],error:o,isLoading:c}},"useSessions",0,function(){let{networkId:e}=(0,a.useNetworkId)(),{data:l,error:i,isLoading:o}=(0,s.default)(n("/api/hub/status",e),t,r);return{sessions:l?.sessions||[],hint:l?._hint,error:i,isLoading:o}},"useStats",0,function(){let{networkId:e}=(0,a.useNetworkId)(),{data:l,error:i}=(0,s.default)(n("/api/hub/stats",e),t,r);return{stats:l?.ok?l:null,error:i}},"useTasks",0,function(e){let{networkId:l}=(0,a.useNetworkId)(),i=new URLSearchParams({limit:"100",...e}).toString(),{data:o,error:c,isLoading:d}=(0,s.default)(n(`/api/hub/tasks?${i}`,l),t,r);return{tasks:o?.tasks||[],count:o?.count??0,source:o?.source,error:c,isLoading:d}}])},70286,e=>{"use strict";e.s(["DASHBOARD_VERSION",0,"0.5.7-preview.34"],70286)},65610,e=>{"use strict";var s=e.i(22381),a=e.i(23910),t=e.i(56839),r=e.i(59276),n=e.i(70286);e.s(["default",0,function(){let{config:e}=(0,r.useAnetConfig)(),{health:l}=(0,r.useHealth)(),[i,o]=(0,a.useState)(""),[c,d]=(0,a.useState)(""),[x,m]=(0,a.useState)(""),h="flex flex-col gap-1 sm:flex-row sm:items-start sm:justify-between",g="break-all sm:max-w-[320px] sm:text-right";return(0,s.jsxs)("div",{className:"min-h-screen bg-[#0a0a1a] text-gray-100 p-4 sm:p-6 font-mono",children:[(0,s.jsx)("h1",{className:"text-2xl font-bold text-white mb-3 lg:ml-0 ml-10",children:"Settings"}),(0,s.jsx)("nav",{className:"mb-8 flex flex-wrap gap-2 text-xs",children:[{href:"#connection",label:"Connection"},{href:"#account",label:"Account"},{href:"#resources",label:"Resources"}].map(e=>(0,s.jsx)("a",{href:e.href,className:"inline-flex min-h-[44px] items-center rounded-md border border-[#2a2a4a] bg-[#0a0a15]/60 px-3 py-2 text-gray-400 hover:border-cyan-500/50 hover:text-cyan-300 hover:bg-cyan-500/10 transition-colors",children:e.label},e.href))}),(0,s.jsxs)("div",{className:"max-w-2xl space-y-10",children:[(0,s.jsxs)("div",{id:"connection",className:"space-y-4 scroll-mt-6",children:[(0,s.jsxs)("div",{className:"flex items-center gap-2 px-1",children:[(0,s.jsx)("div",{className:"text-[11px] uppercase tracking-[0.14em] text-gray-400 font-semibold",children:"Connection"}),(0,s.jsx)("div",{className:"flex-1 h-px bg-[#2a2a4a]"})]}),(0,s.jsxs)("section",{className:"bg-[#111128] border border-[#2a2a4a] rounded-xl p-5",children:[(0,s.jsx)("h2",{className:"text-sm font-semibold text-gray-300 mb-4",children:"CommHub Connection"}),(0,s.jsxs)("div",{className:"space-y-3 text-sm",children:[(0,s.jsxs)("div",{className:h,children:[(0,s.jsx)("span",{className:"text-gray-500 shrink-0",children:"Hub URL"}),(0,s.jsx)("span",{className:`text-cyan-300 ${g}`,children:e?.hub||"not configured"})]}),(0,s.jsxs)("div",{className:h,children:[(0,s.jsx)("span",{className:"text-gray-500",children:"Config Source"}),(0,s.jsx)("span",{className:`text-gray-300 ${g}`,children:e?.source==="file"?"Local file (~/.anet/config.json)":e?.source==="runtime-env"?"Vercel env vars":"Missing"})]}),(0,s.jsxs)("div",{className:h,children:[(0,s.jsx)("span",{className:"text-gray-500",children:"Auth Token"}),(0,s.jsx)("span",{className:`${e?.tokenConfigured?"text-green-400":"text-red-400"} ${g}`,children:e?.tokenConfigured?`Configured (${e.tokenPreview})`:"Not configured"})]}),(0,s.jsxs)("div",{className:h,children:[(0,s.jsx)("span",{className:"text-gray-500",children:"Server Auth"}),(0,s.jsx)("span",{className:`${l?.auth==="enabled"?"text-green-400":"text-yellow-400"} sm:text-right`,children:l?.auth||"--"})]}),e?.error&&(0,s.jsx)("div",{className:"border-t border-[#2a2a4a] pt-3 text-xs text-gray-600",children:e.error})]})]}),(0,s.jsxs)("section",{className:"bg-[#111128] border border-[#2a2a4a] rounded-xl p-5",children:[(0,s.jsx)("h2",{className:"text-sm font-semibold text-gray-300 mb-4",children:"Server Info"}),(0,s.jsxs)("div",{className:"space-y-3 text-sm",children:[(0,s.jsxs)("div",{className:h,children:[(0,s.jsx)("span",{className:"text-gray-500",children:"Version"}),(0,s.jsx)("span",{className:`text-gray-300 ${g}`,children:l?.version||"--"})]}),(0,s.jsxs)("div",{className:h,children:[(0,s.jsx)("span",{className:"text-gray-500",children:"Sessions"}),(0,s.jsx)("span",{className:`text-gray-300 ${g}`,children:l?.sessions??"--"})]}),(0,s.jsxs)("div",{className:h,children:[(0,s.jsxs)("span",{className:"text-gray-500",children:["SSE streams ",(0,s.jsx)("span",{className:"text-gray-600",children:"· server"})]}),(0,s.jsx)("span",{className:`text-gray-300 ${g}`,children:l?.sse_connections??"--"})]}),(0,s.jsxs)("div",{className:h,children:[(0,s.jsx)("span",{className:"text-gray-500",children:"Uptime"}),(0,s.jsx)("span",{className:`text-gray-300 ${g}`,children:l?.uptime?`${Math.floor(l.uptime/3600)}h ${Math.floor(l.uptime%3600/60)}m`:"--"})]})]})]}),(0,s.jsxs)("section",{className:"bg-[#111128] border border-[#2a2a4a] rounded-xl p-5",children:[(0,s.jsx)("h2",{className:"text-sm font-semibold text-gray-300 mb-4",children:"Dashboard"}),(0,s.jsxs)("div",{className:"space-y-3 text-sm",children:[(0,s.jsxs)("div",{className:h,children:[(0,s.jsx)("span",{className:"text-gray-500",children:"Version"}),(0,s.jsx)("span",{className:`text-gray-300 font-mono ${g}`,title:"From package.json @sleep2agi/agent-network-dashboard",children:n.DASHBOARD_VERSION})]}),(0,s.jsxs)("div",{className:h,children:[(0,s.jsx)("span",{className:"text-gray-500",children:"Data Layer"}),(0,s.jsx)("span",{className:`text-gray-300 ${g}`,children:"SWR (5s refresh, 3s dedup)"})]}),(0,s.jsxs)("div",{className:h,children:[(0,s.jsx)("span",{className:"text-gray-500",children:"Pages"}),(0,s.jsx)("span",{className:`text-gray-300 ${g}`,children:"Overview, Tasks, Nodes, Messages, Networks, Audit, Server Logs, Admin, Settings"})]})]})]})]}),(0,s.jsxs)("div",{id:"account",className:"space-y-4 scroll-mt-6",children:[(0,s.jsxs)("div",{className:"flex items-center gap-2 px-1",children:[(0,s.jsx)("div",{className:"text-[11px] uppercase tracking-[0.14em] text-gray-400 font-semibold",children:"Account"}),(0,s.jsx)("div",{className:"flex-1 h-px bg-[#2a2a4a]"})]}),(0,s.jsxs)("section",{className:"bg-[#111128] border border-[#2a2a4a] rounded-xl p-5",children:[(0,s.jsx)("h2",{className:"text-sm font-semibold text-gray-300 mb-4",children:"Change Password"}),(0,s.jsxs)("div",{className:"space-y-3",children:[(0,s.jsx)("input",{type:"password",value:i,onChange:e=>o(e.target.value),placeholder:"Current password",className:"w-full bg-[#0a0a15] border border-[#2a2a4a] rounded-lg px-3 py-2 text-base sm:text-sm text-white placeholder-gray-600 focus:border-cyan-500/50 focus:outline-none"}),(0,s.jsx)("input",{type:"password",value:c,onChange:e=>d(e.target.value),placeholder:"New password",className:"w-full bg-[#0a0a15] border border-[#2a2a4a] rounded-lg px-3 py-2 text-base sm:text-sm text-white placeholder-gray-600 focus:border-cyan-500/50 focus:outline-none"}),(0,s.jsx)("button",{onClick:async()=>{if(!i||!c)return;let e=sessionStorage.getItem("anet_v3_auth");if(!e)return void m("Not logged in with V3 auth");let{token:s}=JSON.parse(e),a=await fetch("/api/hub/auth",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"change_password",token:s,current_password:i,new_password:c})}),t=await a.json();if(m(t.ok?"Password changed":`Failed: ${t.error}`),t.ok){if(t.token){let s=JSON.parse(e);sessionStorage.setItem("anet_v3_auth",JSON.stringify({...s,token:t.token}))}o(""),d("")}setTimeout(()=>m(""),5e3)},disabled:!i||!c,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:"Change Password"})]}),x&&(0,s.jsx)("div",{className:`mt-2 text-xs ${x.startsWith("Failed")?"text-red-400":"text-green-400"}`,children:x})]}),(0,s.jsxs)("section",{className:"bg-[#111128] border border-[#2a2a4a] rounded-xl p-5",children:[(0,s.jsx)("h2",{className:"text-sm font-semibold text-gray-300 mb-4",children:"Sign out"}),(0,s.jsx)("p",{className:"text-xs text-gray-500 mb-3",children:"Signing out clears your dashboard session cookie. You'll return to the login page."}),(0,s.jsx)("button",{onClick:async()=>{await fetch("/api/auth/logout",{method:"POST"}).catch(()=>{}),window.location.assign("/login")},className:"px-4 py-2 bg-transparent hover:bg-[#1a1a2a] text-gray-300 text-sm rounded-lg border border-[#2a2a4a] hover:border-[#3a3a5a] transition-colors",children:"Sign out"})]})]}),(0,s.jsxs)("div",{id:"resources",className:"space-y-4 scroll-mt-6",children:[(0,s.jsxs)("div",{className:"flex items-center gap-2 px-1",children:[(0,s.jsx)("div",{className:"text-[11px] uppercase tracking-[0.14em] text-gray-400 font-semibold",children:"Resources"}),(0,s.jsx)("div",{className:"flex-1 h-px bg-[#2a2a4a]"})]}),(0,s.jsxs)("div",{className:"grid grid-cols-1 sm:grid-cols-2 gap-4",children:[(0,s.jsxs)(t.default,{href:"/settings/tokens",className:"bg-[#111128] border border-[#2a2a4a] rounded-xl p-5 hover:border-cyan-500/30 transition-colors",children:[(0,s.jsx)("h2",{className:"text-sm font-semibold text-gray-300",children:"API Tokens"}),(0,s.jsx)("p",{className:"text-xs text-gray-500 mt-2",children:"Create and manage tokens for CLI access."}),(0,s.jsx)("span",{className:"text-xs text-cyan-400 mt-3 inline-block",children:"Manage →"})]}),(0,s.jsxs)(t.default,{href:"/settings/networks",className:"bg-[#111128] border border-[#2a2a4a] rounded-xl p-5 hover:border-cyan-500/30 transition-colors",children:[(0,s.jsx)("h2",{className:"text-sm font-semibold text-gray-300",children:"Networks"}),(0,s.jsx)("p",{className:"text-xs text-gray-500 mt-2",children:"Create, manage, and delete agent networks."}),(0,s.jsx)("span",{className:"text-xs text-cyan-400 mt-3 inline-block",children:"Manage →"})]}),(0,s.jsxs)(t.default,{href:"/messages",className:"bg-[#111128] border border-[#2a2a4a] rounded-xl p-5 hover:border-cyan-500/30 transition-colors",children:[(0,s.jsx)("h2",{className:"text-sm font-semibold text-gray-300",children:"Messages"}),(0,s.jsx)("p",{className:"text-xs text-gray-500 mt-2",children:"Global timeline of CommHub messages across all agents."}),(0,s.jsx)("span",{className:"text-xs text-cyan-400 mt-3 inline-block",children:"Open →"})]}),(0,s.jsxs)(t.default,{href:"/logs",className:"bg-[#111128] border border-[#2a2a4a] rounded-xl p-5 hover:border-cyan-500/30 transition-colors",children:[(0,s.jsx)("h2",{className:"text-sm font-semibold text-gray-300",children:"Audit Log"}),(0,s.jsx)("p",{className:"text-xs text-gray-500 mt-2",children:"Authentication, token rotations, and admin actions."}),(0,s.jsx)("span",{className:"text-xs text-cyan-400 mt-3 inline-block",children:"Open →"})]}),(0,s.jsxs)(t.default,{href:"/server-logs",className:"bg-[#111128] border border-[#2a2a4a] rounded-xl p-5 hover:border-cyan-500/30 transition-colors",children:[(0,s.jsx)("h2",{className:"text-sm font-semibold text-gray-300",children:"Server Logs"}),(0,s.jsx)("p",{className:"text-xs text-gray-500 mt-2",children:"Live stdout / stderr from the CommHub server."}),(0,s.jsx)("span",{className:"text-xs text-cyan-400 mt-3 inline-block",children:"Open →"})]})]})]})]})]})}])}]);
|
|
1
|
+
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,59276,e=>{"use strict";var s=e.i(12629),a=e.i(11449);let t=async e=>{let s=await fetch(e);if(401===s.status)throw window.location.assign("/login"),Error("unauthorized");return s.json()},r={refreshInterval:5e3,dedupingInterval:3e3};function n(e,s){if(!s)return e;let a=e.includes("?")?"&":"?";return`${e}${a}network_id=${encodeURIComponent(s)}`}e.s(["useAnetConfig",0,function(){let{data:e}=(0,s.default)("/api/anet/config",t,{refreshInterval:3e4});return{config:e||null}},"useHealth",0,function(){let{data:e,error:a}=(0,s.default)("/api/hub/health",t,r);return{health:e||null,error:a}},"useMessages",0,function(e=100){let{networkId:l}=(0,a.useNetworkId)(),{data:i,error:o,isLoading:c}=(0,s.default)(n(`/api/hub/messages?limit=${e}`,l),t,r);return{messages:i?.messages||[],error:o,isLoading:c}},"useSessions",0,function(){let{networkId:e}=(0,a.useNetworkId)(),{data:l,error:i,isLoading:o}=(0,s.default)(n("/api/hub/status",e),t,r);return{sessions:l?.sessions||[],hint:l?._hint,error:i,isLoading:o}},"useStats",0,function(){let{networkId:e}=(0,a.useNetworkId)(),{data:l,error:i}=(0,s.default)(n("/api/hub/stats",e),t,r);return{stats:l?.ok?l:null,error:i}},"useTasks",0,function(e){let{networkId:l}=(0,a.useNetworkId)(),i=new URLSearchParams({limit:"100",...e}).toString(),{data:o,error:c,isLoading:d}=(0,s.default)(n(`/api/hub/tasks?${i}`,l),t,r);return{tasks:o?.tasks||[],count:o?.count??0,source:o?.source,error:c,isLoading:d}}])},70286,e=>{"use strict";e.s(["DASHBOARD_VERSION",0,"0.5.7-preview.36"],70286)},65610,e=>{"use strict";var s=e.i(22381),a=e.i(23910),t=e.i(56839),r=e.i(59276),n=e.i(70286);e.s(["default",0,function(){let{config:e}=(0,r.useAnetConfig)(),{health:l}=(0,r.useHealth)(),[i,o]=(0,a.useState)(""),[c,d]=(0,a.useState)(""),[x,m]=(0,a.useState)(""),h="flex flex-col gap-1 sm:flex-row sm:items-start sm:justify-between",g="break-all sm:max-w-[320px] sm:text-right";return(0,s.jsxs)("div",{className:"min-h-screen bg-[#0a0a1a] text-gray-100 p-4 sm:p-6 font-mono",children:[(0,s.jsx)("h1",{className:"text-2xl font-bold text-white mb-3 lg:ml-0 ml-10",children:"Settings"}),(0,s.jsx)("nav",{className:"mb-8 flex flex-wrap gap-2 text-xs",children:[{href:"#connection",label:"Connection"},{href:"#account",label:"Account"},{href:"#resources",label:"Resources"}].map(e=>(0,s.jsx)("a",{href:e.href,className:"inline-flex min-h-[44px] items-center rounded-md border border-[#2a2a4a] bg-[#0a0a15]/60 px-3 py-2 text-gray-400 hover:border-cyan-500/50 hover:text-cyan-300 hover:bg-cyan-500/10 transition-colors",children:e.label},e.href))}),(0,s.jsxs)("div",{className:"max-w-2xl space-y-10",children:[(0,s.jsxs)("div",{id:"connection",className:"space-y-4 scroll-mt-6",children:[(0,s.jsxs)("div",{className:"flex items-center gap-2 px-1",children:[(0,s.jsx)("div",{className:"text-[11px] uppercase tracking-[0.14em] text-gray-400 font-semibold",children:"Connection"}),(0,s.jsx)("div",{className:"flex-1 h-px bg-[#2a2a4a]"})]}),(0,s.jsxs)("section",{className:"bg-[#111128] border border-[#2a2a4a] rounded-xl p-5",children:[(0,s.jsx)("h2",{className:"text-sm font-semibold text-gray-300 mb-4",children:"CommHub Connection"}),(0,s.jsxs)("div",{className:"space-y-3 text-sm",children:[(0,s.jsxs)("div",{className:h,children:[(0,s.jsx)("span",{className:"text-gray-500 shrink-0",children:"Hub URL"}),(0,s.jsx)("span",{className:`text-cyan-300 ${g}`,children:e?.hub||"not configured"})]}),(0,s.jsxs)("div",{className:h,children:[(0,s.jsx)("span",{className:"text-gray-500",children:"Config Source"}),(0,s.jsx)("span",{className:`text-gray-300 ${g}`,children:e?.source==="file"?"Local file (~/.anet/config.json)":e?.source==="runtime-env"?"Vercel env vars":"Missing"})]}),(0,s.jsxs)("div",{className:h,children:[(0,s.jsx)("span",{className:"text-gray-500",children:"Auth Token"}),(0,s.jsx)("span",{className:`${e?.tokenConfigured?"text-green-400":"text-red-400"} ${g}`,children:e?.tokenConfigured?`Configured (${e.tokenPreview})`:"Not configured"})]}),(0,s.jsxs)("div",{className:h,children:[(0,s.jsx)("span",{className:"text-gray-500",children:"Server Auth"}),(0,s.jsx)("span",{className:`${l?.auth==="enabled"?"text-green-400":"text-yellow-400"} sm:text-right`,children:l?.auth||"--"})]}),e?.error&&(0,s.jsx)("div",{className:"border-t border-[#2a2a4a] pt-3 text-xs text-gray-600",children:e.error})]})]}),(0,s.jsxs)("section",{className:"bg-[#111128] border border-[#2a2a4a] rounded-xl p-5",children:[(0,s.jsx)("h2",{className:"text-sm font-semibold text-gray-300 mb-4",children:"Server Info"}),(0,s.jsxs)("div",{className:"space-y-3 text-sm",children:[(0,s.jsxs)("div",{className:h,children:[(0,s.jsx)("span",{className:"text-gray-500",children:"Version"}),(0,s.jsx)("span",{className:`text-gray-300 ${g}`,children:l?.version||"--"})]}),(0,s.jsxs)("div",{className:h,children:[(0,s.jsx)("span",{className:"text-gray-500",children:"Sessions"}),(0,s.jsx)("span",{className:`text-gray-300 ${g}`,children:l?.sessions??"--"})]}),(0,s.jsxs)("div",{className:h,children:[(0,s.jsxs)("span",{className:"text-gray-500",children:["SSE streams ",(0,s.jsx)("span",{className:"text-gray-600",children:"· server"})]}),(0,s.jsx)("span",{className:`text-gray-300 ${g}`,children:l?.sse_connections??"--"})]}),(0,s.jsxs)("div",{className:h,children:[(0,s.jsx)("span",{className:"text-gray-500",children:"Uptime"}),(0,s.jsx)("span",{className:`text-gray-300 ${g}`,children:l?.uptime?`${Math.floor(l.uptime/3600)}h ${Math.floor(l.uptime%3600/60)}m`:"--"})]})]})]}),(0,s.jsxs)("section",{className:"bg-[#111128] border border-[#2a2a4a] rounded-xl p-5",children:[(0,s.jsx)("h2",{className:"text-sm font-semibold text-gray-300 mb-4",children:"Dashboard"}),(0,s.jsxs)("div",{className:"space-y-3 text-sm",children:[(0,s.jsxs)("div",{className:h,children:[(0,s.jsx)("span",{className:"text-gray-500",children:"Version"}),(0,s.jsx)("span",{className:`text-gray-300 font-mono ${g}`,title:"From package.json @sleep2agi/agent-network-dashboard",children:n.DASHBOARD_VERSION})]}),(0,s.jsxs)("div",{className:h,children:[(0,s.jsx)("span",{className:"text-gray-500",children:"Data Layer"}),(0,s.jsx)("span",{className:`text-gray-300 ${g}`,children:"SWR (5s refresh, 3s dedup)"})]}),(0,s.jsxs)("div",{className:h,children:[(0,s.jsx)("span",{className:"text-gray-500",children:"Pages"}),(0,s.jsx)("span",{className:`text-gray-300 ${g}`,children:"Overview, Tasks, Nodes, Messages, Networks, Audit, Server Logs, Admin, Settings"})]})]})]})]}),(0,s.jsxs)("div",{id:"account",className:"space-y-4 scroll-mt-6",children:[(0,s.jsxs)("div",{className:"flex items-center gap-2 px-1",children:[(0,s.jsx)("div",{className:"text-[11px] uppercase tracking-[0.14em] text-gray-400 font-semibold",children:"Account"}),(0,s.jsx)("div",{className:"flex-1 h-px bg-[#2a2a4a]"})]}),(0,s.jsxs)("section",{className:"bg-[#111128] border border-[#2a2a4a] rounded-xl p-5",children:[(0,s.jsx)("h2",{className:"text-sm font-semibold text-gray-300 mb-4",children:"Change Password"}),(0,s.jsxs)("div",{className:"space-y-3",children:[(0,s.jsx)("input",{type:"password",value:i,onChange:e=>o(e.target.value),placeholder:"Current password",className:"w-full bg-[#0a0a15] border border-[#2a2a4a] rounded-lg px-3 py-2 text-base sm:text-sm text-white placeholder-gray-600 focus:border-cyan-500/50 focus:outline-none"}),(0,s.jsx)("input",{type:"password",value:c,onChange:e=>d(e.target.value),placeholder:"New password",className:"w-full bg-[#0a0a15] border border-[#2a2a4a] rounded-lg px-3 py-2 text-base sm:text-sm text-white placeholder-gray-600 focus:border-cyan-500/50 focus:outline-none"}),(0,s.jsx)("button",{onClick:async()=>{if(!i||!c)return;let e=sessionStorage.getItem("anet_v3_auth");if(!e)return void m("Not logged in with V3 auth");let{token:s}=JSON.parse(e),a=await fetch("/api/hub/auth",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"change_password",token:s,current_password:i,new_password:c})}),t=await a.json();if(m(t.ok?"Password changed":`Failed: ${t.error}`),t.ok){if(t.token){let s=JSON.parse(e);sessionStorage.setItem("anet_v3_auth",JSON.stringify({...s,token:t.token}))}o(""),d("")}setTimeout(()=>m(""),5e3)},disabled:!i||!c,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:"Change Password"})]}),x&&(0,s.jsx)("div",{className:`mt-2 text-xs ${x.startsWith("Failed")?"text-red-400":"text-green-400"}`,children:x})]}),(0,s.jsxs)("section",{className:"bg-[#111128] border border-[#2a2a4a] rounded-xl p-5",children:[(0,s.jsx)("h2",{className:"text-sm font-semibold text-gray-300 mb-4",children:"Sign out"}),(0,s.jsx)("p",{className:"text-xs text-gray-500 mb-3",children:"Signing out clears your dashboard session cookie. You'll return to the login page."}),(0,s.jsx)("button",{onClick:async()=>{await fetch("/api/auth/logout",{method:"POST"}).catch(()=>{}),window.location.assign("/login")},className:"px-4 py-2 bg-transparent hover:bg-[#1a1a2a] text-gray-300 text-sm rounded-lg border border-[#2a2a4a] hover:border-[#3a3a5a] transition-colors",children:"Sign out"})]})]}),(0,s.jsxs)("div",{id:"resources",className:"space-y-4 scroll-mt-6",children:[(0,s.jsxs)("div",{className:"flex items-center gap-2 px-1",children:[(0,s.jsx)("div",{className:"text-[11px] uppercase tracking-[0.14em] text-gray-400 font-semibold",children:"Resources"}),(0,s.jsx)("div",{className:"flex-1 h-px bg-[#2a2a4a]"})]}),(0,s.jsxs)("div",{className:"grid grid-cols-1 sm:grid-cols-2 gap-4",children:[(0,s.jsxs)(t.default,{href:"/settings/tokens",className:"bg-[#111128] border border-[#2a2a4a] rounded-xl p-5 hover:border-cyan-500/30 transition-colors",children:[(0,s.jsx)("h2",{className:"text-sm font-semibold text-gray-300",children:"API Tokens"}),(0,s.jsx)("p",{className:"text-xs text-gray-500 mt-2",children:"Create and manage tokens for CLI access."}),(0,s.jsx)("span",{className:"text-xs text-cyan-400 mt-3 inline-block",children:"Manage →"})]}),(0,s.jsxs)(t.default,{href:"/settings/networks",className:"bg-[#111128] border border-[#2a2a4a] rounded-xl p-5 hover:border-cyan-500/30 transition-colors",children:[(0,s.jsx)("h2",{className:"text-sm font-semibold text-gray-300",children:"Networks"}),(0,s.jsx)("p",{className:"text-xs text-gray-500 mt-2",children:"Create, manage, and delete agent networks."}),(0,s.jsx)("span",{className:"text-xs text-cyan-400 mt-3 inline-block",children:"Manage →"})]}),(0,s.jsxs)(t.default,{href:"/messages",className:"bg-[#111128] border border-[#2a2a4a] rounded-xl p-5 hover:border-cyan-500/30 transition-colors",children:[(0,s.jsx)("h2",{className:"text-sm font-semibold text-gray-300",children:"Messages"}),(0,s.jsx)("p",{className:"text-xs text-gray-500 mt-2",children:"Global timeline of CommHub messages across all agents."}),(0,s.jsx)("span",{className:"text-xs text-cyan-400 mt-3 inline-block",children:"Open →"})]}),(0,s.jsxs)(t.default,{href:"/logs",className:"bg-[#111128] border border-[#2a2a4a] rounded-xl p-5 hover:border-cyan-500/30 transition-colors",children:[(0,s.jsx)("h2",{className:"text-sm font-semibold text-gray-300",children:"Audit Log"}),(0,s.jsx)("p",{className:"text-xs text-gray-500 mt-2",children:"Authentication, token rotations, and admin actions."}),(0,s.jsx)("span",{className:"text-xs text-cyan-400 mt-3 inline-block",children:"Open →"})]}),(0,s.jsxs)(t.default,{href:"/server-logs",className:"bg-[#111128] border border-[#2a2a4a] rounded-xl p-5 hover:border-cyan-500/30 transition-colors",children:[(0,s.jsx)("h2",{className:"text-sm font-semibold text-gray-300",children:"Server Logs"}),(0,s.jsx)("p",{className:"text-xs text-gray-500 mt-2",children:"Live stdout / stderr from the CommHub server."}),(0,s.jsx)("span",{className:"text-xs text-cyan-400 mt-3 inline-block",children:"Open →"})]})]})]})]})]})}])}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,59276,e=>{"use strict";var t=e.i(12629),a=e.i(11449);let s=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 a=e.includes("?")?"&":"?";return`${e}${a}network_id=${encodeURIComponent(t)}`}e.s(["useAnetConfig",0,function(){let{data:e}=(0,t.default)("/api/anet/config",s,{refreshInterval:3e4});return{config:e||null}},"useHealth",0,function(){let{data:e,error:a}=(0,t.default)("/api/hub/health",s,r);return{health:e||null,error:a}},"useMessages",0,function(e=100){let{networkId:n}=(0,a.useNetworkId)(),{data:i,error:d,isLoading:o}=(0,t.default)(l(`/api/hub/messages?limit=${e}`,n),s,r);return{messages:i?.messages||[],error:d,isLoading:o}},"useSessions",0,function(){let{networkId:e}=(0,a.useNetworkId)(),{data:n,error:i,isLoading:d}=(0,t.default)(l("/api/hub/status",e),s,r);return{sessions:n?.sessions||[],hint:n?._hint,error:i,isLoading:d}},"useStats",0,function(){let{networkId:e}=(0,a.useNetworkId)(),{data:n,error:i}=(0,t.default)(l("/api/hub/stats",e),s,r);return{stats:n?.ok?n:null,error:i}},"useTasks",0,function(e){let{networkId:n}=(0,a.useNetworkId)(),i=new URLSearchParams({limit:"100",...e}).toString(),{data:d,error:o,isLoading:c}=(0,t.default)(l(`/api/hub/tasks?${i}`,n),s,r);return{tasks:d?.tasks||[],count:d?.count??0,source:d?.source,error:o,isLoading:c}}])},3479,59746,e=>{"use strict";function t(e){if(!e)return null;let t=Date.parse(e.includes("T")?e:e.replace(" ","T")+"Z");return Number.isFinite(t)?t:null}function a(e){let a=t(e);if(null===a)return null;let s=Math.floor((Date.now()-a)/1e3);return s<0?"just now":s<60?`${s}s ago`:s<3600?`${Math.floor(s/60)}m ago`:s<86400?`${Math.floor(s/3600)}h ago`:`${Math.floor(s/86400)}d ago`}e.s(["parseHubTime",0,t,"relativeAgo",0,a],59746),e.s(["formatUptime",0,function(e){let t=Math.floor(e/3600),a=Math.floor(e%3600/60);return t>0?`${t}h ${a}m`:`${a}m`},"previewContent",0,function(e){return e&&e.replace(/!\[([^\]]*)\]\([^)]*\)/g,"$1").replace(/\[([^\]]+)\]\([^)]*\)/g,"$1").replace(/`([^`]+)`/g,"$1").replace(/\s+/g," ").trim()||"--"},"timeAgo",0,function(e){return a(e)??"--"}],3479)},46228,e=>{"use strict";var t=e.i(22381);let a=[180,200,220,270,300,330,30,90];function s(e){let t=0;for(let a=0;a<e.length;a++)t=31*t+e.charCodeAt(a)>>>0;let s=a[t%a.length];return{bg:`hsl(${s} 55% 22%)`,ring:`hsl(${s} 60% 45%)`,text:`hsl(${s} 80% 78%)`}}function r(e){return e?(e.trim().match(/[\p{L}\p{N}]/u)?.[0]||e.trim()[0]||"·").toUpperCase():"·"}e.s(["AliasAvatar",0,function({alias:e,size:a=28,className:l=""}){if(/\bgrok\b|grok-build|grok测试员|grok-demo/i.test(e))return(0,t.jsx)("span",{className:`anet-alias-avatar inline-flex items-center justify-center rounded-full border border-emerald-500/45 bg-emerald-950/70 shrink-0 ${l}`,style:{width:a,height:a,backgroundImage:"url(/vendors/grok.svg)",backgroundPosition:"center",backgroundRepeat:"no-repeat",backgroundSize:"68% 68%"},title:e,"aria-hidden":!0});let n=s(e),i=Math.max(9,Math.round(.42*a));return(0,t.jsx)("span",{className:`anet-alias-avatar inline-flex items-center justify-center rounded-full border shrink-0 font-semibold ${l}`,style:{width:a,height:a,fontSize:i,backgroundColor:n.bg,borderColor:n.ring,color:n.text},title:e,"aria-hidden":!0,children:r(e)})},"aliasAvatarColors",0,s,"aliasInitial",0,r])},98025,e=>{"use strict";e.s(["SESSION_STATUS_CHIP_CLASS",0,{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"},"SESSION_STATUS_TEXT_CLASS",0,{working:"text-green-400",idle:"text-blue-400",blocked:"text-yellow-400",error:"text-red-400",offline:"text-gray-500"},"STATUS_BAR_CLASS",0,{created:"bg-gray-500",delivered:"bg-blue-500",acked:"bg-cyan-500",running:"bg-green-500",replied:"bg-purple-500",closed:"bg-gray-600",failed:"bg-red-500",cancelled:"bg-yellow-500",expired:"bg-orange-500"},"STATUS_CHIP_CLASS",0,{created:"bg-gray-500/10 text-gray-400 border-gray-500/20",delivered:"bg-blue-500/10 text-blue-300 border-blue-500/20",acked:"bg-cyan-500/10 text-cyan-300 border-cyan-500/20",running:"bg-green-500/10 text-green-300 border-green-500/20",replied:"bg-purple-500/10 text-purple-300 border-purple-500/20",closed:"bg-gray-500/10 text-gray-500 border-gray-500/20",failed:"bg-red-500/10 text-red-300 border-red-500/20",cancelled:"bg-yellow-500/10 text-yellow-300 border-yellow-500/20",expired:"bg-orange-500/10 text-orange-300 border-orange-500/20"},"STATUS_DOT_HEX",0,{created:"#9ca3af",delivered:"#60a5fa",acked:"#22d3ee",running:"#4ade80",replied:"#a78bfa",closed:"#6b7280",failed:"#f87171",cancelled:"#facc15",expired:"#fb923c"},"TASK_STATUSES",0,["created","delivered","acked","running","replied","closed","failed","cancelled","expired"]])},28729,e=>{"use strict";var t=e.i(22381),a=e.i(23910),s=e.i(59276),r=e.i(3479),l=e.i(46228),n=e.i(98025);e.s(["default",0,function(){let{sessions:e}=(0,s.useSessions)(),{health:i}=(0,s.useHealth)(),{stats:d}=(0,s.useStats)(),o=i?.sse_sessions||{},c=e=>(e.network_id?o[`${e.network_id}:${e.alias}`]:void 0)??o[e.alias],[x,u]=(0,a.useState)(""),[g,b]=(0,a.useState)(""),[m,h]=(0,a.useState)(""),[p,f]=(0,a.useState)(""),[y,j]=(0,a.useState)(""),[v,N]=(0,a.useState)(""),[S,w]=(0,a.useState)(""),[k,T]=(0,a.useState)(""),C=async()=>{if(x.trim()&&g.trim()){try{let e=await fetch("/api/hub/auth",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"register",username:x,password:g})}),t=await e.json();h(t.ok?`Created: ${t.user.username} (${t.user.user_id})`:`Failed: ${t.error}`),t.ok&&(u(""),b(""))}catch{h("Failed")}setTimeout(()=>h(""),8e3)}},A=async()=>{if(p.trim()){try{let e=await fetch("/api/hub/broadcast",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({message:p})}),t=await e.json();j(t.ok?`Sent to ${t.recipients} nodes`:`Failed: ${t.error}`),t.ok&&f("")}catch{j("Failed")}setTimeout(()=>j(""),5e3)}},$=async()=>{if(v&&S.trim()){try{let e=await fetch("/api/hub/send",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({alias:v,task:S})}),t=await e.json();T(t.ok?"Task sent":`Failed: ${t.error}`),t.ok&&w("")}catch{T("Failed")}setTimeout(()=>T(""),5e3)}},_=e.filter(e=>c(e)),I=e.filter(e=>!c(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-3 lg:ml-0 ml-10",children:"Admin"}),(0,t.jsx)("nav",{className:"mb-4 sm:mb-8 flex flex-wrap gap-2 text-xs",children:[{href:"#status",label:"Status"},{href:"#actions",label:"Actions"},{href:"#users",label:"Users"}].map(e=>(0,t.jsx)("a",{href:e.href,className:"inline-flex min-h-[44px] items-center rounded-md border border-[#2a2a4a] bg-[#0a0a15]/60 px-3 py-2 text-gray-400 hover:border-cyan-500/50 hover:text-cyan-300 hover:bg-cyan-500/10 transition-colors",children:e.label},e.href))}),(0,t.jsxs)("div",{className:"max-w-6xl space-y-10",children:[(0,t.jsxs)("div",{id:"status",className:"space-y-4 scroll-mt-6",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2 px-1",children:[(0,t.jsx)("div",{className:"text-[11px] uppercase tracking-[0.14em] text-gray-400 font-semibold",children:"Status"}),(0,t.jsx)("div",{className:"flex-1 h-px bg-[#2a2a4a]"})]}),(0,t.jsxs)("div",{className:"grid grid-cols-1 lg:grid-cols-2 gap-4",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:_.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:I.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:i?.sse_connections??"--"}),(0,t.jsxs)("div",{className:"text-xs text-gray-500",children:["SSE Streams ",(0,t.jsx)("span",{className:"text-gray-600",children:"· server"})]})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("div",{className:"text-3xl font-bold text-white tabular-nums",children:d?.tasks?.total??"--"}),(0,t.jsx)("div",{className:"text-xs text-gray-500",children:"Total Tasks"})]})]}),d?.tasks?.by_status&&d.tasks.by_status.length>0&&(0,t.jsx)("div",{className:"mt-4 flex flex-wrap gap-2",children:d.tasks.by_status.map(e=>(0,t.jsxs)("span",{className:`text-xs px-2 py-1 rounded border ${n.STATUS_CHIP_CLASS[e.status]||"bg-[#0a0a15] 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.jsxs)("h2",{className:"text-sm font-semibold text-gray-300 mb-4",children:["Online Sessions ",(0,t.jsxs)("span",{className:"text-gray-600",children:["(",_.length,")"]})]}),(0,t.jsx)("div",{className:"space-y-2 max-h-80 overflow-y-auto",children:0===_.length?(0,t.jsx)("div",{className:"text-xs text-gray-600 text-center py-4",children:"No online sessions"}):_.map(e=>(0,t.jsxs)("div",{className:"flex items-center gap-3 bg-[#0a0a15] rounded-lg px-3 py-2 border border-[#1a1a2a]",children:[(0,t.jsx)(l.AliasAvatar,{alias:e.alias,size:20}),(0,t.jsxs)("div",{className:"min-w-0 flex-1",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 ${n.SESSION_STATUS_CHIP_CLASS[e.status]||n.SESSION_STATUS_CHIP_CLASS.idle}`,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)("div",{id:"actions",className:"space-y-4 scroll-mt-6",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2 px-1",children:[(0,t.jsx)("div",{className:"text-[11px] uppercase tracking-[0.14em] text-gray-400 font-semibold",children:"Actions"}),(0,t.jsx)("div",{className:"flex-1 h-px bg-[#2a2a4a]"})]}),0===e.length?(0,t.jsx)("div",{className:"bg-[#111128] border border-[#2a2a4a] rounded-xl px-5 py-4 text-sm text-gray-500",children:"Broadcast and Send Task become available after the first agent registers."}):(0,t.jsxs)("div",{className:"grid grid-cols-1 lg:grid-cols-2 gap-4",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:"Broadcast"}),(0,t.jsx)("textarea",{value:p,onChange:e=>f(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:[p.length,"/500"]}),(0,t.jsx)("button",{onClick:A,disabled:!p.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"})]}),y&&(0,t.jsx)("div",{className:`mt-2 text-xs ${y.startsWith("Failed")?"text-red-400":"text-green-400"}`,children:y})]}),(0,t.jsxs)("section",{className:"bg-[#111128] border border-[#2a2a4a] rounded-xl p-5",children:[(0,t.jsx)("h2",{className:"text-sm font-semibold text-gray-300 mb-4",children:"Send Task"}),(0,t.jsxs)("select",{value:v,onChange:e=>N(e.target.value),className:"w-full bg-[#0a0a15] border border-[#2a2a4a] rounded-lg px-3 py-2 text-base sm:text-sm text-white focus:border-cyan-500/50 focus:outline-none mb-3",children:[(0,t.jsx)("option",{value:"",children:"Select target node..."}),_.map(e=>(0,t.jsxs)("option",{value:e.alias,children:[e.alias," (",e.status,")"]},e.alias)),(0,t.jsx)("optgroup",{label:"Offline",children:I.map(e=>(0,t.jsxs)("option",{value:e.alias,children:[e.alias," (offline)"]},e.alias))})]}),(0,t.jsx)("textarea",{value:S,onChange:e=>w(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:$,disabled:!v||!S.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"})}),k&&(0,t.jsx)("div",{className:`mt-2 text-xs ${k.startsWith("Failed")?"text-red-400":"text-green-400"}`,children:k})]})]})]}),(0,t.jsxs)("div",{id:"users",className:"space-y-4 scroll-mt-6",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2 px-1",children:[(0,t.jsx)("div",{className:"text-[11px] uppercase tracking-[0.14em] text-gray-400 font-semibold",children:"Users"}),(0,t.jsx)("div",{className:"flex-1 h-px bg-[#2a2a4a]"})]}),(0,t.jsx)("div",{className:"grid grid-cols-1 lg:grid-cols-2 gap-4",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:"Register User (V3)"}),(0,t.jsxs)("div",{className:"space-y-3",children:[(0,t.jsx)("input",{type:"text",value:x,onChange:e=>u(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:g,onChange:e=>b(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:C,disabled:!x.trim()||!g.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"})]}),m&&(0,t.jsx)("div",{className:`mt-2 text-xs ${m.startsWith("Failed")?"text-red-400":"text-green-400"}`,children:m})]})})]})]})]})}])}]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,70286,e=>{"use strict";e.s(["DASHBOARD_VERSION",0,"0.5.7-preview.
|
|
1
|
+
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,70286,e=>{"use strict";e.s(["DASHBOARD_VERSION",0,"0.5.7-preview.36"],70286)},48941,e=>{"use strict";var t=e.i(22381),r=e.i(23910),a=e.i(70286);e.s(["default",0,function(){let[e,s]=(0,r.useState)("login"),[n,o]=(0,r.useState)(""),[i,l]=(0,r.useState)(""),[c,d]=(0,r.useState)(!1),[x,m]=(0,r.useState)(""),[g,h]=(0,r.useState)(!1),u=async t=>{t.preventDefault(),h(!0),m("");try{let t=await fetch("/api/auth/v3",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:e,username:n,password:i})}),r=await t.json();if(r.ok){r.token&&sessionStorage.setItem("anet_v3_auth",JSON.stringify({user:r.user,token:r.token,networks:r.networks||[],currentNetwork:r.network_id||r.networks?.[0]?.network_id||""})),window.location.assign("/");return}m(r.error||"Login failed")}catch{m("Connection failed")}h(!1)};return(0,t.jsxs)("main",{className:"min-h-screen bg-[#0a0a1a] text-gray-100 font-mono flex items-center justify-center relative overflow-hidden px-4 py-10 sm:py-16",children:[(0,t.jsx)("div",{className:"absolute inset-0 pointer-events-none anet-login-bg","aria-hidden":!0}),(0,t.jsxs)("div",{className:"relative w-full max-w-sm",children:[(0,t.jsxs)("div",{className:"text-center mb-7",children:[(0,t.jsx)("div",{className:"inline-flex items-center justify-center w-16 h-16 mb-4 rounded-2xl bg-[#111128] border border-[#2a2a4a] anet-login-mark",children:(0,t.jsxs)("svg",{className:"w-9 h-9",viewBox:"0 0 32 32","aria-hidden":!0,children:[(0,t.jsx)("circle",{cx:"16",cy:"16",r:"10",fill:"none",stroke:"currentColor",strokeWidth:"1.5",opacity:"0.25",className:"text-cyan-400 anet-login-mark-ring"}),(0,t.jsx)("line",{x1:"16",y1:"10",x2:"10",y2:"20",stroke:"currentColor",strokeWidth:"1",opacity:"0.5",className:"text-cyan-400 anet-login-mark-edge"}),(0,t.jsx)("line",{x1:"16",y1:"10",x2:"22",y2:"20",stroke:"currentColor",strokeWidth:"1",opacity:"0.5",className:"text-cyan-400 anet-login-mark-edge"}),(0,t.jsx)("line",{x1:"10",y1:"20",x2:"22",y2:"20",stroke:"currentColor",strokeWidth:"1",opacity:"0.5",className:"text-cyan-400 anet-login-mark-edge"}),(0,t.jsx)("circle",{cx:"16",cy:"10",r:"3",fill:"currentColor",className:"text-cyan-400 anet-login-mark-node-a"}),(0,t.jsx)("circle",{cx:"10",cy:"20",r:"3",fill:"currentColor",className:"text-green-400 anet-login-mark-node-b"}),(0,t.jsx)("circle",{cx:"22",cy:"20",r:"3",fill:"currentColor",className:"text-violet-400 anet-login-mark-node-c"})]})}),(0,t.jsx)("h1",{className:"text-[22px] sm:text-2xl font-semibold text-white tracking-tight",children:"Agent Network"}),(0,t.jsx)("p",{className:"text-[13px] text-gray-500 mt-1.5 leading-snug",children:"login"===e?(0,t.jsxs)(t.Fragment,{children:["Welcome back · ",(0,t.jsx)("span",{className:"text-gray-600",children:"Tasks · Mesh · Messages"})]}):(0,t.jsxs)(t.Fragment,{children:["Create your account · ",(0,t.jsx)("span",{className:"text-gray-600",children:"Free preview · no credit card"})]})})]}),(0,t.jsx)("div",{className:"flex rounded-lg border border-[#2a2a4a] bg-[#111128] p-1 mb-4",children:["login","register"].map(r=>(0,t.jsx)("button",{type:"button",onClick:()=>{s(r),m("")},className:`flex-1 rounded-md px-3 py-2 text-sm transition-colors ${e===r?"bg-cyan-500/10 text-cyan-300":"text-gray-500 hover:text-gray-200"}`,children:"login"===r?"Sign in":"Register"},r))}),(0,t.jsxs)("form",{onSubmit:u,className:"border border-[#2a2a4a] bg-[#111128]/80 backdrop-blur-sm rounded-xl p-6 shadow-2xl shadow-black/30",children:[(0,t.jsx)("label",{htmlFor:"username",className:"block text-xs text-gray-500 mb-2 uppercase tracking-wider",children:"Username"}),(0,t.jsx)("input",{id:"username",type:"text",value:n,onChange:e=>o(e.target.value),autoFocus:!0,placeholder:"Enter username",className:"w-full bg-[#0a0a15] border border-[#2a2a4a] rounded-lg px-4 py-3 text-base sm:text-sm text-white placeholder-gray-600 focus:border-cyan-500/50 focus:ring-1 focus:ring-cyan-500/20 focus:outline-none transition-all mb-4"}),(0,t.jsx)("label",{htmlFor:"password",className:"block text-xs text-gray-500 mb-2 uppercase tracking-wider",children:"Password"}),(0,t.jsxs)("div",{className:"relative",children:[(0,t.jsx)("input",{id:"password",type:c?"text":"password",value:i,onChange:e=>l(e.target.value),placeholder:"Enter password",className:"w-full bg-[#0a0a15] border border-[#2a2a4a] rounded-lg px-4 pr-11 py-3 text-base sm:text-sm text-white placeholder-gray-600 focus:border-cyan-500/50 focus:ring-1 focus:ring-cyan-500/20 focus:outline-none transition-all"}),(0,t.jsx)("button",{type:"button",onClick:()=>d(e=>!e),tabIndex:-1,"aria-label":c?"Hide password":"Show password",className:"absolute inset-y-0 right-0 flex items-center justify-center min-w-[44px] px-3 text-gray-600 hover:text-gray-300 transition-colors",children:c?(0,t.jsxs)("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,t.jsx)("path",{d:"M17.94 17.94A10.07 10.07 0 0 1 12 20c-7 0-11-8-11-8a18.45 18.45 0 0 1 5.06-5.94M9.9 4.24A9.12 9.12 0 0 1 12 4c7 0 11 8 11 8a18.5 18.5 0 0 1-2.16 3.19m-6.72-1.07a3 3 0 1 1-4.24-4.24"}),(0,t.jsx)("line",{x1:"1",y1:"1",x2:"23",y2:"23"})]}):(0,t.jsxs)("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,t.jsx)("path",{d:"M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z"}),(0,t.jsx)("circle",{cx:"12",cy:"12",r:"3"})]})})]}),x&&(0,t.jsx)("div",{className:"mt-3 text-sm text-red-300 bg-red-500/5 border border-red-500/10 rounded-lg px-3 py-2",children:x}),(0,t.jsxs)("button",{type:"submit",disabled:g||!i||!n.trim(),className:"mt-5 w-full flex items-center justify-center gap-2 px-4 py-3 bg-gradient-to-r from-cyan-600 to-blue-600 hover:from-cyan-500 hover:to-blue-500 disabled:from-gray-800 disabled:to-gray-800 disabled:text-gray-600 text-white text-sm font-medium rounded-lg transition-all shadow-lg shadow-cyan-500/10 hover:shadow-cyan-500/20 disabled:shadow-none",children:[g&&(0,t.jsxs)("svg",{"aria-hidden":!0,className:"w-4 h-4 animate-spin",viewBox:"0 0 24 24",fill:"none",children:[(0,t.jsx)("circle",{cx:"12",cy:"12",r:"10",stroke:"currentColor",strokeWidth:"3",opacity:"0.25"}),(0,t.jsx)("path",{d:"M4 12a8 8 0 018-8",stroke:"currentColor",strokeWidth:"3",strokeLinecap:"round"})]}),(0,t.jsx)("span",{children:g?"login"===e?"Signing in…":"Registering…":"login"===e?"Sign in":"Create account"})]})]}),(0,t.jsxs)("p",{className:"text-center text-[11px] text-gray-700 mt-6",children:["Sleep2AGI · Apache-2.0 · ",(0,t.jsx)("a",{href:"https://anet.sh",className:"hover:text-gray-500 transition-colors",children:"anet.sh"}),(0,t.jsx)("span",{className:"mx-1 text-gray-800",children:"·"}),(0,t.jsxs)("span",{className:"font-mono",title:"@sleep2agi/agent-network-dashboard",children:["v",a.DASHBOARD_VERSION]})]})]})]})}])}]);
|
package/.next/trace
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
[{"name":"generate-buildid","duration":426,"timestamp":2079866904590,"id":4,"parentId":1,"tags":{},"startTime":1780887839151,"traceId":"ae404e782d861996"},{"name":"load-custom-routes","duration":705,"timestamp":2079866905245,"id":5,"parentId":1,"tags":{},"startTime":1780887839152,"traceId":"ae404e782d861996"},{"name":"create-dist-dir","duration":9633,"timestamp":2079866906049,"id":6,"parentId":1,"tags":{},"startTime":1780887839152,"traceId":"ae404e782d861996"},{"name":"clean","duration":212811,"timestamp":2079866920040,"id":7,"parentId":1,"tags":{},"startTime":1780887839166,"traceId":"ae404e782d861996"},{"name":"discover-routes","duration":182881,"timestamp":2079868447440,"id":8,"parentId":1,"tags":{},"startTime":1780887840694,"traceId":"ae404e782d861996"},{"name":"create-root-mapping","duration":223,"timestamp":2079868630421,"id":9,"parentId":1,"tags":{},"startTime":1780887840877,"traceId":"ae404e782d861996"},{"name":"generate-route-types","duration":502376,"timestamp":2079868707043,"id":10,"parentId":1,"tags":{},"startTime":1780887840953,"traceId":"ae404e782d861996"},{"name":"public-dir-conflict-check","duration":155,"timestamp":2079869209562,"id":11,"parentId":1,"tags":{},"startTime":1780887841456,"traceId":"ae404e782d861996"},{"name":"generate-routes-manifest","duration":134633,"timestamp":2079869209910,"id":12,"parentId":1,"tags":{},"startTime":1780887841456,"traceId":"ae404e782d861996"},{"name":"run-turbopack","duration":203274296,"timestamp":2079869448230,"id":14,"parentId":1,"tags":{},"startTime":1780887841695,"traceId":"ae404e782d861996"},{"name":"turbopack-build-events","duration":3660,"timestamp":2079872015977,"id":15,"parentId":1,"tags":{},"startTime":1780887844262,"traceId":"ae404e782d861996"},{"name":"run-typescript","duration":172988488,"timestamp":2080072873501,"id":16,"parentId":1,"tags":{},"startTime":1780888045120,"traceId":"ae404e782d861996"},{"name":"generate-required-server-files","duration":59803,"timestamp":2080245893419,"id":18,"parentId":1,"tags":{},"startTime":1780888218140,"traceId":"ae404e782d861996"},{"name":"check-static-error-page","duration":185358,"timestamp":2080248821699,"id":20,"parentId":19,"tags":{},"startTime":1780888221068,"traceId":"ae404e782d861996"},{"name":"is-page-static","duration":10337494,"timestamp":2080249073135,"id":67,"parentId":22,"tags":{},"startTime":1780888221319,"traceId":"ae404e782d861996"},{"name":"check-page","duration":10573204,"timestamp":2080248837619,"id":22,"parentId":19,"tags":{"page":"/_global-error"},"startTime":1780888221084,"traceId":"ae404e782d861996"},{"name":"is-page-static","duration":12191996,"timestamp":2080249073457,"id":69,"parentId":26,"tags":{},"startTime":1780888221320,"traceId":"ae404e782d861996"},{"name":"check-page","duration":12403790,"timestamp":2080248861782,"id":26,"parentId":19,"tags":{"page":"/api/auth/logout"},"startTime":1780888221108,"traceId":"ae404e782d861996"},{"name":"is-page-static","duration":12384900,"timestamp":2080249073678,"id":71,"parentId":28,"tags":{},"startTime":1780888221320,"traceId":"ae404e782d861996"},{"name":"check-page","duration":12596550,"timestamp":2080248862118,"id":28,"parentId":19,"tags":{"page":"/api/hub/audit-log"},"startTime":1780888221108,"traceId":"ae404e782d861996"},{"name":"is-page-static","duration":12691305,"timestamp":2080249065910,"id":66,"parentId":21,"tags":{},"startTime":1780888221312,"traceId":"ae404e782d861996"},{"name":"check-page","duration":12926915,"timestamp":2080248830389,"id":21,"parentId":19,"tags":{"page":"/_not-found"},"startTime":1780888221077,"traceId":"ae404e782d861996"},{"name":"is-page-static","duration":12712457,"timestamp":2080249074267,"id":74,"parentId":32,"tags":{},"startTime":1780888221321,"traceId":"ae404e782d861996"},{"name":"check-page","duration":12902785,"timestamp":2080248884035,"id":32,"parentId":19,"tags":{"page":"/api/hub/health"},"startTime":1780888221130,"traceId":"ae404e782d861996"},{"name":"is-page-static","duration":12770034,"timestamp":2080249073578,"id":70,"parentId":27,"tags":{},"startTime":1780888221320,"traceId":"ae404e782d861996"},{"name":"check-page","duration":12981764,"timestamp":2080248861934,"id":27,"parentId":19,"tags":{"page":"/api/auth/v3"},"startTime":1780888221108,"traceId":"ae404e782d861996"},{"name":"is-page-static","duration":12755024,"timestamp":2080249143099,"id":78,"parentId":36,"tags":{},"startTime":1780888221389,"traceId":"ae404e782d861996"},{"name":"check-page","duration":12997529,"timestamp":2080248900686,"id":36,"parentId":19,"tags":{"page":"/api/hub/nodes"},"startTime":1780888221147,"traceId":"ae404e782d861996"},{"name":"is-page-static","duration":12930110,"timestamp":2080249142835,"id":75,"parentId":33,"tags":{},"startTime":1780888221389,"traceId":"ae404e782d861996"},{"name":"check-page","duration":13188803,"timestamp":2080248884260,"id":33,"parentId":19,"tags":{"page":"/api/hub/inbox"},"startTime":1780888221131,"traceId":"ae404e782d861996"},{"name":"is-page-static","duration":12930182,"timestamp":2080249143131,"id":79,"parentId":37,"tags":{},"startTime":1780888221389,"traceId":"ae404e782d861996"},{"name":"check-page","duration":13172405,"timestamp":2080248900947,"id":37,"parentId":19,"tags":{"page":"/api/hub/register"},"startTime":1780888221147,"traceId":"ae404e782d861996"},{"name":"is-page-static","duration":13029432,"timestamp":2080249143162,"id":81,"parentId":39,"tags":{},"startTime":1780888221389,"traceId":"ae404e782d861996"},{"name":"check-page","duration":13267069,"timestamp":2080248905602,"id":39,"parentId":19,"tags":{"page":"/api/hub/server-logs"},"startTime":1780888221152,"traceId":"ae404e782d861996"},{"name":"is-page-static","duration":13194498,"timestamp":2080249143080,"id":77,"parentId":35,"tags":{},"startTime":1780888221389,"traceId":"ae404e782d861996"},{"name":"check-page","duration":13453104,"timestamp":2080248884561,"id":35,"parentId":19,"tags":{"page":"/api/hub/networks"},"startTime":1780888221131,"traceId":"ae404e782d861996"},{"name":"is-page-static","duration":13199207,"timestamp":2080249143148,"id":80,"parentId":38,"tags":{},"startTime":1780888221389,"traceId":"ae404e782d861996"},{"name":"check-page","duration":13441284,"timestamp":2080248901135,"id":38,"parentId":19,"tags":{"page":"/api/hub/send"},"startTime":1780888221147,"traceId":"ae404e782d861996"},{"name":"is-page-static","duration":13347910,"timestamp":2080249143197,"id":84,"parentId":44,"tags":{},"startTime":1780888221389,"traceId":"ae404e782d861996"},{"name":"check-page","duration":13557005,"timestamp":2080248934182,"id":44,"parentId":19,"tags":{"page":"/api/hub/stats"},"startTime":1780888221180,"traceId":"ae404e782d861996"},{"name":"is-page-static","duration":13348229,"timestamp":2080249143185,"id":83,"parentId":43,"tags":{},"startTime":1780888221389,"traceId":"ae404e782d861996"},{"name":"check-page","duration":13558462,"timestamp":2080248932986,"id":43,"parentId":19,"tags":{"page":"/api/hub/session"},"startTime":1780888221179,"traceId":"ae404e782d861996"},{"name":"is-page-static","duration":13432980,"timestamp":2080249074201,"id":73,"parentId":30,"tags":{},"startTime":1780888221320,"traceId":"ae404e782d861996"},{"name":"check-page","duration":13637982,"timestamp":2080248869261,"id":30,"parentId":19,"tags":{"page":"/api/hub/broadcast"},"startTime":1780888221116,"traceId":"ae404e782d861996"},{"name":"is-page-static","duration":13470062,"timestamp":2080249143219,"id":86,"parentId":46,"tags":{},"startTime":1780888221389,"traceId":"ae404e782d861996"},{"name":"check-page","duration":13684076,"timestamp":2080248934438,"id":46,"parentId":19,"tags":{"page":"/api/hub/task-events"},"startTime":1780888221181,"traceId":"ae404e782d861996"},{"name":"is-page-static","duration":13475645,"timestamp":2080249143171,"id":82,"parentId":41,"tags":{},"startTime":1780888221389,"traceId":"ae404e782d861996"},{"name":"check-page","duration":13686397,"timestamp":2080248932495,"id":41,"parentId":19,"tags":{"page":"/api/hub/server/[hostname]/health"},"startTime":1780888221179,"traceId":"ae404e782d861996"},{"name":"is-page-static","duration":13475884,"timestamp":2080249143206,"id":85,"parentId":45,"tags":{},"startTime":1780888221389,"traceId":"ae404e782d861996"},{"name":"check-page","duration":13684816,"timestamp":2080248934314,"id":45,"parentId":19,"tags":{"page":"/api/hub/status"},"startTime":1780888221181,"traceId":"ae404e782d861996"},{"name":"is-page-static","duration":13476042,"timestamp":2080249143232,"id":87,"parentId":47,"tags":{},"startTime":1780888221390,"traceId":"ae404e782d861996"},{"name":"check-page","duration":13684761,"timestamp":2080248934545,"id":47,"parentId":19,"tags":{"page":"/api/hub/tasks"},"startTime":1780888221181,"traceId":"ae404e782d861996"},{"name":"is-page-static","duration":13608024,"timestamp":2080249143253,"id":89,"parentId":49,"tags":{},"startTime":1780888221390,"traceId":"ae404e782d861996"},{"name":"check-page","duration":13816614,"timestamp":2080248934766,"id":49,"parentId":19,"tags":{"page":"/api/hub/tokens"},"startTime":1780888221181,"traceId":"ae404e782d861996"},{"name":"is-page-static","duration":13608397,"timestamp":2080249143244,"id":88,"parentId":48,"tags":{},"startTime":1780888221390,"traceId":"ae404e782d861996"},{"name":"check-page","duration":13817009,"timestamp":2080248934676,"id":48,"parentId":19,"tags":{"page":"/api/hub/tmux"},"startTime":1780888221181,"traceId":"ae404e782d861996"},{"name":"is-page-static","duration":13651955,"timestamp":2080249143265,"id":90,"parentId":50,"tags":{},"startTime":1780888221390,"traceId":"ae404e782d861996"},{"name":"check-page","duration":13860441,"timestamp":2080248934856,"id":50,"parentId":19,"tags":{"page":"/api/hub/upload"},"startTime":1780888221181,"traceId":"ae404e782d861996"},{"name":"is-page-static","duration":13745489,"timestamp":2080249143287,"id":92,"parentId":54,"tags":{},"startTime":1780888221390,"traceId":"ae404e782d861996"},{"name":"check-page","duration":13953141,"timestamp":2080248935718,"id":54,"parentId":19,"tags":{"page":"/manifest.webmanifest"},"startTime":1780888221182,"traceId":"ae404e782d861996"},{"name":"is-page-static","duration":13621952,"timestamp":2080249354986,"id":94,"parentId":31,"tags":{},"startTime":1780888221601,"traceId":"ae404e782d861996"},{"name":"check-page","duration":14107633,"timestamp":2080248869422,"id":31,"parentId":19,"tags":{"page":"/api/hub/events"},"startTime":1780888221116,"traceId":"ae404e782d861996"},{"name":"is-page-static","duration":13692587,"timestamp":2080249284664,"id":93,"parentId":24,"tags":{},"startTime":1780888221531,"traceId":"ae404e782d861996"},{"name":"check-page","duration":14138232,"timestamp":2080248839055,"id":24,"parentId":19,"tags":{"page":"/api/anet/config"},"startTime":1780888221085,"traceId":"ae404e782d861996"},{"name":"is-page-static","duration":13866433,"timestamp":2080249143278,"id":91,"parentId":51,"tags":{},"startTime":1780888221390,"traceId":"ae404e782d861996"},{"name":"check-page","duration":14074827,"timestamp":2080248934966,"id":51,"parentId":19,"tags":{"page":"/favicon.ico"},"startTime":1780888221181,"traceId":"ae404e782d861996"},{"name":"is-page-static","duration":13723208,"timestamp":2080249363135,"id":95,"parentId":40,"tags":{},"startTime":1780888221609,"traceId":"ae404e782d861996"},{"name":"check-page","duration":14180687,"timestamp":2080248905735,"id":40,"parentId":19,"tags":{"page":"/api/hub/server/[hostname]/agents"},"startTime":1780888221152,"traceId":"ae404e782d861996"},{"name":"is-page-static","duration":13758847,"timestamp":2080249382327,"id":96,"parentId":42,"tags":{},"startTime":1780888221629,"traceId":"ae404e782d861996"},{"name":"check-page","duration":14208616,"timestamp":2080248932681,"id":42,"parentId":19,"tags":{"page":"/api/hub/servers"},"startTime":1780888221179,"traceId":"ae404e782d861996"},{"name":"is-page-static","duration":14165323,"timestamp":2080249143038,"id":76,"parentId":34,"tags":{},"startTime":1780888221389,"traceId":"ae404e782d861996"},{"name":"check-page","duration":14424022,"timestamp":2080248884420,"id":34,"parentId":19,"tags":{"page":"/api/hub/messages"},"startTime":1780888221131,"traceId":"ae404e782d861996"},{"name":"is-page-static","duration":14338947,"timestamp":2080249073335,"id":68,"parentId":25,"tags":{},"startTime":1780888221320,"traceId":"ae404e782d861996"},{"name":"check-page","duration":14550856,"timestamp":2080248861549,"id":25,"parentId":19,"tags":{"page":"/api/auth/login"},"startTime":1780888221108,"traceId":"ae404e782d861996"},{"name":"is-page-static","duration":13362298,"timestamp":2080250122093,"id":101,"parentId":56,"tags":{},"startTime":1780888222368,"traceId":"ae404e782d861996"},{"name":"check-page","duration":14520180,"timestamp":2080248964503,"id":56,"parentId":19,"tags":{"page":"/node"},"startTime":1780888221211,"traceId":"ae404e782d861996"},{"name":"is-page-static","duration":13638950,"timestamp":2080250122124,"id":103,"parentId":59,"tags":{},"startTime":1780888222368,"traceId":"ae404e782d861996"},{"name":"check-page","duration":14786657,"timestamp":2080248974499,"id":59,"parentId":19,"tags":{"page":"/server-logs"},"startTime":1780888221221,"traceId":"ae404e782d861996"},{"name":"is-page-static","duration":13978830,"timestamp":2080250122142,"id":104,"parentId":60,"tags":{},"startTime":1780888222368,"traceId":"ae404e782d861996"},{"name":"check-page","duration":15191457,"timestamp":2080248974736,"id":60,"parentId":19,"tags":{"page":"/servers"},"startTime":1780888221221,"traceId":"ae404e782d861996"},{"name":"is-page-static","duration":14397215,"timestamp":2080250122155,"id":105,"parentId":61,"tags":{},"startTime":1780888222368,"traceId":"ae404e782d861996"},{"name":"check-page","duration":15544593,"timestamp":2080248974872,"id":61,"parentId":19,"tags":{"page":"/settings/networks"},"startTime":1780888221221,"traceId":"ae404e782d861996"},{"name":"is-page-static","duration":14564211,"timestamp":2080250122164,"id":106,"parentId":63,"tags":{},"startTime":1780888222368,"traceId":"ae404e782d861996"},{"name":"check-page","duration":15710931,"timestamp":2080248975540,"id":63,"parentId":19,"tags":{"page":"/settings/tokens"},"startTime":1780888221222,"traceId":"ae404e782d861996"},{"name":"is-page-static","duration":14564685,"timestamp":2080250121975,"id":97,"parentId":23,"tags":{},"startTime":1780888222368,"traceId":"ae404e782d861996"},{"name":"check-page","duration":15847956,"timestamp":2080248838734,"id":23,"parentId":19,"tags":{"page":"/admin"},"startTime":1780888221085,"traceId":"ae404e782d861996"},{"name":"is-page-static","duration":14703469,"timestamp":2080250122195,"id":108,"parentId":65,"tags":{},"startTime":1780888222368,"traceId":"ae404e782d861996"},{"name":"check-page","duration":15849899,"timestamp":2080248975842,"id":65,"parentId":19,"tags":{"page":"/tasks"},"startTime":1780888221222,"traceId":"ae404e782d861996"},{"name":"is-page-static","duration":14812275,"timestamp":2080250122101,"id":102,"parentId":57,"tags":{},"startTime":1780888222368,"traceId":"ae404e782d861996"},{"name":"check-page","duration":15969618,"timestamp":2080248964848,"id":57,"parentId":19,"tags":{"page":"/nodes"},"startTime":1780888221211,"traceId":"ae404e782d861996"},{"name":"is-page-static","duration":14812380,"timestamp":2080250122206,"id":109,"parentId":62,"tags":{},"startTime":1780888222368,"traceId":"ae404e782d861996"},{"name":"check-page","duration":15959512,"timestamp":2080248975102,"id":62,"parentId":19,"tags":{"page":"/settings"},"startTime":1780888221221,"traceId":"ae404e782d861996"},{"name":"is-page-static","duration":14854114,"timestamp":2080250122178,"id":107,"parentId":64,"tags":{},"startTime":1780888222368,"traceId":"ae404e782d861996"},{"name":"check-page","duration":16000676,"timestamp":2080248975693,"id":64,"parentId":19,"tags":{"page":"/tasks/[id]"},"startTime":1780888221222,"traceId":"ae404e782d861996"},{"name":"is-page-static","duration":14879207,"timestamp":2080250122220,"id":110,"parentId":58,"tags":{},"startTime":1780888222368,"traceId":"ae404e782d861996"},{"name":"check-page","duration":16036396,"timestamp":2080248965109,"id":58,"parentId":19,"tags":{"page":"/"},"startTime":1780888221211,"traceId":"ae404e782d861996"},{"name":"is-page-static","duration":16023253,"timestamp":2080249074018,"id":72,"parentId":29,"tags":{},"startTime":1780888221320,"traceId":"ae404e782d861996"},{"name":"check-page","duration":16228364,"timestamp":2080248868995,"id":29,"parentId":19,"tags":{"page":"/api/hub/auth"},"startTime":1780888221115,"traceId":"ae404e782d861996"},{"name":"is-page-static","duration":15009188,"timestamp":2080250122048,"id":98,"parentId":52,"tags":{},"startTime":1780888222368,"traceId":"ae404e782d861996"},{"name":"check-page","duration":16195939,"timestamp":2080248935380,"id":52,"parentId":19,"tags":{"page":"/login"},"startTime":1780888221182,"traceId":"ae404e782d861996"},{"name":"is-page-static","duration":15022492,"timestamp":2080250122064,"id":99,"parentId":53,"tags":{},"startTime":1780888222368,"traceId":"ae404e782d861996"}]
|
|
2
|
-
[{"name":"check-page","duration":
|
|
1
|
+
[{"name":"generate-buildid","duration":475,"timestamp":2083214275457,"id":4,"parentId":1,"tags":{},"startTime":1780891186522,"traceId":"655ede3b179932df"},{"name":"load-custom-routes","duration":772,"timestamp":2083214277999,"id":5,"parentId":1,"tags":{},"startTime":1780891186524,"traceId":"655ede3b179932df"},{"name":"create-dist-dir","duration":71527,"timestamp":2083214279017,"id":6,"parentId":1,"tags":{},"startTime":1780891186525,"traceId":"655ede3b179932df"},{"name":"clean","duration":578406,"timestamp":2083214358230,"id":7,"parentId":1,"tags":{},"startTime":1780891186605,"traceId":"655ede3b179932df"},{"name":"discover-routes","duration":148525,"timestamp":2083216603799,"id":8,"parentId":1,"tags":{},"startTime":1780891188850,"traceId":"655ede3b179932df"},{"name":"create-root-mapping","duration":195,"timestamp":2083216752424,"id":9,"parentId":1,"tags":{},"startTime":1780891188999,"traceId":"655ede3b179932df"},{"name":"generate-route-types","duration":660261,"timestamp":2083216786736,"id":10,"parentId":1,"tags":{},"startTime":1780891189033,"traceId":"655ede3b179932df"},{"name":"public-dir-conflict-check","duration":250,"timestamp":2083217447227,"id":11,"parentId":1,"tags":{},"startTime":1780891189694,"traceId":"655ede3b179932df"},{"name":"generate-routes-manifest","duration":213605,"timestamp":2083217447696,"id":12,"parentId":1,"tags":{},"startTime":1780891189694,"traceId":"655ede3b179932df"},{"name":"run-turbopack","duration":247767310,"timestamp":2083217737458,"id":14,"parentId":1,"tags":{},"startTime":1780891189984,"traceId":"655ede3b179932df"},{"name":"turbopack-build-events","duration":119,"timestamp":2083221886197,"id":15,"parentId":1,"tags":{},"startTime":1780891194132,"traceId":"655ede3b179932df"},{"name":"run-typescript","duration":278540162,"timestamp":2083465925592,"id":16,"parentId":1,"tags":{},"startTime":1780891438172,"traceId":"655ede3b179932df"},{"name":"generate-required-server-files","duration":68571,"timestamp":2083744480119,"id":18,"parentId":1,"tags":{},"startTime":1780891716726,"traceId":"655ede3b179932df"},{"name":"check-static-error-page","duration":224539,"timestamp":2083749598720,"id":20,"parentId":19,"tags":{},"startTime":1780891721845,"traceId":"655ede3b179932df"},{"name":"is-page-static","duration":11414133,"timestamp":2083749882796,"id":71,"parentId":28,"tags":{},"startTime":1780891722129,"traceId":"655ede3b179932df"},{"name":"check-page","duration":11591110,"timestamp":2083749709565,"id":28,"parentId":19,"tags":{"page":"/api/hub/audit-log"},"startTime":1780891721956,"traceId":"655ede3b179932df"},{"name":"is-page-static","duration":12096479,"timestamp":2083749886632,"id":73,"parentId":30,"tags":{},"startTime":1780891722133,"traceId":"655ede3b179932df"},{"name":"check-page","duration":12273415,"timestamp":2083749709800,"id":30,"parentId":19,"tags":{"page":"/api/hub/broadcast"},"startTime":1780891721956,"traceId":"655ede3b179932df"},{"name":"is-page-static","duration":12398202,"timestamp":2083749882136,"id":67,"parentId":22,"tags":{},"startTime":1780891722128,"traceId":"655ede3b179932df"},{"name":"check-page","duration":12627881,"timestamp":2083749652560,"id":22,"parentId":19,"tags":{"page":"/_global-error"},"startTime":1780891721899,"traceId":"655ede3b179932df"},{"name":"is-page-static","duration":12400083,"timestamp":2083749886705,"id":74,"parentId":32,"tags":{},"startTime":1780891722133,"traceId":"655ede3b179932df"},{"name":"check-page","duration":12541079,"timestamp":2083749745778,"id":32,"parentId":19,"tags":{"page":"/api/hub/health"},"startTime":1780891721992,"traceId":"655ede3b179932df"},{"name":"is-page-static","duration":12646520,"timestamp":2083749886954,"id":76,"parentId":34,"tags":{},"startTime":1780891722133,"traceId":"655ede3b179932df"},{"name":"check-page","duration":12787251,"timestamp":2083749746313,"id":34,"parentId":19,"tags":{"page":"/api/hub/messages"},"startTime":1780891721993,"traceId":"655ede3b179932df"},{"name":"is-page-static","duration":12961588,"timestamp":2083749886995,"id":77,"parentId":35,"tags":{},"startTime":1780891722133,"traceId":"655ede3b179932df"},{"name":"check-page","duration":13102234,"timestamp":2083749746437,"id":35,"parentId":19,"tags":{"page":"/api/hub/networks"},"startTime":1780891721993,"traceId":"655ede3b179932df"},{"name":"is-page-static","duration":13025069,"timestamp":2083749886408,"id":72,"parentId":29,"tags":{},"startTime":1780891722133,"traceId":"655ede3b179932df"},{"name":"check-page","duration":13201926,"timestamp":2083749709661,"id":29,"parentId":19,"tags":{"page":"/api/hub/auth"},"startTime":1780891721956,"traceId":"655ede3b179932df"},{"name":"is-page-static","duration":13149669,"timestamp":2083749887030,"id":78,"parentId":36,"tags":{},"startTime":1780891722133,"traceId":"655ede3b179932df"},{"name":"check-page","duration":13289753,"timestamp":2083749747035,"id":36,"parentId":19,"tags":{"page":"/api/hub/nodes"},"startTime":1780891721993,"traceId":"655ede3b179932df"},{"name":"is-page-static","duration":13264609,"timestamp":2083749887060,"id":79,"parentId":37,"tags":{},"startTime":1780891722133,"traceId":"655ede3b179932df"},{"name":"check-page","duration":13404497,"timestamp":2083749747274,"id":37,"parentId":19,"tags":{"page":"/api/hub/register"},"startTime":1780891721994,"traceId":"655ede3b179932df"},{"name":"is-page-static","duration":13481445,"timestamp":2083749887073,"id":80,"parentId":38,"tags":{},"startTime":1780891722133,"traceId":"655ede3b179932df"},{"name":"check-page","duration":13621213,"timestamp":2083749747405,"id":38,"parentId":19,"tags":{"page":"/api/hub/send"},"startTime":1780891721994,"traceId":"655ede3b179932df"},{"name":"is-page-static","duration":13744170,"timestamp":2083749887088,"id":81,"parentId":39,"tags":{},"startTime":1780891722133,"traceId":"655ede3b179932df"},{"name":"check-page","duration":13883834,"timestamp":2083749747508,"id":39,"parentId":19,"tags":{"page":"/api/hub/server-logs"},"startTime":1780891721994,"traceId":"655ede3b179932df"},{"name":"is-page-static","duration":14067449,"timestamp":2083749887118,"id":83,"parentId":43,"tags":{},"startTime":1780891722133,"traceId":"655ede3b179932df"},{"name":"check-page","duration":14174794,"timestamp":2083749779855,"id":43,"parentId":19,"tags":{"page":"/api/hub/session"},"startTime":1780891722026,"traceId":"655ede3b179932df"},{"name":"is-page-static","duration":14067991,"timestamp":2083749887103,"id":82,"parentId":41,"tags":{},"startTime":1780891722133,"traceId":"655ede3b179932df"},{"name":"check-page","duration":14176030,"timestamp":2083749779136,"id":41,"parentId":19,"tags":{"page":"/api/hub/server/[hostname]/health"},"startTime":1780891722025,"traceId":"655ede3b179932df"},{"name":"is-page-static","duration":14316671,"timestamp":2083749887133,"id":84,"parentId":44,"tags":{},"startTime":1780891722133,"traceId":"655ede3b179932df"},{"name":"check-page","duration":14423840,"timestamp":2083749780051,"id":44,"parentId":19,"tags":{"page":"/api/hub/stats"},"startTime":1780891722026,"traceId":"655ede3b179932df"},{"name":"is-page-static","duration":14478324,"timestamp":2083749887146,"id":85,"parentId":45,"tags":{},"startTime":1780891722133,"traceId":"655ede3b179932df"},{"name":"check-page","duration":14585366,"timestamp":2083749780184,"id":45,"parentId":19,"tags":{"page":"/api/hub/status"},"startTime":1780891722026,"traceId":"655ede3b179932df"},{"name":"is-page-static","duration":14599954,"timestamp":2083749887157,"id":86,"parentId":46,"tags":{},"startTime":1780891722133,"traceId":"655ede3b179932df"},{"name":"check-page","duration":14707035,"timestamp":2083749780314,"id":46,"parentId":19,"tags":{"page":"/api/hub/task-events"},"startTime":1780891722027,"traceId":"655ede3b179932df"},{"name":"is-page-static","duration":14640446,"timestamp":2083749887170,"id":87,"parentId":47,"tags":{},"startTime":1780891722133,"traceId":"655ede3b179932df"},{"name":"check-page","duration":14747291,"timestamp":2083749780421,"id":47,"parentId":19,"tags":{"page":"/api/hub/tasks"},"startTime":1780891722027,"traceId":"655ede3b179932df"},{"name":"is-page-static","duration":14722024,"timestamp":2083749887183,"id":88,"parentId":48,"tags":{},"startTime":1780891722133,"traceId":"655ede3b179932df"},{"name":"check-page","duration":14828741,"timestamp":2083749780555,"id":48,"parentId":19,"tags":{"page":"/api/hub/tmux"},"startTime":1780891722027,"traceId":"655ede3b179932df"},{"name":"is-page-static","duration":14782952,"timestamp":2083749887193,"id":89,"parentId":49,"tags":{},"startTime":1780891722133,"traceId":"655ede3b179932df"},{"name":"check-page","duration":14889566,"timestamp":2083749780675,"id":49,"parentId":19,"tags":{"page":"/api/hub/tokens"},"startTime":1780891722027,"traceId":"655ede3b179932df"},{"name":"is-page-static","duration":14994219,"timestamp":2083749887220,"id":91,"parentId":51,"tags":{},"startTime":1780891722133,"traceId":"655ede3b179932df"},{"name":"check-page","duration":15100642,"timestamp":2083749780885,"id":51,"parentId":19,"tags":{"page":"/favicon.ico"},"startTime":1780891722027,"traceId":"655ede3b179932df"},{"name":"is-page-static","duration":15148131,"timestamp":2083749887207,"id":90,"parentId":50,"tags":{},"startTime":1780891722133,"traceId":"655ede3b179932df"},{"name":"check-page","duration":15254672,"timestamp":2083749780767,"id":50,"parentId":19,"tags":{"page":"/api/hub/upload"},"startTime":1780891722027,"traceId":"655ede3b179932df"},{"name":"is-page-static","duration":15390396,"timestamp":2083749887231,"id":92,"parentId":54,"tags":{},"startTime":1780891722134,"traceId":"655ede3b179932df"},{"name":"check-page","duration":15497838,"timestamp":2083749781748,"id":54,"parentId":19,"tags":{"page":"/manifest.webmanifest"},"startTime":1780891722028,"traceId":"655ede3b179932df"},{"name":"is-page-static","duration":15547518,"timestamp":2083749991688,"id":93,"parentId":24,"tags":{},"startTime":1780891722238,"traceId":"655ede3b179932df"},{"name":"check-page","duration":15886045,"timestamp":2083749653253,"id":24,"parentId":19,"tags":{"page":"/api/anet/config"},"startTime":1780891721900,"traceId":"655ede3b179932df"},{"name":"is-page-static","duration":15656197,"timestamp":2083750051350,"id":94,"parentId":31,"tags":{},"startTime":1780891722298,"traceId":"655ede3b179932df"},{"name":"check-page","duration":15997733,"timestamp":2083749709901,"id":31,"parentId":19,"tags":{"page":"/api/hub/events"},"startTime":1780891721956,"traceId":"655ede3b179932df"},{"name":"is-page-static","duration":15653303,"timestamp":2083750249858,"id":96,"parentId":42,"tags":{},"startTime":1780891722496,"traceId":"655ede3b179932df"},{"name":"check-page","duration":16123815,"timestamp":2083749779430,"id":42,"parentId":19,"tags":{"page":"/api/hub/servers"},"startTime":1780891722026,"traceId":"655ede3b179932df"},{"name":"is-page-static","duration":15836946,"timestamp":2083750147954,"id":95,"parentId":40,"tags":{},"startTime":1780891722394,"traceId":"655ede3b179932df"},{"name":"check-page","duration":16237393,"timestamp":2083749747602,"id":40,"parentId":19,"tags":{"page":"/api/hub/server/[hostname]/agents"},"startTime":1780891721994,"traceId":"655ede3b179932df"},{"name":"is-page-static","duration":17369777,"timestamp":2083749886878,"id":75,"parentId":33,"tags":{},"startTime":1780891722133,"traceId":"655ede3b179932df"},{"name":"check-page","duration":17510610,"timestamp":2083749746129,"id":33,"parentId":19,"tags":{"page":"/api/hub/inbox"},"startTime":1780891721992,"traceId":"655ede3b179932df"},{"name":"is-page-static","duration":17526050,"timestamp":2083749864315,"id":66,"parentId":21,"tags":{},"startTime":1780891722111,"traceId":"655ede3b179932df"},{"name":"check-page","duration":17749977,"timestamp":2083749640475,"id":21,"parentId":19,"tags":{"page":"/_not-found"},"startTime":1780891721887,"traceId":"655ede3b179932df"},{"name":"is-page-static","duration":16841171,"timestamp":2083750573140,"id":100,"parentId":55,"tags":{},"startTime":1780891722819,"traceId":"655ede3b179932df"},{"name":"check-page","duration":17610747,"timestamp":2083749803643,"id":55,"parentId":19,"tags":{"page":"/messages"},"startTime":1780891722050,"traceId":"655ede3b179932df"},{"name":"is-page-static","duration":17470345,"timestamp":2083750573018,"id":97,"parentId":23,"tags":{},"startTime":1780891722819,"traceId":"655ede3b179932df"},{"name":"check-page","duration":18390498,"timestamp":2083749652943,"id":23,"parentId":19,"tags":{"page":"/admin"},"startTime":1780891721899,"traceId":"655ede3b179932df"},{"name":"is-page-static","duration":17677123,"timestamp":2083750573155,"id":101,"parentId":56,"tags":{},"startTime":1780891722819,"traceId":"655ede3b179932df"},{"name":"check-page","duration":18446358,"timestamp":2083749803996,"id":56,"parentId":19,"tags":{"page":"/node"},"startTime":1780891722050,"traceId":"655ede3b179932df"},{"name":"is-page-static","duration":18477887,"timestamp":2083749882682,"id":70,"parentId":27,"tags":{},"startTime":1780891722129,"traceId":"655ede3b179932df"},{"name":"check-page","duration":18651206,"timestamp":2083749709445,"id":27,"parentId":19,"tags":{"page":"/api/auth/v3"},"startTime":1780891721956,"traceId":"655ede3b179932df"},{"name":"is-page-static","duration":17908804,"timestamp":2083750573327,"id":103,"parentId":59,"tags":{},"startTime":1780891722820,"traceId":"655ede3b179932df"},{"name":"check-page","duration":18669673,"timestamp":2083749812561,"id":59,"parentId":19,"tags":{"page":"/server-logs"},"startTime":1780891722059,"traceId":"655ede3b179932df"},{"name":"is-page-static","duration":17921035,"timestamp":2083750573170,"id":102,"parentId":57,"tags":{},"startTime":1780891722819,"traceId":"655ede3b179932df"},{"name":"check-page","duration":18689991,"timestamp":2083749804311,"id":57,"parentId":19,"tags":{"page":"/nodes"},"startTime":1780891722051,"traceId":"655ede3b179932df"},{"name":"is-page-static","duration":17984354,"timestamp":2083750573086,"id":98,"parentId":52,"tags":{},"startTime":1780891722819,"traceId":"655ede3b179932df"},{"name":"check-page","duration":18776153,"timestamp":2083749781375,"id":52,"parentId":19,"tags":{"page":"/login"},"startTime":1780891722028,"traceId":"655ede3b179932df"},{"name":"is-page-static","duration":18035157,"timestamp":2083750573386,"id":106,"parentId":63,"tags":{},"startTime":1780891722820,"traceId":"655ede3b179932df"},{"name":"check-page","duration":18786145,"timestamp":2083749822485,"id":63,"parentId":19,"tags":{"page":"/settings/tokens"},"startTime":1780891722069,"traceId":"655ede3b179932df"},{"name":"is-page-static","duration":18189726,"timestamp":2083750573412,"id":108,"parentId":65,"tags":{},"startTime":1780891722820,"traceId":"655ede3b179932df"},{"name":"check-page","duration":18940321,"timestamp":2083749822893,"id":65,"parentId":19,"tags":{"page":"/tasks"},"startTime":1780891722069,"traceId":"655ede3b179932df"},{"name":"is-page-static","duration":18190047,"timestamp":2083750573371,"id":105,"parentId":61,"tags":{},"startTime":1780891722820,"traceId":"655ede3b179932df"},{"name":"check-page","duration":18950443,"timestamp":2083749813026,"id":61,"parentId":19,"tags":{"page":"/settings/networks"},"startTime":1780891722059,"traceId":"655ede3b179932df"},{"name":"is-page-static","duration":18402099,"timestamp":2083750573397,"id":107,"parentId":64,"tags":{},"startTime":1780891722820,"traceId":"655ede3b179932df"},{"name":"check-page","duration":19152875,"timestamp":2083749822714,"id":64,"parentId":19,"tags":{"page":"/tasks/[id]"},"startTime":1780891722069,"traceId":"655ede3b179932df"},{"name":"is-page-static","duration":18402289,"timestamp":2083750573429,"id":109,"parentId":62,"tags":{},"startTime":1780891722820,"traceId":"655ede3b179932df"},{"name":"check-page","duration":19162475,"timestamp":2083749813273,"id":62,"parentId":19,"tags":{"page":"/settings"},"startTime":1780891722060,"traceId":"655ede3b179932df"},{"name":"is-page-static","duration":18202185,"timestamp":2083750821577,"id":110,"parentId":58,"tags":{},"startTime":1780891723068,"traceId":"655ede3b179932df"},{"name":"check-page","duration":19215595,"timestamp":2083749808252,"id":58,"parentId":19,"tags":{"page":"/"},"startTime":1780891722055,"traceId":"655ede3b179932df"},{"name":"is-page-static","duration":19445868,"timestamp":2083749882405,"id":68,"parentId":25,"tags":{},"startTime":1780891722129,"traceId":"655ede3b179932df"},{"name":"check-page","duration":19619347,"timestamp":2083749709038,"id":25,"parentId":19,"tags":{"page":"/api/auth/login"},"startTime":1780891721955,"traceId":"655ede3b179932df"},{"name":"is-page-static","duration":19743971,"timestamp":2083749882552,"id":69,"parentId":26,"tags":{},"startTime":1780891722129,"traceId":"655ede3b179932df"},{"name":"check-page","duration":19917306,"timestamp":2083749709320,"id":26,"parentId":19,"tags":{"page":"/api/auth/logout"},"startTime":1780891721956,"traceId":"655ede3b179932df"},{"name":"is-page-static","duration":19286579,"timestamp":2083750573128,"id":99,"parentId":53,"tags":{},"startTime":1780891722819,"traceId":"655ede3b179932df"}]
|
|
2
|
+
[{"name":"check-page","duration":20078534,"timestamp":2083749781560,"id":53,"parentId":19,"tags":{"page":"/logs"},"startTime":1780891722028,"traceId":"655ede3b179932df"},{"name":"is-page-static","duration":19649962,"timestamp":2083750573355,"id":104,"parentId":60,"tags":{},"startTime":1780891722820,"traceId":"655ede3b179932df"},{"name":"check-page","duration":20410550,"timestamp":2083749812850,"id":60,"parentId":19,"tags":{"page":"/servers"},"startTime":1780891722059,"traceId":"655ede3b179932df"},{"name":"static-check","duration":20625971,"timestamp":2083749597490,"id":19,"parentId":1,"tags":{},"startTime":1780891721844,"traceId":"655ede3b179932df"},{"name":"write-routes-manifest","duration":3648,"timestamp":2083770307261,"id":112,"parentId":1,"tags":{},"startTime":1780891742554,"traceId":"655ede3b179932df"},{"name":"load-dotenv","duration":86,"timestamp":2083770435725,"id":115,"parentId":114,"tags":{},"startTime":1780891742682,"traceId":"655ede3b179932df"},{"name":"run-export-path-map","duration":10633,"timestamp":2083770469992,"id":116,"parentId":114,"tags":{},"startTime":1780891742721,"traceId":"655ede3b179932df"},{"name":"next-export","duration":16501592,"timestamp":2083770424627,"id":114,"parentId":1,"tags":{},"startTime":1780891742671,"traceId":"655ede3b179932df"},{"name":"move-exported-app-not-found-","duration":36586,"timestamp":2083786957137,"id":117,"parentId":113,"tags":{},"startTime":1780891759203,"traceId":"655ede3b179932df"},{"name":"move-exported-app-global-error-","duration":6152,"timestamp":2083786993932,"id":118,"parentId":113,"tags":{},"startTime":1780891759240,"traceId":"655ede3b179932df"},{"name":"static-generation","duration":16673653,"timestamp":2083770367859,"id":113,"parentId":1,"tags":{},"startTime":1780891742614,"traceId":"655ede3b179932df"},{"name":"write-routes-manifest","duration":4262,"timestamp":2083787041962,"id":119,"parentId":1,"tags":{},"startTime":1780891759288,"traceId":"655ede3b179932df"},{"name":"print-tree-view","duration":72426,"timestamp":2083787449636,"id":120,"parentId":1,"tags":{},"startTime":1780891759696,"traceId":"655ede3b179932df"},{"name":"write-route-bundle-stats","duration":248700,"timestamp":2083787522130,"id":121,"parentId":1,"tags":{},"startTime":1780891759768,"traceId":"655ede3b179932df"},{"name":"telemetry-flush","duration":207,"timestamp":2083787770898,"id":122,"parentId":1,"tags":{},"startTime":1780891760017,"traceId":"655ede3b179932df"},{"name":"next-build","duration":574219617,"timestamp":2083213551532,"id":1,"tags":{"buildMode":"default","version":"16.2.3","bundler":"turbopack","has-custom-webpack-config":"false","use-build-worker":"true"},"startTime":1780891185798,"traceId":"655ede3b179932df"}]
|
package/.next/trace-build
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
[{"name":"run-turbopack","duration":
|
|
1
|
+
[{"name":"run-turbopack","duration":247767310,"timestamp":2083217737458,"id":14,"parentId":1,"tags":{},"startTime":1780891189984,"traceId":"655ede3b179932df"},{"name":"turbopack-build-events","duration":119,"timestamp":2083221886197,"id":15,"parentId":1,"tags":{},"startTime":1780891194132,"traceId":"655ede3b179932df"},{"name":"run-typescript","duration":278540162,"timestamp":2083465925592,"id":16,"parentId":1,"tags":{},"startTime":1780891438172,"traceId":"655ede3b179932df"},{"name":"static-check","duration":20625971,"timestamp":2083749597490,"id":19,"parentId":1,"tags":{},"startTime":1780891721844,"traceId":"655ede3b179932df"},{"name":"static-generation","duration":16673653,"timestamp":2083770367859,"id":113,"parentId":1,"tags":{},"startTime":1780891742614,"traceId":"655ede3b179932df"},{"name":"telemetry-flush","duration":207,"timestamp":2083787770898,"id":122,"parentId":1,"tags":{},"startTime":1780891760017,"traceId":"655ede3b179932df"},{"name":"next-build","duration":574219617,"timestamp":2083213551532,"id":1,"tags":{"buildMode":"default","version":"16.2.3","bundler":"turbopack","has-custom-webpack-config":"false","use-build-worker":"true"},"startTime":1780891185798,"traceId":"655ede3b179932df"}]
|
package/app/admin/page.tsx
CHANGED
|
@@ -82,7 +82,11 @@ export default function AdminPage() {
|
|
|
82
82
|
read as inert labels rather than tappable jumps. Wrapping each in a
|
|
83
83
|
visible bordered chip restores the affordance and lifts tap height
|
|
84
84
|
to ~44px without changing the desktop hierarchy. */}
|
|
85
|
-
|
|
85
|
+
{/* #209 R31 (mobile vertical rhythm — same pattern as R28/R30):
|
|
86
|
+
chip-jump nav was mb-8 (32 px) — biggest single gap on /admin
|
|
87
|
+
above the fold. Drop to mb-4 sm:mb-8 — phones get 16 px, sm:
|
|
88
|
+
up keeps the original breathing room. */}
|
|
89
|
+
<nav className="mb-4 sm:mb-8 flex flex-wrap gap-2 text-xs">
|
|
86
90
|
{[
|
|
87
91
|
{ href: '#status', label: 'Status' },
|
|
88
92
|
{ href: '#actions', label: 'Actions' },
|
package/app/messages/page.tsx
CHANGED
|
@@ -105,7 +105,10 @@ export default function MessagesPage() {
|
|
|
105
105
|
|
|
106
106
|
return (
|
|
107
107
|
<div className="min-h-screen bg-[#0a0a1a] text-gray-100 p-4 sm:p-6 font-mono">
|
|
108
|
-
|
|
108
|
+
{/* #209 R31 (mobile vertical rhythm — same pattern as R28/R30):
|
|
109
|
+
header row + quick-from chips row both mb-6 → mb-4 sm:mb-6.
|
|
110
|
+
~16 px scroll reclaim on /messages above the first thread. */}
|
|
111
|
+
<div className="flex items-center gap-4 mb-4 sm:mb-6">
|
|
109
112
|
<h1 className="text-2xl font-bold text-white lg:ml-0 ml-10">Messages</h1>
|
|
110
113
|
{/* Round 89: filter-aware chip. When search/type filter is active
|
|
111
114
|
the visible rows are filtered.length; the total loaded is
|
|
@@ -181,7 +184,7 @@ export default function MessagesPage() {
|
|
|
181
184
|
)}
|
|
182
185
|
|
|
183
186
|
{quickFromChips.length > 0 && (
|
|
184
|
-
<div className="mb-6 flex flex-wrap gap-2">
|
|
187
|
+
<div className="mb-4 sm:mb-6 flex flex-wrap gap-2">
|
|
185
188
|
{quickFromChips.map(alias => (
|
|
186
189
|
<button
|
|
187
190
|
key={alias}
|
package/app/nodes/page.tsx
CHANGED
|
@@ -50,7 +50,12 @@ export default function NodesPage() {
|
|
|
50
50
|
|
|
51
51
|
return (
|
|
52
52
|
<div className="min-h-screen max-w-full overflow-x-hidden bg-[#0a0a1a] text-gray-100 p-4 sm:p-6 font-mono">
|
|
53
|
-
|
|
53
|
+
{/* #209 R31 (mobile vertical rhythm — goal "大幅提升移动端体验",
|
|
54
|
+
extending R28's Overview pattern + R30's /tasks pattern):
|
|
55
|
+
this header row + the status-bar wrapper + the filter row
|
|
56
|
+
below all drop mb-6 → mb-4 sm:mb-6. Three spots × 8 px =
|
|
57
|
+
~24 px scroll reclaim on /nodes before the first card. */}
|
|
58
|
+
<div className="flex items-center gap-4 mb-4 sm:mb-6">
|
|
54
59
|
<h1 className="text-2xl font-bold text-white lg:ml-0 ml-10">Nodes</h1>
|
|
55
60
|
<span className="text-xs bg-green-900/30 text-green-400 px-2 py-0.5 rounded-full border border-green-800/30">
|
|
56
61
|
{onlineCount} online
|
|
@@ -67,7 +72,7 @@ export default function NodesPage() {
|
|
|
67
72
|
const offline = filtered.filter(s => !s.online).length;
|
|
68
73
|
const total = filtered.length || 1;
|
|
69
74
|
return (
|
|
70
|
-
<div className="mb-6">
|
|
75
|
+
<div className="mb-4 sm:mb-6">
|
|
71
76
|
<div className="flex h-2 rounded-full overflow-hidden bg-gray-800">
|
|
72
77
|
{working > 0 && <div className="bg-green-500" style={{ width: `${(working/total)*100}%` }} />}
|
|
73
78
|
{idle > 0 && <div className="bg-cyan-500" style={{ width: `${(idle/total)*100}%` }} />}
|
|
@@ -88,7 +93,7 @@ export default function NodesPage() {
|
|
|
88
93
|
exists, the chrome is back even if the current filter happens
|
|
89
94
|
to hide everything (so users can clear filters). */}
|
|
90
95
|
{sessions.length > 0 && (
|
|
91
|
-
<div className="flex flex-wrap gap-3 mb-6">
|
|
96
|
+
<div className="flex flex-wrap gap-3 mb-4 sm:mb-6">
|
|
92
97
|
<input
|
|
93
98
|
type="text"
|
|
94
99
|
value={search}
|
package/app/tasks/page.tsx
CHANGED
|
@@ -104,8 +104,14 @@ function TasksContent() {
|
|
|
104
104
|
|
|
105
105
|
return (
|
|
106
106
|
<div className="min-h-screen bg-[#0a0a1a] text-gray-100 p-4 sm:p-6 font-mono">
|
|
107
|
-
{/* Header
|
|
108
|
-
|
|
107
|
+
{/* Header.
|
|
108
|
+
#209 R30 (mobile vertical rhythm — goal "大幅提升移动端体验",
|
|
109
|
+
extending R28's Overview pattern to /tasks): this mb-6 + the
|
|
110
|
+
From/To filter row mb-6 below both drop to mb-4 on phones,
|
|
111
|
+
restoring mb-6 from sm: up. Saves ~16 px per spot = ~32 px of
|
|
112
|
+
scroll reclaim on /tasks before the actual task rows. /tasks
|
|
113
|
+
is the second-most-trafficked page after Overview. */}
|
|
114
|
+
<div className="flex items-center gap-4 mb-4 sm:mb-6">
|
|
109
115
|
<h1 className="text-2xl font-bold text-white lg:ml-0 ml-10">Tasks</h1>
|
|
110
116
|
{/* Round 88: pagination-aware chip. When tasks.length < count
|
|
111
117
|
the API has more rows than the current limit=100 slice;
|
|
@@ -171,8 +177,9 @@ function TasksContent() {
|
|
|
171
177
|
</div>
|
|
172
178
|
</div>
|
|
173
179
|
|
|
174
|
-
{/* From/To Filters — same visual block as the status tabs above.
|
|
175
|
-
|
|
180
|
+
{/* From/To Filters — same visual block as the status tabs above.
|
|
181
|
+
R30 (see header above): mb-6 → mb-4 sm:mb-6 mobile-tighten. */}
|
|
182
|
+
<div className="flex flex-wrap items-center gap-2 mb-4 sm:mb-6">
|
|
176
183
|
<div className="flex items-center gap-1.5 rounded-lg border border-[#2a2a4a] bg-[#111128] px-2.5 py-1.5 focus-within:border-blue-500/40">
|
|
177
184
|
<span className="text-[10px] uppercase tracking-wide text-gray-600">From</span>
|
|
178
185
|
<input
|
|
@@ -427,7 +434,18 @@ function TasksContent() {
|
|
|
427
434
|
|
|
428
435
|
export default function TasksPage() {
|
|
429
436
|
return (
|
|
430
|
-
<Suspense fallback={
|
|
437
|
+
<Suspense fallback={
|
|
438
|
+
// #209 R30 (playwright mobile-shot caught it): the bare Suspense
|
|
439
|
+
// fallback rendered "Loading tasks..." at p-6 with no left-indent,
|
|
440
|
+
// so the fixed top-3 left-3 mobile burger (56 px right-edge) sat
|
|
441
|
+
// right on top of "Loa" — the screenshot read as a broken page.
|
|
442
|
+
// Match the loaded layout: p-4 sm:p-6 page padding + ml-10 mobile
|
|
443
|
+
// indent on the text, so the burger clears and the loading state
|
|
444
|
+
// visually maps to the populated page.
|
|
445
|
+
<div className="min-h-screen bg-[#0a0a1a] text-gray-100 p-4 sm:p-6 font-mono">
|
|
446
|
+
<div className="lg:ml-0 ml-10 text-gray-500 text-sm">Loading tasks…</div>
|
|
447
|
+
</div>
|
|
448
|
+
}>
|
|
431
449
|
<TasksContent />
|
|
432
450
|
</Suspense>
|
|
433
451
|
);
|
package/package.json
CHANGED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,59276,e=>{"use strict";var t=e.i(12629),a=e.i(11449);let s=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 a=e.includes("?")?"&":"?";return`${e}${a}network_id=${encodeURIComponent(t)}`}e.s(["useAnetConfig",0,function(){let{data:e}=(0,t.default)("/api/anet/config",s,{refreshInterval:3e4});return{config:e||null}},"useHealth",0,function(){let{data:e,error:a}=(0,t.default)("/api/hub/health",s,r);return{health:e||null,error:a}},"useMessages",0,function(e=100){let{networkId:n}=(0,a.useNetworkId)(),{data:i,error:d,isLoading:o}=(0,t.default)(l(`/api/hub/messages?limit=${e}`,n),s,r);return{messages:i?.messages||[],error:d,isLoading:o}},"useSessions",0,function(){let{networkId:e}=(0,a.useNetworkId)(),{data:n,error:i,isLoading:d}=(0,t.default)(l("/api/hub/status",e),s,r);return{sessions:n?.sessions||[],hint:n?._hint,error:i,isLoading:d}},"useStats",0,function(){let{networkId:e}=(0,a.useNetworkId)(),{data:n,error:i}=(0,t.default)(l("/api/hub/stats",e),s,r);return{stats:n?.ok?n:null,error:i}},"useTasks",0,function(e){let{networkId:n}=(0,a.useNetworkId)(),i=new URLSearchParams({limit:"100",...e}).toString(),{data:d,error:o,isLoading:c}=(0,t.default)(l(`/api/hub/tasks?${i}`,n),s,r);return{tasks:d?.tasks||[],count:d?.count??0,source:d?.source,error:o,isLoading:c}}])},3479,59746,e=>{"use strict";function t(e){if(!e)return null;let t=Date.parse(e.includes("T")?e:e.replace(" ","T")+"Z");return Number.isFinite(t)?t:null}function a(e){let a=t(e);if(null===a)return null;let s=Math.floor((Date.now()-a)/1e3);return s<0?"just now":s<60?`${s}s ago`:s<3600?`${Math.floor(s/60)}m ago`:s<86400?`${Math.floor(s/3600)}h ago`:`${Math.floor(s/86400)}d ago`}e.s(["parseHubTime",0,t,"relativeAgo",0,a],59746),e.s(["formatUptime",0,function(e){let t=Math.floor(e/3600),a=Math.floor(e%3600/60);return t>0?`${t}h ${a}m`:`${a}m`},"previewContent",0,function(e){return e&&e.replace(/!\[([^\]]*)\]\([^)]*\)/g,"$1").replace(/\[([^\]]+)\]\([^)]*\)/g,"$1").replace(/`([^`]+)`/g,"$1").replace(/\s+/g," ").trim()||"--"},"timeAgo",0,function(e){return a(e)??"--"}],3479)},46228,e=>{"use strict";var t=e.i(22381);let a=[180,200,220,270,300,330,30,90];function s(e){let t=0;for(let a=0;a<e.length;a++)t=31*t+e.charCodeAt(a)>>>0;let s=a[t%a.length];return{bg:`hsl(${s} 55% 22%)`,ring:`hsl(${s} 60% 45%)`,text:`hsl(${s} 80% 78%)`}}function r(e){return e?(e.trim().match(/[\p{L}\p{N}]/u)?.[0]||e.trim()[0]||"·").toUpperCase():"·"}e.s(["AliasAvatar",0,function({alias:e,size:a=28,className:l=""}){if(/\bgrok\b|grok-build|grok测试员|grok-demo/i.test(e))return(0,t.jsx)("span",{className:`anet-alias-avatar inline-flex items-center justify-center rounded-full border border-emerald-500/45 bg-emerald-950/70 shrink-0 ${l}`,style:{width:a,height:a,backgroundImage:"url(/vendors/grok.svg)",backgroundPosition:"center",backgroundRepeat:"no-repeat",backgroundSize:"68% 68%"},title:e,"aria-hidden":!0});let n=s(e),i=Math.max(9,Math.round(.42*a));return(0,t.jsx)("span",{className:`anet-alias-avatar inline-flex items-center justify-center rounded-full border shrink-0 font-semibold ${l}`,style:{width:a,height:a,fontSize:i,backgroundColor:n.bg,borderColor:n.ring,color:n.text},title:e,"aria-hidden":!0,children:r(e)})},"aliasAvatarColors",0,s,"aliasInitial",0,r])},98025,e=>{"use strict";e.s(["SESSION_STATUS_CHIP_CLASS",0,{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"},"SESSION_STATUS_TEXT_CLASS",0,{working:"text-green-400",idle:"text-blue-400",blocked:"text-yellow-400",error:"text-red-400",offline:"text-gray-500"},"STATUS_BAR_CLASS",0,{created:"bg-gray-500",delivered:"bg-blue-500",acked:"bg-cyan-500",running:"bg-green-500",replied:"bg-purple-500",closed:"bg-gray-600",failed:"bg-red-500",cancelled:"bg-yellow-500",expired:"bg-orange-500"},"STATUS_CHIP_CLASS",0,{created:"bg-gray-500/10 text-gray-400 border-gray-500/20",delivered:"bg-blue-500/10 text-blue-300 border-blue-500/20",acked:"bg-cyan-500/10 text-cyan-300 border-cyan-500/20",running:"bg-green-500/10 text-green-300 border-green-500/20",replied:"bg-purple-500/10 text-purple-300 border-purple-500/20",closed:"bg-gray-500/10 text-gray-500 border-gray-500/20",failed:"bg-red-500/10 text-red-300 border-red-500/20",cancelled:"bg-yellow-500/10 text-yellow-300 border-yellow-500/20",expired:"bg-orange-500/10 text-orange-300 border-orange-500/20"},"STATUS_DOT_HEX",0,{created:"#9ca3af",delivered:"#60a5fa",acked:"#22d3ee",running:"#4ade80",replied:"#a78bfa",closed:"#6b7280",failed:"#f87171",cancelled:"#facc15",expired:"#fb923c"},"TASK_STATUSES",0,["created","delivered","acked","running","replied","closed","failed","cancelled","expired"]])},28729,e=>{"use strict";var t=e.i(22381),a=e.i(23910),s=e.i(59276),r=e.i(3479),l=e.i(46228),n=e.i(98025);e.s(["default",0,function(){let{sessions:e}=(0,s.useSessions)(),{health:i}=(0,s.useHealth)(),{stats:d}=(0,s.useStats)(),o=i?.sse_sessions||{},c=e=>(e.network_id?o[`${e.network_id}:${e.alias}`]:void 0)??o[e.alias],[x,u]=(0,a.useState)(""),[g,b]=(0,a.useState)(""),[h,m]=(0,a.useState)(""),[p,f]=(0,a.useState)(""),[y,j]=(0,a.useState)(""),[v,N]=(0,a.useState)(""),[S,w]=(0,a.useState)(""),[k,T]=(0,a.useState)(""),C=async()=>{if(x.trim()&&g.trim()){try{let e=await fetch("/api/hub/auth",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"register",username:x,password:g})}),t=await e.json();m(t.ok?`Created: ${t.user.username} (${t.user.user_id})`:`Failed: ${t.error}`),t.ok&&(u(""),b(""))}catch{m("Failed")}setTimeout(()=>m(""),8e3)}},A=async()=>{if(p.trim()){try{let e=await fetch("/api/hub/broadcast",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({message:p})}),t=await e.json();j(t.ok?`Sent to ${t.recipients} nodes`:`Failed: ${t.error}`),t.ok&&f("")}catch{j("Failed")}setTimeout(()=>j(""),5e3)}},$=async()=>{if(v&&S.trim()){try{let e=await fetch("/api/hub/send",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({alias:v,task:S})}),t=await e.json();T(t.ok?"Task sent":`Failed: ${t.error}`),t.ok&&w("")}catch{T("Failed")}setTimeout(()=>T(""),5e3)}},_=e.filter(e=>c(e)),I=e.filter(e=>!c(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-3 lg:ml-0 ml-10",children:"Admin"}),(0,t.jsx)("nav",{className:"mb-8 flex flex-wrap gap-2 text-xs",children:[{href:"#status",label:"Status"},{href:"#actions",label:"Actions"},{href:"#users",label:"Users"}].map(e=>(0,t.jsx)("a",{href:e.href,className:"inline-flex min-h-[44px] items-center rounded-md border border-[#2a2a4a] bg-[#0a0a15]/60 px-3 py-2 text-gray-400 hover:border-cyan-500/50 hover:text-cyan-300 hover:bg-cyan-500/10 transition-colors",children:e.label},e.href))}),(0,t.jsxs)("div",{className:"max-w-6xl space-y-10",children:[(0,t.jsxs)("div",{id:"status",className:"space-y-4 scroll-mt-6",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2 px-1",children:[(0,t.jsx)("div",{className:"text-[11px] uppercase tracking-[0.14em] text-gray-400 font-semibold",children:"Status"}),(0,t.jsx)("div",{className:"flex-1 h-px bg-[#2a2a4a]"})]}),(0,t.jsxs)("div",{className:"grid grid-cols-1 lg:grid-cols-2 gap-4",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:_.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:I.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:i?.sse_connections??"--"}),(0,t.jsxs)("div",{className:"text-xs text-gray-500",children:["SSE Streams ",(0,t.jsx)("span",{className:"text-gray-600",children:"· server"})]})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("div",{className:"text-3xl font-bold text-white tabular-nums",children:d?.tasks?.total??"--"}),(0,t.jsx)("div",{className:"text-xs text-gray-500",children:"Total Tasks"})]})]}),d?.tasks?.by_status&&d.tasks.by_status.length>0&&(0,t.jsx)("div",{className:"mt-4 flex flex-wrap gap-2",children:d.tasks.by_status.map(e=>(0,t.jsxs)("span",{className:`text-xs px-2 py-1 rounded border ${n.STATUS_CHIP_CLASS[e.status]||"bg-[#0a0a15] 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.jsxs)("h2",{className:"text-sm font-semibold text-gray-300 mb-4",children:["Online Sessions ",(0,t.jsxs)("span",{className:"text-gray-600",children:["(",_.length,")"]})]}),(0,t.jsx)("div",{className:"space-y-2 max-h-80 overflow-y-auto",children:0===_.length?(0,t.jsx)("div",{className:"text-xs text-gray-600 text-center py-4",children:"No online sessions"}):_.map(e=>(0,t.jsxs)("div",{className:"flex items-center gap-3 bg-[#0a0a15] rounded-lg px-3 py-2 border border-[#1a1a2a]",children:[(0,t.jsx)(l.AliasAvatar,{alias:e.alias,size:20}),(0,t.jsxs)("div",{className:"min-w-0 flex-1",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 ${n.SESSION_STATUS_CHIP_CLASS[e.status]||n.SESSION_STATUS_CHIP_CLASS.idle}`,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)("div",{id:"actions",className:"space-y-4 scroll-mt-6",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2 px-1",children:[(0,t.jsx)("div",{className:"text-[11px] uppercase tracking-[0.14em] text-gray-400 font-semibold",children:"Actions"}),(0,t.jsx)("div",{className:"flex-1 h-px bg-[#2a2a4a]"})]}),0===e.length?(0,t.jsx)("div",{className:"bg-[#111128] border border-[#2a2a4a] rounded-xl px-5 py-4 text-sm text-gray-500",children:"Broadcast and Send Task become available after the first agent registers."}):(0,t.jsxs)("div",{className:"grid grid-cols-1 lg:grid-cols-2 gap-4",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:"Broadcast"}),(0,t.jsx)("textarea",{value:p,onChange:e=>f(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:[p.length,"/500"]}),(0,t.jsx)("button",{onClick:A,disabled:!p.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"})]}),y&&(0,t.jsx)("div",{className:`mt-2 text-xs ${y.startsWith("Failed")?"text-red-400":"text-green-400"}`,children:y})]}),(0,t.jsxs)("section",{className:"bg-[#111128] border border-[#2a2a4a] rounded-xl p-5",children:[(0,t.jsx)("h2",{className:"text-sm font-semibold text-gray-300 mb-4",children:"Send Task"}),(0,t.jsxs)("select",{value:v,onChange:e=>N(e.target.value),className:"w-full bg-[#0a0a15] border border-[#2a2a4a] rounded-lg px-3 py-2 text-base sm:text-sm text-white focus:border-cyan-500/50 focus:outline-none mb-3",children:[(0,t.jsx)("option",{value:"",children:"Select target node..."}),_.map(e=>(0,t.jsxs)("option",{value:e.alias,children:[e.alias," (",e.status,")"]},e.alias)),(0,t.jsx)("optgroup",{label:"Offline",children:I.map(e=>(0,t.jsxs)("option",{value:e.alias,children:[e.alias," (offline)"]},e.alias))})]}),(0,t.jsx)("textarea",{value:S,onChange:e=>w(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:$,disabled:!v||!S.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"})}),k&&(0,t.jsx)("div",{className:`mt-2 text-xs ${k.startsWith("Failed")?"text-red-400":"text-green-400"}`,children:k})]})]})]}),(0,t.jsxs)("div",{id:"users",className:"space-y-4 scroll-mt-6",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2 px-1",children:[(0,t.jsx)("div",{className:"text-[11px] uppercase tracking-[0.14em] text-gray-400 font-semibold",children:"Users"}),(0,t.jsx)("div",{className:"flex-1 h-px bg-[#2a2a4a]"})]}),(0,t.jsx)("div",{className:"grid grid-cols-1 lg:grid-cols-2 gap-4",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:"Register User (V3)"}),(0,t.jsxs)("div",{className:"space-y-3",children:[(0,t.jsx)("input",{type:"text",value:x,onChange:e=>u(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:g,onChange:e=>b(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:C,disabled:!x.trim()||!g.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})]})})]})]})]})}])}]);
|
|
File without changes
|
/package/.next/static/{gQUBslHrnEi2wSMEuinXH → xj8hi3hD8gSL1oD_XTWUL}/_clientMiddlewareManifest.js
RENAMED
|
File without changes
|
|
File without changes
|