@sleep2agi/agent-network-dashboard 0.5.3-preview.211 → 0.5.3-preview.213

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.
Files changed (156) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/build-manifest.json +3 -3
  3. package/.next/diagnostics/route-bundle-stats.json +5 -5
  4. package/.next/fallback-build-manifest.json +3 -3
  5. package/.next/server/app/_global-error.html +1 -1
  6. package/.next/server/app/_global-error.rsc +1 -1
  7. package/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  8. package/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  9. package/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  10. package/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  11. package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  12. package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  13. package/.next/server/app/_not-found.html +2 -2
  14. package/.next/server/app/_not-found.rsc +2 -2
  15. package/.next/server/app/_not-found.segments/_full.segment.rsc +2 -2
  16. package/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  17. package/.next/server/app/_not-found.segments/_index.segment.rsc +2 -2
  18. package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  19. package/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  20. package/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  21. package/.next/server/app/admin/page_client-reference-manifest.js +1 -1
  22. package/.next/server/app/admin.html +2 -2
  23. package/.next/server/app/admin.rsc +2 -2
  24. package/.next/server/app/admin.segments/_full.segment.rsc +2 -2
  25. package/.next/server/app/admin.segments/_head.segment.rsc +1 -1
  26. package/.next/server/app/admin.segments/_index.segment.rsc +2 -2
  27. package/.next/server/app/admin.segments/_tree.segment.rsc +2 -2
  28. package/.next/server/app/admin.segments/admin/__PAGE__.segment.rsc +1 -1
  29. package/.next/server/app/admin.segments/admin.segment.rsc +1 -1
  30. package/.next/server/app/index.html +2 -2
  31. package/.next/server/app/index.rsc +3 -3
  32. package/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
  33. package/.next/server/app/index.segments/_full.segment.rsc +3 -3
  34. package/.next/server/app/index.segments/_head.segment.rsc +1 -1
  35. package/.next/server/app/index.segments/_index.segment.rsc +2 -2
  36. package/.next/server/app/index.segments/_tree.segment.rsc +2 -2
  37. package/.next/server/app/login/page_client-reference-manifest.js +1 -1
  38. package/.next/server/app/login.html +2 -2
  39. package/.next/server/app/login.rsc +3 -3
  40. package/.next/server/app/login.segments/_full.segment.rsc +3 -3
  41. package/.next/server/app/login.segments/_head.segment.rsc +1 -1
  42. package/.next/server/app/login.segments/_index.segment.rsc +2 -2
  43. package/.next/server/app/login.segments/_tree.segment.rsc +2 -2
  44. package/.next/server/app/login.segments/login/__PAGE__.segment.rsc +2 -2
  45. package/.next/server/app/login.segments/login.segment.rsc +1 -1
  46. package/.next/server/app/logs/page_client-reference-manifest.js +1 -1
  47. package/.next/server/app/logs.html +2 -2
  48. package/.next/server/app/logs.rsc +2 -2
  49. package/.next/server/app/logs.segments/_full.segment.rsc +2 -2
  50. package/.next/server/app/logs.segments/_head.segment.rsc +1 -1
  51. package/.next/server/app/logs.segments/_index.segment.rsc +2 -2
  52. package/.next/server/app/logs.segments/_tree.segment.rsc +2 -2
  53. package/.next/server/app/logs.segments/logs/__PAGE__.segment.rsc +1 -1
  54. package/.next/server/app/logs.segments/logs.segment.rsc +1 -1
  55. package/.next/server/app/messages/page_client-reference-manifest.js +1 -1
  56. package/.next/server/app/messages.html +2 -2
  57. package/.next/server/app/messages.rsc +2 -2
  58. package/.next/server/app/messages.segments/_full.segment.rsc +2 -2
  59. package/.next/server/app/messages.segments/_head.segment.rsc +1 -1
  60. package/.next/server/app/messages.segments/_index.segment.rsc +2 -2
  61. package/.next/server/app/messages.segments/_tree.segment.rsc +2 -2
  62. package/.next/server/app/messages.segments/messages/__PAGE__.segment.rsc +1 -1
  63. package/.next/server/app/messages.segments/messages.segment.rsc +1 -1
  64. package/.next/server/app/node/page_client-reference-manifest.js +1 -1
  65. package/.next/server/app/node.html +2 -2
  66. package/.next/server/app/node.rsc +2 -2
  67. package/.next/server/app/node.segments/_full.segment.rsc +2 -2
  68. package/.next/server/app/node.segments/_head.segment.rsc +1 -1
  69. package/.next/server/app/node.segments/_index.segment.rsc +2 -2
  70. package/.next/server/app/node.segments/_tree.segment.rsc +2 -2
  71. package/.next/server/app/node.segments/node/__PAGE__.segment.rsc +1 -1
  72. package/.next/server/app/node.segments/node.segment.rsc +1 -1
  73. package/.next/server/app/nodes/page_client-reference-manifest.js +1 -1
  74. package/.next/server/app/nodes.html +2 -2
  75. package/.next/server/app/nodes.rsc +2 -2
  76. package/.next/server/app/nodes.segments/_full.segment.rsc +2 -2
  77. package/.next/server/app/nodes.segments/_head.segment.rsc +1 -1
  78. package/.next/server/app/nodes.segments/_index.segment.rsc +2 -2
  79. package/.next/server/app/nodes.segments/_tree.segment.rsc +2 -2
  80. package/.next/server/app/nodes.segments/nodes/__PAGE__.segment.rsc +1 -1
  81. package/.next/server/app/nodes.segments/nodes.segment.rsc +1 -1
  82. package/.next/server/app/page_client-reference-manifest.js +1 -1
  83. package/.next/server/app/server-logs/page_client-reference-manifest.js +1 -1
  84. package/.next/server/app/server-logs.html +2 -2
  85. package/.next/server/app/server-logs.rsc +2 -2
  86. package/.next/server/app/server-logs.segments/_full.segment.rsc +2 -2
  87. package/.next/server/app/server-logs.segments/_head.segment.rsc +1 -1
  88. package/.next/server/app/server-logs.segments/_index.segment.rsc +2 -2
  89. package/.next/server/app/server-logs.segments/_tree.segment.rsc +2 -2
  90. package/.next/server/app/server-logs.segments/server-logs/__PAGE__.segment.rsc +1 -1
  91. package/.next/server/app/server-logs.segments/server-logs.segment.rsc +1 -1
  92. package/.next/server/app/settings/networks/page_client-reference-manifest.js +1 -1
  93. package/.next/server/app/settings/networks.html +2 -2
  94. package/.next/server/app/settings/networks.rsc +2 -2
  95. package/.next/server/app/settings/networks.segments/_full.segment.rsc +2 -2
  96. package/.next/server/app/settings/networks.segments/_head.segment.rsc +1 -1
  97. package/.next/server/app/settings/networks.segments/_index.segment.rsc +2 -2
  98. package/.next/server/app/settings/networks.segments/_tree.segment.rsc +2 -2
  99. package/.next/server/app/settings/networks.segments/settings/networks/__PAGE__.segment.rsc +1 -1
  100. package/.next/server/app/settings/networks.segments/settings/networks.segment.rsc +1 -1
  101. package/.next/server/app/settings/networks.segments/settings.segment.rsc +1 -1
  102. package/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  103. package/.next/server/app/settings/tokens/page_client-reference-manifest.js +1 -1
  104. package/.next/server/app/settings/tokens.html +2 -2
  105. package/.next/server/app/settings/tokens.rsc +2 -2
  106. package/.next/server/app/settings/tokens.segments/_full.segment.rsc +2 -2
  107. package/.next/server/app/settings/tokens.segments/_head.segment.rsc +1 -1
  108. package/.next/server/app/settings/tokens.segments/_index.segment.rsc +2 -2
  109. package/.next/server/app/settings/tokens.segments/_tree.segment.rsc +2 -2
  110. package/.next/server/app/settings/tokens.segments/settings/tokens/__PAGE__.segment.rsc +1 -1
  111. package/.next/server/app/settings/tokens.segments/settings/tokens.segment.rsc +1 -1
  112. package/.next/server/app/settings/tokens.segments/settings.segment.rsc +1 -1
  113. package/.next/server/app/settings.html +2 -2
  114. package/.next/server/app/settings.rsc +3 -3
  115. package/.next/server/app/settings.segments/_full.segment.rsc +3 -3
  116. package/.next/server/app/settings.segments/_head.segment.rsc +1 -1
  117. package/.next/server/app/settings.segments/_index.segment.rsc +2 -2
  118. package/.next/server/app/settings.segments/_tree.segment.rsc +2 -2
  119. package/.next/server/app/settings.segments/settings/__PAGE__.segment.rsc +2 -2
  120. package/.next/server/app/settings.segments/settings.segment.rsc +1 -1
  121. package/.next/server/app/tasks/[id]/page_client-reference-manifest.js +1 -1
  122. package/.next/server/app/tasks/page_client-reference-manifest.js +1 -1
  123. package/.next/server/app/tasks.html +2 -2
  124. package/.next/server/app/tasks.rsc +2 -2
  125. package/.next/server/app/tasks.segments/_full.segment.rsc +2 -2
  126. package/.next/server/app/tasks.segments/_head.segment.rsc +1 -1
  127. package/.next/server/app/tasks.segments/_index.segment.rsc +2 -2
  128. package/.next/server/app/tasks.segments/_tree.segment.rsc +2 -2
  129. package/.next/server/app/tasks.segments/tasks/__PAGE__.segment.rsc +1 -1
  130. package/.next/server/app/tasks.segments/tasks.segment.rsc +1 -1
  131. package/.next/server/chunks/ssr/[root-of-the-server]__0sv~g.o._.js +1 -1
  132. package/.next/server/chunks/ssr/[root-of-the-server]__0sv~g.o._.js.map +1 -1
  133. package/.next/server/chunks/ssr/agent-network-dashboard_09kk21a._.js +2 -2
  134. package/.next/server/chunks/ssr/agent-network-dashboard_09kk21a._.js.map +1 -1
  135. package/.next/server/chunks/ssr/agent-network-dashboard_app_01jhlxz._.js +1 -1
  136. package/.next/server/chunks/ssr/agent-network-dashboard_app_01jhlxz._.js.map +1 -1
  137. package/.next/server/chunks/ssr/agent-network-dashboard_app_09d29my._.js +1 -1
  138. package/.next/server/chunks/ssr/agent-network-dashboard_app_09d29my._.js.map +1 -1
  139. package/.next/server/middleware-build-manifest.js +3 -3
  140. package/.next/server/pages/404.html +2 -2
  141. package/.next/server/pages/500.html +1 -1
  142. package/.next/static/chunks/{0nklvgzpy80d0.css → 015ne37-~usss.css} +1 -1
  143. package/.next/static/chunks/{177da35-xmv.k.js → 06-jx~-.wzg2s.js} +2 -2
  144. package/.next/static/chunks/{0apd6mdrbto5c.js → 0d4rrvyt_4xsb.js} +1 -1
  145. package/.next/static/chunks/{0b0-7zxsflbws.js → 0f1-u9z-fnoq_.js} +1 -1
  146. package/.next/static/chunks/{0f8..rye42edf.js → 0ytqr~slwckm5.js} +1 -1
  147. package/.next/trace +2 -2
  148. package/.next/trace-build +1 -1
  149. package/app/components/TopoGraph.tsx +41 -1
  150. package/app/globals.css +71 -0
  151. package/package.json +1 -1
  152. package/scripts/topo-kicker-breath-test.mjs +100 -0
  153. package/scripts/topo-vendor-distribution-wrapper-halo-test.mjs +93 -0
  154. /package/.next/static/{__WGpawYHaQmmhEB3M_Qh → vHmKzT0DqrnrFyPuv6VCa}/_buildManifest.js +0 -0
  155. /package/.next/static/{__WGpawYHaQmmhEB3M_Qh → vHmKzT0DqrnrFyPuv6VCa}/_clientMiddlewareManifest.js +0 -0
  156. /package/.next/static/{__WGpawYHaQmmhEB3M_Qh → vHmKzT0DqrnrFyPuv6VCa}/_ssgManifest.js +0 -0
@@ -1 +1 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,98025,e=>{"use strict";e.s(["SESSION_STATUS_CHIP_CLASS",0,{working:"bg-green-500/10 text-green-300 border-green-500/20",idle:"bg-blue-500/10 text-blue-300 border-blue-500/20",blocked:"bg-yellow-500/10 text-yellow-300 border-yellow-500/20",error:"bg-red-500/10 text-red-300 border-red-500/20",offline:"bg-gray-500/10 text-gray-500 border-gray-500/20"},"SESSION_STATUS_TEXT_CLASS",0,{working:"text-green-400",idle:"text-blue-400",blocked:"text-yellow-400",error:"text-red-400",offline:"text-gray-500"},"STATUS_BAR_CLASS",0,{created:"bg-gray-500",delivered:"bg-blue-500",acked:"bg-cyan-500",running:"bg-green-500",replied:"bg-purple-500",closed:"bg-gray-600",failed:"bg-red-500",cancelled:"bg-yellow-500",expired:"bg-orange-500"},"STATUS_CHIP_CLASS",0,{created:"bg-gray-500/10 text-gray-400 border-gray-500/20",delivered:"bg-blue-500/10 text-blue-300 border-blue-500/20",acked:"bg-cyan-500/10 text-cyan-300 border-cyan-500/20",running:"bg-green-500/10 text-green-300 border-green-500/20",replied:"bg-purple-500/10 text-purple-300 border-purple-500/20",closed:"bg-gray-500/10 text-gray-500 border-gray-500/20",failed:"bg-red-500/10 text-red-300 border-red-500/20",cancelled:"bg-yellow-500/10 text-yellow-300 border-yellow-500/20",expired:"bg-orange-500/10 text-orange-300 border-orange-500/20"},"STATUS_DOT_HEX",0,{created:"#9ca3af",delivered:"#60a5fa",acked:"#22d3ee",running:"#4ade80",replied:"#a78bfa",closed:"#6b7280",failed:"#f87171",cancelled:"#facc15",expired:"#fb923c"},"TASK_STATUSES",0,["created","delivered","acked","running","replied","closed","failed","cancelled","expired"]])},3479,59746,e=>{"use strict";function t(e){if(!e)return null;let t=Date.parse(e.includes("T")?e:e.replace(" ","T")+"Z");return Number.isFinite(t)?t:null}function r(e){let r=t(e);if(null===r)return null;let s=Math.floor((Date.now()-r)/1e3);return s<0?"just now":s<60?`${s}s ago`:s<3600?`${Math.floor(s/60)}m ago`:s<86400?`${Math.floor(s/3600)}h ago`:`${Math.floor(s/86400)}d ago`}e.s(["parseHubTime",0,t,"relativeAgo",0,r],59746),e.s(["formatUptime",0,function(e){let t=Math.floor(e/3600),r=Math.floor(e%3600/60);return t>0?`${t}h ${r}m`:`${r}m`},"previewContent",0,function(e){return e&&e.replace(/!\[([^\]]*)\]\([^)]*\)/g,"$1").replace(/\[([^\]]+)\]\([^)]*\)/g,"$1").replace(/`([^`]+)`/g,"$1").replace(/\s+/g," ").trim()||"--"},"timeAgo",0,function(e){return r(e)??"--"}],3479)},46228,e=>{"use strict";var t=e.i(22381);let r=[180,200,220,270,300,330,30,90];function s(e){let t=0;for(let r=0;r<e.length;r++)t=31*t+e.charCodeAt(r)>>>0;let s=r[t%r.length];return{bg:`hsl(${s} 55% 22%)`,ring:`hsl(${s} 60% 45%)`,text:`hsl(${s} 80% 78%)`}}function n(e){return e?(e.trim().match(/[\p{L}\p{N}]/u)?.[0]||e.trim()[0]||"·").toUpperCase():"·"}e.s(["AliasAvatar",0,function({alias:e,size:r=28,className:i=""}){let a=s(e),l=Math.max(9,Math.round(.42*r));return(0,t.jsx)("span",{className:`anet-alias-avatar inline-flex items-center justify-center rounded-full border shrink-0 font-semibold ${i}`,style:{width:r,height:r,fontSize:l,backgroundColor:a.bg,borderColor:a.ring,color:a.text},title:e,"aria-hidden":!0,children:n(e)})},"aliasAvatarColors",0,s,"aliasInitial",0,n])},76161,e=>{"use strict";var t=e.i(22381),r=e.i(23910),s=e.i(56839);let n={nodes:{title:"No agents in this network",sub:"Agent sessions will appear here once they connect to the CommHub."},tasks:{title:"No tasks yet",sub:"Tasks will appear here when agents send them via CommHub."},messages:{title:"No messages",sub:"Messages between agents will appear here."},logs:{title:"No audit logs",sub:"Events will appear here when users register, login, or perform actions."},tokens:{title:"No API tokens",sub:"Create one to authenticate CLI tools and external integrations."},networks:{title:"No networks found",sub:"Create one or sign in with V3 auth to see your networks."},generic:{title:"Nothing here yet",sub:"Data will appear here once available."}};function i({variant:e,size:r}){let s={width:r,height:r},n={fill:"none",stroke:"currentColor",strokeWidth:1.25,strokeLinecap:"round",strokeLinejoin:"round"};switch(e){case"nodes":return(0,t.jsx)("svg",{viewBox:"0 0 64 64",...s,children:(0,t.jsxs)("g",{...n,children:[(0,t.jsx)("circle",{cx:"32",cy:"14",r:"4"}),(0,t.jsx)("circle",{cx:"14",cy:"44",r:"4"}),(0,t.jsx)("circle",{cx:"50",cy:"44",r:"4"}),(0,t.jsx)("line",{x1:"32",y1:"18",x2:"14",y2:"40",strokeDasharray:"3 3",opacity:"0.6"}),(0,t.jsx)("line",{x1:"32",y1:"18",x2:"50",y2:"40",strokeDasharray:"3 3",opacity:"0.6"}),(0,t.jsx)("line",{x1:"18",y1:"44",x2:"46",y2:"44",strokeDasharray:"3 3",opacity:"0.6"})]})});case"tasks":return(0,t.jsx)("svg",{viewBox:"0 0 64 64",...s,children:(0,t.jsxs)("g",{...n,children:[(0,t.jsx)("rect",{x:"14",y:"14",width:"36",height:"6",rx:"1.5"}),(0,t.jsx)("rect",{x:"14",y:"26",width:"36",height:"6",rx:"1.5",opacity:"0.6"}),(0,t.jsx)("rect",{x:"14",y:"38",width:"36",height:"6",rx:"1.5",opacity:"0.35"})]})});case"messages":return(0,t.jsx)("svg",{viewBox:"0 0 64 64",...s,children:(0,t.jsxs)("g",{...n,children:[(0,t.jsx)("path",{d:"M14 18 h36 a3 3 0 0 1 3 3 v18 a3 3 0 0 1 -3 3 h-18 l-8 6 v-6 h-10 a3 3 0 0 1 -3 -3 v-18 a3 3 0 0 1 3 -3 z"}),(0,t.jsx)("line",{x1:"22",y1:"28",x2:"42",y2:"28",opacity:"0.5"}),(0,t.jsx)("line",{x1:"22",y1:"34",x2:"36",y2:"34",opacity:"0.5"})]})});case"logs":return(0,t.jsx)("svg",{viewBox:"0 0 64 64",...s,children:(0,t.jsxs)("g",{...n,children:[(0,t.jsx)("path",{d:"M18 12 h22 l8 8 v32 a2 2 0 0 1 -2 2 h-28 a2 2 0 0 1 -2 -2 v-38 a2 2 0 0 1 2 -2 z"}),(0,t.jsx)("path",{d:"M40 12 v8 h8",opacity:"0.6"}),(0,t.jsx)("line",{x1:"24",y1:"32",x2:"40",y2:"32",opacity:"0.55"}),(0,t.jsx)("line",{x1:"24",y1:"38",x2:"40",y2:"38",opacity:"0.4"}),(0,t.jsx)("line",{x1:"24",y1:"44",x2:"34",y2:"44",opacity:"0.25"})]})});case"tokens":return(0,t.jsx)("svg",{viewBox:"0 0 64 64",...s,children:(0,t.jsxs)("g",{...n,children:[(0,t.jsx)("circle",{cx:"22",cy:"32",r:"8"}),(0,t.jsx)("line",{x1:"30",y1:"32",x2:"54",y2:"32"}),(0,t.jsx)("line",{x1:"44",y1:"32",x2:"44",y2:"38"}),(0,t.jsx)("line",{x1:"50",y1:"32",x2:"50",y2:"40"})]})});case"networks":return(0,t.jsx)("svg",{viewBox:"0 0 64 64",...s,children:(0,t.jsxs)("g",{...n,children:[(0,t.jsx)("circle",{cx:"32",cy:"32",r:"18"}),(0,t.jsx)("ellipse",{cx:"32",cy:"32",rx:"18",ry:"9",opacity:"0.55"}),(0,t.jsx)("line",{x1:"14",y1:"32",x2:"50",y2:"32",opacity:"0.55"}),(0,t.jsx)("line",{x1:"32",y1:"14",x2:"32",y2:"50",opacity:"0.55"})]})});default:return(0,t.jsx)("svg",{viewBox:"0 0 64 64",...s,children:(0,t.jsxs)("g",{...n,children:[(0,t.jsx)("circle",{cx:"32",cy:"32",r:"14",strokeDasharray:"3 3",opacity:"0.6"}),(0,t.jsx)("circle",{cx:"32",cy:"32",r:"3"})]})})}}function a({variant:e="generic",title:r,sub:l,cta:o,compact:c=!1}){let d=n[e],x=r??d.title,h=l??d.sub;return(0,t.jsxs)("div",{className:`text-center ${c?"py-8":"py-16"} px-4`,role:"status",children:[(0,t.jsx)("div",{className:"anet-empty-glyph inline-flex items-center justify-center mb-4 text-gray-500","aria-hidden":!0,children:(0,t.jsx)(i,{variant:e,size:c?40:56})}),(0,t.jsx)("h3",{className:`font-medium text-gray-300 ${c?"text-sm":"text-base"}`,children:x}),h&&(0,t.jsx)("p",{className:`text-gray-500 ${c?"text-xs mt-1.5":"text-sm mt-2"} max-w-md mx-auto leading-relaxed`,children:h}),o&&(0,t.jsx)("div",{className:"mt-4",children:o.href?(0,t.jsxs)(s.default,{href:o.href,className:"inline-flex items-center gap-1.5 text-sm font-medium text-cyan-400 hover:text-cyan-300",children:[o.label,(0,t.jsx)("span",{"aria-hidden":!0,children:"→"})]}):(0,t.jsxs)("button",{onClick:o.onClick,className:"inline-flex items-center gap-1.5 text-sm font-medium text-cyan-400 hover:text-cyan-300",children:[o.label,(0,t.jsx)("span",{"aria-hidden":!0,children:"→"})]})})]})}function l({children:e}){return(0,t.jsx)("div",{className:"max-w-2xl mx-auto rounded-xl border border-[#2a2a4a] bg-[#111128] shadow-lg shadow-black/20",children:e})}function o({cmd:e}){let[s,n]=(0,r.useState)(!1),i=async()=>{try{await navigator.clipboard.writeText(e),n(!0),setTimeout(()=>n(!1),1800)}catch{}};return(0,t.jsxs)("div",{className:"anet-empty-cmd flex items-center gap-2 bg-[#0a0a15] border border-[#2a2a4a] rounded-lg pl-4 pr-1.5 py-1.5 text-xs sm:text-sm",children:[(0,t.jsx)("code",{className:"text-cyan-300 font-mono select-all",children:e}),(0,t.jsx)("button",{type:"button",onClick:i,"aria-label":s?"Copied":"Copy command",className:"shrink-0 rounded-md px-2 py-1.5 text-[11px] text-gray-500 hover:text-gray-200 hover:bg-[#1a1a2a] transition-colors",children:s?(0,t.jsxs)("span",{className:"flex items-center gap-1 text-green-400",children:[(0,t.jsx)("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:(0,t.jsx)("path",{d:"M20 6 9 17l-5-5"})}),"Copied"]}):(0,t.jsxs)("span",{className:"flex items-center gap-1",children:[(0,t.jsxs)("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,t.jsx)("rect",{x:"9",y:"9",width:"13",height:"13",rx:"2",ry:"2"}),(0,t.jsx)("path",{d:"M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"})]}),"Copy"]})})]})}e.s(["EmptyState",0,a,"NodesEmptyState",0,function({hint:e,taskHistoryCount:r=0}){return e?.global_count?(0,t.jsx)(l,{children:(0,t.jsx)(a,{variant:"nodes",title:"No agents in this network",sub:`Server has ${e.global_count} nodes globally, but none are registered to the current network. Switch network or contact admin.`})}):r>0?(0,t.jsx)(l,{children:(0,t.jsx)(a,{variant:"nodes",title:"No agents online",sub:`Every agent in this network is currently offline. ${r.toLocaleString()} task${1===r?"":"s"} in history — they may have finished their work or disconnected.`,cta:{label:"View task history",href:"/tasks"}})}):(0,t.jsx)(l,{children:(0,t.jsxs)("div",{className:"text-center py-16 px-4",role:"status",children:[(0,t.jsx)("div",{className:"anet-empty-glyph inline-flex items-center justify-center mb-4 text-gray-500","aria-hidden":!0,children:(0,t.jsx)("svg",{viewBox:"0 0 64 64",width:56,height:56,children:(0,t.jsxs)("g",{stroke:"currentColor",strokeWidth:"1.5",fill:"none",children:[(0,t.jsx)("rect",{x:"10",y:"20",width:"44",height:"28",rx:"2"}),(0,t.jsx)("rect",{x:"20",y:"32",width:"6",height:"8",opacity:"0.5"}),(0,t.jsx)("rect",{x:"32",y:"32",width:"6",height:"8",opacity:"0.5"}),(0,t.jsx)("rect",{x:"44",y:"32",width:"4",height:"8",opacity:"0.5"}),(0,t.jsx)("line",{x1:"10",y1:"26",x2:"54",y2:"26",opacity:"0.4"}),(0,t.jsx)("circle",{cx:"14",cy:"23",r:"0.8",fill:"currentColor"})]})})}),(0,t.jsx)("h3",{className:"font-medium text-gray-300 text-base",children:"Spin up your first agent"}),(0,t.jsx)("p",{className:"text-gray-500 text-sm mt-2 max-w-md mx-auto leading-relaxed",children:"Run this in a fresh terminal to register an agent with this CommHub:"}),(0,t.jsx)("div",{className:"mt-4 inline-block",children:(0,t.jsx)(o,{cmd:"npx --yes @sleep2agi/agent-network init"})}),(0,t.jsx)("div",{className:"mt-3",children:(0,t.jsxs)("a",{href:"https://anet.sh",target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center gap-1.5 text-xs font-medium text-gray-500 hover:text-cyan-300",children:["Full quickstart guide",(0,t.jsx)("span",{"aria-hidden":!0,children:"→"})]})})]})})}])},59276,e=>{"use strict";var t=e.i(12629),r=e.i(11449);let s=async e=>{let t=await fetch(e);if(401===t.status)throw window.location.assign("/login"),Error("unauthorized");return t.json()},n={refreshInterval:5e3,dedupingInterval:3e3};function i(e,t){if(!t)return e;let r=e.includes("?")?"&":"?";return`${e}${r}network_id=${encodeURIComponent(t)}`}e.s(["useAnetConfig",0,function(){let{data:e}=(0,t.default)("/api/anet/config",s,{refreshInterval:3e4});return{config:e||null}},"useHealth",0,function(){let{data:e,error:r}=(0,t.default)("/api/hub/health",s,n);return{health:e||null,error:r}},"useLicense",0,function(){let{data:e,error:r}=(0,t.default)("/api/hub/license",s,{refreshInterval:6e4});return{license:e?.ok?e:null,error:r}},"useMessages",0,function(e=100){let{networkId:a}=(0,r.useNetworkId)(),{data:l,error:o,isLoading:c}=(0,t.default)(i(`/api/hub/messages?limit=${e}`,a),s,n);return{messages:l?.messages||[],error:o,isLoading:c}},"useSessions",0,function(){let{networkId:e}=(0,r.useNetworkId)(),{data:a,error:l,isLoading:o}=(0,t.default)(i("/api/hub/status",e),s,n);return{sessions:a?.sessions||[],hint:a?._hint,error:l,isLoading:o}},"useStats",0,function(){let{networkId:e}=(0,r.useNetworkId)(),{data:a,error:l}=(0,t.default)(i("/api/hub/stats",e),s,n);return{stats:a?.ok?a:null,error:l}},"useTasks",0,function(e){let{networkId:a}=(0,r.useNetworkId)(),l=new URLSearchParams({limit:"100",...e}).toString(),{data:o,error:c,isLoading:d}=(0,t.default)(i(`/api/hub/tasks?${l}`,a),s,n);return{tasks:o?.tasks||[],count:o?.count??0,source:o?.source,error:c,isLoading:d}}])},70286,e=>{"use strict";e.s(["DASHBOARD_VERSION",0,"0.5.3-preview.211"],70286)}]);
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,98025,e=>{"use strict";e.s(["SESSION_STATUS_CHIP_CLASS",0,{working:"bg-green-500/10 text-green-300 border-green-500/20",idle:"bg-blue-500/10 text-blue-300 border-blue-500/20",blocked:"bg-yellow-500/10 text-yellow-300 border-yellow-500/20",error:"bg-red-500/10 text-red-300 border-red-500/20",offline:"bg-gray-500/10 text-gray-500 border-gray-500/20"},"SESSION_STATUS_TEXT_CLASS",0,{working:"text-green-400",idle:"text-blue-400",blocked:"text-yellow-400",error:"text-red-400",offline:"text-gray-500"},"STATUS_BAR_CLASS",0,{created:"bg-gray-500",delivered:"bg-blue-500",acked:"bg-cyan-500",running:"bg-green-500",replied:"bg-purple-500",closed:"bg-gray-600",failed:"bg-red-500",cancelled:"bg-yellow-500",expired:"bg-orange-500"},"STATUS_CHIP_CLASS",0,{created:"bg-gray-500/10 text-gray-400 border-gray-500/20",delivered:"bg-blue-500/10 text-blue-300 border-blue-500/20",acked:"bg-cyan-500/10 text-cyan-300 border-cyan-500/20",running:"bg-green-500/10 text-green-300 border-green-500/20",replied:"bg-purple-500/10 text-purple-300 border-purple-500/20",closed:"bg-gray-500/10 text-gray-500 border-gray-500/20",failed:"bg-red-500/10 text-red-300 border-red-500/20",cancelled:"bg-yellow-500/10 text-yellow-300 border-yellow-500/20",expired:"bg-orange-500/10 text-orange-300 border-orange-500/20"},"STATUS_DOT_HEX",0,{created:"#9ca3af",delivered:"#60a5fa",acked:"#22d3ee",running:"#4ade80",replied:"#a78bfa",closed:"#6b7280",failed:"#f87171",cancelled:"#facc15",expired:"#fb923c"},"TASK_STATUSES",0,["created","delivered","acked","running","replied","closed","failed","cancelled","expired"]])},3479,59746,e=>{"use strict";function t(e){if(!e)return null;let t=Date.parse(e.includes("T")?e:e.replace(" ","T")+"Z");return Number.isFinite(t)?t:null}function r(e){let r=t(e);if(null===r)return null;let s=Math.floor((Date.now()-r)/1e3);return s<0?"just now":s<60?`${s}s ago`:s<3600?`${Math.floor(s/60)}m ago`:s<86400?`${Math.floor(s/3600)}h ago`:`${Math.floor(s/86400)}d ago`}e.s(["parseHubTime",0,t,"relativeAgo",0,r],59746),e.s(["formatUptime",0,function(e){let t=Math.floor(e/3600),r=Math.floor(e%3600/60);return t>0?`${t}h ${r}m`:`${r}m`},"previewContent",0,function(e){return e&&e.replace(/!\[([^\]]*)\]\([^)]*\)/g,"$1").replace(/\[([^\]]+)\]\([^)]*\)/g,"$1").replace(/`([^`]+)`/g,"$1").replace(/\s+/g," ").trim()||"--"},"timeAgo",0,function(e){return r(e)??"--"}],3479)},46228,e=>{"use strict";var t=e.i(22381);let r=[180,200,220,270,300,330,30,90];function s(e){let t=0;for(let r=0;r<e.length;r++)t=31*t+e.charCodeAt(r)>>>0;let s=r[t%r.length];return{bg:`hsl(${s} 55% 22%)`,ring:`hsl(${s} 60% 45%)`,text:`hsl(${s} 80% 78%)`}}function n(e){return e?(e.trim().match(/[\p{L}\p{N}]/u)?.[0]||e.trim()[0]||"·").toUpperCase():"·"}e.s(["AliasAvatar",0,function({alias:e,size:r=28,className:i=""}){let a=s(e),l=Math.max(9,Math.round(.42*r));return(0,t.jsx)("span",{className:`anet-alias-avatar inline-flex items-center justify-center rounded-full border shrink-0 font-semibold ${i}`,style:{width:r,height:r,fontSize:l,backgroundColor:a.bg,borderColor:a.ring,color:a.text},title:e,"aria-hidden":!0,children:n(e)})},"aliasAvatarColors",0,s,"aliasInitial",0,n])},76161,e=>{"use strict";var t=e.i(22381),r=e.i(23910),s=e.i(56839);let n={nodes:{title:"No agents in this network",sub:"Agent sessions will appear here once they connect to the CommHub."},tasks:{title:"No tasks yet",sub:"Tasks will appear here when agents send them via CommHub."},messages:{title:"No messages",sub:"Messages between agents will appear here."},logs:{title:"No audit logs",sub:"Events will appear here when users register, login, or perform actions."},tokens:{title:"No API tokens",sub:"Create one to authenticate CLI tools and external integrations."},networks:{title:"No networks found",sub:"Create one or sign in with V3 auth to see your networks."},generic:{title:"Nothing here yet",sub:"Data will appear here once available."}};function i({variant:e,size:r}){let s={width:r,height:r},n={fill:"none",stroke:"currentColor",strokeWidth:1.25,strokeLinecap:"round",strokeLinejoin:"round"};switch(e){case"nodes":return(0,t.jsx)("svg",{viewBox:"0 0 64 64",...s,children:(0,t.jsxs)("g",{...n,children:[(0,t.jsx)("circle",{cx:"32",cy:"14",r:"4"}),(0,t.jsx)("circle",{cx:"14",cy:"44",r:"4"}),(0,t.jsx)("circle",{cx:"50",cy:"44",r:"4"}),(0,t.jsx)("line",{x1:"32",y1:"18",x2:"14",y2:"40",strokeDasharray:"3 3",opacity:"0.6"}),(0,t.jsx)("line",{x1:"32",y1:"18",x2:"50",y2:"40",strokeDasharray:"3 3",opacity:"0.6"}),(0,t.jsx)("line",{x1:"18",y1:"44",x2:"46",y2:"44",strokeDasharray:"3 3",opacity:"0.6"})]})});case"tasks":return(0,t.jsx)("svg",{viewBox:"0 0 64 64",...s,children:(0,t.jsxs)("g",{...n,children:[(0,t.jsx)("rect",{x:"14",y:"14",width:"36",height:"6",rx:"1.5"}),(0,t.jsx)("rect",{x:"14",y:"26",width:"36",height:"6",rx:"1.5",opacity:"0.6"}),(0,t.jsx)("rect",{x:"14",y:"38",width:"36",height:"6",rx:"1.5",opacity:"0.35"})]})});case"messages":return(0,t.jsx)("svg",{viewBox:"0 0 64 64",...s,children:(0,t.jsxs)("g",{...n,children:[(0,t.jsx)("path",{d:"M14 18 h36 a3 3 0 0 1 3 3 v18 a3 3 0 0 1 -3 3 h-18 l-8 6 v-6 h-10 a3 3 0 0 1 -3 -3 v-18 a3 3 0 0 1 3 -3 z"}),(0,t.jsx)("line",{x1:"22",y1:"28",x2:"42",y2:"28",opacity:"0.5"}),(0,t.jsx)("line",{x1:"22",y1:"34",x2:"36",y2:"34",opacity:"0.5"})]})});case"logs":return(0,t.jsx)("svg",{viewBox:"0 0 64 64",...s,children:(0,t.jsxs)("g",{...n,children:[(0,t.jsx)("path",{d:"M18 12 h22 l8 8 v32 a2 2 0 0 1 -2 2 h-28 a2 2 0 0 1 -2 -2 v-38 a2 2 0 0 1 2 -2 z"}),(0,t.jsx)("path",{d:"M40 12 v8 h8",opacity:"0.6"}),(0,t.jsx)("line",{x1:"24",y1:"32",x2:"40",y2:"32",opacity:"0.55"}),(0,t.jsx)("line",{x1:"24",y1:"38",x2:"40",y2:"38",opacity:"0.4"}),(0,t.jsx)("line",{x1:"24",y1:"44",x2:"34",y2:"44",opacity:"0.25"})]})});case"tokens":return(0,t.jsx)("svg",{viewBox:"0 0 64 64",...s,children:(0,t.jsxs)("g",{...n,children:[(0,t.jsx)("circle",{cx:"22",cy:"32",r:"8"}),(0,t.jsx)("line",{x1:"30",y1:"32",x2:"54",y2:"32"}),(0,t.jsx)("line",{x1:"44",y1:"32",x2:"44",y2:"38"}),(0,t.jsx)("line",{x1:"50",y1:"32",x2:"50",y2:"40"})]})});case"networks":return(0,t.jsx)("svg",{viewBox:"0 0 64 64",...s,children:(0,t.jsxs)("g",{...n,children:[(0,t.jsx)("circle",{cx:"32",cy:"32",r:"18"}),(0,t.jsx)("ellipse",{cx:"32",cy:"32",rx:"18",ry:"9",opacity:"0.55"}),(0,t.jsx)("line",{x1:"14",y1:"32",x2:"50",y2:"32",opacity:"0.55"}),(0,t.jsx)("line",{x1:"32",y1:"14",x2:"32",y2:"50",opacity:"0.55"})]})});default:return(0,t.jsx)("svg",{viewBox:"0 0 64 64",...s,children:(0,t.jsxs)("g",{...n,children:[(0,t.jsx)("circle",{cx:"32",cy:"32",r:"14",strokeDasharray:"3 3",opacity:"0.6"}),(0,t.jsx)("circle",{cx:"32",cy:"32",r:"3"})]})})}}function a({variant:e="generic",title:r,sub:l,cta:o,compact:c=!1}){let d=n[e],x=r??d.title,h=l??d.sub;return(0,t.jsxs)("div",{className:`text-center ${c?"py-8":"py-16"} px-4`,role:"status",children:[(0,t.jsx)("div",{className:"anet-empty-glyph inline-flex items-center justify-center mb-4 text-gray-500","aria-hidden":!0,children:(0,t.jsx)(i,{variant:e,size:c?40:56})}),(0,t.jsx)("h3",{className:`font-medium text-gray-300 ${c?"text-sm":"text-base"}`,children:x}),h&&(0,t.jsx)("p",{className:`text-gray-500 ${c?"text-xs mt-1.5":"text-sm mt-2"} max-w-md mx-auto leading-relaxed`,children:h}),o&&(0,t.jsx)("div",{className:"mt-4",children:o.href?(0,t.jsxs)(s.default,{href:o.href,className:"inline-flex items-center gap-1.5 text-sm font-medium text-cyan-400 hover:text-cyan-300",children:[o.label,(0,t.jsx)("span",{"aria-hidden":!0,children:"→"})]}):(0,t.jsxs)("button",{onClick:o.onClick,className:"inline-flex items-center gap-1.5 text-sm font-medium text-cyan-400 hover:text-cyan-300",children:[o.label,(0,t.jsx)("span",{"aria-hidden":!0,children:"→"})]})})]})}function l({children:e}){return(0,t.jsx)("div",{className:"max-w-2xl mx-auto rounded-xl border border-[#2a2a4a] bg-[#111128] shadow-lg shadow-black/20",children:e})}function o({cmd:e}){let[s,n]=(0,r.useState)(!1),i=async()=>{try{await navigator.clipboard.writeText(e),n(!0),setTimeout(()=>n(!1),1800)}catch{}};return(0,t.jsxs)("div",{className:"anet-empty-cmd flex items-center gap-2 bg-[#0a0a15] border border-[#2a2a4a] rounded-lg pl-4 pr-1.5 py-1.5 text-xs sm:text-sm",children:[(0,t.jsx)("code",{className:"text-cyan-300 font-mono select-all",children:e}),(0,t.jsx)("button",{type:"button",onClick:i,"aria-label":s?"Copied":"Copy command",className:"shrink-0 rounded-md px-2 py-1.5 text-[11px] text-gray-500 hover:text-gray-200 hover:bg-[#1a1a2a] transition-colors",children:s?(0,t.jsxs)("span",{className:"flex items-center gap-1 text-green-400",children:[(0,t.jsx)("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:(0,t.jsx)("path",{d:"M20 6 9 17l-5-5"})}),"Copied"]}):(0,t.jsxs)("span",{className:"flex items-center gap-1",children:[(0,t.jsxs)("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,t.jsx)("rect",{x:"9",y:"9",width:"13",height:"13",rx:"2",ry:"2"}),(0,t.jsx)("path",{d:"M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"})]}),"Copy"]})})]})}e.s(["EmptyState",0,a,"NodesEmptyState",0,function({hint:e,taskHistoryCount:r=0}){return e?.global_count?(0,t.jsx)(l,{children:(0,t.jsx)(a,{variant:"nodes",title:"No agents in this network",sub:`Server has ${e.global_count} nodes globally, but none are registered to the current network. Switch network or contact admin.`})}):r>0?(0,t.jsx)(l,{children:(0,t.jsx)(a,{variant:"nodes",title:"No agents online",sub:`Every agent in this network is currently offline. ${r.toLocaleString()} task${1===r?"":"s"} in history — they may have finished their work or disconnected.`,cta:{label:"View task history",href:"/tasks"}})}):(0,t.jsx)(l,{children:(0,t.jsxs)("div",{className:"text-center py-16 px-4",role:"status",children:[(0,t.jsx)("div",{className:"anet-empty-glyph inline-flex items-center justify-center mb-4 text-gray-500","aria-hidden":!0,children:(0,t.jsx)("svg",{viewBox:"0 0 64 64",width:56,height:56,children:(0,t.jsxs)("g",{stroke:"currentColor",strokeWidth:"1.5",fill:"none",children:[(0,t.jsx)("rect",{x:"10",y:"20",width:"44",height:"28",rx:"2"}),(0,t.jsx)("rect",{x:"20",y:"32",width:"6",height:"8",opacity:"0.5"}),(0,t.jsx)("rect",{x:"32",y:"32",width:"6",height:"8",opacity:"0.5"}),(0,t.jsx)("rect",{x:"44",y:"32",width:"4",height:"8",opacity:"0.5"}),(0,t.jsx)("line",{x1:"10",y1:"26",x2:"54",y2:"26",opacity:"0.4"}),(0,t.jsx)("circle",{cx:"14",cy:"23",r:"0.8",fill:"currentColor"})]})})}),(0,t.jsx)("h3",{className:"font-medium text-gray-300 text-base",children:"Spin up your first agent"}),(0,t.jsx)("p",{className:"text-gray-500 text-sm mt-2 max-w-md mx-auto leading-relaxed",children:"Run this in a fresh terminal to register an agent with this CommHub:"}),(0,t.jsx)("div",{className:"mt-4 inline-block",children:(0,t.jsx)(o,{cmd:"npx --yes @sleep2agi/agent-network init"})}),(0,t.jsx)("div",{className:"mt-3",children:(0,t.jsxs)("a",{href:"https://anet.sh",target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center gap-1.5 text-xs font-medium text-gray-500 hover:text-cyan-300",children:["Full quickstart guide",(0,t.jsx)("span",{"aria-hidden":!0,children:"→"})]})})]})})}])},59276,e=>{"use strict";var t=e.i(12629),r=e.i(11449);let s=async e=>{let t=await fetch(e);if(401===t.status)throw window.location.assign("/login"),Error("unauthorized");return t.json()},n={refreshInterval:5e3,dedupingInterval:3e3};function i(e,t){if(!t)return e;let r=e.includes("?")?"&":"?";return`${e}${r}network_id=${encodeURIComponent(t)}`}e.s(["useAnetConfig",0,function(){let{data:e}=(0,t.default)("/api/anet/config",s,{refreshInterval:3e4});return{config:e||null}},"useHealth",0,function(){let{data:e,error:r}=(0,t.default)("/api/hub/health",s,n);return{health:e||null,error:r}},"useLicense",0,function(){let{data:e,error:r}=(0,t.default)("/api/hub/license",s,{refreshInterval:6e4});return{license:e?.ok?e:null,error:r}},"useMessages",0,function(e=100){let{networkId:a}=(0,r.useNetworkId)(),{data:l,error:o,isLoading:c}=(0,t.default)(i(`/api/hub/messages?limit=${e}`,a),s,n);return{messages:l?.messages||[],error:o,isLoading:c}},"useSessions",0,function(){let{networkId:e}=(0,r.useNetworkId)(),{data:a,error:l,isLoading:o}=(0,t.default)(i("/api/hub/status",e),s,n);return{sessions:a?.sessions||[],hint:a?._hint,error:l,isLoading:o}},"useStats",0,function(){let{networkId:e}=(0,r.useNetworkId)(),{data:a,error:l}=(0,t.default)(i("/api/hub/stats",e),s,n);return{stats:a?.ok?a:null,error:l}},"useTasks",0,function(e){let{networkId:a}=(0,r.useNetworkId)(),l=new URLSearchParams({limit:"100",...e}).toString(),{data:o,error:c,isLoading:d}=(0,t.default)(i(`/api/hub/tasks?${l}`,a),s,n);return{tasks:o?.tasks||[],count:o?.count??0,source:o?.source,error:c,isLoading:d}}])},70286,e=>{"use strict";e.s(["DASHBOARD_VERSION",0,"0.5.3-preview.212"],70286)}]);
@@ -1 +1 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,59276,e=>{"use strict";var s=e.i(12629),a=e.i(11449);let t=async e=>{let s=await fetch(e);if(401===s.status)throw window.location.assign("/login"),Error("unauthorized");return s.json()},r={refreshInterval:5e3,dedupingInterval:3e3};function n(e,s){if(!s)return e;let a=e.includes("?")?"&":"?";return`${e}${a}network_id=${encodeURIComponent(s)}`}e.s(["useAnetConfig",0,function(){let{data:e}=(0,s.default)("/api/anet/config",t,{refreshInterval:3e4});return{config:e||null}},"useHealth",0,function(){let{data:e,error:a}=(0,s.default)("/api/hub/health",t,r);return{health:e||null,error:a}},"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.3-preview.211"],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
+ (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.3-preview.212"],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 +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.3-preview.211"],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]})]})]})]})}])}]);
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,70286,e=>{"use strict";e.s(["DASHBOARD_VERSION",0,"0.5.3-preview.212"],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":360,"timestamp":267073094678,"id":4,"parentId":1,"tags":{},"startTime":1779075045341,"traceId":"4f8b5f00d6841411"},{"name":"load-custom-routes","duration":452,"timestamp":267073095197,"id":5,"parentId":1,"tags":{},"startTime":1779075045341,"traceId":"4f8b5f00d6841411"},{"name":"create-dist-dir","duration":749,"timestamp":267073095709,"id":6,"parentId":1,"tags":{},"startTime":1779075045342,"traceId":"4f8b5f00d6841411"},{"name":"clean","duration":35435,"timestamp":267073097373,"id":7,"parentId":1,"tags":{},"startTime":1779075045344,"traceId":"4f8b5f00d6841411"},{"name":"discover-routes","duration":13160,"timestamp":267073214624,"id":8,"parentId":1,"tags":{},"startTime":1779075045461,"traceId":"4f8b5f00d6841411"},{"name":"create-root-mapping","duration":133,"timestamp":267073227844,"id":9,"parentId":1,"tags":{},"startTime":1779075045474,"traceId":"4f8b5f00d6841411"},{"name":"generate-route-types","duration":32894,"timestamp":267073230466,"id":10,"parentId":1,"tags":{},"startTime":1779075045477,"traceId":"4f8b5f00d6841411"},{"name":"public-dir-conflict-check","duration":91,"timestamp":267073263434,"id":11,"parentId":1,"tags":{},"startTime":1779075045510,"traceId":"4f8b5f00d6841411"},{"name":"generate-routes-manifest","duration":4659,"timestamp":267073263645,"id":12,"parentId":1,"tags":{},"startTime":1779075045510,"traceId":"4f8b5f00d6841411"},{"name":"run-turbopack","duration":5983458,"timestamp":267073273420,"id":14,"parentId":1,"tags":{},"startTime":1779075045520,"traceId":"4f8b5f00d6841411"},{"name":"turbopack-build-events","duration":84,"timestamp":267073597891,"id":15,"parentId":1,"tags":{},"startTime":1779075045844,"traceId":"4f8b5f00d6841411"},{"name":"run-typescript","duration":10063961,"timestamp":267079268772,"id":16,"parentId":1,"tags":{},"startTime":1779075051515,"traceId":"4f8b5f00d6841411"},{"name":"generate-required-server-files","duration":2730,"timestamp":267089333827,"id":18,"parentId":1,"tags":{},"startTime":1779075061580,"traceId":"4f8b5f00d6841411"},{"name":"check-static-error-page","duration":17020,"timestamp":267089559348,"id":20,"parentId":19,"tags":{},"startTime":1779075061806,"traceId":"4f8b5f00d6841411"},{"name":"is-page-static","duration":477660,"timestamp":267089580557,"id":65,"parentId":22,"tags":{},"startTime":1779075061827,"traceId":"4f8b5f00d6841411"},{"name":"check-page","duration":496052,"timestamp":267089562335,"id":22,"parentId":19,"tags":{"page":"/_global-error"},"startTime":1779075061809,"traceId":"4f8b5f00d6841411"},{"name":"is-page-static","duration":596581,"timestamp":267089581049,"id":69,"parentId":28,"tags":{},"startTime":1779075061827,"traceId":"4f8b5f00d6841411"},{"name":"check-page","duration":612564,"timestamp":267089565179,"id":28,"parentId":19,"tags":{"page":"/api/hub/audit-log"},"startTime":1779075061811,"traceId":"4f8b5f00d6841411"},{"name":"is-page-static","duration":600311,"timestamp":267089584585,"id":72,"parentId":32,"tags":{},"startTime":1779075061831,"traceId":"4f8b5f00d6841411"},{"name":"check-page","duration":620372,"timestamp":267089565824,"id":32,"parentId":19,"tags":{"page":"/api/hub/health"},"startTime":1779075061812,"traceId":"4f8b5f00d6841411"},{"name":"is-page-static","duration":611955,"timestamp":267089584506,"id":71,"parentId":30,"tags":{},"startTime":1779075061831,"traceId":"4f8b5f00d6841411"},{"name":"check-page","duration":631169,"timestamp":267089565359,"id":30,"parentId":19,"tags":{"page":"/api/hub/broadcast"},"startTime":1779075061812,"traceId":"4f8b5f00d6841411"},{"name":"is-page-static","duration":643014,"timestamp":267089580929,"id":68,"parentId":27,"tags":{},"startTime":1779075061827,"traceId":"4f8b5f00d6841411"},{"name":"check-page","duration":659041,"timestamp":267089565083,"id":27,"parentId":19,"tags":{"page":"/api/auth/v3"},"startTime":1779075061811,"traceId":"4f8b5f00d6841411"},{"name":"is-page-static","duration":646213,"timestamp":267089584768,"id":73,"parentId":33,"tags":{},"startTime":1779075061831,"traceId":"4f8b5f00d6841411"},{"name":"check-page","duration":665985,"timestamp":267089566214,"id":33,"parentId":19,"tags":{"page":"/api/hub/inbox"},"startTime":1779075061812,"traceId":"4f8b5f00d6841411"},{"name":"is-page-static","duration":651838,"timestamp":267089584850,"id":74,"parentId":34,"tags":{},"startTime":1779075061831,"traceId":"4f8b5f00d6841411"},{"name":"check-page","duration":670366,"timestamp":267089566426,"id":34,"parentId":19,"tags":{"page":"/api/hub/license"},"startTime":1779075061813,"traceId":"4f8b5f00d6841411"},{"name":"is-page-static","duration":667455,"timestamp":267089580169,"id":64,"parentId":21,"tags":{},"startTime":1779075061826,"traceId":"4f8b5f00d6841411"},{"name":"check-page","duration":686576,"timestamp":267089561141,"id":21,"parentId":19,"tags":{"page":"/_not-found"},"startTime":1779075061807,"traceId":"4f8b5f00d6841411"},{"name":"is-page-static","duration":667881,"timestamp":267089584884,"id":75,"parentId":35,"tags":{},"startTime":1779075061831,"traceId":"4f8b5f00d6841411"},{"name":"check-page","duration":686285,"timestamp":267089566570,"id":35,"parentId":19,"tags":{"page":"/api/hub/messages"},"startTime":1779075061813,"traceId":"4f8b5f00d6841411"},{"name":"is-page-static","duration":675021,"timestamp":267089584907,"id":76,"parentId":36,"tags":{},"startTime":1779075061831,"traceId":"4f8b5f00d6841411"},{"name":"check-page","duration":692806,"timestamp":267089567180,"id":36,"parentId":19,"tags":{"page":"/api/hub/networks"},"startTime":1779075061813,"traceId":"4f8b5f00d6841411"},{"name":"is-page-static","duration":677523,"timestamp":267089584980,"id":79,"parentId":39,"tags":{},"startTime":1779075061831,"traceId":"4f8b5f00d6841411"},{"name":"check-page","duration":694945,"timestamp":267089567614,"id":39,"parentId":19,"tags":{"page":"/api/hub/send"},"startTime":1779075061814,"traceId":"4f8b5f00d6841411"},{"name":"is-page-static","duration":681610,"timestamp":267089584994,"id":80,"parentId":40,"tags":{},"startTime":1779075061831,"traceId":"4f8b5f00d6841411"},{"name":"check-page","duration":698962,"timestamp":267089567691,"id":40,"parentId":19,"tags":{"page":"/api/hub/server-logs"},"startTime":1779075061814,"traceId":"4f8b5f00d6841411"},{"name":"is-page-static","duration":688845,"timestamp":267089585034,"id":82,"parentId":44,"tags":{},"startTime":1779075061831,"traceId":"4f8b5f00d6841411"},{"name":"check-page","duration":705446,"timestamp":267089568501,"id":44,"parentId":19,"tags":{"page":"/api/hub/session"},"startTime":1779075061815,"traceId":"4f8b5f00d6841411"},{"name":"is-page-static","duration":694088,"timestamp":267089585050,"id":83,"parentId":45,"tags":{},"startTime":1779075061831,"traceId":"4f8b5f00d6841411"},{"name":"check-page","duration":710586,"timestamp":267089568619,"id":45,"parentId":19,"tags":{"page":"/api/hub/stats"},"startTime":1779075061815,"traceId":"4f8b5f00d6841411"},{"name":"is-page-static","duration":700211,"timestamp":267089585019,"id":81,"parentId":42,"tags":{},"startTime":1779075061831,"traceId":"4f8b5f00d6841411"},{"name":"check-page","duration":717260,"timestamp":267089568030,"id":42,"parentId":19,"tags":{"page":"/api/hub/server/[hostname]/health"},"startTime":1779075061814,"traceId":"4f8b5f00d6841411"},{"name":"is-page-static","duration":704775,"timestamp":267089580703,"id":66,"parentId":25,"tags":{},"startTime":1779075061827,"traceId":"4f8b5f00d6841411"},{"name":"check-page","duration":720789,"timestamp":267089564722,"id":25,"parentId":19,"tags":{"page":"/api/auth/login"},"startTime":1779075061811,"traceId":"4f8b5f00d6841411"},{"name":"is-page-static","duration":700571,"timestamp":267089585064,"id":84,"parentId":46,"tags":{},"startTime":1779075061831,"traceId":"4f8b5f00d6841411"},{"name":"check-page","duration":713580,"timestamp":267089572098,"id":46,"parentId":19,"tags":{"page":"/api/hub/status"},"startTime":1779075061818,"traceId":"4f8b5f00d6841411"},{"name":"is-page-static","duration":700853,"timestamp":267089584953,"id":77,"parentId":37,"tags":{},"startTime":1779075061831,"traceId":"4f8b5f00d6841411"},{"name":"check-page","duration":718461,"timestamp":267089567373,"id":37,"parentId":19,"tags":{"page":"/api/hub/nodes"},"startTime":1779075061814,"traceId":"4f8b5f00d6841411"},{"name":"is-page-static","duration":708323,"timestamp":267089585112,"id":88,"parentId":50,"tags":{},"startTime":1779075061831,"traceId":"4f8b5f00d6841411"},{"name":"check-page","duration":720844,"timestamp":267089572643,"id":50,"parentId":19,"tags":{"page":"/api/hub/tokens"},"startTime":1779075061819,"traceId":"4f8b5f00d6841411"},{"name":"is-page-static","duration":709024,"timestamp":267089585103,"id":87,"parentId":49,"tags":{},"startTime":1779075061831,"traceId":"4f8b5f00d6841411"},{"name":"check-page","duration":721646,"timestamp":267089572556,"id":49,"parentId":19,"tags":{"page":"/api/hub/tmux"},"startTime":1779075061819,"traceId":"4f8b5f00d6841411"},{"name":"is-page-static","duration":713380,"timestamp":267089585074,"id":85,"parentId":47,"tags":{},"startTime":1779075061831,"traceId":"4f8b5f00d6841411"},{"name":"check-page","duration":726190,"timestamp":267089572305,"id":47,"parentId":19,"tags":{"page":"/api/hub/task-events"},"startTime":1779075061819,"traceId":"4f8b5f00d6841411"},{"name":"is-page-static","duration":712416,"timestamp":267089588758,"id":90,"parentId":24,"tags":{},"startTime":1779075061839,"traceId":"4f8b5f00d6841411"},{"name":"check-page","duration":738487,"timestamp":267089562733,"id":24,"parentId":19,"tags":{"page":"/api/anet/config"},"startTime":1779075061809,"traceId":"4f8b5f00d6841411"},{"name":"is-page-static","duration":709327,"timestamp":267089593718,"id":91,"parentId":31,"tags":{},"startTime":1779075061840,"traceId":"4f8b5f00d6841411"},{"name":"check-page","duration":737648,"timestamp":267089565439,"id":31,"parentId":19,"tags":{"page":"/api/hub/events"},"startTime":1779075061812,"traceId":"4f8b5f00d6841411"},{"name":"is-page-static","duration":725245,"timestamp":267089584967,"id":78,"parentId":38,"tags":{},"startTime":1779075061831,"traceId":"4f8b5f00d6841411"},{"name":"check-page","duration":742753,"timestamp":267089567506,"id":38,"parentId":19,"tags":{"page":"/api/hub/register"},"startTime":1779075061814,"traceId":"4f8b5f00d6841411"},{"name":"is-page-static","duration":714445,"timestamp":267089595953,"id":93,"parentId":43,"tags":{},"startTime":1779075061842,"traceId":"4f8b5f00d6841411"},{"name":"check-page","duration":742235,"timestamp":267089568194,"id":43,"parentId":19,"tags":{"page":"/api/hub/servers"},"startTime":1779075061814,"traceId":"4f8b5f00d6841411"},{"name":"is-page-static","duration":720628,"timestamp":267089594614,"id":92,"parentId":41,"tags":{},"startTime":1779075061841,"traceId":"4f8b5f00d6841411"},{"name":"check-page","duration":747529,"timestamp":267089567759,"id":41,"parentId":19,"tags":{"page":"/api/hub/server/[hostname]/agents"},"startTime":1779075061814,"traceId":"4f8b5f00d6841411"},{"name":"is-page-static","duration":721405,"timestamp":267089598212,"id":94,"parentId":23,"tags":{},"startTime":1779075061844,"traceId":"4f8b5f00d6841411"},{"name":"check-page","duration":757117,"timestamp":267089562541,"id":23,"parentId":19,"tags":{"page":"/admin"},"startTime":1779075061809,"traceId":"4f8b5f00d6841411"},{"name":"is-page-static","duration":739846,"timestamp":267089585126,"id":89,"parentId":51,"tags":{},"startTime":1779075061831,"traceId":"4f8b5f00d6841411"},{"name":"check-page","duration":752310,"timestamp":267089572733,"id":51,"parentId":19,"tags":{"page":"/favicon.ico"},"startTime":1779075061819,"traceId":"4f8b5f00d6841411"},{"name":"is-page-static","duration":736309,"timestamp":267089598268,"id":97,"parentId":54,"tags":{},"startTime":1779075061845,"traceId":"4f8b5f00d6841411"},{"name":"check-page","duration":761067,"timestamp":267089573556,"id":54,"parentId":19,"tags":{"page":"/messages"},"startTime":1779075061820,"traceId":"4f8b5f00d6841411"},{"name":"is-page-static","duration":753275,"timestamp":267089585089,"id":86,"parentId":48,"tags":{},"startTime":1779075061831,"traceId":"4f8b5f00d6841411"},{"name":"check-page","duration":765987,"timestamp":267089572433,"id":48,"parentId":19,"tags":{"page":"/api/hub/tasks"},"startTime":1779075061819,"traceId":"4f8b5f00d6841411"},{"name":"is-page-static","duration":743598,"timestamp":267089598293,"id":99,"parentId":56,"tags":{},"startTime":1779075061845,"traceId":"4f8b5f00d6841411"},{"name":"check-page","duration":767899,"timestamp":267089574057,"id":56,"parentId":19,"tags":{"page":"/nodes"},"startTime":1779075061820,"traceId":"4f8b5f00d6841411"},{"name":"is-page-static","duration":750895,"timestamp":267089598425,"id":101,"parentId":59,"tags":{},"startTime":1779075061845,"traceId":"4f8b5f00d6841411"},{"name":"check-page","duration":774221,"timestamp":267089575150,"id":59,"parentId":19,"tags":{"page":"/settings/networks"},"startTime":1779075061821,"traceId":"4f8b5f00d6841411"},{"name":"is-page-static","duration":759275,"timestamp":267089598448,"id":102,"parentId":61,"tags":{},"startTime":1779075061845,"traceId":"4f8b5f00d6841411"},{"name":"check-page","duration":782011,"timestamp":267089575776,"id":61,"parentId":19,"tags":{"page":"/settings/tokens"},"startTime":1779075061822,"traceId":"4f8b5f00d6841411"},{"name":"is-page-static","duration":773564,"timestamp":267089598458,"id":103,"parentId":62,"tags":{},"startTime":1779075061845,"traceId":"4f8b5f00d6841411"},{"name":"check-page","duration":796143,"timestamp":267089575936,"id":62,"parentId":19,"tags":{"page":"/tasks/[id]"},"startTime":1779075061822,"traceId":"4f8b5f00d6841411"},{"name":"is-page-static","duration":776790,"timestamp":267089598242,"id":95,"parentId":52,"tags":{},"startTime":1779075061845,"traceId":"4f8b5f00d6841411"},{"name":"check-page","duration":801870,"timestamp":267089573219,"id":52,"parentId":19,"tags":{"page":"/login"},"startTime":1779075061819,"traceId":"4f8b5f00d6841411"},{"name":"is-page-static","duration":798608,"timestamp":267089580813,"id":67,"parentId":26,"tags":{},"startTime":1779075061827,"traceId":"4f8b5f00d6841411"},{"name":"check-page","duration":814547,"timestamp":267089564934,"id":26,"parentId":19,"tags":{"page":"/api/auth/logout"},"startTime":1779075061811,"traceId":"4f8b5f00d6841411"},{"name":"is-page-static","duration":781112,"timestamp":267089598471,"id":104,"parentId":63,"tags":{},"startTime":1779075061845,"traceId":"4f8b5f00d6841411"},{"name":"check-page","duration":803491,"timestamp":267089576117,"id":63,"parentId":19,"tags":{"page":"/tasks"},"startTime":1779075061822,"traceId":"4f8b5f00d6841411"},{"name":"is-page-static","duration":782172,"timestamp":267089598254,"id":96,"parentId":53,"tags":{},"startTime":1779075061845,"traceId":"4f8b5f00d6841411"},{"name":"check-page","duration":807072,"timestamp":267089573398,"id":53,"parentId":19,"tags":{"page":"/logs"},"startTime":1779075061820,"traceId":"4f8b5f00d6841411"},{"name":"is-page-static","duration":775700,"timestamp":267089606598,"id":105,"parentId":60,"tags":{},"startTime":1779075061853,"traceId":"4f8b5f00d6841411"},{"name":"check-page","duration":806998,"timestamp":267089575340,"id":60,"parentId":19,"tags":{"page":"/settings"},"startTime":1779075061822,"traceId":"4f8b5f00d6841411"},{"name":"is-page-static","duration":801658,"timestamp":267089598280,"id":98,"parentId":55,"tags":{},"startTime":1779075061845,"traceId":"4f8b5f00d6841411"},{"name":"check-page","duration":826236,"timestamp":267089573753,"id":55,"parentId":19,"tags":{"page":"/node"},"startTime":1779075061820,"traceId":"4f8b5f00d6841411"},{"name":"is-page-static","duration":815569,"timestamp":267089598303,"id":100,"parentId":58,"tags":{},"startTime":1779075061845,"traceId":"4f8b5f00d6841411"},{"name":"check-page","duration":839045,"timestamp":267089574893,"id":58,"parentId":19,"tags":{"page":"/server-logs"},"startTime":1779075061821,"traceId":"4f8b5f00d6841411"},{"name":"is-page-static","duration":815978,"timestamp":267089619087,"id":106,"parentId":57,"tags":{},"startTime":1779075061865,"traceId":"4f8b5f00d6841411"},{"name":"check-page","duration":860797,"timestamp":267089574326,"id":57,"parentId":19,"tags":{"page":"/"},"startTime":1779075061821,"traceId":"4f8b5f00d6841411"},{"name":"is-page-static","duration":873822,"timestamp":267089584303,"id":70,"parentId":29,"tags":{},"startTime":1779075061831,"traceId":"4f8b5f00d6841411"},{"name":"check-page","duration":892932,"timestamp":267089565257,"id":29,"parentId":19,"tags":{"page":"/api/hub/auth"},"startTime":1779075061812,"traceId":"4f8b5f00d6841411"},{"name":"static-check","duration":900061,"timestamp":267089558180,"id":19,"parentId":1,"tags":{},"startTime":1779075061804,"traceId":"4f8b5f00d6841411"}]
2
- [{"name":"write-routes-manifest","duration":559,"timestamp":267090471203,"id":108,"parentId":1,"tags":{},"startTime":1779075062717,"traceId":"4f8b5f00d6841411"},{"name":"load-dotenv","duration":57,"timestamp":267090485199,"id":111,"parentId":110,"tags":{},"startTime":1779075062731,"traceId":"4f8b5f00d6841411"},{"name":"run-export-path-map","duration":748,"timestamp":267090489454,"id":112,"parentId":110,"tags":{},"startTime":1779075062736,"traceId":"4f8b5f00d6841411"},{"name":"next-export","duration":640593,"timestamp":267090483471,"id":110,"parentId":1,"tags":{},"startTime":1779075062730,"traceId":"4f8b5f00d6841411"},{"name":"move-exported-app-not-found-","duration":603,"timestamp":267091127995,"id":113,"parentId":109,"tags":{},"startTime":1779075063374,"traceId":"4f8b5f00d6841411"},{"name":"move-exported-app-global-error-","duration":456,"timestamp":267091128689,"id":114,"parentId":109,"tags":{},"startTime":1779075063375,"traceId":"4f8b5f00d6841411"},{"name":"static-generation","duration":654903,"timestamp":267090476178,"id":109,"parentId":1,"tags":{},"startTime":1779075062722,"traceId":"4f8b5f00d6841411"},{"name":"write-routes-manifest","duration":1113,"timestamp":267091131308,"id":115,"parentId":1,"tags":{},"startTime":1779075063378,"traceId":"4f8b5f00d6841411"},{"name":"print-tree-view","duration":3906,"timestamp":267091149701,"id":116,"parentId":1,"tags":{},"startTime":1779075063396,"traceId":"4f8b5f00d6841411"},{"name":"write-route-bundle-stats","duration":12076,"timestamp":267091153632,"id":117,"parentId":1,"tags":{},"startTime":1779075063400,"traceId":"4f8b5f00d6841411"},{"name":"telemetry-flush","duration":24728,"timestamp":267091165738,"id":118,"parentId":1,"tags":{},"startTime":1779075063412,"traceId":"4f8b5f00d6841411"},{"name":"next-build","duration":18152854,"timestamp":267073037640,"id":1,"tags":{"buildMode":"default","version":"16.2.3","bundler":"turbopack","has-custom-webpack-config":"false","use-build-worker":"true"},"startTime":1779075045284,"traceId":"4f8b5f00d6841411"}]
1
+ [{"name":"generate-buildid","duration":272,"timestamp":395455388214,"id":4,"parentId":1,"tags":{},"startTime":1779203427634,"traceId":"f45479424a5144df"},{"name":"load-custom-routes","duration":565,"timestamp":395455388678,"id":5,"parentId":1,"tags":{},"startTime":1779203427635,"traceId":"f45479424a5144df"},{"name":"create-dist-dir","duration":817,"timestamp":395455389287,"id":6,"parentId":1,"tags":{},"startTime":1779203427636,"traceId":"f45479424a5144df"},{"name":"clean","duration":37489,"timestamp":395455390916,"id":7,"parentId":1,"tags":{},"startTime":1779203427637,"traceId":"f45479424a5144df"},{"name":"discover-routes","duration":28376,"timestamp":395455513364,"id":8,"parentId":1,"tags":{},"startTime":1779203427760,"traceId":"f45479424a5144df"},{"name":"create-root-mapping","duration":131,"timestamp":395455541809,"id":9,"parentId":1,"tags":{},"startTime":1779203427788,"traceId":"f45479424a5144df"},{"name":"generate-route-types","duration":28647,"timestamp":395455544862,"id":10,"parentId":1,"tags":{},"startTime":1779203427791,"traceId":"f45479424a5144df"},{"name":"public-dir-conflict-check","duration":99,"timestamp":395455573604,"id":11,"parentId":1,"tags":{},"startTime":1779203427820,"traceId":"f45479424a5144df"},{"name":"generate-routes-manifest","duration":5179,"timestamp":395455573819,"id":12,"parentId":1,"tags":{},"startTime":1779203427820,"traceId":"f45479424a5144df"},{"name":"run-turbopack","duration":6558796,"timestamp":395455591750,"id":14,"parentId":1,"tags":{},"startTime":1779203427838,"traceId":"f45479424a5144df"},{"name":"turbopack-build-events","duration":74,"timestamp":395455923600,"id":15,"parentId":1,"tags":{},"startTime":1779203428170,"traceId":"f45479424a5144df"},{"name":"run-typescript","duration":9767843,"timestamp":395462159273,"id":16,"parentId":1,"tags":{},"startTime":1779203434406,"traceId":"f45479424a5144df"},{"name":"generate-required-server-files","duration":2693,"timestamp":395471928740,"id":18,"parentId":1,"tags":{},"startTime":1779203444175,"traceId":"f45479424a5144df"},{"name":"check-static-error-page","duration":12825,"timestamp":395472133370,"id":20,"parentId":19,"tags":{},"startTime":1779203444380,"traceId":"f45479424a5144df"},{"name":"is-page-static","duration":468127,"timestamp":395472149821,"id":65,"parentId":22,"tags":{},"startTime":1779203444396,"traceId":"f45479424a5144df"},{"name":"check-page","duration":482472,"timestamp":395472135695,"id":22,"parentId":19,"tags":{"page":"/_global-error"},"startTime":1779203444382,"traceId":"f45479424a5144df"},{"name":"is-page-static","duration":589165,"timestamp":395472150744,"id":71,"parentId":30,"tags":{},"startTime":1779203444397,"traceId":"f45479424a5144df"},{"name":"check-page","duration":601008,"timestamp":395472139044,"id":30,"parentId":19,"tags":{"page":"/api/hub/broadcast"},"startTime":1779203444385,"traceId":"f45479424a5144df"},{"name":"is-page-static","duration":597387,"timestamp":395472150303,"id":69,"parentId":28,"tags":{},"startTime":1779203444397,"traceId":"f45479424a5144df"},{"name":"check-page","duration":609014,"timestamp":395472138757,"id":28,"parentId":19,"tags":{"page":"/api/hub/audit-log"},"startTime":1779203444385,"traceId":"f45479424a5144df"},{"name":"is-page-static","duration":598623,"timestamp":395472150069,"id":67,"parentId":26,"tags":{},"startTime":1779203444396,"traceId":"f45479424a5144df"},{"name":"check-page","duration":610259,"timestamp":395472138496,"id":26,"parentId":19,"tags":{"page":"/api/auth/logout"},"startTime":1779203444385,"traceId":"f45479424a5144df"},{"name":"is-page-static","duration":600568,"timestamp":395472150577,"id":70,"parentId":29,"tags":{},"startTime":1779203444397,"traceId":"f45479424a5144df"},{"name":"check-page","duration":612318,"timestamp":395472138891,"id":29,"parentId":19,"tags":{"page":"/api/hub/auth"},"startTime":1779203444385,"traceId":"f45479424a5144df"},{"name":"is-page-static","duration":602075,"timestamp":395472150972,"id":73,"parentId":33,"tags":{},"startTime":1779203444397,"traceId":"f45479424a5144df"},{"name":"check-page","duration":613603,"timestamp":395472139505,"id":33,"parentId":19,"tags":{"page":"/api/hub/inbox"},"startTime":1779203444386,"traceId":"f45479424a5144df"},{"name":"is-page-static","duration":603063,"timestamp":395472151076,"id":74,"parentId":34,"tags":{},"startTime":1779203444397,"traceId":"f45479424a5144df"},{"name":"check-page","duration":614563,"timestamp":395472139632,"id":34,"parentId":19,"tags":{"page":"/api/hub/license"},"startTime":1779203444386,"traceId":"f45479424a5144df"},{"name":"is-page-static","duration":606891,"timestamp":395472151106,"id":75,"parentId":35,"tags":{},"startTime":1779203444397,"traceId":"f45479424a5144df"},{"name":"check-page","duration":618304,"timestamp":395472139761,"id":35,"parentId":19,"tags":{"page":"/api/hub/messages"},"startTime":1779203444386,"traceId":"f45479424a5144df"},{"name":"is-page-static","duration":610879,"timestamp":395472149531,"id":64,"parentId":21,"tags":{},"startTime":1779203444396,"traceId":"f45479424a5144df"},{"name":"check-page","duration":625926,"timestamp":395472134536,"id":21,"parentId":19,"tags":{"page":"/_not-found"},"startTime":1779203444381,"traceId":"f45479424a5144df"},{"name":"is-page-static","duration":619462,"timestamp":395472149934,"id":66,"parentId":25,"tags":{},"startTime":1779203444396,"traceId":"f45479424a5144df"},{"name":"check-page","duration":631161,"timestamp":395472138299,"id":25,"parentId":19,"tags":{"page":"/api/auth/login"},"startTime":1779203444385,"traceId":"f45479424a5144df"},{"name":"is-page-static","duration":626595,"timestamp":395472151201,"id":80,"parentId":40,"tags":{},"startTime":1779203444397,"traceId":"f45479424a5144df"},{"name":"check-page","duration":637159,"timestamp":395472140694,"id":40,"parentId":19,"tags":{"page":"/api/hub/server-logs"},"startTime":1779203444387,"traceId":"f45479424a5144df"},{"name":"is-page-static","duration":635346,"timestamp":395472151127,"id":76,"parentId":36,"tags":{},"startTime":1779203444397,"traceId":"f45479424a5144df"},{"name":"check-page","duration":646237,"timestamp":395472140294,"id":36,"parentId":19,"tags":{"page":"/api/hub/networks"},"startTime":1779203444387,"traceId":"f45479424a5144df"},{"name":"is-page-static","duration":636043,"timestamp":395472150804,"id":72,"parentId":32,"tags":{},"startTime":1779203444397,"traceId":"f45479424a5144df"},{"name":"check-page","duration":647519,"timestamp":395472139363,"id":32,"parentId":19,"tags":{"page":"/api/hub/health"},"startTime":1779203444386,"traceId":"f45479424a5144df"},{"name":"is-page-static","duration":652346,"timestamp":395472151172,"id":78,"parentId":38,"tags":{},"startTime":1779203444397,"traceId":"f45479424a5144df"},{"name":"check-page","duration":663024,"timestamp":395472140564,"id":38,"parentId":19,"tags":{"page":"/api/hub/register"},"startTime":1779203444387,"traceId":"f45479424a5144df"},{"name":"is-page-static","duration":652591,"timestamp":395472151156,"id":77,"parentId":37,"tags":{},"startTime":1779203444397,"traceId":"f45479424a5144df"},{"name":"check-page","duration":663317,"timestamp":395472140463,"id":37,"parentId":19,"tags":{"page":"/api/hub/nodes"},"startTime":1779203444387,"traceId":"f45479424a5144df"},{"name":"is-page-static","duration":655751,"timestamp":395472151225,"id":82,"parentId":44,"tags":{},"startTime":1779203444397,"traceId":"f45479424a5144df"},{"name":"check-page","duration":665767,"timestamp":395472141277,"id":44,"parentId":19,"tags":{"page":"/api/hub/session"},"startTime":1779203444388,"traceId":"f45479424a5144df"},{"name":"is-page-static","duration":675192,"timestamp":395472151252,"id":84,"parentId":46,"tags":{},"startTime":1779203444398,"traceId":"f45479424a5144df"},{"name":"check-page","duration":685012,"timestamp":395472141525,"id":46,"parentId":19,"tags":{"page":"/api/hub/status"},"startTime":1779203444388,"traceId":"f45479424a5144df"},{"name":"is-page-static","duration":675479,"timestamp":395472151277,"id":86,"parentId":48,"tags":{},"startTime":1779203444398,"traceId":"f45479424a5144df"},{"name":"check-page","duration":683753,"timestamp":395472143042,"id":48,"parentId":19,"tags":{"page":"/api/hub/tasks"},"startTime":1779203444389,"traceId":"f45479424a5144df"},{"name":"is-page-static","duration":676741,"timestamp":395472150209,"id":68,"parentId":27,"tags":{},"startTime":1779203444396,"traceId":"f45479424a5144df"},{"name":"check-page","duration":688361,"timestamp":395472138626,"id":27,"parentId":19,"tags":{"page":"/api/auth/v3"},"startTime":1779203444385,"traceId":"f45479424a5144df"},{"name":"is-page-static","duration":675881,"timestamp":395472151263,"id":85,"parentId":47,"tags":{},"startTime":1779203444398,"traceId":"f45479424a5144df"},{"name":"check-page","duration":685538,"timestamp":395472141641,"id":47,"parentId":19,"tags":{"page":"/api/hub/task-events"},"startTime":1779203444388,"traceId":"f45479424a5144df"},{"name":"is-page-static","duration":678370,"timestamp":395472151215,"id":81,"parentId":42,"tags":{},"startTime":1779203444397,"traceId":"f45479424a5144df"},{"name":"check-page","duration":688700,"timestamp":395472140946,"id":42,"parentId":19,"tags":{"page":"/api/hub/server/[hostname]/health"},"startTime":1779203444387,"traceId":"f45479424a5144df"},{"name":"is-page-static","duration":678512,"timestamp":395472151291,"id":87,"parentId":49,"tags":{},"startTime":1779203444398,"traceId":"f45479424a5144df"},{"name":"check-page","duration":686628,"timestamp":395472143211,"id":49,"parentId":19,"tags":{"page":"/api/hub/tmux"},"startTime":1779203444389,"traceId":"f45479424a5144df"},{"name":"is-page-static","duration":684106,"timestamp":395472151304,"id":88,"parentId":50,"tags":{},"startTime":1779203444398,"traceId":"f45479424a5144df"},{"name":"check-page","duration":692179,"timestamp":395472143287,"id":50,"parentId":19,"tags":{"page":"/api/hub/tokens"},"startTime":1779203444390,"traceId":"f45479424a5144df"},{"name":"is-page-static","duration":680974,"timestamp":395472154670,"id":90,"parentId":24,"tags":{},"startTime":1779203444401,"traceId":"f45479424a5144df"},{"name":"check-page","duration":699534,"timestamp":395472136147,"id":24,"parentId":19,"tags":{"page":"/api/anet/config"},"startTime":1779203444382,"traceId":"f45479424a5144df"},{"name":"is-page-static","duration":680194,"timestamp":395472158067,"id":93,"parentId":43,"tags":{},"startTime":1779203444404,"traceId":"f45479424a5144df"},{"name":"check-page","duration":697238,"timestamp":395472141068,"id":43,"parentId":19,"tags":{"page":"/api/hub/servers"},"startTime":1779203444387,"traceId":"f45479424a5144df"},{"name":"is-page-static","duration":683026,"timestamp":395472156740,"id":92,"parentId":41,"tags":{},"startTime":1779203444403,"traceId":"f45479424a5144df"},{"name":"check-page","duration":699059,"timestamp":395472140754,"id":41,"parentId":19,"tags":{"page":"/api/hub/server/[hostname]/agents"},"startTime":1779203444387,"traceId":"f45479424a5144df"},{"name":"is-page-static","duration":690634,"timestamp":395472155875,"id":91,"parentId":31,"tags":{},"startTime":1779203444402,"traceId":"f45479424a5144df"},{"name":"check-page","duration":707413,"timestamp":395472139140,"id":31,"parentId":19,"tags":{"page":"/api/hub/events"},"startTime":1779203444385,"traceId":"f45479424a5144df"},{"name":"is-page-static","duration":696479,"timestamp":395472151239,"id":83,"parentId":45,"tags":{},"startTime":1779203444398,"traceId":"f45479424a5144df"},{"name":"check-page","duration":706352,"timestamp":395472141418,"id":45,"parentId":19,"tags":{"page":"/api/hub/stats"},"startTime":1779203444388,"traceId":"f45479424a5144df"},{"name":"is-page-static","duration":696918,"timestamp":395472151187,"id":79,"parentId":39,"tags":{},"startTime":1779203444397,"traceId":"f45479424a5144df"},{"name":"check-page","duration":707524,"timestamp":395472140627,"id":39,"parentId":19,"tags":{"page":"/api/hub/send"},"startTime":1779203444387,"traceId":"f45479424a5144df"},{"name":"is-page-static","duration":709036,"timestamp":395472151313,"id":89,"parentId":51,"tags":{},"startTime":1779203444398,"traceId":"f45479424a5144df"},{"name":"check-page","duration":717075,"timestamp":395472143357,"id":51,"parentId":19,"tags":{"page":"/favicon.ico"},"startTime":1779203444390,"traceId":"f45479424a5144df"},{"name":"is-page-static","duration":712981,"timestamp":395472160310,"id":99,"parentId":56,"tags":{},"startTime":1779203444407,"traceId":"f45479424a5144df"},{"name":"check-page","duration":729155,"timestamp":395472144213,"id":56,"parentId":19,"tags":{"page":"/nodes"},"startTime":1779203444390,"traceId":"f45479424a5144df"},{"name":"is-page-static","duration":723907,"timestamp":395472160638,"id":101,"parentId":59,"tags":{},"startTime":1779203444407,"traceId":"f45479424a5144df"},{"name":"check-page","duration":739446,"timestamp":395472145179,"id":59,"parentId":19,"tags":{"page":"/settings/networks"},"startTime":1779203444391,"traceId":"f45479424a5144df"},{"name":"is-page-static","duration":728715,"timestamp":395472160672,"id":102,"parentId":61,"tags":{},"startTime":1779203444407,"traceId":"f45479424a5144df"},{"name":"check-page","duration":743845,"timestamp":395472145632,"id":61,"parentId":19,"tags":{"page":"/settings/tokens"},"startTime":1779203444392,"traceId":"f45479424a5144df"},{"name":"is-page-static","duration":742881,"timestamp":395472160687,"id":103,"parentId":62,"tags":{},"startTime":1779203444407,"traceId":"f45479424a5144df"},{"name":"check-page","duration":757863,"timestamp":395472145774,"id":62,"parentId":19,"tags":{"page":"/tasks/[id]"},"startTime":1779203444392,"traceId":"f45479424a5144df"},{"name":"is-page-static","duration":750871,"timestamp":395472160224,"id":94,"parentId":23,"tags":{},"startTime":1779203444407,"traceId":"f45479424a5144df"},{"name":"check-page","duration":775244,"timestamp":395472135920,"id":23,"parentId":19,"tags":{"page":"/admin"},"startTime":1779203444382,"traceId":"f45479424a5144df"},{"name":"is-page-static","duration":750656,"timestamp":395472160698,"id":104,"parentId":63,"tags":{},"startTime":1779203444407,"traceId":"f45479424a5144df"},{"name":"check-page","duration":765477,"timestamp":395472145922,"id":63,"parentId":19,"tags":{"page":"/tasks"},"startTime":1779203444392,"traceId":"f45479424a5144df"},{"name":"is-page-static","duration":752916,"timestamp":395472160255,"id":95,"parentId":52,"tags":{},"startTime":1779203444407,"traceId":"f45479424a5144df"},{"name":"check-page","duration":769585,"timestamp":395472143633,"id":52,"parentId":19,"tags":{"page":"/login"},"startTime":1779203444390,"traceId":"f45479424a5144df"},{"name":"is-page-static","duration":733486,"timestamp":395472185166,"id":106,"parentId":57,"tags":{},"startTime":1779203444431,"traceId":"f45479424a5144df"},{"name":"check-page","duration":774236,"timestamp":395472144456,"id":57,"parentId":19,"tags":{"page":"/"},"startTime":1779203444391,"traceId":"f45479424a5144df"},{"name":"is-page-static","duration":758494,"timestamp":395472160272,"id":96,"parentId":53,"tags":{},"startTime":1779203444407,"traceId":"f45479424a5144df"},{"name":"check-page","duration":775060,"timestamp":395472143727,"id":53,"parentId":19,"tags":{"page":"/logs"},"startTime":1779203444390,"traceId":"f45479424a5144df"},{"name":"is-page-static","duration":758668,"timestamp":395472160296,"id":98,"parentId":55,"tags":{},"startTime":1779203444407,"traceId":"f45479424a5144df"},{"name":"check-page","duration":775035,"timestamp":395472143995,"id":55,"parentId":19,"tags":{"page":"/node"},"startTime":1779203444390,"traceId":"f45479424a5144df"},{"name":"is-page-static","duration":749536,"timestamp":395472170826,"id":105,"parentId":60,"tags":{},"startTime":1779203444417,"traceId":"f45479424a5144df"},{"name":"check-page","duration":775075,"timestamp":395472145319,"id":60,"parentId":19,"tags":{"page":"/settings"},"startTime":1779203444392,"traceId":"f45479424a5144df"},{"name":"is-page-static","duration":764486,"timestamp":395472160282,"id":97,"parentId":54,"tags":{},"startTime":1779203444407,"traceId":"f45479424a5144df"},{"name":"check-page","duration":780977,"timestamp":395472143826,"id":54,"parentId":19,"tags":{"page":"/messages"},"startTime":1779203444390,"traceId":"f45479424a5144df"},{"name":"is-page-static","duration":776739,"timestamp":395472160319,"id":100,"parentId":58,"tags":{},"startTime":1779203444407,"traceId":"f45479424a5144df"},{"name":"check-page","duration":792145,"timestamp":395472144955,"id":58,"parentId":19,"tags":{"page":"/server-logs"},"startTime":1779203444391,"traceId":"f45479424a5144df"},{"name":"static-check","duration":804688,"timestamp":395472132456,"id":19,"parentId":1,"tags":{},"startTime":1779203444379,"traceId":"f45479424a5144df"}]
2
+ [{"name":"write-routes-manifest","duration":488,"timestamp":395472947226,"id":108,"parentId":1,"tags":{},"startTime":1779203445194,"traceId":"f45479424a5144df"},{"name":"load-dotenv","duration":55,"timestamp":395472958300,"id":111,"parentId":110,"tags":{},"startTime":1779203445205,"traceId":"f45479424a5144df"},{"name":"run-export-path-map","duration":583,"timestamp":395472960831,"id":112,"parentId":110,"tags":{},"startTime":1779203445207,"traceId":"f45479424a5144df"},{"name":"next-export","duration":630827,"timestamp":395472956926,"id":110,"parentId":1,"tags":{},"startTime":1779203445203,"traceId":"f45479424a5144df"},{"name":"move-exported-app-not-found-","duration":620,"timestamp":395473592074,"id":113,"parentId":109,"tags":{},"startTime":1779203445838,"traceId":"f45479424a5144df"},{"name":"move-exported-app-global-error-","duration":479,"timestamp":395473592821,"id":114,"parentId":109,"tags":{},"startTime":1779203445839,"traceId":"f45479424a5144df"},{"name":"static-generation","duration":644585,"timestamp":395472951227,"id":109,"parentId":1,"tags":{},"startTime":1779203445198,"traceId":"f45479424a5144df"},{"name":"write-routes-manifest","duration":649,"timestamp":395473596147,"id":115,"parentId":1,"tags":{},"startTime":1779203445842,"traceId":"f45479424a5144df"},{"name":"print-tree-view","duration":5472,"timestamp":395473613902,"id":116,"parentId":1,"tags":{},"startTime":1779203445860,"traceId":"f45479424a5144df"},{"name":"write-route-bundle-stats","duration":15637,"timestamp":395473619419,"id":117,"parentId":1,"tags":{},"startTime":1779203445866,"traceId":"f45479424a5144df"},{"name":"telemetry-flush","duration":33621,"timestamp":395473635097,"id":118,"parentId":1,"tags":{},"startTime":1779203445881,"traceId":"f45479424a5144df"},{"name":"next-build","duration":18333820,"timestamp":395455334939,"id":1,"tags":{"buildMode":"default","version":"16.2.3","bundler":"turbopack","has-custom-webpack-config":"false","use-build-worker":"true"},"startTime":1779203427581,"traceId":"f45479424a5144df"}]
package/.next/trace-build CHANGED
@@ -1 +1 @@
1
- [{"name":"run-turbopack","duration":5983458,"timestamp":267073273420,"id":14,"parentId":1,"tags":{},"startTime":1779075045520,"traceId":"4f8b5f00d6841411"},{"name":"turbopack-build-events","duration":84,"timestamp":267073597891,"id":15,"parentId":1,"tags":{},"startTime":1779075045844,"traceId":"4f8b5f00d6841411"},{"name":"run-typescript","duration":10063961,"timestamp":267079268772,"id":16,"parentId":1,"tags":{},"startTime":1779075051515,"traceId":"4f8b5f00d6841411"},{"name":"static-check","duration":900061,"timestamp":267089558180,"id":19,"parentId":1,"tags":{},"startTime":1779075061804,"traceId":"4f8b5f00d6841411"},{"name":"static-generation","duration":654903,"timestamp":267090476178,"id":109,"parentId":1,"tags":{},"startTime":1779075062722,"traceId":"4f8b5f00d6841411"},{"name":"telemetry-flush","duration":24728,"timestamp":267091165738,"id":118,"parentId":1,"tags":{},"startTime":1779075063412,"traceId":"4f8b5f00d6841411"},{"name":"next-build","duration":18152854,"timestamp":267073037640,"id":1,"tags":{"buildMode":"default","version":"16.2.3","bundler":"turbopack","has-custom-webpack-config":"false","use-build-worker":"true"},"startTime":1779075045284,"traceId":"4f8b5f00d6841411"}]
1
+ [{"name":"run-turbopack","duration":6558796,"timestamp":395455591750,"id":14,"parentId":1,"tags":{},"startTime":1779203427838,"traceId":"f45479424a5144df"},{"name":"turbopack-build-events","duration":74,"timestamp":395455923600,"id":15,"parentId":1,"tags":{},"startTime":1779203428170,"traceId":"f45479424a5144df"},{"name":"run-typescript","duration":9767843,"timestamp":395462159273,"id":16,"parentId":1,"tags":{},"startTime":1779203434406,"traceId":"f45479424a5144df"},{"name":"static-check","duration":804688,"timestamp":395472132456,"id":19,"parentId":1,"tags":{},"startTime":1779203444379,"traceId":"f45479424a5144df"},{"name":"static-generation","duration":644585,"timestamp":395472951227,"id":109,"parentId":1,"tags":{},"startTime":1779203445198,"traceId":"f45479424a5144df"},{"name":"telemetry-flush","duration":33621,"timestamp":395473635097,"id":118,"parentId":1,"tags":{},"startTime":1779203445881,"traceId":"f45479424a5144df"},{"name":"next-build","duration":18333820,"timestamp":395455334939,"id":1,"tags":{"buildMode":"default","version":"16.2.3","bundler":"turbopack","has-custom-webpack-config":"false","use-build-worker":"true"},"startTime":1779203427581,"traceId":"f45479424a5144df"}]
@@ -2043,7 +2043,28 @@ export function TopoGraph({ sessions, sseSessions, renameSignal }: TopoGraphProp
2043
2043
  independent gesture vocabularies.
2044
2044
  data-topo-section-kicker-hover-tracking + -hover-color
2045
2045
  attrs expose the landing values for tests. */}
2046
- <div className="text-xs uppercase text-gray-500 group-hover:text-gray-400 tracking-widest group-hover:tracking-[0.13em] transition-[letter-spacing,color] duration-200 ease-out leading-tight font-medium" data-topo-section-kicker data-topo-section-kicker-hover-tracking="0.13em" data-topo-section-kicker-hover-color="text-gray-400" data-topo-section-kicker-halo-layers="2">Network Topology</div>
2046
+ {/* Round 699 / Loop: kicker gains a slow at-rest breathing
2047
+ fade — opacity 0.78 ↔ 1 at 6s ease-in-out infinite, via
2048
+ `.anet-topo-kicker-breath` (globals.css). Pre-R699 the
2049
+ kicker sat at a fixed alpha; the H2 below has a live
2050
+ breathing pulse cycle (`anet-current-step-pulse-kf` family
2051
+ cousins exist) but the kicker eyebrow itself was static.
2052
+ R699 adds a 6s respiration — visible but never agitating.
2053
+ When hovered, the group-hover:text-gray-400 (R685 halo +
2054
+ R555 tracking-expand) takes over, so the breath only
2055
+ registers at rest. prefers-reduced-motion neutralizes the
2056
+ keyframe (animation: none) inside the CSS class.
2057
+
2058
+ Geometry-safe: pure opacity animation, no transform / size /
2059
+ filter blur change → bounding box stable → topo-overlap-test
2060
+ unaffected at both grid + ring. First respiratory anchor
2061
+ on the title-block — sibling to the chip-row gesture grammar
2062
+ (R697/R698 wrapper halos) but operating on a different
2063
+ axis (rest-state aliveness vs hover gesture).
2064
+
2065
+ data-topo-section-kicker-breath="6s" attr surfaces the
2066
+ cadence for tests. */}
2067
+ <div className="anet-topo-kicker-breath text-xs uppercase text-gray-500 group-hover:text-gray-400 tracking-widest group-hover:tracking-[0.13em] transition-[letter-spacing,color] duration-200 ease-out leading-tight font-medium" data-topo-section-kicker data-topo-section-kicker-hover-tracking="0.13em" data-topo-section-kicker-hover-color="text-gray-400" data-topo-section-kicker-halo-layers="2" data-topo-section-kicker-breath="6s">Network Topology</div>
2047
2068
  {/* Round 286 / Loop: title 'Command mesh' adopts tracking-tight
2048
2069
  (-0.025em) to complement R285 kicker tracking-widest. Wide
2049
2070
  eyebrow + tight headline is the conventional editorial
@@ -3774,6 +3795,25 @@ export function TopoGraph({ sessions, sseSessions, renameSignal }: TopoGraphProp
3774
3795
  <span
3775
3796
  className="hidden sm:inline-flex items-center gap-2 px-2.5 py-1 rounded-md bg-gray-500/10 text-gray-400 border border-gray-500/20 font-mono"
3776
3797
  title="Hover to highlight; click to pin"
3798
+ /* Round 698 — vendor-distribution chip-row outer wrapper
3799
+ joins the R697 wrapper-level :has() halo family. Pre-R698
3800
+ only the chrome-strip wrappers (Layout/nodeSize/zoom)
3801
+ echoed inner-button hover at the parent scope. R698
3802
+ extends the vocabulary to a NEW parent: the vendor
3803
+ distribution chip-row. When user hovers any inner
3804
+ vendor letter chip (A:N / O:N / 书:N / ?:N — all are
3805
+ `<span role="button">`), the outer wrapper itself
3806
+ halos in cyan-300 (2+4 stride, 0.5/0.25 alpha), matching
3807
+ R697's cadence. Reads as "this vendor-distribution
3808
+ control group is active" — same gesture R697 introduced
3809
+ at the chrome strip, now at the chip strip. 54th anchor
3810
+ in multi-layer halo family — 2nd wrapper-level :has()
3811
+ anchor. CSS rule lives in globals.css ~1228+ using
3812
+ :has([role="button"]:hover) instead of :has(button:hover)
3813
+ because vendor chips are role="button" spans (not real
3814
+ <button>). The selector variant extends R697's :has()
3815
+ vocabulary from real buttons to ARIA buttons. */
3816
+ data-topo-chrome-vendor-distribution-wrapper="true"
3777
3817
  >
3778
3818
  {vendorDist.map(v => {
3779
3819
  const isPinned = pinnedVendor === v.initial;
package/app/globals.css CHANGED
@@ -1225,6 +1225,77 @@ body {
1225
1225
  filter 200ms ease-out;
1226
1226
  }
1227
1227
 
1228
+ /* ─────────────────────────────────────────────────────────────────────
1229
+ Round 698 — vendor-distribution chip-row outer wrapper joins the
1230
+ R697 wrapper-level :has() halo family. Pre-R698 only the chrome-strip
1231
+ wrappers (Layout/nodeSize/zoom) echoed inner-button hover at the
1232
+ parent scope; the vendor-distribution wrapper stayed flat even though
1233
+ its inner vendor letter chips already halo'd per-element (R676/R688/
1234
+ R690).
1235
+
1236
+ R697 used `:has(button:hover)` because chrome wrappers contain real
1237
+ <button> children. The vendor letter chips are `<span role="button">`
1238
+ (clickable spans, not buttons — preserves inline-baseline alignment
1239
+ with the title text). The :has() selector variant `[role="button"]:hover`
1240
+ extends R697's wrapper-level vocabulary from real-button children
1241
+ to ARIA-button children — same gesture, broader applicability.
1242
+
1243
+ Cyan-300 (#67e8f9) at 2+4 stride, 0.5/0.25 alpha — matches R697
1244
+ cadence exactly. Transition matches the per-chip 200ms hover cascade.
1245
+ When user hovers any A:N / O:N / 书:N / ?:N chip, the outer chip-row
1246
+ wrapper echoes the per-chip halo outward — reads as "this vendor-
1247
+ distribution control group is active" alongside the existing R676
1248
+ vendor letter glyph halo + R688 count suffix halo.
1249
+
1250
+ 54th anchor in multi-layer halo family — 2nd wrapper-level :has()
1251
+ anchor. First :has() rule targeting [role="button"] (vs <button>)
1252
+ children. Closes vendor-chip-row "active control group" signal at
1253
+ the parent scope. */
1254
+ [data-topo-chrome-vendor-distribution-wrapper]:has([role="button"]:hover) {
1255
+ filter: drop-shadow(0 0 2px rgba(103, 232, 249, 0.5))
1256
+ drop-shadow(0 0 4px rgba(103, 232, 249, 0.25));
1257
+ }
1258
+ [data-topo-chrome-vendor-distribution-wrapper] {
1259
+ transition: background-color 200ms ease-out,
1260
+ border-color 200ms ease-out,
1261
+ filter 200ms ease-out;
1262
+ }
1263
+
1264
+ /* ─────────────────────────────────────────────────────────────────────
1265
+ Round 699 — kicker "Network Topology" at-rest breathing fade.
1266
+
1267
+ The H2 below ("Command mesh") already had its hover halo via the R684
1268
+ descendant rule; the kicker eyebrow above had R685 hover halo + R555
1269
+ tracking-expand, but at REST it sat at a fixed alpha — static, no
1270
+ sign of life. R699 adds a slow respiratory cycle (opacity 0.78 ↔ 1
1271
+ at 6 s ease-in-out infinite) on `.anet-topo-kicker-breath`.
1272
+
1273
+ 6 s is deliberately ~3× slower than the sidebar brand-pulse (1.6 s)
1274
+ and the recent-hot pulse (3 s) — kicker isn't signaling urgency, just
1275
+ "this section is alive". Group-hover overrides via R555/R685 take
1276
+ precedence the moment user enters the title-block, so the breath
1277
+ never competes with the gesture vocabulary.
1278
+
1279
+ Pure opacity: no transform / no filter blur / no size change → text
1280
+ bounding box stable → topo-overlap-test grid + ring untouched. Pairs
1281
+ sequentially with `anet-brand-pulse-kf` (1.6 s, brand status) and
1282
+ `anet-recent-hot-pulse-kf` (3 s, recent-signal heat) as the third
1283
+ distinct respiratory rhythm in the topo canvas.
1284
+
1285
+ prefers-reduced-motion: reduce → animation: none (kicker freezes at
1286
+ resting alpha = 1, sibling to other R29-family motion guards).
1287
+ ───────────────────────────────────────────────────────────────────── */
1288
+ @keyframes anet-topo-kicker-breath-kf {
1289
+ 0%, 100% { opacity: 1; }
1290
+ 50% { opacity: 0.78; }
1291
+ }
1292
+ .anet-topo-kicker-breath {
1293
+ animation: anet-topo-kicker-breath-kf 6s ease-in-out infinite;
1294
+ }
1295
+ @media (prefers-reduced-motion: reduce) {
1296
+ .anet-topo-kicker-breath { animation: none; }
1297
+ }
1298
+
1228
1299
  /* ─────────────────────────────────────────────────────────────────────
1229
1300
  Round 29 — prefers-reduced-motion a11y sweep
1230
1301
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sleep2agi/agent-network-dashboard",
3
- "version": "0.5.3-preview.211",
3
+ "version": "0.5.3-preview.213",
4
4
  "description": "Agent Network Dashboard \u2014 Web UI for managing AI Agent networks",
5
5
  "scripts": {
6
6
  "dev": "next dev",