@sleep2agi/agent-network-dashboard 0.5.3-preview.32 → 0.5.3-preview.34

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 (143) 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.html +1 -1
  13. package/.next/server/app/_not-found.rsc +1 -1
  14. package/.next/server/app/_not-found.segments/_full.segment.rsc +1 -1
  15. package/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  16. package/.next/server/app/_not-found.segments/_index.segment.rsc +1 -1
  17. package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  18. package/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  19. package/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
  20. package/.next/server/app/admin.html +1 -1
  21. package/.next/server/app/admin.rsc +1 -1
  22. package/.next/server/app/admin.segments/_full.segment.rsc +1 -1
  23. package/.next/server/app/admin.segments/_head.segment.rsc +1 -1
  24. package/.next/server/app/admin.segments/_index.segment.rsc +1 -1
  25. package/.next/server/app/admin.segments/_tree.segment.rsc +1 -1
  26. package/.next/server/app/admin.segments/admin/__PAGE__.segment.rsc +1 -1
  27. package/.next/server/app/admin.segments/admin.segment.rsc +1 -1
  28. package/.next/server/app/index.html +2 -2
  29. package/.next/server/app/index.rsc +2 -2
  30. package/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
  31. package/.next/server/app/index.segments/_full.segment.rsc +2 -2
  32. package/.next/server/app/index.segments/_head.segment.rsc +1 -1
  33. package/.next/server/app/index.segments/_index.segment.rsc +1 -1
  34. package/.next/server/app/index.segments/_tree.segment.rsc +1 -1
  35. package/.next/server/app/login/page_client-reference-manifest.js +1 -1
  36. package/.next/server/app/login.html +2 -2
  37. package/.next/server/app/login.rsc +2 -2
  38. package/.next/server/app/login.segments/_full.segment.rsc +2 -2
  39. package/.next/server/app/login.segments/_head.segment.rsc +1 -1
  40. package/.next/server/app/login.segments/_index.segment.rsc +1 -1
  41. package/.next/server/app/login.segments/_tree.segment.rsc +1 -1
  42. package/.next/server/app/login.segments/login/__PAGE__.segment.rsc +2 -2
  43. package/.next/server/app/login.segments/login.segment.rsc +1 -1
  44. package/.next/server/app/logs.html +1 -1
  45. package/.next/server/app/logs.rsc +1 -1
  46. package/.next/server/app/logs.segments/_full.segment.rsc +1 -1
  47. package/.next/server/app/logs.segments/_head.segment.rsc +1 -1
  48. package/.next/server/app/logs.segments/_index.segment.rsc +1 -1
  49. package/.next/server/app/logs.segments/_tree.segment.rsc +1 -1
  50. package/.next/server/app/logs.segments/logs/__PAGE__.segment.rsc +1 -1
  51. package/.next/server/app/logs.segments/logs.segment.rsc +1 -1
  52. package/.next/server/app/messages.html +1 -1
  53. package/.next/server/app/messages.rsc +1 -1
  54. package/.next/server/app/messages.segments/_full.segment.rsc +1 -1
  55. package/.next/server/app/messages.segments/_head.segment.rsc +1 -1
  56. package/.next/server/app/messages.segments/_index.segment.rsc +1 -1
  57. package/.next/server/app/messages.segments/_tree.segment.rsc +1 -1
  58. package/.next/server/app/messages.segments/messages/__PAGE__.segment.rsc +1 -1
  59. package/.next/server/app/messages.segments/messages.segment.rsc +1 -1
  60. package/.next/server/app/node.html +1 -1
  61. package/.next/server/app/node.rsc +1 -1
  62. package/.next/server/app/node.segments/_full.segment.rsc +1 -1
  63. package/.next/server/app/node.segments/_head.segment.rsc +1 -1
  64. package/.next/server/app/node.segments/_index.segment.rsc +1 -1
  65. package/.next/server/app/node.segments/_tree.segment.rsc +1 -1
  66. package/.next/server/app/node.segments/node/__PAGE__.segment.rsc +1 -1
  67. package/.next/server/app/node.segments/node.segment.rsc +1 -1
  68. package/.next/server/app/nodes.html +1 -1
  69. package/.next/server/app/nodes.rsc +1 -1
  70. package/.next/server/app/nodes.segments/_full.segment.rsc +1 -1
  71. package/.next/server/app/nodes.segments/_head.segment.rsc +1 -1
  72. package/.next/server/app/nodes.segments/_index.segment.rsc +1 -1
  73. package/.next/server/app/nodes.segments/_tree.segment.rsc +1 -1
  74. package/.next/server/app/nodes.segments/nodes/__PAGE__.segment.rsc +1 -1
  75. package/.next/server/app/nodes.segments/nodes.segment.rsc +1 -1
  76. package/.next/server/app/page_client-reference-manifest.js +1 -1
  77. package/.next/server/app/server-logs.html +1 -1
  78. package/.next/server/app/server-logs.rsc +1 -1
  79. package/.next/server/app/server-logs.segments/_full.segment.rsc +1 -1
  80. package/.next/server/app/server-logs.segments/_head.segment.rsc +1 -1
  81. package/.next/server/app/server-logs.segments/_index.segment.rsc +1 -1
  82. package/.next/server/app/server-logs.segments/_tree.segment.rsc +1 -1
  83. package/.next/server/app/server-logs.segments/server-logs/__PAGE__.segment.rsc +1 -1
  84. package/.next/server/app/server-logs.segments/server-logs.segment.rsc +1 -1
  85. package/.next/server/app/settings/networks.html +1 -1
  86. package/.next/server/app/settings/networks.rsc +1 -1
  87. package/.next/server/app/settings/networks.segments/_full.segment.rsc +1 -1
  88. package/.next/server/app/settings/networks.segments/_head.segment.rsc +1 -1
  89. package/.next/server/app/settings/networks.segments/_index.segment.rsc +1 -1
  90. package/.next/server/app/settings/networks.segments/_tree.segment.rsc +1 -1
  91. package/.next/server/app/settings/networks.segments/settings/networks/__PAGE__.segment.rsc +1 -1
  92. package/.next/server/app/settings/networks.segments/settings/networks.segment.rsc +1 -1
  93. package/.next/server/app/settings/networks.segments/settings.segment.rsc +1 -1
  94. package/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  95. package/.next/server/app/settings/tokens.html +1 -1
  96. package/.next/server/app/settings/tokens.rsc +1 -1
  97. package/.next/server/app/settings/tokens.segments/_full.segment.rsc +1 -1
  98. package/.next/server/app/settings/tokens.segments/_head.segment.rsc +1 -1
  99. package/.next/server/app/settings/tokens.segments/_index.segment.rsc +1 -1
  100. package/.next/server/app/settings/tokens.segments/_tree.segment.rsc +1 -1
  101. package/.next/server/app/settings/tokens.segments/settings/tokens/__PAGE__.segment.rsc +1 -1
  102. package/.next/server/app/settings/tokens.segments/settings/tokens.segment.rsc +1 -1
  103. package/.next/server/app/settings/tokens.segments/settings.segment.rsc +1 -1
  104. package/.next/server/app/settings.html +2 -2
  105. package/.next/server/app/settings.rsc +2 -2
  106. package/.next/server/app/settings.segments/_full.segment.rsc +2 -2
  107. package/.next/server/app/settings.segments/_head.segment.rsc +1 -1
  108. package/.next/server/app/settings.segments/_index.segment.rsc +1 -1
  109. package/.next/server/app/settings.segments/_tree.segment.rsc +1 -1
  110. package/.next/server/app/settings.segments/settings/__PAGE__.segment.rsc +2 -2
  111. package/.next/server/app/settings.segments/settings.segment.rsc +1 -1
  112. package/.next/server/app/tasks.html +1 -1
  113. package/.next/server/app/tasks.rsc +1 -1
  114. package/.next/server/app/tasks.segments/_full.segment.rsc +1 -1
  115. package/.next/server/app/tasks.segments/_head.segment.rsc +1 -1
  116. package/.next/server/app/tasks.segments/_index.segment.rsc +1 -1
  117. package/.next/server/app/tasks.segments/_tree.segment.rsc +1 -1
  118. package/.next/server/app/tasks.segments/tasks/__PAGE__.segment.rsc +1 -1
  119. package/.next/server/app/tasks.segments/tasks.segment.rsc +1 -1
  120. package/.next/server/chunks/ssr/[root-of-the-server]__0sv~g.o._.js +1 -1
  121. package/.next/server/chunks/ssr/[root-of-the-server]__0sv~g.o._.js.map +1 -1
  122. package/.next/server/chunks/ssr/agent-network-dashboard_09kk21a._.js +1 -1
  123. package/.next/server/chunks/ssr/agent-network-dashboard_09kk21a._.js.map +1 -1
  124. package/.next/server/chunks/ssr/agent-network-dashboard_app_01jhlxz._.js +1 -1
  125. package/.next/server/chunks/ssr/agent-network-dashboard_app_01jhlxz._.js.map +1 -1
  126. package/.next/server/chunks/ssr/agent-network-dashboard_app_09d29my._.js +1 -1
  127. package/.next/server/chunks/ssr/agent-network-dashboard_app_09d29my._.js.map +1 -1
  128. package/.next/server/middleware-build-manifest.js +3 -3
  129. package/.next/server/pages/404.html +1 -1
  130. package/.next/server/pages/500.html +1 -1
  131. package/.next/static/chunks/{0izm~43vzso0a.js → 0b490a3syao3z.js} +1 -1
  132. package/.next/static/chunks/{12a1ws~kfvn_..js → 0lob1f19hlry4.js} +1 -1
  133. package/.next/static/chunks/{17ffg-x6ys1~x.js → 0y0x0olf0eivg.js} +1 -1
  134. package/.next/static/chunks/{0dif29gadelae.js → 146zrqinfqy2s.js} +1 -1
  135. package/.next/trace +2 -2
  136. package/.next/trace-build +1 -1
  137. package/app/components/TopoGraph.tsx +68 -4
  138. package/package.json +1 -1
  139. package/scripts/topo-recent-more-fw-test.mjs +126 -0
  140. package/scripts/topo-watermark-breath-test.mjs +100 -0
  141. /package/.next/static/{QYjv7UVf2QUFnX8LQqcOm → bXwaGuWcMJtC-7TswyXim}/_buildManifest.js +0 -0
  142. /package/.next/static/{QYjv7UVf2QUFnX8LQqcOm → bXwaGuWcMJtC-7TswyXim}/_clientMiddlewareManifest.js +0 -0
  143. /package/.next/static/{QYjv7UVf2QUFnX8LQqcOm → bXwaGuWcMJtC-7TswyXim}/_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.32"],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.34"],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.32"],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.34"],70286)},65610,e=>{"use strict";var s=e.i(22381),a=e.i(23910),t=e.i(56839),r=e.i(59276),n=e.i(70286);e.s(["default",0,function(){let{config:e}=(0,r.useAnetConfig)(),{health:l}=(0,r.useHealth)(),{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 →"})]})]})]})]})]})}])}]);
package/.next/trace CHANGED
@@ -1,2 +1,2 @@
1
- [{"name":"generate-buildid","duration":370,"timestamp":206872088479,"id":4,"parentId":1,"tags":{},"startTime":1779014844335,"traceId":"cd85b32fd7b13612"},{"name":"load-custom-routes","duration":703,"timestamp":206872089074,"id":5,"parentId":1,"tags":{},"startTime":1779014844335,"traceId":"cd85b32fd7b13612"},{"name":"create-dist-dir","duration":928,"timestamp":206872089841,"id":6,"parentId":1,"tags":{},"startTime":1779014844336,"traceId":"cd85b32fd7b13612"},{"name":"clean","duration":40685,"timestamp":206872091696,"id":7,"parentId":1,"tags":{},"startTime":1779014844338,"traceId":"cd85b32fd7b13612"},{"name":"discover-routes","duration":25787,"timestamp":206872252384,"id":8,"parentId":1,"tags":{},"startTime":1779014844499,"traceId":"cd85b32fd7b13612"},{"name":"create-root-mapping","duration":127,"timestamp":206872278236,"id":9,"parentId":1,"tags":{},"startTime":1779014844525,"traceId":"cd85b32fd7b13612"},{"name":"generate-route-types","duration":20988,"timestamp":206872280811,"id":10,"parentId":1,"tags":{},"startTime":1779014844527,"traceId":"cd85b32fd7b13612"},{"name":"public-dir-conflict-check","duration":111,"timestamp":206872301883,"id":11,"parentId":1,"tags":{},"startTime":1779014844548,"traceId":"cd85b32fd7b13612"},{"name":"generate-routes-manifest","duration":4873,"timestamp":206872302165,"id":12,"parentId":1,"tags":{},"startTime":1779014844548,"traceId":"cd85b32fd7b13612"},{"name":"run-turbopack","duration":6076194,"timestamp":206872313593,"id":14,"parentId":1,"tags":{},"startTime":1779014844560,"traceId":"cd85b32fd7b13612"},{"name":"turbopack-build-events","duration":72,"timestamp":206872662370,"id":15,"parentId":1,"tags":{},"startTime":1779014844909,"traceId":"cd85b32fd7b13612"},{"name":"run-typescript","duration":10000209,"timestamp":206878398181,"id":16,"parentId":1,"tags":{},"startTime":1779014850644,"traceId":"cd85b32fd7b13612"},{"name":"generate-required-server-files","duration":2616,"timestamp":206888399554,"id":18,"parentId":1,"tags":{},"startTime":1779014860646,"traceId":"cd85b32fd7b13612"},{"name":"check-static-error-page","duration":13899,"timestamp":206888577260,"id":20,"parentId":19,"tags":{},"startTime":1779014860824,"traceId":"cd85b32fd7b13612"},{"name":"is-page-static","duration":513740,"timestamp":206888594450,"id":65,"parentId":22,"tags":{},"startTime":1779014860841,"traceId":"cd85b32fd7b13612"},{"name":"check-page","duration":528024,"timestamp":206888580335,"id":22,"parentId":19,"tags":{"page":"/_global-error"},"startTime":1779014860827,"traceId":"cd85b32fd7b13612"},{"name":"is-page-static","duration":570781,"timestamp":206888605346,"id":69,"parentId":28,"tags":{},"startTime":1779014860852,"traceId":"cd85b32fd7b13612"},{"name":"check-page","duration":593031,"timestamp":206888583236,"id":28,"parentId":19,"tags":{"page":"/api/hub/audit-log"},"startTime":1779014860830,"traceId":"cd85b32fd7b13612"},{"name":"is-page-static","duration":592054,"timestamp":206888605800,"id":72,"parentId":32,"tags":{},"startTime":1779014860852,"traceId":"cd85b32fd7b13612"},{"name":"check-page","duration":614022,"timestamp":206888583920,"id":32,"parentId":19,"tags":{"page":"/api/hub/health"},"startTime":1779014860830,"traceId":"cd85b32fd7b13612"},{"name":"is-page-static","duration":596729,"timestamp":206888605609,"id":70,"parentId":29,"tags":{},"startTime":1779014860852,"traceId":"cd85b32fd7b13612"},{"name":"check-page","duration":619036,"timestamp":206888583378,"id":29,"parentId":19,"tags":{"page":"/api/hub/auth"},"startTime":1779014860830,"traceId":"cd85b32fd7b13612"},{"name":"is-page-static","duration":624360,"timestamp":206888593728,"id":64,"parentId":21,"tags":{},"startTime":1779014860840,"traceId":"cd85b32fd7b13612"},{"name":"check-page","duration":639368,"timestamp":206888578787,"id":21,"parentId":19,"tags":{"page":"/_not-found"},"startTime":1779014860825,"traceId":"cd85b32fd7b13612"},{"name":"is-page-static","duration":615328,"timestamp":206888605938,"id":73,"parentId":33,"tags":{},"startTime":1779014860852,"traceId":"cd85b32fd7b13612"},{"name":"check-page","duration":637257,"timestamp":206888584087,"id":33,"parentId":19,"tags":{"page":"/api/hub/inbox"},"startTime":1779014860830,"traceId":"cd85b32fd7b13612"},{"name":"is-page-static","duration":626038,"timestamp":206888606077,"id":76,"parentId":36,"tags":{},"startTime":1779014860852,"traceId":"cd85b32fd7b13612"},{"name":"check-page","duration":647279,"timestamp":206888584913,"id":36,"parentId":19,"tags":{"page":"/api/hub/networks"},"startTime":1779014860831,"traceId":"cd85b32fd7b13612"},{"name":"is-page-static","duration":626648,"timestamp":206888605740,"id":71,"parentId":30,"tags":{},"startTime":1779014860852,"traceId":"cd85b32fd7b13612"},{"name":"check-page","duration":648892,"timestamp":206888583537,"id":30,"parentId":19,"tags":{"page":"/api/hub/broadcast"},"startTime":1779014860830,"traceId":"cd85b32fd7b13612"},{"name":"is-page-static","duration":627115,"timestamp":206888606107,"id":77,"parentId":37,"tags":{},"startTime":1779014860852,"traceId":"cd85b32fd7b13612"},{"name":"check-page","duration":648123,"timestamp":206888585151,"id":37,"parentId":19,"tags":{"page":"/api/hub/nodes"},"startTime":1779014860831,"traceId":"cd85b32fd7b13612"},{"name":"is-page-static","duration":631255,"timestamp":206888606027,"id":74,"parentId":34,"tags":{},"startTime":1779014860852,"traceId":"cd85b32fd7b13612"},{"name":"check-page","duration":653094,"timestamp":206888584232,"id":34,"parentId":19,"tags":{"page":"/api/hub/license"},"startTime":1779014860831,"traceId":"cd85b32fd7b13612"},{"name":"is-page-static","duration":632393,"timestamp":206888606131,"id":79,"parentId":39,"tags":{},"startTime":1779014860852,"traceId":"cd85b32fd7b13612"},{"name":"check-page","duration":653187,"timestamp":206888585384,"id":39,"parentId":19,"tags":{"page":"/api/hub/send"},"startTime":1779014860832,"traceId":"cd85b32fd7b13612"},{"name":"is-page-static","duration":640678,"timestamp":206888605045,"id":67,"parentId":26,"tags":{},"startTime":1779014860851,"traceId":"cd85b32fd7b13612"},{"name":"check-page","duration":662875,"timestamp":206888582895,"id":26,"parentId":19,"tags":{"page":"/api/auth/logout"},"startTime":1779014860829,"traceId":"cd85b32fd7b13612"},{"name":"is-page-static","duration":649465,"timestamp":206888604873,"id":66,"parentId":25,"tags":{},"startTime":1779014860851,"traceId":"cd85b32fd7b13612"},{"name":"check-page","duration":671693,"timestamp":206888582721,"id":25,"parentId":19,"tags":{"page":"/api/auth/login"},"startTime":1779014860829,"traceId":"cd85b32fd7b13612"},{"name":"is-page-static","duration":657231,"timestamp":206888606119,"id":78,"parentId":38,"tags":{},"startTime":1779014860852,"traceId":"cd85b32fd7b13612"},{"name":"check-page","duration":678103,"timestamp":206888585292,"id":38,"parentId":19,"tags":{"page":"/api/hub/register"},"startTime":1779014860832,"traceId":"cd85b32fd7b13612"},{"name":"is-page-static","duration":657559,"timestamp":206888606177,"id":83,"parentId":45,"tags":{},"startTime":1779014860852,"traceId":"cd85b32fd7b13612"},{"name":"check-page","duration":677566,"timestamp":206888586219,"id":45,"parentId":19,"tags":{"page":"/api/hub/stats"},"startTime":1779014860832,"traceId":"cd85b32fd7b13612"},{"name":"is-page-static","duration":657795,"timestamp":206888606155,"id":81,"parentId":42,"tags":{},"startTime":1779014860852,"traceId":"cd85b32fd7b13612"},{"name":"check-page","duration":678213,"timestamp":206888585783,"id":42,"parentId":19,"tags":{"page":"/api/hub/server/[hostname]/health"},"startTime":1779014860832,"traceId":"cd85b32fd7b13612"},{"name":"is-page-static","duration":664999,"timestamp":206888605233,"id":68,"parentId":27,"tags":{},"startTime":1779014860852,"traceId":"cd85b32fd7b13612"},{"name":"check-page","duration":687259,"timestamp":206888583029,"id":27,"parentId":19,"tags":{"page":"/api/auth/v3"},"startTime":1779014860829,"traceId":"cd85b32fd7b13612"},{"name":"is-page-static","duration":669060,"timestamp":206888606221,"id":87,"parentId":49,"tags":{},"startTime":1779014860852,"traceId":"cd85b32fd7b13612"},{"name":"check-page","duration":687258,"timestamp":206888588068,"id":49,"parentId":19,"tags":{"page":"/api/hub/tmux"},"startTime":1779014860834,"traceId":"cd85b32fd7b13612"},{"name":"is-page-static","duration":670541,"timestamp":206888606165,"id":82,"parentId":44,"tags":{},"startTime":1779014860852,"traceId":"cd85b32fd7b13612"},{"name":"check-page","duration":690630,"timestamp":206888586121,"id":44,"parentId":19,"tags":{"page":"/api/hub/session"},"startTime":1779014860832,"traceId":"cd85b32fd7b13612"},{"name":"is-page-static","duration":671240,"timestamp":206888606209,"id":86,"parentId":48,"tags":{},"startTime":1779014860852,"traceId":"cd85b32fd7b13612"},{"name":"check-page","duration":691061,"timestamp":206888586428,"id":48,"parentId":19,"tags":{"page":"/api/hub/tasks"},"startTime":1779014860833,"traceId":"cd85b32fd7b13612"},{"name":"is-page-static","duration":672710,"timestamp":206888606144,"id":80,"parentId":40,"tags":{},"startTime":1779014860852,"traceId":"cd85b32fd7b13612"},{"name":"check-page","duration":693441,"timestamp":206888585454,"id":40,"parentId":19,"tags":{"page":"/api/hub/server-logs"},"startTime":1779014860832,"traceId":"cd85b32fd7b13612"},{"name":"is-page-static","duration":668182,"timestamp":206888615653,"id":91,"parentId":31,"tags":{},"startTime":1779014860862,"traceId":"cd85b32fd7b13612"},{"name":"check-page","duration":700219,"timestamp":206888583655,"id":31,"parentId":19,"tags":{"page":"/api/hub/events"},"startTime":1779014860830,"traceId":"cd85b32fd7b13612"},{"name":"is-page-static","duration":683023,"timestamp":206888606240,"id":89,"parentId":51,"tags":{},"startTime":1779014860853,"traceId":"cd85b32fd7b13612"},{"name":"check-page","duration":700951,"timestamp":206888588358,"id":51,"parentId":19,"tags":{"page":"/favicon.ico"},"startTime":1779014860835,"traceId":"cd85b32fd7b13612"},{"name":"is-page-static","duration":677332,"timestamp":206888614310,"id":90,"parentId":24,"tags":{},"startTime":1779014860861,"traceId":"cd85b32fd7b13612"},{"name":"check-page","duration":710970,"timestamp":206888580721,"id":24,"parentId":19,"tags":{"page":"/api/anet/config"},"startTime":1779014860827,"traceId":"cd85b32fd7b13612"},{"name":"is-page-static","duration":686089,"timestamp":206888606188,"id":84,"parentId":46,"tags":{},"startTime":1779014860852,"traceId":"cd85b32fd7b13612"},{"name":"check-page","duration":706037,"timestamp":206888586285,"id":46,"parentId":19,"tags":{"page":"/api/hub/status"},"startTime":1779014860833,"traceId":"cd85b32fd7b13612"},{"name":"is-page-static","duration":688549,"timestamp":206888606201,"id":85,"parentId":47,"tags":{},"startTime":1779014860852,"traceId":"cd85b32fd7b13612"},{"name":"check-page","duration":708433,"timestamp":206888586362,"id":47,"parentId":19,"tags":{"page":"/api/hub/task-events"},"startTime":1779014860833,"traceId":"cd85b32fd7b13612"},{"name":"is-page-static","duration":692208,"timestamp":206888606059,"id":75,"parentId":35,"tags":{},"startTime":1779014860852,"traceId":"cd85b32fd7b13612"},{"name":"check-page","duration":713941,"timestamp":206888584372,"id":35,"parentId":19,"tags":{"page":"/api/hub/messages"},"startTime":1779014860831,"traceId":"cd85b32fd7b13612"},{"name":"is-page-static","duration":683972,"timestamp":206888616613,"id":92,"parentId":41,"tags":{},"startTime":1779014860863,"traceId":"cd85b32fd7b13612"},{"name":"check-page","duration":715085,"timestamp":206888585547,"id":41,"parentId":19,"tags":{"page":"/api/hub/server/[hostname]/agents"},"startTime":1779014860832,"traceId":"cd85b32fd7b13612"},{"name":"is-page-static","duration":695212,"timestamp":206888606233,"id":88,"parentId":50,"tags":{},"startTime":1779014860853,"traceId":"cd85b32fd7b13612"},{"name":"check-page","duration":713258,"timestamp":206888588233,"id":50,"parentId":19,"tags":{"page":"/api/hub/tokens"},"startTime":1779014860835,"traceId":"cd85b32fd7b13612"},{"name":"is-page-static","duration":680780,"timestamp":206888622245,"id":93,"parentId":43,"tags":{},"startTime":1779014860869,"traceId":"cd85b32fd7b13612"},{"name":"check-page","duration":717190,"timestamp":206888585889,"id":43,"parentId":19,"tags":{"page":"/api/hub/servers"},"startTime":1779014860832,"traceId":"cd85b32fd7b13612"},{"name":"is-page-static","duration":682369,"timestamp":206888626293,"id":97,"parentId":54,"tags":{},"startTime":1779014860873,"traceId":"cd85b32fd7b13612"},{"name":"check-page","duration":719840,"timestamp":206888588871,"id":54,"parentId":19,"tags":{"page":"/messages"},"startTime":1779014860835,"traceId":"cd85b32fd7b13612"},{"name":"is-page-static","duration":690336,"timestamp":206888626466,"id":101,"parentId":59,"tags":{},"startTime":1779014860873,"traceId":"cd85b32fd7b13612"},{"name":"check-page","duration":726911,"timestamp":206888589943,"id":59,"parentId":19,"tags":{"page":"/settings/networks"},"startTime":1779014860836,"traceId":"cd85b32fd7b13612"},{"name":"is-page-static","duration":699453,"timestamp":206888626483,"id":102,"parentId":61,"tags":{},"startTime":1779014860873,"traceId":"cd85b32fd7b13612"},{"name":"check-page","duration":735445,"timestamp":206888590573,"id":61,"parentId":19,"tags":{"page":"/settings/tokens"},"startTime":1779014860837,"traceId":"cd85b32fd7b13612"},{"name":"is-page-static","duration":715985,"timestamp":206888626500,"id":103,"parentId":62,"tags":{},"startTime":1779014860873,"traceId":"cd85b32fd7b13612"},{"name":"check-page","duration":751815,"timestamp":206888590729,"id":62,"parentId":19,"tags":{"page":"/tasks/[id]"},"startTime":1779014860837,"traceId":"cd85b32fd7b13612"},{"name":"is-page-static","duration":722803,"timestamp":206888626516,"id":104,"parentId":63,"tags":{},"startTime":1779014860873,"traceId":"cd85b32fd7b13612"},{"name":"check-page","duration":758498,"timestamp":206888590879,"id":63,"parentId":19,"tags":{"page":"/tasks"},"startTime":1779014860837,"traceId":"cd85b32fd7b13612"},{"name":"is-page-static","duration":728569,"timestamp":206888626264,"id":95,"parentId":52,"tags":{},"startTime":1779014860873,"traceId":"cd85b32fd7b13612"},{"name":"check-page","duration":766222,"timestamp":206888588667,"id":52,"parentId":19,"tags":{"page":"/login"},"startTime":1779014860835,"traceId":"cd85b32fd7b13612"},{"name":"is-page-static","duration":705544,"timestamp":206888651168,"id":105,"parentId":60,"tags":{},"startTime":1779014860897,"traceId":"cd85b32fd7b13612"},{"name":"check-page","duration":766599,"timestamp":206888590154,"id":60,"parentId":19,"tags":{"page":"/settings"},"startTime":1779014860836,"traceId":"cd85b32fd7b13612"},{"name":"is-page-static","duration":731337,"timestamp":206888626346,"id":100,"parentId":58,"tags":{},"startTime":1779014860873,"traceId":"cd85b32fd7b13612"},{"name":"check-page","duration":767983,"timestamp":206888589740,"id":58,"parentId":19,"tags":{"page":"/server-logs"},"startTime":1779014860836,"traceId":"cd85b32fd7b13612"},{"name":"is-page-static","duration":733349,"timestamp":206888626315,"id":98,"parentId":55,"tags":{},"startTime":1779014860873,"traceId":"cd85b32fd7b13612"},{"name":"check-page","duration":770688,"timestamp":206888589023,"id":55,"parentId":19,"tags":{"page":"/node"},"startTime":1779014860835,"traceId":"cd85b32fd7b13612"},{"name":"is-page-static","duration":685341,"timestamp":206888676040,"id":106,"parentId":57,"tags":{},"startTime":1779014860922,"traceId":"cd85b32fd7b13612"},{"name":"check-page","duration":772066,"timestamp":206888589364,"id":57,"parentId":19,"tags":{"page":"/"},"startTime":1779014860836,"traceId":"cd85b32fd7b13612"},{"name":"is-page-static","duration":736665,"timestamp":206888626236,"id":94,"parentId":23,"tags":{},"startTime":1779014860873,"traceId":"cd85b32fd7b13612"},{"name":"check-page","duration":782385,"timestamp":206888580548,"id":23,"parentId":19,"tags":{"page":"/admin"},"startTime":1779014860827,"traceId":"cd85b32fd7b13612"},{"name":"is-page-static","duration":740444,"timestamp":206888626331,"id":99,"parentId":56,"tags":{},"startTime":1779014860873,"traceId":"cd85b32fd7b13612"},{"name":"check-page","duration":777612,"timestamp":206888589197,"id":56,"parentId":19,"tags":{"page":"/nodes"},"startTime":1779014860835,"traceId":"cd85b32fd7b13612"},{"name":"is-page-static","duration":741150,"timestamp":206888626282,"id":96,"parentId":53,"tags":{},"startTime":1779014860873,"traceId":"cd85b32fd7b13612"},{"name":"check-page","duration":778690,"timestamp":206888588769,"id":53,"parentId":19,"tags":{"page":"/logs"},"startTime":1779014860835,"traceId":"cd85b32fd7b13612"},{"name":"static-check","duration":791416,"timestamp":206888576085,"id":19,"parentId":1,"tags":{},"startTime":1779014860822,"traceId":"cd85b32fd7b13612"}]
2
- [{"name":"write-routes-manifest","duration":1352,"timestamp":206889376458,"id":108,"parentId":1,"tags":{},"startTime":1779014861623,"traceId":"cd85b32fd7b13612"},{"name":"load-dotenv","duration":46,"timestamp":206889388920,"id":111,"parentId":110,"tags":{},"startTime":1779014861635,"traceId":"cd85b32fd7b13612"},{"name":"run-export-path-map","duration":795,"timestamp":206889391758,"id":112,"parentId":110,"tags":{},"startTime":1779014861638,"traceId":"cd85b32fd7b13612"},{"name":"next-export","duration":618660,"timestamp":206889387644,"id":110,"parentId":1,"tags":{},"startTime":1779014861634,"traceId":"cd85b32fd7b13612"},{"name":"move-exported-app-not-found-","duration":546,"timestamp":206890009717,"id":113,"parentId":109,"tags":{},"startTime":1779014862256,"traceId":"cd85b32fd7b13612"},{"name":"move-exported-app-global-error-","duration":393,"timestamp":206890010345,"id":114,"parentId":109,"tags":{},"startTime":1779014862257,"traceId":"cd85b32fd7b13612"},{"name":"static-generation","duration":631142,"timestamp":206889381611,"id":109,"parentId":1,"tags":{},"startTime":1779014861628,"traceId":"cd85b32fd7b13612"},{"name":"write-routes-manifest","duration":479,"timestamp":206890013079,"id":115,"parentId":1,"tags":{},"startTime":1779014862259,"traceId":"cd85b32fd7b13612"},{"name":"print-tree-view","duration":4962,"timestamp":206890032491,"id":116,"parentId":1,"tags":{},"startTime":1779014862279,"traceId":"cd85b32fd7b13612"},{"name":"write-route-bundle-stats","duration":13847,"timestamp":206890037485,"id":117,"parentId":1,"tags":{},"startTime":1779014862284,"traceId":"cd85b32fd7b13612"},{"name":"telemetry-flush","duration":28354,"timestamp":206890051359,"id":118,"parentId":1,"tags":{},"startTime":1779014862298,"traceId":"cd85b32fd7b13612"},{"name":"next-build","duration":18047065,"timestamp":206872032692,"id":1,"tags":{"buildMode":"default","version":"16.2.3","bundler":"turbopack","has-custom-webpack-config":"false","use-build-worker":"true"},"startTime":1779014844279,"traceId":"cd85b32fd7b13612"}]
1
+ [{"name":"generate-buildid","duration":415,"timestamp":207698859753,"id":4,"parentId":1,"tags":{},"startTime":1779015671106,"traceId":"a43435d0b8ebc926"},{"name":"load-custom-routes","duration":695,"timestamp":207698860378,"id":5,"parentId":1,"tags":{},"startTime":1779015671107,"traceId":"a43435d0b8ebc926"},{"name":"create-dist-dir","duration":912,"timestamp":207698861138,"id":6,"parentId":1,"tags":{},"startTime":1779015671107,"traceId":"a43435d0b8ebc926"},{"name":"clean","duration":40512,"timestamp":207698862892,"id":7,"parentId":1,"tags":{},"startTime":1779015671109,"traceId":"a43435d0b8ebc926"},{"name":"discover-routes","duration":11106,"timestamp":207699005320,"id":8,"parentId":1,"tags":{},"startTime":1779015671252,"traceId":"a43435d0b8ebc926"},{"name":"create-root-mapping","duration":119,"timestamp":207699016486,"id":9,"parentId":1,"tags":{},"startTime":1779015671263,"traceId":"a43435d0b8ebc926"},{"name":"generate-route-types","duration":35995,"timestamp":207699019333,"id":10,"parentId":1,"tags":{},"startTime":1779015671266,"traceId":"a43435d0b8ebc926"},{"name":"public-dir-conflict-check","duration":104,"timestamp":207699055426,"id":11,"parentId":1,"tags":{},"startTime":1779015671302,"traceId":"a43435d0b8ebc926"},{"name":"generate-routes-manifest","duration":5531,"timestamp":207699055656,"id":12,"parentId":1,"tags":{},"startTime":1779015671302,"traceId":"a43435d0b8ebc926"},{"name":"run-turbopack","duration":7014239,"timestamp":207699067325,"id":14,"parentId":1,"tags":{},"startTime":1779015671314,"traceId":"a43435d0b8ebc926"},{"name":"turbopack-build-events","duration":91,"timestamp":207699390863,"id":15,"parentId":1,"tags":{},"startTime":1779015671637,"traceId":"a43435d0b8ebc926"},{"name":"run-typescript","duration":10531192,"timestamp":207706102951,"id":16,"parentId":1,"tags":{},"startTime":1779015678349,"traceId":"a43435d0b8ebc926"},{"name":"generate-required-server-files","duration":2703,"timestamp":207716635671,"id":18,"parentId":1,"tags":{},"startTime":1779015688882,"traceId":"a43435d0b8ebc926"},{"name":"check-static-error-page","duration":17287,"timestamp":207716848473,"id":20,"parentId":19,"tags":{},"startTime":1779015689095,"traceId":"a43435d0b8ebc926"},{"name":"is-page-static","duration":547028,"timestamp":207716869550,"id":65,"parentId":22,"tags":{},"startTime":1779015689116,"traceId":"a43435d0b8ebc926"},{"name":"check-page","duration":565313,"timestamp":207716851474,"id":22,"parentId":19,"tags":{"page":"/_global-error"},"startTime":1779015689098,"traceId":"a43435d0b8ebc926"},{"name":"is-page-static","duration":725323,"timestamp":207716870063,"id":69,"parentId":28,"tags":{},"startTime":1779015689116,"traceId":"a43435d0b8ebc926"},{"name":"check-page","duration":738000,"timestamp":207716857485,"id":28,"parentId":19,"tags":{"page":"/api/hub/audit-log"},"startTime":1779015689104,"traceId":"a43435d0b8ebc926"},{"name":"is-page-static","duration":746513,"timestamp":207716870563,"id":72,"parentId":32,"tags":{},"startTime":1779015689117,"traceId":"a43435d0b8ebc926"},{"name":"check-page","duration":759019,"timestamp":207716858148,"id":32,"parentId":19,"tags":{"page":"/api/hub/health"},"startTime":1779015689104,"traceId":"a43435d0b8ebc926"},{"name":"is-page-static","duration":746880,"timestamp":207716870495,"id":71,"parentId":30,"tags":{},"startTime":1779015689117,"traceId":"a43435d0b8ebc926"},{"name":"check-page","duration":759637,"timestamp":207716857775,"id":30,"parentId":19,"tags":{"page":"/api/hub/broadcast"},"startTime":1779015689104,"traceId":"a43435d0b8ebc926"},{"name":"is-page-static","duration":753427,"timestamp":207716870818,"id":74,"parentId":34,"tags":{},"startTime":1779015689117,"traceId":"a43435d0b8ebc926"},{"name":"check-page","duration":766018,"timestamp":207716858412,"id":34,"parentId":19,"tags":{"page":"/api/hub/license"},"startTime":1779015689105,"traceId":"a43435d0b8ebc926"},{"name":"is-page-static","duration":758031,"timestamp":207716869237,"id":64,"parentId":21,"tags":{},"startTime":1779015689116,"traceId":"a43435d0b8ebc926"},{"name":"check-page","duration":777467,"timestamp":207716849858,"id":21,"parentId":19,"tags":{"page":"/_not-found"},"startTime":1779015689096,"traceId":"a43435d0b8ebc926"},{"name":"is-page-static","duration":759236,"timestamp":207716870847,"id":75,"parentId":35,"tags":{},"startTime":1779015689117,"traceId":"a43435d0b8ebc926"},{"name":"check-page","duration":771629,"timestamp":207716858541,"id":35,"parentId":19,"tags":{"page":"/api/hub/messages"},"startTime":1779015689105,"traceId":"a43435d0b8ebc926"},{"name":"is-page-static","duration":764566,"timestamp":207716870895,"id":77,"parentId":37,"tags":{},"startTime":1779015689117,"traceId":"a43435d0b8ebc926"},{"name":"check-page","duration":776229,"timestamp":207716859279,"id":37,"parentId":19,"tags":{"page":"/api/hub/nodes"},"startTime":1779015689106,"traceId":"a43435d0b8ebc926"},{"name":"is-page-static","duration":768786,"timestamp":207716869690,"id":66,"parentId":25,"tags":{},"startTime":1779015689116,"traceId":"a43435d0b8ebc926"},{"name":"check-page","duration":781480,"timestamp":207716857054,"id":25,"parentId":19,"tags":{"page":"/api/auth/login"},"startTime":1779015689103,"traceId":"a43435d0b8ebc926"},{"name":"is-page-static","duration":778352,"timestamp":207716870926,"id":79,"parentId":39,"tags":{},"startTime":1779015689117,"traceId":"a43435d0b8ebc926"},{"name":"check-page","duration":789827,"timestamp":207716859511,"id":39,"parentId":19,"tags":{"page":"/api/hub/send"},"startTime":1779015689106,"traceId":"a43435d0b8ebc926"},{"name":"is-page-static","duration":778582,"timestamp":207716870912,"id":78,"parentId":38,"tags":{},"startTime":1779015689117,"traceId":"a43435d0b8ebc926"},{"name":"check-page","duration":790106,"timestamp":207716859417,"id":38,"parentId":19,"tags":{"page":"/api/hub/register"},"startTime":1779015689106,"traceId":"a43435d0b8ebc926"},{"name":"is-page-static","duration":779057,"timestamp":207716870729,"id":73,"parentId":33,"tags":{},"startTime":1779015689117,"traceId":"a43435d0b8ebc926"},{"name":"check-page","duration":791531,"timestamp":207716858289,"id":33,"parentId":19,"tags":{"page":"/api/hub/inbox"},"startTime":1779015689105,"traceId":"a43435d0b8ebc926"},{"name":"is-page-static","duration":795051,"timestamp":207716869932,"id":68,"parentId":27,"tags":{},"startTime":1779015689116,"traceId":"a43435d0b8ebc926"},{"name":"check-page","duration":807709,"timestamp":207716857356,"id":27,"parentId":19,"tags":{"page":"/api/auth/v3"},"startTime":1779015689104,"traceId":"a43435d0b8ebc926"},{"name":"is-page-static","duration":804786,"timestamp":207716870961,"id":82,"parentId":44,"tags":{},"startTime":1779015689117,"traceId":"a43435d0b8ebc926"},{"name":"check-page","duration":815339,"timestamp":207716860466,"id":44,"parentId":19,"tags":{"page":"/api/hub/session"},"startTime":1779015689107,"traceId":"a43435d0b8ebc926"},{"name":"is-page-static","duration":816572,"timestamp":207716869817,"id":67,"parentId":26,"tags":{},"startTime":1779015689116,"traceId":"a43435d0b8ebc926"},{"name":"check-page","duration":829250,"timestamp":207716857236,"id":26,"parentId":19,"tags":{"page":"/api/auth/logout"},"startTime":1779015689104,"traceId":"a43435d0b8ebc926"},{"name":"is-page-static","duration":815685,"timestamp":207716870983,"id":84,"parentId":46,"tags":{},"startTime":1779015689117,"traceId":"a43435d0b8ebc926"},{"name":"check-page","duration":825982,"timestamp":207716860717,"id":46,"parentId":19,"tags":{"page":"/api/hub/status"},"startTime":1779015689107,"traceId":"a43435d0b8ebc926"},{"name":"is-page-static","duration":816083,"timestamp":207716870949,"id":81,"parentId":42,"tags":{},"startTime":1779015689117,"traceId":"a43435d0b8ebc926"},{"name":"check-page","duration":827101,"timestamp":207716859999,"id":42,"parentId":19,"tags":{"page":"/api/hub/server/[hostname]/health"},"startTime":1779015689106,"traceId":"a43435d0b8ebc926"},{"name":"is-page-static","duration":825886,"timestamp":207716871028,"id":86,"parentId":48,"tags":{},"startTime":1779015689117,"traceId":"a43435d0b8ebc926"},{"name":"check-page","duration":834293,"timestamp":207716862681,"id":48,"parentId":19,"tags":{"page":"/api/hub/tasks"},"startTime":1779015689109,"traceId":"a43435d0b8ebc926"},{"name":"is-page-static","duration":843566,"timestamp":207716870939,"id":80,"parentId":40,"tags":{},"startTime":1779015689117,"traceId":"a43435d0b8ebc926"},{"name":"check-page","duration":854946,"timestamp":207716859622,"id":40,"parentId":19,"tags":{"page":"/api/hub/server-logs"},"startTime":1779015689106,"traceId":"a43435d0b8ebc926"},{"name":"is-page-static","duration":843694,"timestamp":207716871050,"id":88,"parentId":50,"tags":{},"startTime":1779015689117,"traceId":"a43435d0b8ebc926"},{"name":"check-page","duration":851889,"timestamp":207716862894,"id":50,"parentId":19,"tags":{"page":"/api/hub/tokens"},"startTime":1779015689109,"traceId":"a43435d0b8ebc926"},{"name":"is-page-static","duration":856288,"timestamp":207716870974,"id":83,"parentId":45,"tags":{},"startTime":1779015689117,"traceId":"a43435d0b8ebc926"},{"name":"check-page","duration":866715,"timestamp":207716860604,"id":45,"parentId":19,"tags":{"page":"/api/hub/stats"},"startTime":1779015689107,"traceId":"a43435d0b8ebc926"},{"name":"is-page-static","duration":853054,"timestamp":207716874419,"id":90,"parentId":24,"tags":{},"startTime":1779015689121,"traceId":"a43435d0b8ebc926"},{"name":"check-page","duration":875145,"timestamp":207716852366,"id":24,"parentId":19,"tags":{"page":"/api/anet/config"},"startTime":1779015689099,"traceId":"a43435d0b8ebc926"},{"name":"is-page-static","duration":856843,"timestamp":207716870998,"id":85,"parentId":47,"tags":{},"startTime":1779015689117,"traceId":"a43435d0b8ebc926"},{"name":"check-page","duration":867031,"timestamp":207716860854,"id":47,"parentId":19,"tags":{"page":"/api/hub/task-events"},"startTime":1779015689107,"traceId":"a43435d0b8ebc926"},{"name":"is-page-static","duration":857204,"timestamp":207716870870,"id":76,"parentId":36,"tags":{},"startTime":1779015689117,"traceId":"a43435d0b8ebc926"},{"name":"check-page","duration":869022,"timestamp":207716859083,"id":36,"parentId":19,"tags":{"page":"/api/hub/networks"},"startTime":1779015689105,"traceId":"a43435d0b8ebc926"},{"name":"is-page-static","duration":859246,"timestamp":207716870349,"id":70,"parentId":29,"tags":{},"startTime":1779015689117,"traceId":"a43435d0b8ebc926"},{"name":"check-page","duration":872026,"timestamp":207716857608,"id":29,"parentId":19,"tags":{"page":"/api/hub/auth"},"startTime":1779015689104,"traceId":"a43435d0b8ebc926"},{"name":"is-page-static","duration":859757,"timestamp":207716871041,"id":87,"parentId":49,"tags":{},"startTime":1779015689117,"traceId":"a43435d0b8ebc926"},{"name":"check-page","duration":868013,"timestamp":207716862831,"id":49,"parentId":19,"tags":{"page":"/api/hub/tmux"},"startTime":1779015689109,"traceId":"a43435d0b8ebc926"},{"name":"is-page-static","duration":866855,"timestamp":207716871062,"id":89,"parentId":51,"tags":{},"startTime":1779015689117,"traceId":"a43435d0b8ebc926"},{"name":"check-page","duration":875021,"timestamp":207716862945,"id":51,"parentId":19,"tags":{"page":"/favicon.ico"},"startTime":1779015689109,"traceId":"a43435d0b8ebc926"},{"name":"is-page-static","duration":851272,"timestamp":207716887432,"id":94,"parentId":23,"tags":{},"startTime":1779015689134,"traceId":"a43435d0b8ebc926"},{"name":"check-page","duration":886675,"timestamp":207716852092,"id":23,"parentId":19,"tags":{"page":"/admin"},"startTime":1779015689098,"traceId":"a43435d0b8ebc926"},{"name":"is-page-static","duration":865936,"timestamp":207716876440,"id":92,"parentId":41,"tags":{},"startTime":1779015689123,"traceId":"a43435d0b8ebc926"},{"name":"check-page","duration":882693,"timestamp":207716859727,"id":41,"parentId":19,"tags":{"page":"/api/hub/server/[hostname]/agents"},"startTime":1779015689106,"traceId":"a43435d0b8ebc926"},{"name":"is-page-static","duration":860698,"timestamp":207716887509,"id":98,"parentId":55,"tags":{},"startTime":1779015689134,"traceId":"a43435d0b8ebc926"},{"name":"check-page","duration":884652,"timestamp":207716863598,"id":55,"parentId":19,"tags":{"page":"/node"},"startTime":1779015689110,"traceId":"a43435d0b8ebc926"},{"name":"is-page-static","duration":874728,"timestamp":207716875585,"id":91,"parentId":31,"tags":{},"startTime":1779015689122,"traceId":"a43435d0b8ebc926"},{"name":"check-page","duration":892454,"timestamp":207716857904,"id":31,"parentId":19,"tags":{"page":"/api/hub/events"},"startTime":1779015689104,"traceId":"a43435d0b8ebc926"},{"name":"is-page-static","duration":884110,"timestamp":207716877789,"id":93,"parentId":43,"tags":{},"startTime":1779015689124,"traceId":"a43435d0b8ebc926"},{"name":"check-page","duration":901796,"timestamp":207716860159,"id":43,"parentId":19,"tags":{"page":"/api/hub/servers"},"startTime":1779015689106,"traceId":"a43435d0b8ebc926"},{"name":"is-page-static","duration":906274,"timestamp":207716887532,"id":100,"parentId":58,"tags":{},"startTime":1779015689134,"traceId":"a43435d0b8ebc926"},{"name":"check-page","duration":929581,"timestamp":207716864317,"id":58,"parentId":19,"tags":{"page":"/server-logs"},"startTime":1779015689111,"traceId":"a43435d0b8ebc926"},{"name":"is-page-static","duration":923662,"timestamp":207716887495,"id":97,"parentId":54,"tags":{},"startTime":1779015689134,"traceId":"a43435d0b8ebc926"},{"name":"check-page","duration":947762,"timestamp":207716863465,"id":54,"parentId":19,"tags":{"page":"/messages"},"startTime":1779015689110,"traceId":"a43435d0b8ebc926"},{"name":"is-page-static","duration":931931,"timestamp":207716887691,"id":104,"parentId":63,"tags":{},"startTime":1779015689134,"traceId":"a43435d0b8ebc926"},{"name":"check-page","duration":954256,"timestamp":207716865451,"id":63,"parentId":19,"tags":{"page":"/tasks"},"startTime":1779015689112,"traceId":"a43435d0b8ebc926"},{"name":"is-page-static","duration":932747,"timestamp":207716887477,"id":96,"parentId":53,"tags":{},"startTime":1779015689134,"traceId":"a43435d0b8ebc926"},{"name":"check-page","duration":956915,"timestamp":207716863363,"id":53,"parentId":19,"tags":{"page":"/logs"},"startTime":1779015689110,"traceId":"a43435d0b8ebc926"},{"name":"is-page-static","duration":937735,"timestamp":207716887651,"id":101,"parentId":59,"tags":{},"startTime":1779015689134,"traceId":"a43435d0b8ebc926"},{"name":"check-page","duration":960924,"timestamp":207716864516,"id":59,"parentId":19,"tags":{"page":"/settings/networks"},"startTime":1779015689111,"traceId":"a43435d0b8ebc926"},{"name":"is-page-static","duration":938397,"timestamp":207716887706,"id":105,"parentId":60,"tags":{},"startTime":1779015689134,"traceId":"a43435d0b8ebc926"},{"name":"check-page","duration":961449,"timestamp":207716864694,"id":60,"parentId":19,"tags":{"page":"/settings"},"startTime":1779015689111,"traceId":"a43435d0b8ebc926"},{"name":"is-page-static","duration":928722,"timestamp":207716900086,"id":106,"parentId":57,"tags":{},"startTime":1779015689146,"traceId":"a43435d0b8ebc926"},{"name":"check-page","duration":964937,"timestamp":207716863915,"id":57,"parentId":19,"tags":{"page":"/"},"startTime":1779015689110,"traceId":"a43435d0b8ebc926"},{"name":"is-page-static","duration":941285,"timestamp":207716887666,"id":102,"parentId":61,"tags":{},"startTime":1779015689134,"traceId":"a43435d0b8ebc926"},{"name":"check-page","duration":963840,"timestamp":207716865145,"id":61,"parentId":19,"tags":{"page":"/settings/tokens"},"startTime":1779015689111,"traceId":"a43435d0b8ebc926"},{"name":"is-page-static","duration":943243,"timestamp":207716887679,"id":103,"parentId":62,"tags":{},"startTime":1779015689134,"traceId":"a43435d0b8ebc926"},{"name":"check-page","duration":965666,"timestamp":207716865301,"id":62,"parentId":19,"tags":{"page":"/tasks/[id]"},"startTime":1779015689112,"traceId":"a43435d0b8ebc926"},{"name":"is-page-static","duration":953581,"timestamp":207716887519,"id":99,"parentId":56,"tags":{},"startTime":1779015689134,"traceId":"a43435d0b8ebc926"},{"name":"check-page","duration":977423,"timestamp":207716863732,"id":56,"parentId":19,"tags":{"page":"/nodes"},"startTime":1779015689110,"traceId":"a43435d0b8ebc926"},{"name":"is-page-static","duration":958279,"timestamp":207716887461,"id":95,"parentId":52,"tags":{},"startTime":1779015689134,"traceId":"a43435d0b8ebc926"},{"name":"check-page","duration":982541,"timestamp":207716863246,"id":52,"parentId":19,"tags":{"page":"/login"},"startTime":1779015689110,"traceId":"a43435d0b8ebc926"},{"name":"static-check","duration":998345,"timestamp":207716847492,"id":19,"parentId":1,"tags":{},"startTime":1779015689094,"traceId":"a43435d0b8ebc926"}]
2
+ [{"name":"write-routes-manifest","duration":716,"timestamp":207717857694,"id":108,"parentId":1,"tags":{},"startTime":1779015690104,"traceId":"a43435d0b8ebc926"},{"name":"load-dotenv","duration":62,"timestamp":207717869970,"id":111,"parentId":110,"tags":{},"startTime":1779015690116,"traceId":"a43435d0b8ebc926"},{"name":"run-export-path-map","duration":820,"timestamp":207717872699,"id":112,"parentId":110,"tags":{},"startTime":1779015690119,"traceId":"a43435d0b8ebc926"},{"name":"next-export","duration":699710,"timestamp":207717868777,"id":110,"parentId":1,"tags":{},"startTime":1779015690115,"traceId":"a43435d0b8ebc926"},{"name":"move-exported-app-not-found-","duration":548,"timestamp":207718572288,"id":113,"parentId":109,"tags":{},"startTime":1779015690819,"traceId":"a43435d0b8ebc926"},{"name":"move-exported-app-global-error-","duration":431,"timestamp":207718572929,"id":114,"parentId":109,"tags":{},"startTime":1779015690819,"traceId":"a43435d0b8ebc926"},{"name":"static-generation","duration":712487,"timestamp":207717862767,"id":109,"parentId":1,"tags":{},"startTime":1779015690109,"traceId":"a43435d0b8ebc926"},{"name":"write-routes-manifest","duration":408,"timestamp":207718575489,"id":115,"parentId":1,"tags":{},"startTime":1779015690822,"traceId":"a43435d0b8ebc926"},{"name":"print-tree-view","duration":4165,"timestamp":207718595858,"id":116,"parentId":1,"tags":{},"startTime":1779015690842,"traceId":"a43435d0b8ebc926"},{"name":"write-route-bundle-stats","duration":13437,"timestamp":207718600055,"id":117,"parentId":1,"tags":{},"startTime":1779015690846,"traceId":"a43435d0b8ebc926"},{"name":"telemetry-flush","duration":25543,"timestamp":207718613526,"id":118,"parentId":1,"tags":{},"startTime":1779015690860,"traceId":"a43435d0b8ebc926"},{"name":"next-build","duration":19842688,"timestamp":207698796440,"id":1,"tags":{"buildMode":"default","version":"16.2.3","bundler":"turbopack","has-custom-webpack-config":"false","use-build-worker":"true"},"startTime":1779015671043,"traceId":"a43435d0b8ebc926"}]
package/.next/trace-build CHANGED
@@ -1 +1 @@
1
- [{"name":"run-turbopack","duration":6076194,"timestamp":206872313593,"id":14,"parentId":1,"tags":{},"startTime":1779014844560,"traceId":"cd85b32fd7b13612"},{"name":"turbopack-build-events","duration":72,"timestamp":206872662370,"id":15,"parentId":1,"tags":{},"startTime":1779014844909,"traceId":"cd85b32fd7b13612"},{"name":"run-typescript","duration":10000209,"timestamp":206878398181,"id":16,"parentId":1,"tags":{},"startTime":1779014850644,"traceId":"cd85b32fd7b13612"},{"name":"static-check","duration":791416,"timestamp":206888576085,"id":19,"parentId":1,"tags":{},"startTime":1779014860822,"traceId":"cd85b32fd7b13612"},{"name":"static-generation","duration":631142,"timestamp":206889381611,"id":109,"parentId":1,"tags":{},"startTime":1779014861628,"traceId":"cd85b32fd7b13612"},{"name":"telemetry-flush","duration":28354,"timestamp":206890051359,"id":118,"parentId":1,"tags":{},"startTime":1779014862298,"traceId":"cd85b32fd7b13612"},{"name":"next-build","duration":18047065,"timestamp":206872032692,"id":1,"tags":{"buildMode":"default","version":"16.2.3","bundler":"turbopack","has-custom-webpack-config":"false","use-build-worker":"true"},"startTime":1779014844279,"traceId":"cd85b32fd7b13612"}]
1
+ [{"name":"run-turbopack","duration":7014239,"timestamp":207699067325,"id":14,"parentId":1,"tags":{},"startTime":1779015671314,"traceId":"a43435d0b8ebc926"},{"name":"turbopack-build-events","duration":91,"timestamp":207699390863,"id":15,"parentId":1,"tags":{},"startTime":1779015671637,"traceId":"a43435d0b8ebc926"},{"name":"run-typescript","duration":10531192,"timestamp":207706102951,"id":16,"parentId":1,"tags":{},"startTime":1779015678349,"traceId":"a43435d0b8ebc926"},{"name":"static-check","duration":998345,"timestamp":207716847492,"id":19,"parentId":1,"tags":{},"startTime":1779015689094,"traceId":"a43435d0b8ebc926"},{"name":"static-generation","duration":712487,"timestamp":207717862767,"id":109,"parentId":1,"tags":{},"startTime":1779015690109,"traceId":"a43435d0b8ebc926"},{"name":"telemetry-flush","duration":25543,"timestamp":207718613526,"id":118,"parentId":1,"tags":{},"startTime":1779015690860,"traceId":"a43435d0b8ebc926"},{"name":"next-build","duration":19842688,"timestamp":207698796440,"id":1,"tags":{"buildMode":"default","version":"16.2.3","bundler":"turbopack","has-custom-webpack-config":"false","use-build-worker":"true"},"startTime":1779015671043,"traceId":"a43435d0b8ebc926"}]
@@ -10188,6 +10188,39 @@ export function TopoGraph({ sessions, sseSessions, renameSignal }: TopoGraphProp
10188
10188
  stays as is, so the rest-vs-hover delta still
10189
10189
  reads clearly. data-recent-panel-more-font-weight
10190
10190
  attr exposes the value for tests. */}
10191
+ {/* Round 520 / Loop — extends the `+N more flows` footer
10192
+ to a 5-axis hover signature by adding fontWeight
10193
+ 500 → 600 on hover. Pre-R520 the footer carried 4
10194
+ hover axes:
10195
+ R195 fill legendText → legendAccent
10196
+ R325 letter-spacing 0.2 → 0.3px (R344 tween)
10197
+ R325 opacity 0.55 → 0.85
10198
+ R133 underline none → underline
10199
+ R368 had set fontWeight 500 statically as a sibling
10200
+ to R363/R364/R366 small-text fw lift family — but
10201
+ the footer's hover state didn't carry a fontWeight
10202
+ DELTA the way other interactive surfaces do (chip-
10203
+ row counts R416, chrome zoom-level R420, hub digit
10204
+ R425). R520 adds the missing weight axis: fw 500
10205
+ → 600 on hover, so the footer reads "thickening AND
10206
+ lighting up" under cursor — same idiom as the
10207
+ chrome zoom-level R420 / chip-row digit R416 hover-
10208
+ bold pattern, applied at the panel nav-action
10209
+ surface.
10210
+ data-recent-panel-more-font-weight attr value
10211
+ flips from '500' → '600' on hover (was static
10212
+ '500' pre-R520).
10213
+ Bonus closure — R475 panel-text cadence: pre-R520
10214
+ the footer's transition list had `opacity 150ms`
10215
+ while R475 unified panel-text transitions at
10216
+ 200ms. R518 closed the same gap at legend-count.
10217
+ R520 closes the LAST panel-text 150ms holdout
10218
+ here AND adds the new font-weight 200ms axis. All
10219
+ 4 transition properties (opacity / fill / letter-
10220
+ spacing / font-weight) now uniform 200ms at the
10221
+ footer — same cadence as legend-label / legend-
10222
+ count / recent-row alias / recent-row count /
10223
+ group-label. */}
10191
10224
  <text
10192
10225
  x="115" y="82"
10193
10226
  textAnchor="middle"
@@ -10195,14 +10228,15 @@ export function TopoGraph({ sessions, sseSessions, renameSignal }: TopoGraphProp
10195
10228
  fontSize="9"
10196
10229
  fontFamily="monospace"
10197
10230
  fontStyle="italic"
10198
- fontWeight="500"
10231
+ fontWeight={hoveredRecentMore ? '600' : '500'}
10199
10232
  letterSpacing={hoveredRecentMore ? '0.3' : '0.2'}
10200
10233
  opacity={hoveredRecentMore ? 0.85 : 0.55}
10201
10234
  textDecoration={hoveredRecentMore ? 'underline' : 'none'}
10202
10235
  data-recent-panel-more={moreCount}
10203
10236
  data-recent-panel-more-hovered={hoveredRecentMore ? 'true' : 'false'}
10204
- data-recent-panel-more-font-weight="500"
10205
- style={{ transition: 'opacity 150ms ease-out, fill 200ms ease-out, letter-spacing 200ms ease-out' }}
10237
+ data-recent-panel-more-font-weight={hoveredRecentMore ? '600' : '500'}
10238
+ data-recent-panel-more-transition="200ms"
10239
+ style={{ transition: 'opacity 200ms ease-out, fill 200ms ease-out, letter-spacing 200ms ease-out, font-weight 200ms ease-out' }}
10206
10240
  >
10207
10241
  {`+ ${moreCount}`}
10208
10242
  <tspan opacity="0.7" data-recent-panel-more-unit>{` more flow${moreCount === 1 ? '' : 's'}`}</tspan>
@@ -11014,6 +11048,33 @@ export function TopoGraph({ sessions, sseSessions, renameSignal }: TopoGraphProp
11014
11048
  spacing as typographic intent. Stays well inside the
11015
11049
  bottom-left corner; opacity 0.4 unchanged so the
11016
11050
  watermark stays a watermark. */}
11051
+ {/* Round 519 / Loop — 呼吸感 family 3rd anchor. Pre-R519 the
11052
+ breath family had 2 anchors (R497 hub idle digit + R498
11053
+ recent-row hot pulse). Both signal active state — the
11054
+ digit when canvas is idle (no work pending), the recent
11055
+ row when fresh signal arrives. R519 adds a SLOW ambient
11056
+ breath to the brand watermark — present always, not gated
11057
+ on activity state. The watermark IS the canvas-corner
11058
+ register that says "the canvas is alive even when nothing
11059
+ is happening"; a 6s opacity pulse around its 0.4 mean
11060
+ (±0.08 swing → 0.32 ↔ 0.48) reads as ambient liveness
11061
+ rather than foreground signal.
11062
+ Why 6s (not R497's 4s): the breath family now spans
11063
+ activity registers (R497 4s — idle-focal: present and
11064
+ waiting; R498 ~3s — hot signal: just arrived) and now
11065
+ ambient register (R519 6s — corner watermark: always-on
11066
+ background). Slower cadence keeps the watermark in the
11067
+ background; ~10 pct slower than R497 keeps it out of
11068
+ phase so the two anchors never beat together visibly.
11069
+ Gate: !reducedMotion. Inside the prefers-reduced-motion
11070
+ media query, SMIL animate isn't covered by globals.css
11071
+ R29 (which only kills CSS animation property), so we
11072
+ gate at JSX level — when reducedMotion is true the
11073
+ <animate> child isn't mounted and opacity stays at the
11074
+ static 0.4. data-topo-brand-watermark-breath attr
11075
+ exposes the gate state for tests.
11076
+ 呼吸感 family extension (3 anchors): R497 hub idle / R498
11077
+ recent-row hot / R519 brand watermark ambient. */}
11017
11078
  <text
11018
11079
  x="16" y="672"
11019
11080
  fontSize="11" fontFamily="monospace" fontWeight="600"
@@ -11021,8 +11082,11 @@ export function TopoGraph({ sessions, sseSessions, renameSignal }: TopoGraphProp
11021
11082
  fill={pal.legendText}
11022
11083
  opacity="0.4"
11023
11084
  data-topo-brand-watermark
11085
+ data-topo-brand-watermark-breath={reducedMotion ? 'false' : 'true'}
11024
11086
  style={{ pointerEvents: 'none', transition: 'fill 200ms ease-out' }}
11025
- >sleep2agi</text>
11087
+ >sleep2agi{!reducedMotion && (
11088
+ <animate attributeName="opacity" values="0.32;0.48;0.32" dur="6s" repeatCount="indefinite" />
11089
+ )}</text>
11026
11090
  {/* v0.10.0 Hero 3 Wave 1 / RFC §3.I (Vincent 5215 + 通信龙
11027
11091
  lead-autonomy Q4 dual-anchor minimal): canvas top-left
11028
11092
  crescent moon brand mark, visible ONLY when the
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sleep2agi/agent-network-dashboard",
3
- "version": "0.5.3-preview.32",
3
+ "version": "0.5.3-preview.34",
4
4
  "description": "Agent Network Dashboard \u2014 Web UI for managing AI Agent networks",
5
5
  "scripts": {
6
6
  "dev": "next dev",
@@ -0,0 +1,126 @@
1
+ /* Round 520 verification: `+N more flows` footer gains 5-axis hover
2
+ * signature by adding fontWeight 500 → 600 on hover. Closes R475
3
+ * panel-text cadence at this last 150ms holdout.
4
+ *
5
+ * Test phases:
6
+ * 1. rest: fw=500, attr='500', opacity=0.55, ls=0.2px, no underline
7
+ * + transition list includes opacity at 200ms (not 150ms)
8
+ * 2. hover: fw=600, attr='600', opacity=0.85, ls=0.3px, underline
9
+ * 3. source-side regex confirms fw ternary + cadence
10
+ *
11
+ * Needs flowLinks > 3 to render the footer — uses 5 working sessions
12
+ * with at least 1 inbound flow each via mock messages.
13
+ */
14
+ import { chromium } from 'playwright';
15
+ import { readFileSync } from 'node:fs';
16
+
17
+ const TOKEN = JSON.parse(readFileSync('/home/vansin/.anet/config.json', 'utf8')).token;
18
+ const fresh = new Date(Date.now() - 60 * 1000).toISOString();
19
+
20
+ const browser = await chromium.launch({ headless: true });
21
+ const ctx = await browser.newContext({ viewport: { width: 1500, height: 1200 } });
22
+ await ctx.addCookies([{ name: 'anet_dashboard_session', value: `v3:${TOKEN}`, domain: '127.0.0.1', path: '/' }]);
23
+ await ctx.addInitScript(() => {
24
+ try {
25
+ localStorage.setItem('anet-theme', 'cyber');
26
+ localStorage.setItem('anet-topo-layout', 'ring');
27
+ sessionStorage.setItem('anet_v3_auth', '1');
28
+ } catch {}
29
+ });
30
+ await ctx.route('**/api/hub/status*', async (route) => {
31
+ const r = await route.fetch();
32
+ const b = await r.json();
33
+ const nid = (b.sessions || [])[0]?.network_id || 'default';
34
+ const mk = (alias) => ({
35
+ alias, status: 'working', model: 'claude-opus-4', runtime: 'claude-code-cli',
36
+ network_id: nid, project_dir: null,
37
+ created_at: fresh, updated_at: fresh, last_seen_at: fresh,
38
+ });
39
+ await route.fulfill({ response: r, json: { ...b, sessions: [
40
+ mk('a·1'), mk('a·2'), mk('a·3'), mk('a·4'), mk('a·5'), mk('a·6'),
41
+ ] } });
42
+ });
43
+ // Mock 6 recent messages → 6 flowLinks → "+ 3 more flows" footer (top-3 visible)
44
+ await ctx.route('**/api/hub/messages*', (r) => r.fulfill({ json: {
45
+ messages: [
46
+ { id: 'm1', from_alias: 'a·1', to_alias: 'a·2', content: 't', created_at: fresh },
47
+ { id: 'm2', from_alias: 'a·2', to_alias: 'a·3', content: 't', created_at: fresh },
48
+ { id: 'm3', from_alias: 'a·3', to_alias: 'a·4', content: 't', created_at: fresh },
49
+ { id: 'm4', from_alias: 'a·4', to_alias: 'a·5', content: 't', created_at: fresh },
50
+ { id: 'm5', from_alias: 'a·5', to_alias: 'a·6', content: 't', created_at: fresh },
51
+ { id: 'm6', from_alias: 'a·6', to_alias: 'a·1', content: 't', created_at: fresh },
52
+ ]
53
+ } }));
54
+ await ctx.route('**/api/hub/tasks*', (r) => r.fulfill({ json: { tasks: [] } }));
55
+ const page = await ctx.newPage();
56
+ await page.goto('http://127.0.0.1:3000/', { waitUntil: 'networkidle' });
57
+ await page.waitForSelector('[data-recent-panel-more]', { timeout: 15000 });
58
+ await page.waitForTimeout(1000);
59
+
60
+ const sel = '[data-recent-panel-more]';
61
+
62
+ // Phase 1: rest
63
+ const rest = await page.evaluate((sel) => {
64
+ const el = document.querySelector(sel);
65
+ if (!el) return null;
66
+ const cs = getComputedStyle(el);
67
+ return {
68
+ attrFw: el.getAttribute('data-recent-panel-more-font-weight'),
69
+ attrHovered: el.getAttribute('data-recent-panel-more-hovered'),
70
+ attrTrans: el.getAttribute('data-recent-panel-more-transition'),
71
+ fontWeight: cs.fontWeight,
72
+ opacity: cs.opacity,
73
+ letterSpacing: cs.letterSpacing,
74
+ textDecoration:cs.textDecorationLine,
75
+ transition: cs.transition,
76
+ };
77
+ }, sel);
78
+
79
+ // Phase 2: hover the parent <g> (text is wrapped in a click-target <g>)
80
+ await page.hover('[data-recent-panel-more-nav]');
81
+ await page.waitForTimeout(350);
82
+ const hover = await page.evaluate((sel) => {
83
+ const el = document.querySelector(sel);
84
+ if (!el) return null;
85
+ const cs = getComputedStyle(el);
86
+ return {
87
+ attrFw: el.getAttribute('data-recent-panel-more-font-weight'),
88
+ attrHovered: el.getAttribute('data-recent-panel-more-hovered'),
89
+ fontWeight: cs.fontWeight,
90
+ opacity: cs.opacity,
91
+ letterSpacing: cs.letterSpacing,
92
+ textDecoration:cs.textDecorationLine,
93
+ };
94
+ }, sel);
95
+
96
+ await browser.close();
97
+
98
+ // Phase 3: source regex
99
+ const src = readFileSync('/home/vansin/agent-network-dashboard/app/components/TopoGraph.tsx', 'utf8');
100
+ const sourceWiredFw =
101
+ /fontWeight=\{hoveredRecentMore \? '600' : '500'\}/.test(src) &&
102
+ /data-recent-panel-more-font-weight=\{hoveredRecentMore \? '600' : '500'\}/.test(src);
103
+ const sourceWiredCadence =
104
+ /transition: 'opacity 200ms ease-out, fill 200ms ease-out, letter-spacing 200ms ease-out, font-weight 200ms ease-out'/.test(src);
105
+
106
+ const results = {
107
+ rest_attr_fw_500: rest?.attrFw === '500',
108
+ rest_attr_hovered_false: rest?.attrHovered === 'false',
109
+ rest_attr_trans_200: rest?.attrTrans === '200ms',
110
+ rest_fw_500: rest?.fontWeight === '500',
111
+ rest_underline_none: rest?.textDecoration === 'none' || rest?.textDecoration === '',
112
+ rest_transition_200: /(200ms|0\.2s).+font-weight|font-weight.+(200ms|0\.2s)/.test(rest?.transition || '') ||
113
+ /(200ms|0\.2s)/.test(rest?.transition || ''),
114
+ hover_attr_fw_600: hover?.attrFw === '600',
115
+ hover_attr_hovered_true: hover?.attrHovered === 'true',
116
+ hover_fw_600: hover?.fontWeight === '600',
117
+ hover_letter_spacing_3: hover?.letterSpacing === '0.3px',
118
+ hover_underline: /underline/.test(hover?.textDecoration || ''),
119
+ source_fw_ternary: sourceWiredFw,
120
+ source_cadence_4axis: sourceWiredCadence,
121
+ };
122
+ const ok = Object.values(results).every(Boolean);
123
+ console.log(`${ok ? '✅' : '❌'} R520 recent-panel-more 5-axis hover + 200ms cadence:`,
124
+ JSON.stringify(results, null, 2),
125
+ '\n rest:', JSON.stringify(rest), '\n hover:', JSON.stringify(hover));
126
+ process.exit(ok ? 0 : 1);