@sleep2agi/agent-network-dashboard 0.5.1-preview.10 → 0.5.1-preview.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.next/BUILD_ID +1 -1
- package/.next/build-manifest.json +3 -3
- package/.next/diagnostics/route-bundle-stats.json +6 -6
- package/.next/fallback-build-manifest.json +3 -3
- package/.next/server/app/_global-error.html +1 -1
- package/.next/server/app/_global-error.rsc +1 -1
- package/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/.next/server/app/_not-found.html +2 -2
- package/.next/server/app/_not-found.rsc +2 -2
- package/.next/server/app/_not-found.segments/_full.segment.rsc +2 -2
- package/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
- package/.next/server/app/_not-found.segments/_index.segment.rsc +2 -2
- package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
- package/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/admin/page_client-reference-manifest.js +1 -1
- package/.next/server/app/admin.html +2 -2
- package/.next/server/app/admin.rsc +2 -2
- package/.next/server/app/admin.segments/_full.segment.rsc +2 -2
- package/.next/server/app/admin.segments/_head.segment.rsc +1 -1
- package/.next/server/app/admin.segments/_index.segment.rsc +2 -2
- package/.next/server/app/admin.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/admin.segments/admin/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/admin.segments/admin.segment.rsc +1 -1
- package/.next/server/app/index.html +2 -2
- package/.next/server/app/index.rsc +3 -3
- package/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
- package/.next/server/app/index.segments/_full.segment.rsc +3 -3
- package/.next/server/app/index.segments/_head.segment.rsc +1 -1
- package/.next/server/app/index.segments/_index.segment.rsc +2 -2
- package/.next/server/app/index.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/login/page_client-reference-manifest.js +1 -1
- package/.next/server/app/login.html +2 -2
- package/.next/server/app/login.rsc +3 -3
- package/.next/server/app/login.segments/_full.segment.rsc +3 -3
- package/.next/server/app/login.segments/_head.segment.rsc +1 -1
- package/.next/server/app/login.segments/_index.segment.rsc +2 -2
- package/.next/server/app/login.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/login.segments/login/__PAGE__.segment.rsc +2 -2
- package/.next/server/app/login.segments/login.segment.rsc +1 -1
- package/.next/server/app/logs/page_client-reference-manifest.js +1 -1
- package/.next/server/app/logs.html +2 -2
- package/.next/server/app/logs.rsc +2 -2
- package/.next/server/app/logs.segments/_full.segment.rsc +2 -2
- package/.next/server/app/logs.segments/_head.segment.rsc +1 -1
- package/.next/server/app/logs.segments/_index.segment.rsc +2 -2
- package/.next/server/app/logs.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/logs.segments/logs/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/logs.segments/logs.segment.rsc +1 -1
- package/.next/server/app/messages/page_client-reference-manifest.js +1 -1
- package/.next/server/app/messages.html +2 -2
- package/.next/server/app/messages.rsc +2 -2
- package/.next/server/app/messages.segments/_full.segment.rsc +2 -2
- package/.next/server/app/messages.segments/_head.segment.rsc +1 -1
- package/.next/server/app/messages.segments/_index.segment.rsc +2 -2
- package/.next/server/app/messages.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/messages.segments/messages/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/messages.segments/messages.segment.rsc +1 -1
- package/.next/server/app/node/page_client-reference-manifest.js +1 -1
- package/.next/server/app/node.html +2 -2
- package/.next/server/app/node.rsc +2 -2
- package/.next/server/app/node.segments/_full.segment.rsc +2 -2
- package/.next/server/app/node.segments/_head.segment.rsc +1 -1
- package/.next/server/app/node.segments/_index.segment.rsc +2 -2
- package/.next/server/app/node.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/node.segments/node/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/node.segments/node.segment.rsc +1 -1
- package/.next/server/app/nodes/page_client-reference-manifest.js +1 -1
- package/.next/server/app/nodes.html +2 -2
- package/.next/server/app/nodes.rsc +2 -2
- package/.next/server/app/nodes.segments/_full.segment.rsc +2 -2
- package/.next/server/app/nodes.segments/_head.segment.rsc +1 -1
- package/.next/server/app/nodes.segments/_index.segment.rsc +2 -2
- package/.next/server/app/nodes.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/nodes.segments/nodes/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/nodes.segments/nodes.segment.rsc +1 -1
- package/.next/server/app/page_client-reference-manifest.js +1 -1
- package/.next/server/app/server-logs/page_client-reference-manifest.js +1 -1
- package/.next/server/app/server-logs.html +2 -2
- package/.next/server/app/server-logs.rsc +2 -2
- package/.next/server/app/server-logs.segments/_full.segment.rsc +2 -2
- package/.next/server/app/server-logs.segments/_head.segment.rsc +1 -1
- package/.next/server/app/server-logs.segments/_index.segment.rsc +2 -2
- package/.next/server/app/server-logs.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/server-logs.segments/server-logs/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/server-logs.segments/server-logs.segment.rsc +1 -1
- package/.next/server/app/settings/networks/page_client-reference-manifest.js +1 -1
- package/.next/server/app/settings/networks.html +2 -2
- package/.next/server/app/settings/networks.rsc +2 -2
- package/.next/server/app/settings/networks.segments/_full.segment.rsc +2 -2
- package/.next/server/app/settings/networks.segments/_head.segment.rsc +1 -1
- package/.next/server/app/settings/networks.segments/_index.segment.rsc +2 -2
- package/.next/server/app/settings/networks.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/settings/networks.segments/settings/networks/__PAGE__.segment.rsc +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/page_client-reference-manifest.js +1 -1
- package/.next/server/app/settings/tokens.html +2 -2
- package/.next/server/app/settings/tokens.rsc +2 -2
- package/.next/server/app/settings/tokens.segments/_full.segment.rsc +2 -2
- package/.next/server/app/settings/tokens.segments/_head.segment.rsc +1 -1
- package/.next/server/app/settings/tokens.segments/_index.segment.rsc +2 -2
- package/.next/server/app/settings/tokens.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/settings/tokens.segments/settings/tokens/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/settings/tokens.segments/settings/tokens.segment.rsc +1 -1
- package/.next/server/app/settings/tokens.segments/settings.segment.rsc +1 -1
- package/.next/server/app/settings.html +2 -2
- package/.next/server/app/settings.rsc +3 -3
- package/.next/server/app/settings.segments/_full.segment.rsc +3 -3
- package/.next/server/app/settings.segments/_head.segment.rsc +1 -1
- package/.next/server/app/settings.segments/_index.segment.rsc +2 -2
- package/.next/server/app/settings.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/settings.segments/settings/__PAGE__.segment.rsc +2 -2
- package/.next/server/app/settings.segments/settings.segment.rsc +1 -1
- package/.next/server/app/tasks/[id]/page_client-reference-manifest.js +1 -1
- package/.next/server/app/tasks/page_client-reference-manifest.js +1 -1
- package/.next/server/app/tasks.html +2 -2
- package/.next/server/app/tasks.rsc +2 -2
- package/.next/server/app/tasks.segments/_full.segment.rsc +2 -2
- package/.next/server/app/tasks.segments/_head.segment.rsc +1 -1
- package/.next/server/app/tasks.segments/_index.segment.rsc +2 -2
- package/.next/server/app/tasks.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/tasks.segments/tasks/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/tasks.segments/tasks.segment.rsc +1 -1
- package/.next/server/chunks/ssr/agent-network-dashboard_09kk21a._.js +3 -3
- package/.next/server/chunks/ssr/agent-network-dashboard_09kk21a._.js.map +1 -1
- package/.next/server/chunks/ssr/agent-network-dashboard_app_01jhlxz._.js +1 -1
- package/.next/server/chunks/ssr/agent-network-dashboard_app_01jhlxz._.js.map +1 -1
- package/.next/server/chunks/ssr/agent-network-dashboard_app_09d29my._.js +1 -1
- package/.next/server/chunks/ssr/agent-network-dashboard_app_09d29my._.js.map +1 -1
- package/.next/server/middleware-build-manifest.js +3 -3
- package/.next/server/pages/404.html +2 -2
- package/.next/server/pages/500.html +1 -1
- package/.next/static/chunks/{0aauz~36q5n2a.css → 0rwo2q9_by3o-.css} +1 -1
- package/.next/static/chunks/{0lpe~8qw.tb2-.js → 122abdjq6gm8i.js} +4 -4
- package/.next/static/chunks/156q5y0rq19h5.js +1 -0
- package/.next/static/chunks/163kbbv9y-8_7.js +1 -0
- package/.next/trace +2 -2
- package/.next/trace-build +1 -1
- package/app/components/TopoGraph.tsx +50 -5
- package/package.json +1 -1
- package/scripts/topo-layout-toggle-hover-tracking-test.mjs +109 -0
- package/scripts/topo-reset-hover-rotate-test.mjs +102 -0
- package/.next/static/chunks/0jwtl1a1lwyp5.js +0 -1
- package/.next/static/chunks/0sl9zcww9om1e.js +0 -1
- /package/.next/static/{O8CVuAcu03lV_emn4fTFW → xhrrmtOS6EmcuOXkSdTGX}/_buildManifest.js +0 -0
- /package/.next/static/{O8CVuAcu03lV_emn4fTFW → xhrrmtOS6EmcuOXkSdTGX}/_clientMiddlewareManifest.js +0 -0
- /package/.next/static/{O8CVuAcu03lV_emn4fTFW → xhrrmtOS6EmcuOXkSdTGX}/_ssgManifest.js +0 -0
|
@@ -0,0 +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}},"useLicense",0,function(){let{data:e,error:a}=(0,s.default)("/api/hub/license",t,{refreshInterval:6e4});return{license:e?.ok?e:null,error:a}},"useMessages",0,function(e=100){let{networkId:l}=(0,a.useNetworkId)(),{data:i,error:c,isLoading:d}=(0,s.default)(n(`/api/hub/messages?limit=${e}`,l),t,r);return{messages:i?.messages||[],error:c,isLoading:d}},"useSessions",0,function(){let{networkId:e}=(0,a.useNetworkId)(),{data:l,error:i,isLoading:c}=(0,s.default)(n("/api/hub/status",e),t,r);return{sessions:l?.sessions||[],hint:l?._hint,error:i,isLoading:c}},"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:c,error:d,isLoading:o}=(0,s.default)(n(`/api/hub/tasks?${i}`,l),t,r);return{tasks:c?.tasks||[],count:c?.count??0,source:c?.source,error:d,isLoading:o}}])},70286,e=>{"use strict";e.s(["DASHBOARD_VERSION",0,"0.5.1-preview.11"],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)(),{license:i}=(0,r.useLicense)(),[c,d]=(0,a.useState)(""),[o,x]=(0,a.useState)(""),[m,h]=(0,a.useState)(""),[g,u]=(0,a.useState)(""),[p,N]=(0,a.useState)(""),b="flex flex-col gap-1 sm:flex-row sm:items-start sm:justify-between",j="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-1 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:"rounded-md px-2.5 py-1 text-gray-500 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:b,children:[(0,s.jsx)("span",{className:"text-gray-500 shrink-0",children:"Hub URL"}),(0,s.jsx)("span",{className:`text-cyan-300 ${j}`,children:e?.hub||"not configured"})]}),(0,s.jsxs)("div",{className:b,children:[(0,s.jsx)("span",{className:"text-gray-500",children:"Config Source"}),(0,s.jsx)("span",{className:`text-gray-300 ${j}`,children:e?.source==="file"?"Local file (~/.anet/config.json)":e?.source==="runtime-env"?"Vercel env vars":"Missing"})]}),(0,s.jsxs)("div",{className:b,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"} ${j}`,children:e?.tokenConfigured?`Configured (${e.tokenPreview})`:"Not configured"})]}),(0,s.jsxs)("div",{className:b,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:b,children:[(0,s.jsx)("span",{className:"text-gray-500",children:"Version"}),(0,s.jsx)("span",{className:`text-gray-300 ${j}`,children:l?.version||"--"})]}),(0,s.jsxs)("div",{className:b,children:[(0,s.jsx)("span",{className:"text-gray-500",children:"Sessions"}),(0,s.jsx)("span",{className:`text-gray-300 ${j}`,children:l?.sessions??"--"})]}),(0,s.jsxs)("div",{className:b,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 ${j}`,children:l?.sse_connections??"--"})]}),(0,s.jsxs)("div",{className:b,children:[(0,s.jsx)("span",{className:"text-gray-500",children:"Uptime"}),(0,s.jsx)("span",{className:`text-gray-300 ${j}`,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:b,children:[(0,s.jsx)("span",{className:"text-gray-500",children:"Version"}),(0,s.jsx)("span",{className:`text-gray-300 font-mono ${j}`,title:"From package.json @sleep2agi/agent-network-dashboard",children:n.DASHBOARD_VERSION})]}),(0,s.jsxs)("div",{className:b,children:[(0,s.jsx)("span",{className:"text-gray-500",children:"Data Layer"}),(0,s.jsx)("span",{className:`text-gray-300 ${j}`,children:"SWR (5s refresh, 3s dedup)"})]}),(0,s.jsxs)("div",{className:b,children:[(0,s.jsx)("span",{className:"text-gray-500",children:"Pages"}),(0,s.jsx)("span",{className:`text-gray-300 ${j}`,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.jsxs)("h2",{className:"text-sm font-semibold text-gray-300 mb-4 flex items-center gap-2",children:["License",i?.license&&(0,s.jsxs)("span",{className:`inline-flex items-center gap-1.5 text-[10px] font-medium px-2 py-0.5 rounded-full border ${"pro"===i.license.type?"text-green-300 bg-green-500/10 border-green-500/30":i.license.days_left<=7?"text-red-300 bg-red-500/10 border-red-500/30":"text-amber-300 bg-amber-500/10 border-amber-500/30"}`,children:[(0,s.jsx)("span",{"aria-hidden":!0,className:"w-1.5 h-1.5 rounded-full bg-current"}),i.license.type,i.license.days_left?` \xb7 ${i.license.days_left}d left`:""]})]}),i?.license?(0,s.jsxs)("div",{className:"space-y-3 text-sm",children:[i.license.days_left<=7&&(0,s.jsxs)("div",{className:b,children:[(0,s.jsx)("span",{className:"text-red-400 font-medium",children:"⚠ Expiring soon"}),(0,s.jsxs)("span",{className:"text-red-400",children:[i.license.days_left," days left"]})]}),(0,s.jsxs)("div",{className:b,children:[(0,s.jsx)("span",{className:"text-gray-500",children:"Expires"}),(0,s.jsx)("span",{className:`text-gray-300 ${j}`,children:i.license.expires_at})]}),i.limits&&(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)("div",{className:b,children:[(0,s.jsx)("span",{className:"text-gray-500",children:"Max Agents"}),(0,s.jsx)("span",{className:`text-gray-300 ${j}`,children:i.limits.max_agents})]}),(0,s.jsxs)("div",{className:b,children:[(0,s.jsx)("span",{className:"text-gray-500",children:"Max Networks"}),(0,s.jsx)("span",{className:`text-gray-300 ${j}`,children:i.limits.max_networks})]}),(0,s.jsxs)("div",{className:b,children:[(0,s.jsx)("span",{className:"text-gray-500",children:"Tasks/Day"}),(0,s.jsx)("span",{className:`text-gray-300 ${j}`,children:i.limits.max_tasks_day})]})]}),(0,s.jsxs)("div",{className:"pt-3 border-t border-[#2a2a4a]",children:[(0,s.jsxs)("div",{className:"flex gap-2",children:[(0,s.jsx)("input",{type:"text",value:c,onChange:e=>d(e.target.value),placeholder:"anet-XXXX-XXXX-XXXX-XXXX",className:"flex-1 bg-[#0a0a15] border border-[#2a2a4a] rounded px-3 py-2 text-xs text-white placeholder-gray-600 focus:outline-none"}),(0,s.jsx)("button",{onClick:async()=>{if(!c.trim())return;let e=await fetch("/api/hub/license",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({key:c})}),s=await e.json();x(s.ok?`Activated: ${s.type}`:`Failed: ${s.error}`),s.ok&&d(""),setTimeout(()=>x(""),5e3)},className:"px-3 py-2 bg-cyan-600 hover:bg-cyan-500 text-white text-xs rounded transition-colors",children:"Activate"})]}),o&&(0,s.jsx)("div",{className:`mt-2 text-xs ${o.startsWith("Failed")?"text-red-400":"text-green-400"}`,children:o})]})]}):(0,s.jsx)("div",{className:"text-xs text-gray-600",children:"License info not available"})]}),(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:m,onChange:e=>h(e.target.value),placeholder:"Current 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,s.jsx)("input",{type:"password",value:g,onChange:e=>u(e.target.value),placeholder:"New 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,s.jsx)("button",{onClick:async()=>{if(!m||!g)return;let e=sessionStorage.getItem("anet_v3_auth");if(!e)return void N("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:m,new_password:g})}),t=await a.json();if(N(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}))}h(""),u("")}setTimeout(()=>N(""),5e3)},disabled:!m||!g,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"})]}),p&&(0,s.jsx)("div",{className:`mt-2 text-xs ${p.startsWith("Failed")?"text-red-400":"text-green-400"}`,children:p})]}),(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,0 +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.1-preview.11"],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,g]=(0,r.useState)(""),[h,m]=(0,r.useState)(!1),u=async t=>{t.preventDefault(),m(!0),g("");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}g(r.error||"Login failed")}catch{g("Connection failed")}m(!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),g("")},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-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-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 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:h||!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:[h&&(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:h?"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":245,"timestamp":132804720352,"id":4,"parentId":1,"tags":{},"startTime":1778940776967,"traceId":"70171d193e8b9bcb"},{"name":"load-custom-routes","duration":471,"timestamp":132804720750,"id":5,"parentId":1,"tags":{},"startTime":1778940776967,"traceId":"70171d193e8b9bcb"},{"name":"create-dist-dir","duration":654,"timestamp":132804721264,"id":6,"parentId":1,"tags":{},"startTime":1778940776968,"traceId":"70171d193e8b9bcb"},{"name":"clean","duration":31816,"timestamp":132804722590,"id":7,"parentId":1,"tags":{},"startTime":1778940776969,"traceId":"70171d193e8b9bcb"},{"name":"discover-routes","duration":10352,"timestamp":132804836122,"id":8,"parentId":1,"tags":{},"startTime":1778940777082,"traceId":"70171d193e8b9bcb"},{"name":"create-root-mapping","duration":169,"timestamp":132804846547,"id":9,"parentId":1,"tags":{},"startTime":1778940777093,"traceId":"70171d193e8b9bcb"},{"name":"generate-route-types","duration":20589,"timestamp":132804850281,"id":10,"parentId":1,"tags":{},"startTime":1778940777097,"traceId":"70171d193e8b9bcb"},{"name":"public-dir-conflict-check","duration":113,"timestamp":132804870952,"id":11,"parentId":1,"tags":{},"startTime":1778940777117,"traceId":"70171d193e8b9bcb"},{"name":"generate-routes-manifest","duration":4973,"timestamp":132804871175,"id":12,"parentId":1,"tags":{},"startTime":1778940777117,"traceId":"70171d193e8b9bcb"},{"name":"run-turbopack","duration":6177386,"timestamp":132804894789,"id":14,"parentId":1,"tags":{},"startTime":1778940777141,"traceId":"70171d193e8b9bcb"},{"name":"turbopack-build-events","duration":126,"timestamp":132805191940,"id":15,"parentId":1,"tags":{},"startTime":1778940777438,"traceId":"70171d193e8b9bcb"},{"name":"run-typescript","duration":9585686,"timestamp":132811081059,"id":16,"parentId":1,"tags":{},"startTime":1778940783327,"traceId":"70171d193e8b9bcb"},{"name":"generate-required-server-files","duration":2220,"timestamp":132820668042,"id":18,"parentId":1,"tags":{},"startTime":1778940792914,"traceId":"70171d193e8b9bcb"},{"name":"check-static-error-page","duration":12031,"timestamp":132820826819,"id":20,"parentId":19,"tags":{},"startTime":1778940793073,"traceId":"70171d193e8b9bcb"},{"name":"is-page-static","duration":436129,"timestamp":132820841164,"id":65,"parentId":22,"tags":{},"startTime":1778940793087,"traceId":"70171d193e8b9bcb"},{"name":"check-page","duration":448173,"timestamp":132820829287,"id":22,"parentId":19,"tags":{"page":"/_global-error"},"startTime":1778940793076,"traceId":"70171d193e8b9bcb"},{"name":"is-page-static","duration":552310,"timestamp":132820844446,"id":71,"parentId":30,"tags":{},"startTime":1778940793091,"traceId":"70171d193e8b9bcb"},{"name":"check-page","duration":564562,"timestamp":132820832314,"id":30,"parentId":19,"tags":{"page":"/api/hub/broadcast"},"startTime":1778940793079,"traceId":"70171d193e8b9bcb"},{"name":"is-page-static","duration":557584,"timestamp":132820844501,"id":72,"parentId":32,"tags":{},"startTime":1778940793091,"traceId":"70171d193e8b9bcb"},{"name":"check-page","duration":569551,"timestamp":132820832603,"id":32,"parentId":19,"tags":{"page":"/api/hub/health"},"startTime":1778940793079,"traceId":"70171d193e8b9bcb"},{"name":"is-page-static","duration":604650,"timestamp":132820843708,"id":67,"parentId":26,"tags":{},"startTime":1778940793090,"traceId":"70171d193e8b9bcb"},{"name":"check-page","duration":616508,"timestamp":132820831929,"id":26,"parentId":19,"tags":{"page":"/api/auth/logout"},"startTime":1778940793078,"traceId":"70171d193e8b9bcb"},{"name":"is-page-static","duration":606611,"timestamp":132820844646,"id":73,"parentId":33,"tags":{},"startTime":1778940793091,"traceId":"70171d193e8b9bcb"},{"name":"check-page","duration":618621,"timestamp":132820832700,"id":33,"parentId":19,"tags":{"page":"/api/hub/inbox"},"startTime":1778940793079,"traceId":"70171d193e8b9bcb"},{"name":"is-page-static","duration":609275,"timestamp":132820843876,"id":68,"parentId":27,"tags":{},"startTime":1778940793090,"traceId":"70171d193e8b9bcb"},{"name":"check-page","duration":621309,"timestamp":132820832027,"id":27,"parentId":19,"tags":{"page":"/api/auth/v3"},"startTime":1778940793078,"traceId":"70171d193e8b9bcb"},{"name":"is-page-static","duration":609606,"timestamp":132820844711,"id":74,"parentId":34,"tags":{},"startTime":1778940793091,"traceId":"70171d193e8b9bcb"},{"name":"check-page","duration":621583,"timestamp":132820832795,"id":34,"parentId":19,"tags":{"page":"/api/hub/license"},"startTime":1778940793079,"traceId":"70171d193e8b9bcb"},{"name":"is-page-static","duration":616672,"timestamp":132820844763,"id":76,"parentId":36,"tags":{},"startTime":1778940793091,"traceId":"70171d193e8b9bcb"},{"name":"check-page","duration":628446,"timestamp":132820833233,"id":36,"parentId":19,"tags":{"page":"/api/hub/networks"},"startTime":1778940793080,"traceId":"70171d193e8b9bcb"},{"name":"is-page-static","duration":621301,"timestamp":132820844746,"id":75,"parentId":35,"tags":{},"startTime":1778940793091,"traceId":"70171d193e8b9bcb"},{"name":"check-page","duration":633220,"timestamp":132820832891,"id":35,"parentId":19,"tags":{"page":"/api/hub/messages"},"startTime":1778940793079,"traceId":"70171d193e8b9bcb"},{"name":"is-page-static","duration":645127,"timestamp":132820843997,"id":69,"parentId":28,"tags":{},"startTime":1778940793090,"traceId":"70171d193e8b9bcb"},{"name":"check-page","duration":658223,"timestamp":132820832123,"id":28,"parentId":19,"tags":{"page":"/api/hub/audit-log"},"startTime":1778940793078,"traceId":"70171d193e8b9bcb"},{"name":"is-page-static","duration":645824,"timestamp":132820844787,"id":77,"parentId":37,"tags":{},"startTime":1778940793091,"traceId":"70171d193e8b9bcb"},{"name":"check-page","duration":657285,"timestamp":132820833364,"id":37,"parentId":19,"tags":{"page":"/api/hub/nodes"},"startTime":1778940793080,"traceId":"70171d193e8b9bcb"},{"name":"is-page-static","duration":646021,"timestamp":132820844809,"id":79,"parentId":39,"tags":{},"startTime":1778940793091,"traceId":"70171d193e8b9bcb"},{"name":"check-page","duration":657327,"timestamp":132820833538,"id":39,"parentId":19,"tags":{"page":"/api/hub/send"},"startTime":1778940793080,"traceId":"70171d193e8b9bcb"},{"name":"is-page-static","duration":663530,"timestamp":132820842803,"id":66,"parentId":25,"tags":{},"startTime":1778940793089,"traceId":"70171d193e8b9bcb"},{"name":"check-page","duration":674624,"timestamp":132820831779,"id":25,"parentId":19,"tags":{"page":"/api/auth/login"},"startTime":1778940793078,"traceId":"70171d193e8b9bcb"},{"name":"is-page-static","duration":678374,"timestamp":132820844832,"id":81,"parentId":42,"tags":{},"startTime":1778940793091,"traceId":"70171d193e8b9bcb"},{"name":"check-page","duration":689418,"timestamp":132820833886,"id":42,"parentId":19,"tags":{"page":"/api/hub/server/[hostname]/health"},"startTime":1778940793080,"traceId":"70171d193e8b9bcb"},{"name":"is-page-static","duration":682483,"timestamp":132820844287,"id":70,"parentId":29,"tags":{},"startTime":1778940793091,"traceId":"70171d193e8b9bcb"},{"name":"check-page","duration":694633,"timestamp":132820832206,"id":29,"parentId":19,"tags":{"page":"/api/hub/auth"},"startTime":1778940793078,"traceId":"70171d193e8b9bcb"},{"name":"is-page-static","duration":682418,"timestamp":132820844851,"id":83,"parentId":45,"tags":{},"startTime":1778940793091,"traceId":"70171d193e8b9bcb"},{"name":"check-page","duration":693009,"timestamp":132820834302,"id":45,"parentId":19,"tags":{"page":"/api/hub/stats"},"startTime":1778940793081,"traceId":"70171d193e8b9bcb"},{"name":"is-page-static","duration":688633,"timestamp":132820844820,"id":80,"parentId":40,"tags":{},"startTime":1778940793091,"traceId":"70171d193e8b9bcb"},{"name":"check-page","duration":699911,"timestamp":132820833609,"id":40,"parentId":19,"tags":{"page":"/api/hub/server-logs"},"startTime":1778940793080,"traceId":"70171d193e8b9bcb"},{"name":"is-page-static","duration":696463,"timestamp":132820840748,"id":64,"parentId":21,"tags":{},"startTime":1778940793087,"traceId":"70171d193e8b9bcb"},{"name":"check-page","duration":709128,"timestamp":132820828130,"id":21,"parentId":19,"tags":{"page":"/_not-found"},"startTime":1778940793074,"traceId":"70171d193e8b9bcb"},{"name":"is-page-static","duration":692516,"timestamp":132820844883,"id":86,"parentId":48,"tags":{},"startTime":1778940793091,"traceId":"70171d193e8b9bcb"},{"name":"check-page","duration":702908,"timestamp":132820834521,"id":48,"parentId":19,"tags":{"page":"/api/hub/tasks"},"startTime":1778940793081,"traceId":"70171d193e8b9bcb"},{"name":"is-page-static","duration":692927,"timestamp":132820844840,"id":82,"parentId":44,"tags":{},"startTime":1778940793091,"traceId":"70171d193e8b9bcb"},{"name":"check-page","duration":703599,"timestamp":132820834213,"id":44,"parentId":19,"tags":{"page":"/api/hub/session"},"startTime":1778940793080,"traceId":"70171d193e8b9bcb"},{"name":"is-page-static","duration":715188,"timestamp":132820844797,"id":78,"parentId":38,"tags":{},"startTime":1778940793091,"traceId":"70171d193e8b9bcb"},{"name":"check-page","duration":726606,"timestamp":132820833457,"id":38,"parentId":19,"tags":{"page":"/api/hub/register"},"startTime":1778940793080,"traceId":"70171d193e8b9bcb"},{"name":"is-page-static","duration":715390,"timestamp":132820844914,"id":89,"parentId":51,"tags":{},"startTime":1778940793091,"traceId":"70171d193e8b9bcb"},{"name":"check-page","duration":724300,"timestamp":132820836043,"id":51,"parentId":19,"tags":{"page":"/favicon.ico"},"startTime":1778940793082,"traceId":"70171d193e8b9bcb"},{"name":"is-page-static","duration":715829,"timestamp":132820844865,"id":84,"parentId":46,"tags":{},"startTime":1778940793091,"traceId":"70171d193e8b9bcb"},{"name":"check-page","duration":726376,"timestamp":132820834370,"id":46,"parentId":19,"tags":{"page":"/api/hub/status"},"startTime":1778940793081,"traceId":"70171d193e8b9bcb"},{"name":"is-page-static","duration":716014,"timestamp":132820844895,"id":87,"parentId":49,"tags":{},"startTime":1778940793091,"traceId":"70171d193e8b9bcb"},{"name":"check-page","duration":726325,"timestamp":132820834616,"id":49,"parentId":19,"tags":{"page":"/api/hub/tmux"},"startTime":1778940793081,"traceId":"70171d193e8b9bcb"},{"name":"is-page-static","duration":710003,"timestamp":132820851112,"id":90,"parentId":24,"tags":{},"startTime":1778940793097,"traceId":"70171d193e8b9bcb"},{"name":"check-page","duration":731453,"timestamp":132820829694,"id":24,"parentId":19,"tags":{"page":"/api/anet/config"},"startTime":1778940793076,"traceId":"70171d193e8b9bcb"},{"name":"is-page-static","duration":719148,"timestamp":132820844872,"id":85,"parentId":47,"tags":{},"startTime":1778940793091,"traceId":"70171d193e8b9bcb"},{"name":"check-page","duration":729622,"timestamp":132820834447,"id":47,"parentId":19,"tags":{"page":"/api/hub/task-events"},"startTime":1778940793081,"traceId":"70171d193e8b9bcb"},{"name":"is-page-static","duration":711328,"timestamp":132820855249,"id":93,"parentId":43,"tags":{},"startTime":1778940793102,"traceId":"70171d193e8b9bcb"},{"name":"check-page","duration":732641,"timestamp":132820833983,"id":43,"parentId":19,"tags":{"page":"/api/hub/servers"},"startTime":1778940793080,"traceId":"70171d193e8b9bcb"},{"name":"is-page-static","duration":718462,"timestamp":132820852335,"id":91,"parentId":31,"tags":{},"startTime":1778940793099,"traceId":"70171d193e8b9bcb"},{"name":"check-page","duration":738450,"timestamp":132820832396,"id":31,"parentId":19,"tags":{"page":"/api/hub/events"},"startTime":1778940793079,"traceId":"70171d193e8b9bcb"},{"name":"is-page-static","duration":729519,"timestamp":132820853205,"id":92,"parentId":41,"tags":{},"startTime":1778940793099,"traceId":"70171d193e8b9bcb"},{"name":"check-page","duration":749119,"timestamp":132820833672,"id":41,"parentId":19,"tags":{"page":"/api/hub/server/[hostname]/agents"},"startTime":1778940793080,"traceId":"70171d193e8b9bcb"},{"name":"is-page-static","duration":766178,"timestamp":132820844906,"id":88,"parentId":50,"tags":{},"startTime":1778940793091,"traceId":"70171d193e8b9bcb"},{"name":"check-page","duration":775255,"timestamp":132820835900,"id":50,"parentId":19,"tags":{"page":"/api/hub/tokens"},"startTime":1778940793082,"traceId":"70171d193e8b9bcb"},{"name":"is-page-static","duration":761771,"timestamp":132820857596,"id":100,"parentId":58,"tags":{},"startTime":1778940793104,"traceId":"70171d193e8b9bcb"},{"name":"check-page","duration":781647,"timestamp":132820837779,"id":58,"parentId":19,"tags":{"page":"/server-logs"},"startTime":1778940793084,"traceId":"70171d193e8b9bcb"},{"name":"is-page-static","duration":766861,"timestamp":132820857569,"id":98,"parentId":55,"tags":{},"startTime":1778940793104,"traceId":"70171d193e8b9bcb"},{"name":"check-page","duration":787453,"timestamp":132820837038,"id":55,"parentId":19,"tags":{"page":"/node"},"startTime":1778940793083,"traceId":"70171d193e8b9bcb"},{"name":"is-page-static","duration":769261,"timestamp":132820857712,"id":101,"parentId":59,"tags":{},"startTime":1778940793104,"traceId":"70171d193e8b9bcb"},{"name":"check-page","duration":789135,"timestamp":132820837932,"id":59,"parentId":19,"tags":{"page":"/settings/networks"},"startTime":1778940793084,"traceId":"70171d193e8b9bcb"},{"name":"is-page-static","duration":770196,"timestamp":132820857500,"id":94,"parentId":23,"tags":{},"startTime":1778940793104,"traceId":"70171d193e8b9bcb"},{"name":"check-page","duration":798241,"timestamp":132820829510,"id":23,"parentId":19,"tags":{"page":"/admin"},"startTime":1778940793076,"traceId":"70171d193e8b9bcb"},{"name":"is-page-static","duration":772731,"timestamp":132820857530,"id":95,"parentId":52,"tags":{},"startTime":1778940793104,"traceId":"70171d193e8b9bcb"},{"name":"check-page","duration":793881,"timestamp":132820836425,"id":52,"parentId":19,"tags":{"page":"/login"},"startTime":1778940793083,"traceId":"70171d193e8b9bcb"},{"name":"is-page-static","duration":772909,"timestamp":132820857546,"id":96,"parentId":53,"tags":{},"startTime":1778940793104,"traceId":"70171d193e8b9bcb"},{"name":"check-page","duration":793878,"timestamp":132820836609,"id":53,"parentId":19,"tags":{"page":"/logs"},"startTime":1778940793083,"traceId":"70171d193e8b9bcb"},{"name":"is-page-static","duration":772917,"timestamp":132820857747,"id":102,"parentId":61,"tags":{},"startTime":1778940793104,"traceId":"70171d193e8b9bcb"},{"name":"check-page","duration":792325,"timestamp":132820838377,"id":61,"parentId":19,"tags":{"page":"/settings/tokens"},"startTime":1778940793085,"traceId":"70171d193e8b9bcb"},{"name":"is-page-static","duration":778196,"timestamp":132820857773,"id":104,"parentId":63,"tags":{},"startTime":1778940793104,"traceId":"70171d193e8b9bcb"},{"name":"check-page","duration":797432,"timestamp":132820838596,"id":63,"parentId":19,"tags":{"page":"/tasks"},"startTime":1778940793085,"traceId":"70171d193e8b9bcb"},{"name":"is-page-static","duration":757246,"timestamp":132820880077,"id":106,"parentId":57,"tags":{},"startTime":1778940793126,"traceId":"70171d193e8b9bcb"},{"name":"check-page","duration":799982,"timestamp":132820837379,"id":57,"parentId":19,"tags":{"page":"/"},"startTime":1778940793084,"traceId":"70171d193e8b9bcb"},{"name":"is-page-static","duration":770234,"timestamp":132820868273,"id":105,"parentId":60,"tags":{},"startTime":1778940793115,"traceId":"70171d193e8b9bcb"},{"name":"check-page","duration":800462,"timestamp":132820838078,"id":60,"parentId":19,"tags":{"page":"/settings"},"startTime":1778940793084,"traceId":"70171d193e8b9bcb"},{"name":"is-page-static","duration":781722,"timestamp":132820857763,"id":103,"parentId":62,"tags":{},"startTime":1778940793104,"traceId":"70171d193e8b9bcb"},{"name":"check-page","duration":801019,"timestamp":132820838486,"id":62,"parentId":19,"tags":{"page":"/tasks/[id]"},"startTime":1778940793085,"traceId":"70171d193e8b9bcb"},{"name":"is-page-static","duration":795257,"timestamp":132820857556,"id":97,"parentId":54,"tags":{},"startTime":1778940793104,"traceId":"70171d193e8b9bcb"},{"name":"check-page","duration":816053,"timestamp":132820836792,"id":54,"parentId":19,"tags":{"page":"/messages"},"startTime":1778940793083,"traceId":"70171d193e8b9bcb"},{"name":"is-page-static","duration":799792,"timestamp":132820857582,"id":99,"parentId":56,"tags":{},"startTime":1778940793104,"traceId":"70171d193e8b9bcb"},{"name":"check-page","duration":820201,"timestamp":132820837205,"id":56,"parentId":19,"tags":{"page":"/nodes"},"startTime":1778940793083,"traceId":"70171d193e8b9bcb"},{"name":"static-check","duration":831878,"timestamp":132820825662,"id":19,"parentId":1,"tags":{},"startTime":1778940793072,"traceId":"70171d193e8b9bcb"}]
|
|
2
|
-
[{"name":"write-routes-manifest","duration":
|
|
1
|
+
[{"name":"generate-buildid","duration":305,"timestamp":133431701730,"id":4,"parentId":1,"tags":{},"startTime":1778941403948,"traceId":"5d109780091e5078"},{"name":"load-custom-routes","duration":535,"timestamp":133431702192,"id":5,"parentId":1,"tags":{},"startTime":1778941403948,"traceId":"5d109780091e5078"},{"name":"create-dist-dir","duration":816,"timestamp":133431702776,"id":6,"parentId":1,"tags":{},"startTime":1778941403949,"traceId":"5d109780091e5078"},{"name":"clean","duration":33340,"timestamp":133431704445,"id":7,"parentId":1,"tags":{},"startTime":1778941403951,"traceId":"5d109780091e5078"},{"name":"discover-routes","duration":14832,"timestamp":133431823690,"id":8,"parentId":1,"tags":{},"startTime":1778941404070,"traceId":"5d109780091e5078"},{"name":"create-root-mapping","duration":136,"timestamp":133431838589,"id":9,"parentId":1,"tags":{},"startTime":1778941404085,"traceId":"5d109780091e5078"},{"name":"generate-route-types","duration":36409,"timestamp":133431841315,"id":10,"parentId":1,"tags":{},"startTime":1778941404088,"traceId":"5d109780091e5078"},{"name":"public-dir-conflict-check","duration":168,"timestamp":133431877848,"id":11,"parentId":1,"tags":{},"startTime":1778941404124,"traceId":"5d109780091e5078"},{"name":"generate-routes-manifest","duration":6609,"timestamp":133431878225,"id":12,"parentId":1,"tags":{},"startTime":1778941404125,"traceId":"5d109780091e5078"},{"name":"run-turbopack","duration":6195004,"timestamp":133431890965,"id":14,"parentId":1,"tags":{},"startTime":1778941404137,"traceId":"5d109780091e5078"},{"name":"turbopack-build-events","duration":104,"timestamp":133432230407,"id":15,"parentId":1,"tags":{},"startTime":1778941404477,"traceId":"5d109780091e5078"},{"name":"run-typescript","duration":9849483,"timestamp":133438096943,"id":16,"parentId":1,"tags":{},"startTime":1778941410343,"traceId":"5d109780091e5078"},{"name":"generate-required-server-files","duration":2341,"timestamp":133447947609,"id":18,"parentId":1,"tags":{},"startTime":1778941420194,"traceId":"5d109780091e5078"},{"name":"check-static-error-page","duration":15913,"timestamp":133448165633,"id":20,"parentId":19,"tags":{},"startTime":1778941420412,"traceId":"5d109780091e5078"},{"name":"is-page-static","duration":567459,"timestamp":133448185652,"id":65,"parentId":22,"tags":{},"startTime":1778941420432,"traceId":"5d109780091e5078"},{"name":"check-page","duration":584830,"timestamp":133448168484,"id":22,"parentId":19,"tags":{"page":"/_global-error"},"startTime":1778941420415,"traceId":"5d109780091e5078"},{"name":"is-page-static","duration":626767,"timestamp":133448185783,"id":66,"parentId":25,"tags":{},"startTime":1778941420432,"traceId":"5d109780091e5078"},{"name":"check-page","duration":640360,"timestamp":133448172449,"id":25,"parentId":19,"tags":{"page":"/api/auth/login"},"startTime":1778941420419,"traceId":"5d109780091e5078"},{"name":"is-page-static","duration":632196,"timestamp":133448185887,"id":67,"parentId":26,"tags":{},"startTime":1778941420432,"traceId":"5d109780091e5078"},{"name":"check-page","duration":645526,"timestamp":133448172630,"id":26,"parentId":19,"tags":{"page":"/api/auth/logout"},"startTime":1778941420419,"traceId":"5d109780091e5078"},{"name":"is-page-static","duration":639997,"timestamp":133448185356,"id":64,"parentId":21,"tags":{},"startTime":1778941420432,"traceId":"5d109780091e5078"},{"name":"check-page","duration":658520,"timestamp":133448166907,"id":21,"parentId":19,"tags":{"page":"/_not-found"},"startTime":1778941420413,"traceId":"5d109780091e5078"},{"name":"is-page-static","duration":638797,"timestamp":133448186800,"id":73,"parentId":33,"tags":{},"startTime":1778941420433,"traceId":"5d109780091e5078"},{"name":"check-page","duration":650762,"timestamp":133448174876,"id":33,"parentId":19,"tags":{"page":"/api/hub/inbox"},"startTime":1778941420421,"traceId":"5d109780091e5078"},{"name":"is-page-static","duration":660236,"timestamp":133448186912,"id":75,"parentId":35,"tags":{},"startTime":1778941420433,"traceId":"5d109780091e5078"},{"name":"check-page","duration":674804,"timestamp":133448175175,"id":35,"parentId":19,"tags":{"page":"/api/hub/messages"},"startTime":1778941420421,"traceId":"5d109780091e5078"},{"name":"is-page-static","duration":673047,"timestamp":133448186412,"id":70,"parentId":29,"tags":{},"startTime":1778941420433,"traceId":"5d109780091e5078"},{"name":"check-page","duration":685792,"timestamp":133448173764,"id":29,"parentId":19,"tags":{"page":"/api/hub/auth"},"startTime":1778941420420,"traceId":"5d109780091e5078"},{"name":"is-page-static","duration":685599,"timestamp":133448186928,"id":76,"parentId":36,"tags":{},"startTime":1778941420433,"traceId":"5d109780091e5078"},{"name":"check-page","duration":696905,"timestamp":133448175705,"id":36,"parentId":19,"tags":{"page":"/api/hub/networks"},"startTime":1778941420422,"traceId":"5d109780091e5078"},{"name":"is-page-static","duration":687336,"timestamp":133448186133,"id":69,"parentId":28,"tags":{},"startTime":1778941420432,"traceId":"5d109780091e5078"},{"name":"check-page","duration":700671,"timestamp":133448172867,"id":28,"parentId":19,"tags":{"page":"/api/hub/audit-log"},"startTime":1778941420419,"traceId":"5d109780091e5078"},{"name":"is-page-static","duration":692623,"timestamp":133448186624,"id":72,"parentId":32,"tags":{},"startTime":1778941420433,"traceId":"5d109780091e5078"},{"name":"check-page","duration":704573,"timestamp":133448174730,"id":32,"parentId":19,"tags":{"page":"/api/hub/health"},"startTime":1778941420421,"traceId":"5d109780091e5078"},{"name":"is-page-static","duration":694229,"timestamp":133448186979,"id":79,"parentId":39,"tags":{},"startTime":1778941420433,"traceId":"5d109780091e5078"},{"name":"check-page","duration":705233,"timestamp":133448176022,"id":39,"parentId":19,"tags":{"page":"/api/hub/send"},"startTime":1778941420422,"traceId":"5d109780091e5078"},{"name":"is-page-static","duration":712470,"timestamp":133448186970,"id":78,"parentId":38,"tags":{},"startTime":1778941420433,"traceId":"5d109780091e5078"},{"name":"check-page","duration":723566,"timestamp":133448175943,"id":38,"parentId":19,"tags":{"page":"/api/hub/register"},"startTime":1778941420422,"traceId":"5d109780091e5078"},{"name":"is-page-static","duration":712714,"timestamp":133448186991,"id":80,"parentId":40,"tags":{},"startTime":1778941420433,"traceId":"5d109780091e5078"},{"name":"check-page","duration":723633,"timestamp":133448176107,"id":40,"parentId":19,"tags":{"page":"/api/hub/server-logs"},"startTime":1778941420422,"traceId":"5d109780091e5078"},{"name":"is-page-static","duration":713870,"timestamp":133448186955,"id":77,"parentId":37,"tags":{},"startTime":1778941420433,"traceId":"5d109780091e5078"},{"name":"check-page","duration":725021,"timestamp":133448175847,"id":37,"parentId":19,"tags":{"page":"/api/hub/nodes"},"startTime":1778941420422,"traceId":"5d109780091e5078"},{"name":"is-page-static","duration":720513,"timestamp":133448187048,"id":83,"parentId":45,"tags":{},"startTime":1778941420433,"traceId":"5d109780091e5078"},{"name":"check-page","duration":730817,"timestamp":133448176799,"id":45,"parentId":19,"tags":{"page":"/api/hub/stats"},"startTime":1778941420423,"traceId":"5d109780091e5078"},{"name":"is-page-static","duration":725383,"timestamp":133448187078,"id":85,"parentId":47,"tags":{},"startTime":1778941420433,"traceId":"5d109780091e5078"},{"name":"check-page","duration":734274,"timestamp":133448178237,"id":47,"parentId":19,"tags":{"page":"/api/hub/task-events"},"startTime":1778941420425,"traceId":"5d109780091e5078"},{"name":"is-page-static","duration":729782,"timestamp":133448186014,"id":68,"parentId":27,"tags":{},"startTime":1778941420432,"traceId":"5d109780091e5078"},{"name":"check-page","duration":743115,"timestamp":133448172753,"id":27,"parentId":19,"tags":{"page":"/api/auth/v3"},"startTime":1778941420419,"traceId":"5d109780091e5078"},{"name":"is-page-static","duration":730135,"timestamp":133448187086,"id":86,"parentId":48,"tags":{},"startTime":1778941420433,"traceId":"5d109780091e5078"},{"name":"check-page","duration":738878,"timestamp":133448178407,"id":48,"parentId":19,"tags":{"page":"/api/hub/tasks"},"startTime":1778941420425,"traceId":"5d109780091e5078"},{"name":"is-page-static","duration":731669,"timestamp":133448187064,"id":84,"parentId":46,"tags":{},"startTime":1778941420433,"traceId":"5d109780091e5078"},{"name":"check-page","duration":741870,"timestamp":133448176901,"id":46,"parentId":19,"tags":{"page":"/api/hub/status"},"startTime":1778941420423,"traceId":"5d109780091e5078"},{"name":"is-page-static","duration":734829,"timestamp":133448187100,"id":87,"parentId":49,"tags":{},"startTime":1778941420433,"traceId":"5d109780091e5078"},{"name":"check-page","duration":743461,"timestamp":133448178513,"id":49,"parentId":19,"tags":{"page":"/api/hub/tmux"},"startTime":1778941420425,"traceId":"5d109780091e5078"},{"name":"is-page-static","duration":735772,"timestamp":133448187112,"id":88,"parentId":50,"tags":{},"startTime":1778941420433,"traceId":"5d109780091e5078"},{"name":"check-page","duration":744349,"timestamp":133448178574,"id":50,"parentId":19,"tags":{"page":"/api/hub/tokens"},"startTime":1778941420425,"traceId":"5d109780091e5078"},{"name":"is-page-static","duration":735960,"timestamp":133448187121,"id":89,"parentId":51,"tags":{},"startTime":1778941420433,"traceId":"5d109780091e5078"},{"name":"check-page","duration":744494,"timestamp":133448178623,"id":51,"parentId":19,"tags":{"page":"/favicon.ico"},"startTime":1778941420425,"traceId":"5d109780091e5078"},{"name":"is-page-static","duration":739174,"timestamp":133448186561,"id":71,"parentId":30,"tags":{},"startTime":1778941420433,"traceId":"5d109780091e5078"},{"name":"check-page","duration":751848,"timestamp":133448173936,"id":30,"parentId":19,"tags":{"page":"/api/hub/broadcast"},"startTime":1778941420420,"traceId":"5d109780091e5078"},{"name":"is-page-static","duration":739383,"timestamp":133448187034,"id":82,"parentId":44,"tags":{},"startTime":1778941420433,"traceId":"5d109780091e5078"},{"name":"check-page","duration":749781,"timestamp":133448176676,"id":44,"parentId":19,"tags":{"page":"/api/hub/session"},"startTime":1778941420423,"traceId":"5d109780091e5078"},{"name":"is-page-static","duration":735690,"timestamp":133448194524,"id":91,"parentId":31,"tags":{},"startTime":1778941420441,"traceId":"5d109780091e5078"},{"name":"check-page","duration":756025,"timestamp":133448174238,"id":31,"parentId":19,"tags":{"page":"/api/hub/events"},"startTime":1778941420421,"traceId":"5d109780091e5078"},{"name":"is-page-static","duration":746970,"timestamp":133448186883,"id":74,"parentId":34,"tags":{},"startTime":1778941420433,"traceId":"5d109780091e5078"},{"name":"check-page","duration":758867,"timestamp":133448175026,"id":34,"parentId":19,"tags":{"page":"/api/hub/license"},"startTime":1778941420421,"traceId":"5d109780091e5078"},{"name":"is-page-static","duration":742397,"timestamp":133448195348,"id":92,"parentId":41,"tags":{},"startTime":1778941420442,"traceId":"5d109780091e5078"},{"name":"check-page","duration":761634,"timestamp":133448176169,"id":41,"parentId":19,"tags":{"page":"/api/hub/server/[hostname]/agents"},"startTime":1778941420422,"traceId":"5d109780091e5078"},{"name":"is-page-static","duration":742547,"timestamp":133448199755,"id":96,"parentId":53,"tags":{},"startTime":1778941420446,"traceId":"5d109780091e5078"},{"name":"check-page","duration":763221,"timestamp":133448179119,"id":53,"parentId":19,"tags":{"page":"/logs"},"startTime":1778941420425,"traceId":"5d109780091e5078"},{"name":"is-page-static","duration":750838,"timestamp":133448199778,"id":98,"parentId":55,"tags":{},"startTime":1778941420446,"traceId":"5d109780091e5078"},{"name":"check-page","duration":771258,"timestamp":133448179400,"id":55,"parentId":19,"tags":{"page":"/node"},"startTime":1778941420426,"traceId":"5d109780091e5078"},{"name":"is-page-static","duration":767077,"timestamp":133448187020,"id":81,"parentId":42,"tags":{},"startTime":1778941420433,"traceId":"5d109780091e5078"},{"name":"check-page","duration":777773,"timestamp":133448176371,"id":42,"parentId":19,"tags":{"page":"/api/hub/server/[hostname]/health"},"startTime":1778941420423,"traceId":"5d109780091e5078"},{"name":"is-page-static","duration":758333,"timestamp":133448199791,"id":99,"parentId":56,"tags":{},"startTime":1778941420446,"traceId":"5d109780091e5078"},{"name":"check-page","duration":778676,"timestamp":133448179542,"id":56,"parentId":19,"tags":{"page":"/nodes"},"startTime":1778941420426,"traceId":"5d109780091e5078"},{"name":"is-page-static","duration":766587,"timestamp":133448199911,"id":101,"parentId":59,"tags":{},"startTime":1778941420446,"traceId":"5d109780091e5078"},{"name":"check-page","duration":786226,"timestamp":133448180315,"id":59,"parentId":19,"tags":{"page":"/settings/networks"},"startTime":1778941420427,"traceId":"5d109780091e5078"},{"name":"is-page-static","duration":778892,"timestamp":133448193193,"id":90,"parentId":24,"tags":{},"startTime":1778941420439,"traceId":"5d109780091e5078"},{"name":"check-page","duration":803074,"timestamp":133448169083,"id":24,"parentId":19,"tags":{"page":"/api/anet/config"},"startTime":1778941420415,"traceId":"5d109780091e5078"},{"name":"is-page-static","duration":775629,"timestamp":133448196866,"id":93,"parentId":43,"tags":{},"startTime":1778941420443,"traceId":"5d109780091e5078"},{"name":"check-page","duration":796070,"timestamp":133448176471,"id":43,"parentId":19,"tags":{"page":"/api/hub/servers"},"startTime":1778941420423,"traceId":"5d109780091e5078"},{"name":"is-page-static","duration":774505,"timestamp":133448199933,"id":102,"parentId":61,"tags":{},"startTime":1778941420446,"traceId":"5d109780091e5078"},{"name":"check-page","duration":793556,"timestamp":133448180939,"id":61,"parentId":19,"tags":{"page":"/settings/tokens"},"startTime":1778941420427,"traceId":"5d109780091e5078"},{"name":"is-page-static","duration":771328,"timestamp":133448210868,"id":105,"parentId":60,"tags":{},"startTime":1778941420457,"traceId":"5d109780091e5078"},{"name":"check-page","duration":801729,"timestamp":133448180515,"id":60,"parentId":19,"tags":{"page":"/settings"},"startTime":1778941420427,"traceId":"5d109780091e5078"},{"name":"is-page-static","duration":765662,"timestamp":133448224101,"id":106,"parentId":57,"tags":{},"startTime":1778941420470,"traceId":"5d109780091e5078"},{"name":"check-page","duration":810106,"timestamp":133448179701,"id":57,"parentId":19,"tags":{"page":"/"},"startTime":1778941420426,"traceId":"5d109780091e5078"},{"name":"is-page-static","duration":792135,"timestamp":133448199739,"id":95,"parentId":52,"tags":{},"startTime":1778941420446,"traceId":"5d109780091e5078"},{"name":"check-page","duration":812960,"timestamp":133448178959,"id":52,"parentId":19,"tags":{"page":"/login"},"startTime":1778941420425,"traceId":"5d109780091e5078"},{"name":"is-page-static","duration":792573,"timestamp":133448199708,"id":94,"parentId":23,"tags":{},"startTime":1778941420446,"traceId":"5d109780091e5078"},{"name":"check-page","duration":823505,"timestamp":133448168805,"id":23,"parentId":19,"tags":{"page":"/admin"},"startTime":1778941420415,"traceId":"5d109780091e5078"},{"name":"is-page-static","duration":803851,"timestamp":133448199769,"id":97,"parentId":54,"tags":{},"startTime":1778941420446,"traceId":"5d109780091e5078"},{"name":"check-page","duration":824413,"timestamp":133448179246,"id":54,"parentId":19,"tags":{"page":"/messages"},"startTime":1778941420426,"traceId":"5d109780091e5078"},{"name":"is-page-static","duration":822859,"timestamp":133448199803,"id":100,"parentId":58,"tags":{},"startTime":1778941420446,"traceId":"5d109780091e5078"},{"name":"check-page","duration":842595,"timestamp":133448180112,"id":58,"parentId":19,"tags":{"page":"/server-logs"},"startTime":1778941420426,"traceId":"5d109780091e5078"},{"name":"is-page-static","duration":831035,"timestamp":133448199960,"id":104,"parentId":63,"tags":{},"startTime":1778941420446,"traceId":"5d109780091e5078"},{"name":"check-page","duration":849783,"timestamp":133448181270,"id":63,"parentId":19,"tags":{"page":"/tasks"},"startTime":1778941420428,"traceId":"5d109780091e5078"},{"name":"is-page-static","duration":842692,"timestamp":133448199946,"id":103,"parentId":62,"tags":{},"startTime":1778941420446,"traceId":"5d109780091e5078"},{"name":"check-page","duration":861565,"timestamp":133448181115,"id":62,"parentId":19,"tags":{"page":"/tasks/[id]"},"startTime":1778941420427,"traceId":"5d109780091e5078"},{"name":"static-check","duration":878123,"timestamp":133448164592,"id":19,"parentId":1,"tags":{},"startTime":1778941420411,"traceId":"5d109780091e5078"}]
|
|
2
|
+
[{"name":"write-routes-manifest","duration":739,"timestamp":133449054949,"id":108,"parentId":1,"tags":{},"startTime":1778941421301,"traceId":"5d109780091e5078"},{"name":"load-dotenv","duration":43,"timestamp":133449067155,"id":111,"parentId":110,"tags":{},"startTime":1778941421313,"traceId":"5d109780091e5078"},{"name":"run-export-path-map","duration":556,"timestamp":133449070189,"id":112,"parentId":110,"tags":{},"startTime":1778941421316,"traceId":"5d109780091e5078"},{"name":"next-export","duration":581871,"timestamp":133449065936,"id":110,"parentId":1,"tags":{},"startTime":1778941421312,"traceId":"5d109780091e5078"},{"name":"move-exported-app-not-found-","duration":758,"timestamp":133449651773,"id":113,"parentId":109,"tags":{},"startTime":1778941421898,"traceId":"5d109780091e5078"},{"name":"move-exported-app-global-error-","duration":524,"timestamp":133449652667,"id":114,"parentId":109,"tags":{},"startTime":1778941421899,"traceId":"5d109780091e5078"},{"name":"static-generation","duration":595583,"timestamp":133449059986,"id":109,"parentId":1,"tags":{},"startTime":1778941421306,"traceId":"5d109780091e5078"},{"name":"write-routes-manifest","duration":492,"timestamp":133449655891,"id":115,"parentId":1,"tags":{},"startTime":1778941421902,"traceId":"5d109780091e5078"},{"name":"print-tree-view","duration":3722,"timestamp":133449675531,"id":116,"parentId":1,"tags":{},"startTime":1778941421922,"traceId":"5d109780091e5078"},{"name":"write-route-bundle-stats","duration":12387,"timestamp":133449679285,"id":117,"parentId":1,"tags":{},"startTime":1778941421926,"traceId":"5d109780091e5078"},{"name":"telemetry-flush","duration":20554,"timestamp":133449691700,"id":118,"parentId":1,"tags":{},"startTime":1778941421938,"traceId":"5d109780091e5078"},{"name":"next-build","duration":18068790,"timestamp":133431643499,"id":1,"tags":{"buildMode":"default","version":"16.2.3","bundler":"turbopack","has-custom-webpack-config":"false","use-build-worker":"true"},"startTime":1778941403890,"traceId":"5d109780091e5078"}]
|
package/.next/trace-build
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
[{"name":"run-turbopack","duration":
|
|
1
|
+
[{"name":"run-turbopack","duration":6195004,"timestamp":133431890965,"id":14,"parentId":1,"tags":{},"startTime":1778941404137,"traceId":"5d109780091e5078"},{"name":"turbopack-build-events","duration":104,"timestamp":133432230407,"id":15,"parentId":1,"tags":{},"startTime":1778941404477,"traceId":"5d109780091e5078"},{"name":"run-typescript","duration":9849483,"timestamp":133438096943,"id":16,"parentId":1,"tags":{},"startTime":1778941410343,"traceId":"5d109780091e5078"},{"name":"static-check","duration":878123,"timestamp":133448164592,"id":19,"parentId":1,"tags":{},"startTime":1778941420411,"traceId":"5d109780091e5078"},{"name":"static-generation","duration":595583,"timestamp":133449059986,"id":109,"parentId":1,"tags":{},"startTime":1778941421306,"traceId":"5d109780091e5078"},{"name":"telemetry-flush","duration":20554,"timestamp":133449691700,"id":118,"parentId":1,"tags":{},"startTime":1778941421938,"traceId":"5d109780091e5078"},{"name":"next-build","duration":18068790,"timestamp":133431643499,"id":1,"tags":{"buildMode":"default","version":"16.2.3","bundler":"turbopack","has-custom-webpack-config":"false","use-build-worker":"true"},"startTime":1778941403890,"traceId":"5d109780091e5078"}]
|
|
@@ -1050,6 +1050,18 @@ export function TopoGraph({ sessions, sseSessions, renameSignal }: TopoGraphProp
|
|
|
1050
1050
|
// 200ms ease-out joins the existing R264 color/border transition
|
|
1051
1051
|
// list on the same span.
|
|
1052
1052
|
const [hoveredZoomLevel, setHoveredZoomLevel] = useState(false);
|
|
1053
|
+
// Round 350 / Loop: reset-button icon hover-rotate preview of the
|
|
1054
|
+
// R184 click-spin. Pre-R350 hovering the reset button only changed
|
|
1055
|
+
// the button bg (white/5); the icon inside stayed perfectly still.
|
|
1056
|
+
// R350 nudges the icon -8° on hover — a tactile hint that this
|
|
1057
|
+
// button rotates the icon on click. When the click fires, the
|
|
1058
|
+
// R184 anet-reset-spin keyframe animation overrides the hover
|
|
1059
|
+
// transform for its 450 ms run (CSS animations win over transitions
|
|
1060
|
+
// on the same property); when the animation ends + React removes
|
|
1061
|
+
// the className, the inline transform eases back to whatever the
|
|
1062
|
+
// hover state says — either -8° (still hovering) or 0 (mouse left).
|
|
1063
|
+
// 350th-round milestone polish.
|
|
1064
|
+
const [hoveredReset, setHoveredReset] = useState(false);
|
|
1053
1065
|
// R135: panel-wide hover-elevation. The recent-signal + legend
|
|
1054
1066
|
// panels both already host clickable rows (R56/R116 recent rows,
|
|
1055
1067
|
// R55/R61 legend rows) and a clickable footer (R133), so the
|
|
@@ -1850,7 +1862,17 @@ export function TopoGraph({ sessions, sseSessions, renameSignal }: TopoGraphProp
|
|
|
1850
1862
|
weight; cyan-400/60 + ring-inset retained. The
|
|
1851
1863
|
R163/R196 hover/active deeps + R249 chrome-pop
|
|
1852
1864
|
click feedback continue unchanged. */
|
|
1853
|
-
|
|
1865
|
+
// R351: hover:tracking-wide extends the R344/R345/R347
|
|
1866
|
+
// hover-letter-spacing family to a 4th surface (chrome-
|
|
1867
|
+
// strip Ring/Grid pair). transition-colors className
|
|
1868
|
+
// dropped in favour of an inline transition spec that
|
|
1869
|
+
// bundles bg/color (150ms ease) + letter-spacing
|
|
1870
|
+
// (200ms ease-out) — Tailwind's transition-colors
|
|
1871
|
+
// doesn't list letter-spacing, so without this the
|
|
1872
|
+
// hover:tracking-wide would snap. Sibling change on
|
|
1873
|
+
// the Grid button below.
|
|
1874
|
+
className={`px-2.5 py-1 focus:outline-none focus-visible:ring-1 focus-visible:ring-cyan-400/60 focus-visible:ring-inset hover:tracking-wide ${layout === 'ring' ? 'bg-cyan-500/15 text-cyan-300 font-medium hover:bg-cyan-500/20 active:bg-cyan-500/25' : 'text-gray-400 hover:text-cyan-300 hover:bg-cyan-500/5 active:bg-cyan-500/15'} ${chromePopping === 'layout-ring' ? ' anet-chrome-pop' : ''}`}
|
|
1875
|
+
style={{ transition: 'background-color 150ms ease, color 150ms ease, letter-spacing 200ms ease-out' }}
|
|
1854
1876
|
>
|
|
1855
1877
|
Ring
|
|
1856
1878
|
</button>
|
|
@@ -1867,14 +1889,20 @@ export function TopoGraph({ sessions, sseSessions, renameSignal }: TopoGraphProp
|
|
|
1867
1889
|
// Round 306 / Loop: focus-visible:ring-2 → ring-1 sibling
|
|
1868
1890
|
// change to Ring above — unifies focus-ring width across
|
|
1869
1891
|
// all chrome buttons.
|
|
1870
|
-
|
|
1892
|
+
// R351 sibling — Grid button picks up hover:tracking-wide
|
|
1893
|
+
// + inline transition spec. Same vocabulary as Ring.
|
|
1894
|
+
className={`px-2.5 py-1 border-l focus:outline-none focus-visible:ring-1 focus-visible:ring-cyan-400/60 focus-visible:ring-inset hover:tracking-wide ${layout === 'grid' ? 'bg-cyan-500/15 text-cyan-300 font-medium hover:bg-cyan-500/20 active:bg-cyan-500/25' : 'text-gray-400 hover:text-cyan-300 hover:bg-cyan-500/5 active:bg-cyan-500/15'} ${chromePopping === 'layout-grid' ? ' anet-chrome-pop' : ''}`}
|
|
1871
1895
|
/* Round 268 / Loop: Grid button's left border (the
|
|
1872
1896
|
internal divider between Ring and Grid) picks up
|
|
1873
1897
|
pal.containerBorder, matching the wrapper change at
|
|
1874
1898
|
line ~1460 and the chrome strip's segmented borders
|
|
1875
|
-
(nodeSize, zoom). transition-colors className
|
|
1876
|
-
the border-color
|
|
1877
|
-
|
|
1899
|
+
(nodeSize, zoom). The R268 transition-colors className
|
|
1900
|
+
used to carry the border-color ease; R351 unfolds the
|
|
1901
|
+
transition list into the inline spec below so the
|
|
1902
|
+
letter-spacing tween rides alongside without snapping
|
|
1903
|
+
the border-color flip — border-color 200ms ease-out
|
|
1904
|
+
keeps R268's theme-toggle smoothness intact. */
|
|
1905
|
+
style={{ borderColor: pal.containerBorder, transition: 'background-color 150ms ease, color 150ms ease, border-color 200ms ease-out, letter-spacing 200ms ease-out' }}
|
|
1878
1906
|
>
|
|
1879
1907
|
Grid
|
|
1880
1908
|
</button>
|
|
@@ -8244,6 +8272,12 @@ export function TopoGraph({ sessions, sseSessions, renameSignal }: TopoGraphProp
|
|
|
8244
8272
|
onClick={() => { armResetSpin(); resetView(); }}
|
|
8245
8273
|
data-topo-chrome-reset
|
|
8246
8274
|
data-topo-chrome-reset-spinning={resetSpinning ? 'true' : 'false'}
|
|
8275
|
+
data-topo-chrome-reset-hover={hoveredReset ? 'true' : 'false'}
|
|
8276
|
+
// R350: hover state drives the icon transform below.
|
|
8277
|
+
onMouseEnter={() => setHoveredReset(true)}
|
|
8278
|
+
onMouseLeave={() => setHoveredReset(false)}
|
|
8279
|
+
onFocus={() => setHoveredReset(true)}
|
|
8280
|
+
onBlur={() => setHoveredReset(false)}
|
|
8247
8281
|
// R196: press-state deepens before R184 reset-spin fires on
|
|
8248
8282
|
// release — mouse-down dim then 450ms spin = full handshake.
|
|
8249
8283
|
className="p-1.5 rounded-md border hover:bg-white/5 active:bg-white/10 transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-cyan-400/60"
|
|
@@ -8273,6 +8307,17 @@ export function TopoGraph({ sessions, sseSessions, renameSignal }: TopoGraphProp
|
|
|
8273
8307
|
aria-hidden
|
|
8274
8308
|
className={resetSpinning ? 'anet-reset-spin' : undefined}
|
|
8275
8309
|
data-topo-chrome-reset-icon
|
|
8310
|
+
// R350: hover-rotate preview of the R184 click-spin.
|
|
8311
|
+
// Gated on !resetSpinning so the anet-reset-spin keyframe
|
|
8312
|
+
// owns transform during its 450ms run. transformOrigin
|
|
8313
|
+
// 'center' so rotation pivots around the icon's centre
|
|
8314
|
+
// (default would be top-left and the icon would arc).
|
|
8315
|
+
style={{
|
|
8316
|
+
transform: hoveredReset && !resetSpinning ? 'rotate(-8deg)' : 'rotate(0deg)',
|
|
8317
|
+
transformOrigin: 'center',
|
|
8318
|
+
transition: 'transform 200ms ease-out',
|
|
8319
|
+
}}
|
|
8320
|
+
data-topo-chrome-reset-icon-hover={hoveredReset && !resetSpinning ? 'true' : 'false'}
|
|
8276
8321
|
>
|
|
8277
8322
|
<path d="M3 12a9 9 0 1 0 9-9 9 9 0 0 0-6.4 2.6L3 8" />
|
|
8278
8323
|
<path d="M3 3v5h5" />
|
package/package.json
CHANGED
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
/* Round 351 verification: Layout-toggle Ring|Grid buttons gain
|
|
2
|
+
* hover-state letter-spacing (Tailwind hover:tracking-wide =
|
|
3
|
+
* 0.025em). Extends the R344 (footer) / R345 (panel titles) /
|
|
4
|
+
* R347 (zoom-level readout) hover-letter-spacing family to a
|
|
5
|
+
* 4th surface — the chrome-strip Ring/Grid layout-toggle pair.
|
|
6
|
+
*
|
|
7
|
+
* Pure-CSS approach: no new React state. transition-colors
|
|
8
|
+
* className dropped in favour of an inline transition spec
|
|
9
|
+
* that bundles bg/color (150ms ease) + letter-spacing (200ms
|
|
10
|
+
* ease-out) so the tracking-wide hover doesn't snap. Grid
|
|
11
|
+
* button additionally keeps border-color in the transition
|
|
12
|
+
* list (R268 theme-ease).
|
|
13
|
+
*
|
|
14
|
+
* Contract (cyber):
|
|
15
|
+
* - Rest: both buttons computed letter-spacing === 'normal' (0).
|
|
16
|
+
* - Hover Ring: computed letter-spacing === '0.4px' (0.025em ×
|
|
17
|
+
* ~14-16 base font; we'll accept any value > 0.1px).
|
|
18
|
+
* - Hover Grid: same.
|
|
19
|
+
* - Inline transition on both contains 'letter-spacing'.
|
|
20
|
+
* - Pre-R351 invariants: data-topo-chrome-layout attrs intact,
|
|
21
|
+
* R268 border-color transition still present on Grid.
|
|
22
|
+
*/
|
|
23
|
+
import { chromium } from 'playwright';
|
|
24
|
+
import { readFileSync } from 'node:fs';
|
|
25
|
+
|
|
26
|
+
const TOKEN = JSON.parse(readFileSync('/home/vansin/.anet/config.json', 'utf8')).token;
|
|
27
|
+
const browser = await chromium.launch({ headless: true });
|
|
28
|
+
const ctx = await browser.newContext({ viewport: { width: 1500, height: 1500 } });
|
|
29
|
+
await ctx.addCookies([{ name: 'anet_dashboard_session', value: `v3:${TOKEN}`, domain: '127.0.0.1', path: '/' }]);
|
|
30
|
+
await ctx.addInitScript(() => {
|
|
31
|
+
try { localStorage.setItem('anet-theme', 'cyber'); sessionStorage.setItem('anet_v3_auth', '1'); } catch {}
|
|
32
|
+
});
|
|
33
|
+
const fresh = new Date(Date.now() - 60 * 1000).toISOString();
|
|
34
|
+
await ctx.route('**/api/hub/status*', async (route) => {
|
|
35
|
+
const r = await route.fetch();
|
|
36
|
+
const b = await r.json();
|
|
37
|
+
const nid = (b.sessions || [])[0]?.network_id || 'default';
|
|
38
|
+
const mk = (alias) => ({
|
|
39
|
+
alias, status: 'working', model: 'claude-opus-4', runtime: 'claude-code-cli',
|
|
40
|
+
network_id: nid, project_dir: null,
|
|
41
|
+
created_at: fresh, updated_at: fresh, last_seen_at: fresh,
|
|
42
|
+
});
|
|
43
|
+
await route.fulfill({ response: r, json: { ...b, sessions: [ mk('a'), mk('b'), mk('c') ] } });
|
|
44
|
+
});
|
|
45
|
+
await ctx.route('**/api/hub/messages*', (r) => r.fulfill({ json: { messages: [] } }));
|
|
46
|
+
await ctx.route('**/api/hub/tasks*', (r) => r.fulfill({ json: { tasks: [] } }));
|
|
47
|
+
|
|
48
|
+
const page = await ctx.newPage();
|
|
49
|
+
await page.goto('http://127.0.0.1:3000/', { waitUntil: 'domcontentloaded' });
|
|
50
|
+
await page.waitForSelector('[data-topo-chrome-layout="ring"]', { timeout: 15000 });
|
|
51
|
+
await page.waitForSelector('[data-topo-chrome-layout="grid"]', { timeout: 5000 });
|
|
52
|
+
await page.waitForTimeout(300);
|
|
53
|
+
|
|
54
|
+
const restProbe = await page.evaluate(() => {
|
|
55
|
+
const r = document.querySelector('[data-topo-chrome-layout="ring"]');
|
|
56
|
+
const g = document.querySelector('[data-topo-chrome-layout="grid"]');
|
|
57
|
+
const rcs = r ? getComputedStyle(r) : null;
|
|
58
|
+
const gcs = g ? getComputedStyle(g) : null;
|
|
59
|
+
return {
|
|
60
|
+
ringLs: rcs?.letterSpacing ?? null,
|
|
61
|
+
ringTrans: rcs?.transition ?? null,
|
|
62
|
+
gridLs: gcs?.letterSpacing ?? null,
|
|
63
|
+
gridTrans: gcs?.transition ?? null,
|
|
64
|
+
};
|
|
65
|
+
});
|
|
66
|
+
|
|
67
|
+
// Hover Ring button.
|
|
68
|
+
await page.hover('[data-topo-chrome-layout="ring"]');
|
|
69
|
+
await page.waitForTimeout(300);
|
|
70
|
+
const ringHover = await page.evaluate(() => {
|
|
71
|
+
const r = document.querySelector('[data-topo-chrome-layout="ring"]');
|
|
72
|
+
return { ls: r ? getComputedStyle(r).letterSpacing : null };
|
|
73
|
+
});
|
|
74
|
+
|
|
75
|
+
// Move to Grid button.
|
|
76
|
+
await page.hover('[data-topo-chrome-layout="grid"]');
|
|
77
|
+
await page.waitForTimeout(300);
|
|
78
|
+
const gridHover = await page.evaluate(() => {
|
|
79
|
+
const g = document.querySelector('[data-topo-chrome-layout="grid"]');
|
|
80
|
+
return { ls: g ? getComputedStyle(g).letterSpacing : null };
|
|
81
|
+
});
|
|
82
|
+
|
|
83
|
+
await browser.close();
|
|
84
|
+
|
|
85
|
+
const isRestLs = (v) => v === 'normal' || v === '0px' || v === '0' || v === null;
|
|
86
|
+
const isHoverLs = (v) => {
|
|
87
|
+
// tracking-wide = 0.025em. At base 14-16px font, that's ~0.35-0.4px.
|
|
88
|
+
if (!v || v === 'normal') return false;
|
|
89
|
+
const n = parseFloat(v);
|
|
90
|
+
return Number.isFinite(n) && n > 0.2 && n < 1.0;
|
|
91
|
+
};
|
|
92
|
+
const hasTrans = (s, prop) =>
|
|
93
|
+
new RegExp(`${prop}\\s+\\d*\\.?\\d*s|${prop}\\s+\\d+ms`, 'i').test(s || '');
|
|
94
|
+
|
|
95
|
+
const results = {
|
|
96
|
+
rest_ring_ls_zero: isRestLs(restProbe.ringLs),
|
|
97
|
+
rest_grid_ls_zero: isRestLs(restProbe.gridLs),
|
|
98
|
+
ring_trans_has_ls: hasTrans(restProbe.ringTrans, 'letter-spacing'),
|
|
99
|
+
grid_trans_has_ls: hasTrans(restProbe.gridTrans, 'letter-spacing'),
|
|
100
|
+
grid_trans_has_bcol: hasTrans(restProbe.gridTrans, 'border-color'), // R268
|
|
101
|
+
hover_ring_tracked: isHoverLs(ringHover.ls),
|
|
102
|
+
hover_grid_tracked: isHoverLs(gridHover.ls),
|
|
103
|
+
};
|
|
104
|
+
const ok = Object.values(results).every(Boolean);
|
|
105
|
+
console.log(`${ok ? '✅' : '❌'} layout-toggle hover tracking-wide:`, JSON.stringify(results),
|
|
106
|
+
'\n rest: ', restProbe,
|
|
107
|
+
'\n hover ring: ', ringHover,
|
|
108
|
+
'\n hover grid: ', gridHover);
|
|
109
|
+
process.exit(ok ? 0 : 1);
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
/* Round 350 verification: chrome reset-button icon gains a hover-
|
|
2
|
+
* rotate preview of the R184 click-spin. Pre-R350 hovering the reset
|
|
3
|
+
* button only changed the button bg (white/5); the icon stayed still.
|
|
4
|
+
* R350 nudges the icon -8° on hover — tactile hint that this button
|
|
5
|
+
* rotates the icon on click. Gated on !resetSpinning so anet-reset-
|
|
6
|
+
* spin keyframe still owns transform during its 450 ms run.
|
|
7
|
+
* 350th-round milestone polish.
|
|
8
|
+
*
|
|
9
|
+
* Contract:
|
|
10
|
+
* - Rest: icon transform 'rotate(0deg)' (no rotation), transformOrigin
|
|
11
|
+
* 'center'.
|
|
12
|
+
* - Hover: icon transform 'rotate(-8deg)'.
|
|
13
|
+
* - Inline transition contains 'transform'.
|
|
14
|
+
* - data-topo-chrome-reset-hover toggles on container; data-topo-
|
|
15
|
+
* chrome-reset-icon-hover mirrors on the icon (only when !spinning).
|
|
16
|
+
* - Pre-R350 invariants: R288 strokeWidth=2.5 + R184 anet-reset-spin
|
|
17
|
+
* className gate intact (no spin running at rest).
|
|
18
|
+
*/
|
|
19
|
+
import { chromium } from 'playwright';
|
|
20
|
+
import { readFileSync } from 'node:fs';
|
|
21
|
+
|
|
22
|
+
const TOKEN = JSON.parse(readFileSync('/home/vansin/.anet/config.json', 'utf8')).token;
|
|
23
|
+
const browser = await chromium.launch({ headless: true });
|
|
24
|
+
const ctx = await browser.newContext({ viewport: { width: 1500, height: 1500 } });
|
|
25
|
+
await ctx.addCookies([{ name: 'anet_dashboard_session', value: `v3:${TOKEN}`, domain: '127.0.0.1', path: '/' }]);
|
|
26
|
+
await ctx.addInitScript(() => {
|
|
27
|
+
try { localStorage.setItem('anet-theme', 'cyber'); sessionStorage.setItem('anet_v3_auth', '1'); } catch {}
|
|
28
|
+
});
|
|
29
|
+
const fresh = new Date(Date.now() - 60 * 1000).toISOString();
|
|
30
|
+
await ctx.route('**/api/hub/status*', async (route) => {
|
|
31
|
+
const r = await route.fetch();
|
|
32
|
+
const b = await r.json();
|
|
33
|
+
const nid = (b.sessions || [])[0]?.network_id || 'default';
|
|
34
|
+
const mk = (alias) => ({
|
|
35
|
+
alias, status: 'working', model: 'claude-opus-4', runtime: 'claude-code-cli',
|
|
36
|
+
network_id: nid, project_dir: null,
|
|
37
|
+
created_at: fresh, updated_at: fresh, last_seen_at: fresh,
|
|
38
|
+
});
|
|
39
|
+
await route.fulfill({ response: r, json: { ...b, sessions: [ mk('a'), mk('b'), mk('c') ] } });
|
|
40
|
+
});
|
|
41
|
+
await ctx.route('**/api/hub/messages*', (r) => r.fulfill({ json: { messages: [] } }));
|
|
42
|
+
await ctx.route('**/api/hub/tasks*', (r) => r.fulfill({ json: { tasks: [] } }));
|
|
43
|
+
|
|
44
|
+
const page = await ctx.newPage();
|
|
45
|
+
await page.goto('http://127.0.0.1:3000/', { waitUntil: 'domcontentloaded' });
|
|
46
|
+
await page.waitForSelector('[data-topo-chrome-reset]', { timeout: 15000 });
|
|
47
|
+
await page.waitForTimeout(300);
|
|
48
|
+
|
|
49
|
+
// Rest probe.
|
|
50
|
+
const restProbe = await page.evaluate(() => {
|
|
51
|
+
const btn = document.querySelector('[data-topo-chrome-reset]');
|
|
52
|
+
const ico = document.querySelector('[data-topo-chrome-reset-icon]');
|
|
53
|
+
const cs = ico ? getComputedStyle(ico) : null;
|
|
54
|
+
return {
|
|
55
|
+
btnHover: btn?.getAttribute('data-topo-chrome-reset-hover') ?? null,
|
|
56
|
+
icoHover: ico?.getAttribute('data-topo-chrome-reset-icon-hover') ?? null,
|
|
57
|
+
icoTransform: cs?.transform ?? null,
|
|
58
|
+
icoTransition: cs?.transition ?? null,
|
|
59
|
+
icoStrokeW: ico?.getAttribute('stroke-width') ?? null,
|
|
60
|
+
spinClass: ico?.getAttribute('class') ?? null,
|
|
61
|
+
};
|
|
62
|
+
});
|
|
63
|
+
|
|
64
|
+
// Hover the reset button.
|
|
65
|
+
await page.hover('[data-topo-chrome-reset]');
|
|
66
|
+
await page.waitForTimeout(300);
|
|
67
|
+
const hoverProbe = await page.evaluate(() => {
|
|
68
|
+
const btn = document.querySelector('[data-topo-chrome-reset]');
|
|
69
|
+
const ico = document.querySelector('[data-topo-chrome-reset-icon]');
|
|
70
|
+
const cs = ico ? getComputedStyle(ico) : null;
|
|
71
|
+
return {
|
|
72
|
+
btnHover: btn?.getAttribute('data-topo-chrome-reset-hover') ?? null,
|
|
73
|
+
icoHover: ico?.getAttribute('data-topo-chrome-reset-icon-hover') ?? null,
|
|
74
|
+
icoTransform: cs?.transform ?? null,
|
|
75
|
+
};
|
|
76
|
+
});
|
|
77
|
+
|
|
78
|
+
await browser.close();
|
|
79
|
+
|
|
80
|
+
const hasTrans = (s) => /transform\s+\d*\.?\d*s|transform\s+\d+ms/i.test(s || '');
|
|
81
|
+
// computed transform 'none' or a matrix near identity at rest.
|
|
82
|
+
const isRestTransform = (t) => t === 'none' || /matrix\(1, 0, 0, 1, 0, 0\)/.test(t || '') ||
|
|
83
|
+
/matrix\(0\.999/i.test(t || '') /* tiny rounding tolerance */;
|
|
84
|
+
// computed transform for -8deg ≈ matrix(0.990, -0.139, 0.139, 0.990, 0, 0).
|
|
85
|
+
const isHoverTransform = (t) => /matrix\(0\.99/i.test(t || '') && /-0\.13/i.test(t || '');
|
|
86
|
+
|
|
87
|
+
const results = {
|
|
88
|
+
rest_btn_false: restProbe.btnHover === 'false',
|
|
89
|
+
rest_ico_false: restProbe.icoHover === 'false',
|
|
90
|
+
rest_no_rotation: isRestTransform(restProbe.icoTransform),
|
|
91
|
+
trans_has_transform: hasTrans(restProbe.icoTransition),
|
|
92
|
+
rest_strokew_2_5: restProbe.icoStrokeW === '2.5', // R288
|
|
93
|
+
rest_no_spin_class: !/anet-reset-spin/.test(restProbe.spinClass || ''),
|
|
94
|
+
hover_btn_true: hoverProbe.btnHover === 'true',
|
|
95
|
+
hover_ico_true: hoverProbe.icoHover === 'true',
|
|
96
|
+
hover_rotated: isHoverTransform(hoverProbe.icoTransform),
|
|
97
|
+
};
|
|
98
|
+
const ok = Object.values(results).every(Boolean);
|
|
99
|
+
console.log(`${ok ? '✅' : '❌'} reset icon hover-rotate:`, JSON.stringify(results),
|
|
100
|
+
'\n rest: ', restProbe,
|
|
101
|
+
'\n hover:', hoverProbe);
|
|
102
|
+
process.exit(ok ? 0 : 1);
|
|
@@ -1 +0,0 @@
|
|
|
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}},"useLicense",0,function(){let{data:e,error:a}=(0,s.default)("/api/hub/license",t,{refreshInterval:6e4});return{license:e?.ok?e:null,error:a}},"useMessages",0,function(e=100){let{networkId:l}=(0,a.useNetworkId)(),{data:i,error:c,isLoading:d}=(0,s.default)(n(`/api/hub/messages?limit=${e}`,l),t,r);return{messages:i?.messages||[],error:c,isLoading:d}},"useSessions",0,function(){let{networkId:e}=(0,a.useNetworkId)(),{data:l,error:i,isLoading:c}=(0,s.default)(n("/api/hub/status",e),t,r);return{sessions:l?.sessions||[],hint:l?._hint,error:i,isLoading:c}},"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:c,error:d,isLoading:o}=(0,s.default)(n(`/api/hub/tasks?${i}`,l),t,r);return{tasks:c?.tasks||[],count:c?.count??0,source:c?.source,error:d,isLoading:o}}])},70286,e=>{"use strict";e.s(["DASHBOARD_VERSION",0,"0.5.1-preview.9"],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)(),{license:i}=(0,r.useLicense)(),[c,d]=(0,a.useState)(""),[o,x]=(0,a.useState)(""),[m,h]=(0,a.useState)(""),[g,u]=(0,a.useState)(""),[p,N]=(0,a.useState)(""),b="flex flex-col gap-1 sm:flex-row sm:items-start sm:justify-between",j="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-1 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:"rounded-md px-2.5 py-1 text-gray-500 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:b,children:[(0,s.jsx)("span",{className:"text-gray-500 shrink-0",children:"Hub URL"}),(0,s.jsx)("span",{className:`text-cyan-300 ${j}`,children:e?.hub||"not configured"})]}),(0,s.jsxs)("div",{className:b,children:[(0,s.jsx)("span",{className:"text-gray-500",children:"Config Source"}),(0,s.jsx)("span",{className:`text-gray-300 ${j}`,children:e?.source==="file"?"Local file (~/.anet/config.json)":e?.source==="runtime-env"?"Vercel env vars":"Missing"})]}),(0,s.jsxs)("div",{className:b,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"} ${j}`,children:e?.tokenConfigured?`Configured (${e.tokenPreview})`:"Not configured"})]}),(0,s.jsxs)("div",{className:b,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:b,children:[(0,s.jsx)("span",{className:"text-gray-500",children:"Version"}),(0,s.jsx)("span",{className:`text-gray-300 ${j}`,children:l?.version||"--"})]}),(0,s.jsxs)("div",{className:b,children:[(0,s.jsx)("span",{className:"text-gray-500",children:"Sessions"}),(0,s.jsx)("span",{className:`text-gray-300 ${j}`,children:l?.sessions??"--"})]}),(0,s.jsxs)("div",{className:b,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 ${j}`,children:l?.sse_connections??"--"})]}),(0,s.jsxs)("div",{className:b,children:[(0,s.jsx)("span",{className:"text-gray-500",children:"Uptime"}),(0,s.jsx)("span",{className:`text-gray-300 ${j}`,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:b,children:[(0,s.jsx)("span",{className:"text-gray-500",children:"Version"}),(0,s.jsx)("span",{className:`text-gray-300 font-mono ${j}`,title:"From package.json @sleep2agi/agent-network-dashboard",children:n.DASHBOARD_VERSION})]}),(0,s.jsxs)("div",{className:b,children:[(0,s.jsx)("span",{className:"text-gray-500",children:"Data Layer"}),(0,s.jsx)("span",{className:`text-gray-300 ${j}`,children:"SWR (5s refresh, 3s dedup)"})]}),(0,s.jsxs)("div",{className:b,children:[(0,s.jsx)("span",{className:"text-gray-500",children:"Pages"}),(0,s.jsx)("span",{className:`text-gray-300 ${j}`,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.jsxs)("h2",{className:"text-sm font-semibold text-gray-300 mb-4 flex items-center gap-2",children:["License",i?.license&&(0,s.jsxs)("span",{className:`inline-flex items-center gap-1.5 text-[10px] font-medium px-2 py-0.5 rounded-full border ${"pro"===i.license.type?"text-green-300 bg-green-500/10 border-green-500/30":i.license.days_left<=7?"text-red-300 bg-red-500/10 border-red-500/30":"text-amber-300 bg-amber-500/10 border-amber-500/30"}`,children:[(0,s.jsx)("span",{"aria-hidden":!0,className:"w-1.5 h-1.5 rounded-full bg-current"}),i.license.type,i.license.days_left?` \xb7 ${i.license.days_left}d left`:""]})]}),i?.license?(0,s.jsxs)("div",{className:"space-y-3 text-sm",children:[i.license.days_left<=7&&(0,s.jsxs)("div",{className:b,children:[(0,s.jsx)("span",{className:"text-red-400 font-medium",children:"⚠ Expiring soon"}),(0,s.jsxs)("span",{className:"text-red-400",children:[i.license.days_left," days left"]})]}),(0,s.jsxs)("div",{className:b,children:[(0,s.jsx)("span",{className:"text-gray-500",children:"Expires"}),(0,s.jsx)("span",{className:`text-gray-300 ${j}`,children:i.license.expires_at})]}),i.limits&&(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)("div",{className:b,children:[(0,s.jsx)("span",{className:"text-gray-500",children:"Max Agents"}),(0,s.jsx)("span",{className:`text-gray-300 ${j}`,children:i.limits.max_agents})]}),(0,s.jsxs)("div",{className:b,children:[(0,s.jsx)("span",{className:"text-gray-500",children:"Max Networks"}),(0,s.jsx)("span",{className:`text-gray-300 ${j}`,children:i.limits.max_networks})]}),(0,s.jsxs)("div",{className:b,children:[(0,s.jsx)("span",{className:"text-gray-500",children:"Tasks/Day"}),(0,s.jsx)("span",{className:`text-gray-300 ${j}`,children:i.limits.max_tasks_day})]})]}),(0,s.jsxs)("div",{className:"pt-3 border-t border-[#2a2a4a]",children:[(0,s.jsxs)("div",{className:"flex gap-2",children:[(0,s.jsx)("input",{type:"text",value:c,onChange:e=>d(e.target.value),placeholder:"anet-XXXX-XXXX-XXXX-XXXX",className:"flex-1 bg-[#0a0a15] border border-[#2a2a4a] rounded px-3 py-2 text-xs text-white placeholder-gray-600 focus:outline-none"}),(0,s.jsx)("button",{onClick:async()=>{if(!c.trim())return;let e=await fetch("/api/hub/license",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({key:c})}),s=await e.json();x(s.ok?`Activated: ${s.type}`:`Failed: ${s.error}`),s.ok&&d(""),setTimeout(()=>x(""),5e3)},className:"px-3 py-2 bg-cyan-600 hover:bg-cyan-500 text-white text-xs rounded transition-colors",children:"Activate"})]}),o&&(0,s.jsx)("div",{className:`mt-2 text-xs ${o.startsWith("Failed")?"text-red-400":"text-green-400"}`,children:o})]})]}):(0,s.jsx)("div",{className:"text-xs text-gray-600",children:"License info not available"})]}),(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:m,onChange:e=>h(e.target.value),placeholder:"Current 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,s.jsx)("input",{type:"password",value:g,onChange:e=>u(e.target.value),placeholder:"New 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,s.jsx)("button",{onClick:async()=>{if(!m||!g)return;let e=sessionStorage.getItem("anet_v3_auth");if(!e)return void N("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:m,new_password:g})}),t=await a.json();if(N(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}))}h(""),u("")}setTimeout(()=>N(""),5e3)},disabled:!m||!g,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"})]}),p&&(0,s.jsx)("div",{className:`mt-2 text-xs ${p.startsWith("Failed")?"text-red-400":"text-green-400"}`,children:p})]}),(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 →"})]})]})]})]})]})}])}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,70286,e=>{"use strict";e.s(["DASHBOARD_VERSION",0,"0.5.1-preview.9"],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,g]=(0,r.useState)(""),[h,m]=(0,r.useState)(!1),u=async t=>{t.preventDefault(),m(!0),g("");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}g(r.error||"Login failed")}catch{g("Connection failed")}m(!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),g("")},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-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-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 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:h||!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:[h&&(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:h?"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]})]})]})]})}])}]);
|
|
File without changes
|
/package/.next/static/{O8CVuAcu03lV_emn4fTFW → xhrrmtOS6EmcuOXkSdTGX}/_clientMiddlewareManifest.js
RENAMED
|
File without changes
|