@sleep2agi/agent-network-dashboard 0.5.2-preview.13 → 0.5.2-preview.15

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/{01agv79ahkd73.js → 05o4rlwjrwcch.js} +1 -1
  132. package/.next/static/chunks/{0tnqex8mgmgdj.js → 0bpi16jyw7i...js} +1 -1
  133. package/.next/static/chunks/{05vvkdxfz28dr.js → 0rk38jw99g.8h.js} +1 -1
  134. package/.next/static/chunks/{012qb9p.-auwr.js → 0ye_dhamv~ffs.js} +1 -1
  135. package/.next/trace +2 -2
  136. package/.next/trace-build +1 -1
  137. package/app/components/TopoGraph.tsx +36 -2
  138. package/package.json +1 -1
  139. package/scripts/topo-legend-panel-title-fw-test.mjs +95 -0
  140. package/scripts/topo-recent-row-ts-lift-test.mjs +97 -0
  141. /package/.next/static/{oBC1PYrS1J5HseZfCp15- → uB1fNnB3pkKKj0QLFeQiq}/_buildManifest.js +0 -0
  142. /package/.next/static/{oBC1PYrS1J5HseZfCp15- → uB1fNnB3pkKKj0QLFeQiq}/_clientMiddlewareManifest.js +0 -0
  143. /package/.next/static/{oBC1PYrS1J5HseZfCp15- → uB1fNnB3pkKKj0QLFeQiq}/_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.2-preview.13"],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.2-preview.15"],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.2-preview.13"],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.2-preview.15"],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":252,"timestamp":181595819151,"id":4,"parentId":1,"tags":{},"startTime":1778989568065,"traceId":"017ea5b3a52b3d8f"},{"name":"load-custom-routes","duration":509,"timestamp":181595819540,"id":5,"parentId":1,"tags":{},"startTime":1778989568066,"traceId":"017ea5b3a52b3d8f"},{"name":"create-dist-dir","duration":667,"timestamp":181595820091,"id":6,"parentId":1,"tags":{},"startTime":1778989568066,"traceId":"017ea5b3a52b3d8f"},{"name":"clean","duration":33099,"timestamp":181595821424,"id":7,"parentId":1,"tags":{},"startTime":1778989568068,"traceId":"017ea5b3a52b3d8f"},{"name":"discover-routes","duration":23309,"timestamp":181595942932,"id":8,"parentId":1,"tags":{},"startTime":1778989568189,"traceId":"017ea5b3a52b3d8f"},{"name":"create-root-mapping","duration":149,"timestamp":181595966304,"id":9,"parentId":1,"tags":{},"startTime":1778989568213,"traceId":"017ea5b3a52b3d8f"},{"name":"generate-route-types","duration":27710,"timestamp":181595968989,"id":10,"parentId":1,"tags":{},"startTime":1778989568215,"traceId":"017ea5b3a52b3d8f"},{"name":"public-dir-conflict-check","duration":121,"timestamp":181595996822,"id":11,"parentId":1,"tags":{},"startTime":1778989568243,"traceId":"017ea5b3a52b3d8f"},{"name":"generate-routes-manifest","duration":4820,"timestamp":181595997102,"id":12,"parentId":1,"tags":{},"startTime":1778989568243,"traceId":"017ea5b3a52b3d8f"},{"name":"run-turbopack","duration":5928233,"timestamp":181596007873,"id":14,"parentId":1,"tags":{},"startTime":1778989568254,"traceId":"017ea5b3a52b3d8f"},{"name":"turbopack-build-events","duration":92,"timestamp":181596340270,"id":15,"parentId":1,"tags":{},"startTime":1778989568587,"traceId":"017ea5b3a52b3d8f"},{"name":"run-typescript","duration":10058896,"timestamp":181601946690,"id":16,"parentId":1,"tags":{},"startTime":1778989574193,"traceId":"017ea5b3a52b3d8f"},{"name":"generate-required-server-files","duration":4019,"timestamp":181612007317,"id":18,"parentId":1,"tags":{},"startTime":1778989584254,"traceId":"017ea5b3a52b3d8f"},{"name":"check-static-error-page","duration":19918,"timestamp":181612338242,"id":20,"parentId":19,"tags":{},"startTime":1778989584585,"traceId":"017ea5b3a52b3d8f"},{"name":"is-page-static","duration":542518,"timestamp":181612363534,"id":65,"parentId":22,"tags":{},"startTime":1778989584610,"traceId":"017ea5b3a52b3d8f"},{"name":"check-page","duration":562897,"timestamp":181612343323,"id":22,"parentId":19,"tags":{"page":"/_global-error"},"startTime":1778989584590,"traceId":"017ea5b3a52b3d8f"},{"name":"is-page-static","duration":574128,"timestamp":181612365247,"id":69,"parentId":28,"tags":{},"startTime":1778989584612,"traceId":"017ea5b3a52b3d8f"},{"name":"check-page","duration":591507,"timestamp":181612347972,"id":28,"parentId":19,"tags":{"page":"/api/hub/audit-log"},"startTime":1778989584595,"traceId":"017ea5b3a52b3d8f"},{"name":"is-page-static","duration":592916,"timestamp":181612365909,"id":72,"parentId":32,"tags":{},"startTime":1778989584612,"traceId":"017ea5b3a52b3d8f"},{"name":"check-page","duration":608898,"timestamp":181612350019,"id":32,"parentId":19,"tags":{"page":"/api/hub/health"},"startTime":1778989584596,"traceId":"017ea5b3a52b3d8f"},{"name":"is-page-static","duration":645705,"timestamp":181612369647,"id":73,"parentId":33,"tags":{},"startTime":1778989584616,"traceId":"017ea5b3a52b3d8f"},{"name":"check-page","duration":665222,"timestamp":181612350215,"id":33,"parentId":19,"tags":{"page":"/api/hub/inbox"},"startTime":1778989584596,"traceId":"017ea5b3a52b3d8f"},{"name":"is-page-static","duration":672984,"timestamp":181612365821,"id":71,"parentId":30,"tags":{},"startTime":1778989584612,"traceId":"017ea5b3a52b3d8f"},{"name":"check-page","duration":689419,"timestamp":181612349477,"id":30,"parentId":19,"tags":{"page":"/api/hub/broadcast"},"startTime":1778989584596,"traceId":"017ea5b3a52b3d8f"},{"name":"is-page-static","duration":676151,"timestamp":181612369775,"id":74,"parentId":34,"tags":{},"startTime":1778989584616,"traceId":"017ea5b3a52b3d8f"},{"name":"check-page","duration":695669,"timestamp":181612350327,"id":34,"parentId":19,"tags":{"page":"/api/hub/license"},"startTime":1778989584597,"traceId":"017ea5b3a52b3d8f"},{"name":"is-page-static","duration":687686,"timestamp":181612362861,"id":64,"parentId":21,"tags":{},"startTime":1778989584609,"traceId":"017ea5b3a52b3d8f"},{"name":"check-page","duration":709265,"timestamp":181612341350,"id":21,"parentId":19,"tags":{"page":"/_not-found"},"startTime":1778989584588,"traceId":"017ea5b3a52b3d8f"},{"name":"is-page-static","duration":688033,"timestamp":181612369845,"id":76,"parentId":36,"tags":{},"startTime":1778989584616,"traceId":"017ea5b3a52b3d8f"},{"name":"check-page","duration":707018,"timestamp":181612350920,"id":36,"parentId":19,"tags":{"page":"/api/hub/networks"},"startTime":1778989584597,"traceId":"017ea5b3a52b3d8f"},{"name":"is-page-static","duration":695528,"timestamp":181612363974,"id":68,"parentId":27,"tags":{},"startTime":1778989584610,"traceId":"017ea5b3a52b3d8f"},{"name":"check-page","duration":711772,"timestamp":181612347785,"id":27,"parentId":19,"tags":{"page":"/api/auth/v3"},"startTime":1778989584594,"traceId":"017ea5b3a52b3d8f"},{"name":"is-page-static","duration":695045,"timestamp":181612369924,"id":79,"parentId":39,"tags":{},"startTime":1778989584616,"traceId":"017ea5b3a52b3d8f"},{"name":"check-page","duration":713697,"timestamp":181612351340,"id":39,"parentId":19,"tags":{"page":"/api/hub/send"},"startTime":1778989584598,"traceId":"017ea5b3a52b3d8f"},{"name":"is-page-static","duration":702877,"timestamp":181612363854,"id":67,"parentId":26,"tags":{},"startTime":1778989584610,"traceId":"017ea5b3a52b3d8f"},{"name":"check-page","duration":719168,"timestamp":181612347622,"id":26,"parentId":19,"tags":{"page":"/api/auth/logout"},"startTime":1778989584594,"traceId":"017ea5b3a52b3d8f"},{"name":"is-page-static","duration":697139,"timestamp":181612369817,"id":75,"parentId":35,"tags":{},"startTime":1778989584616,"traceId":"017ea5b3a52b3d8f"},{"name":"check-page","duration":716566,"timestamp":181612350422,"id":35,"parentId":19,"tags":{"page":"/api/hub/messages"},"startTime":1778989584597,"traceId":"017ea5b3a52b3d8f"},{"name":"is-page-static","duration":699608,"timestamp":181612369905,"id":78,"parentId":38,"tags":{},"startTime":1778989584616,"traceId":"017ea5b3a52b3d8f"},{"name":"check-page","duration":718313,"timestamp":181612351243,"id":38,"parentId":19,"tags":{"page":"/api/hub/register"},"startTime":1778989584598,"traceId":"017ea5b3a52b3d8f"},{"name":"is-page-static","duration":708376,"timestamp":181612369993,"id":83,"parentId":45,"tags":{},"startTime":1778989584616,"traceId":"017ea5b3a52b3d8f"},{"name":"check-page","duration":726233,"timestamp":181612352188,"id":45,"parentId":19,"tags":{"page":"/api/hub/stats"},"startTime":1778989584598,"traceId":"017ea5b3a52b3d8f"},{"name":"is-page-static","duration":711538,"timestamp":181612370024,"id":84,"parentId":46,"tags":{},"startTime":1778989584616,"traceId":"017ea5b3a52b3d8f"},{"name":"check-page","duration":729348,"timestamp":181612352257,"id":46,"parentId":19,"tags":{"page":"/api/hub/status"},"startTime":1778989584599,"traceId":"017ea5b3a52b3d8f"},{"name":"is-page-static","duration":712591,"timestamp":181612369956,"id":81,"parentId":42,"tags":{},"startTime":1778989584616,"traceId":"017ea5b3a52b3d8f"},{"name":"check-page","duration":730904,"timestamp":181612351706,"id":42,"parentId":19,"tags":{"page":"/api/hub/server/[hostname]/health"},"startTime":1778989584598,"traceId":"017ea5b3a52b3d8f"},{"name":"is-page-static","duration":716515,"timestamp":181612370042,"id":85,"parentId":47,"tags":{},"startTime":1778989584616,"traceId":"017ea5b3a52b3d8f"},{"name":"check-page","duration":734235,"timestamp":181612352377,"id":47,"parentId":19,"tags":{"page":"/api/hub/task-events"},"startTime":1778989584599,"traceId":"017ea5b3a52b3d8f"},{"name":"is-page-static","duration":718714,"timestamp":181612370058,"id":86,"parentId":48,"tags":{},"startTime":1778989584616,"traceId":"017ea5b3a52b3d8f"},{"name":"check-page","duration":734561,"timestamp":181612354258,"id":48,"parentId":19,"tags":{"page":"/api/hub/tasks"},"startTime":1778989584601,"traceId":"017ea5b3a52b3d8f"},{"name":"is-page-static","duration":721081,"timestamp":181612370074,"id":87,"parentId":49,"tags":{},"startTime":1778989584616,"traceId":"017ea5b3a52b3d8f"},{"name":"check-page","duration":736686,"timestamp":181612354509,"id":49,"parentId":19,"tags":{"page":"/api/hub/tmux"},"startTime":1778989584601,"traceId":"017ea5b3a52b3d8f"},{"name":"is-page-static","duration":721447,"timestamp":181612369975,"id":82,"parentId":44,"tags":{},"startTime":1778989584616,"traceId":"017ea5b3a52b3d8f"},{"name":"check-page","duration":739368,"timestamp":181612352091,"id":44,"parentId":19,"tags":{"page":"/api/hub/session"},"startTime":1778989584598,"traceId":"017ea5b3a52b3d8f"},{"name":"is-page-static","duration":724337,"timestamp":181612370085,"id":88,"parentId":50,"tags":{},"startTime":1778989584616,"traceId":"017ea5b3a52b3d8f"},{"name":"check-page","duration":739820,"timestamp":181612354641,"id":50,"parentId":19,"tags":{"page":"/api/hub/tokens"},"startTime":1778989584601,"traceId":"017ea5b3a52b3d8f"},{"name":"is-page-static","duration":719231,"timestamp":181612379898,"id":90,"parentId":24,"tags":{},"startTime":1778989584626,"traceId":"017ea5b3a52b3d8f"},{"name":"check-page","duration":755149,"timestamp":181612344022,"id":24,"parentId":19,"tags":{"page":"/api/anet/config"},"startTime":1778989584590,"traceId":"017ea5b3a52b3d8f"},{"name":"is-page-static","duration":718706,"timestamp":181612381136,"id":91,"parentId":31,"tags":{},"startTime":1778989584627,"traceId":"017ea5b3a52b3d8f"},{"name":"check-page","duration":750251,"timestamp":181612349637,"id":31,"parentId":19,"tags":{"page":"/api/hub/events"},"startTime":1778989584596,"traceId":"017ea5b3a52b3d8f"},{"name":"is-page-static","duration":745435,"timestamp":181612369941,"id":80,"parentId":40,"tags":{},"startTime":1778989584616,"traceId":"017ea5b3a52b3d8f"},{"name":"check-page","duration":764243,"timestamp":181612351415,"id":40,"parentId":19,"tags":{"page":"/api/hub/server-logs"},"startTime":1778989584598,"traceId":"017ea5b3a52b3d8f"},{"name":"is-page-static","duration":733147,"timestamp":181612383364,"id":93,"parentId":43,"tags":{},"startTime":1778989584630,"traceId":"017ea5b3a52b3d8f"},{"name":"check-page","duration":764770,"timestamp":181612351839,"id":43,"parentId":19,"tags":{"page":"/api/hub/servers"},"startTime":1778989584598,"traceId":"017ea5b3a52b3d8f"},{"name":"is-page-static","duration":746733,"timestamp":181612370101,"id":89,"parentId":51,"tags":{},"startTime":1778989584616,"traceId":"017ea5b3a52b3d8f"},{"name":"check-page","duration":762127,"timestamp":181612354743,"id":51,"parentId":19,"tags":{"page":"/favicon.ico"},"startTime":1778989584601,"traceId":"017ea5b3a52b3d8f"},{"name":"is-page-static","duration":734964,"timestamp":181612382029,"id":92,"parentId":41,"tags":{},"startTime":1778989584628,"traceId":"017ea5b3a52b3d8f"},{"name":"check-page","duration":765561,"timestamp":181612351483,"id":41,"parentId":19,"tags":{"page":"/api/hub/server/[hostname]/agents"},"startTime":1778989584598,"traceId":"017ea5b3a52b3d8f"},{"name":"is-page-static","duration":758327,"timestamp":181612365608,"id":70,"parentId":29,"tags":{},"startTime":1778989584612,"traceId":"017ea5b3a52b3d8f"},{"name":"check-page","duration":774720,"timestamp":181612349265,"id":29,"parentId":19,"tags":{"page":"/api/hub/auth"},"startTime":1778989584596,"traceId":"017ea5b3a52b3d8f"},{"name":"is-page-static","duration":765156,"timestamp":181612363712,"id":66,"parentId":25,"tags":{},"startTime":1778989584610,"traceId":"017ea5b3a52b3d8f"},{"name":"check-page","duration":781485,"timestamp":181612347435,"id":25,"parentId":19,"tags":{"page":"/api/auth/login"},"startTime":1778989584594,"traceId":"017ea5b3a52b3d8f"},{"name":"is-page-static","duration":761389,"timestamp":181612369882,"id":77,"parentId":37,"tags":{},"startTime":1778989584616,"traceId":"017ea5b3a52b3d8f"},{"name":"check-page","duration":780220,"timestamp":181612351101,"id":37,"parentId":19,"tags":{"page":"/api/hub/nodes"},"startTime":1778989584597,"traceId":"017ea5b3a52b3d8f"},{"name":"is-page-static","duration":762642,"timestamp":181612385839,"id":100,"parentId":58,"tags":{},"startTime":1778989584632,"traceId":"017ea5b3a52b3d8f"},{"name":"check-page","duration":792017,"timestamp":181612356531,"id":58,"parentId":19,"tags":{"page":"/server-logs"},"startTime":1778989584603,"traceId":"017ea5b3a52b3d8f"},{"name":"is-page-static","duration":770636,"timestamp":181612385955,"id":101,"parentId":59,"tags":{},"startTime":1778989584632,"traceId":"017ea5b3a52b3d8f"},{"name":"check-page","duration":799864,"timestamp":181612356801,"id":59,"parentId":19,"tags":{"page":"/settings/networks"},"startTime":1778989584603,"traceId":"017ea5b3a52b3d8f"},{"name":"is-page-static","duration":779888,"timestamp":181612385976,"id":102,"parentId":61,"tags":{},"startTime":1778989584632,"traceId":"017ea5b3a52b3d8f"},{"name":"check-page","duration":808491,"timestamp":181612357464,"id":61,"parentId":19,"tags":{"page":"/settings/tokens"},"startTime":1778989584604,"traceId":"017ea5b3a52b3d8f"},{"name":"is-page-static","duration":803628,"timestamp":181612385985,"id":103,"parentId":62,"tags":{},"startTime":1778989584632,"traceId":"017ea5b3a52b3d8f"},{"name":"check-page","duration":832069,"timestamp":181612357620,"id":62,"parentId":19,"tags":{"page":"/tasks/[id]"},"startTime":1778989584604,"traceId":"017ea5b3a52b3d8f"},{"name":"is-page-static","duration":804142,"timestamp":181612385799,"id":97,"parentId":54,"tags":{},"startTime":1778989584632,"traceId":"017ea5b3a52b3d8f"},{"name":"check-page","duration":834426,"timestamp":181612355570,"id":54,"parentId":19,"tags":{"page":"/messages"},"startTime":1778989584602,"traceId":"017ea5b3a52b3d8f"},{"name":"is-page-static","duration":812373,"timestamp":181612385998,"id":104,"parentId":63,"tags":{},"startTime":1778989584632,"traceId":"017ea5b3a52b3d8f"},{"name":"check-page","duration":840595,"timestamp":181612357843,"id":63,"parentId":19,"tags":{"page":"/tasks"},"startTime":1778989584604,"traceId":"017ea5b3a52b3d8f"},{"name":"is-page-static","duration":806424,"timestamp":181612394689,"id":105,"parentId":60,"tags":{},"startTime":1778989584641,"traceId":"017ea5b3a52b3d8f"},{"name":"check-page","duration":844152,"timestamp":181612356999,"id":60,"parentId":19,"tags":{"page":"/settings"},"startTime":1778989584603,"traceId":"017ea5b3a52b3d8f"},{"name":"is-page-static","duration":818798,"timestamp":181612385727,"id":94,"parentId":23,"tags":{},"startTime":1778989584632,"traceId":"017ea5b3a52b3d8f"},{"name":"check-page","duration":860911,"timestamp":181612343656,"id":23,"parentId":19,"tags":{"page":"/admin"},"startTime":1778989584590,"traceId":"017ea5b3a52b3d8f"},{"name":"is-page-static","duration":791794,"timestamp":181612415079,"id":106,"parentId":57,"tags":{},"startTime":1778989584661,"traceId":"017ea5b3a52b3d8f"},{"name":"check-page","duration":850817,"timestamp":181612356096,"id":57,"parentId":19,"tags":{"page":"/"},"startTime":1778989584602,"traceId":"017ea5b3a52b3d8f"},{"name":"is-page-static","duration":837962,"timestamp":181612385773,"id":95,"parentId":52,"tags":{},"startTime":1778989584632,"traceId":"017ea5b3a52b3d8f"},{"name":"check-page","duration":868638,"timestamp":181612355179,"id":52,"parentId":19,"tags":{"page":"/login"},"startTime":1778989584601,"traceId":"017ea5b3a52b3d8f"},{"name":"is-page-static","duration":840176,"timestamp":181612385785,"id":96,"parentId":53,"tags":{},"startTime":1778989584632,"traceId":"017ea5b3a52b3d8f"},{"name":"check-page","duration":870661,"timestamp":181612355377,"id":53,"parentId":19,"tags":{"page":"/logs"},"startTime":1778989584602,"traceId":"017ea5b3a52b3d8f"},{"name":"is-page-static","duration":850385,"timestamp":181612385825,"id":99,"parentId":56,"tags":{},"startTime":1778989584632,"traceId":"017ea5b3a52b3d8f"},{"name":"check-page","duration":880347,"timestamp":181612355902,"id":56,"parentId":19,"tags":{"page":"/nodes"},"startTime":1778989584602,"traceId":"017ea5b3a52b3d8f"},{"name":"is-page-static","duration":851599,"timestamp":181612385816,"id":98,"parentId":55,"tags":{},"startTime":1778989584632,"traceId":"017ea5b3a52b3d8f"},{"name":"check-page","duration":881724,"timestamp":181612355739,"id":55,"parentId":19,"tags":{"page":"/node"},"startTime":1778989584602,"traceId":"017ea5b3a52b3d8f"},{"name":"static-check","duration":900662,"timestamp":181612336851,"id":19,"parentId":1,"tags":{},"startTime":1778989584583,"traceId":"017ea5b3a52b3d8f"}]
2
- [{"name":"write-routes-manifest","duration":617,"timestamp":181613248199,"id":108,"parentId":1,"tags":{},"startTime":1778989585494,"traceId":"017ea5b3a52b3d8f"},{"name":"load-dotenv","duration":70,"timestamp":181613262780,"id":111,"parentId":110,"tags":{},"startTime":1778989585509,"traceId":"017ea5b3a52b3d8f"},{"name":"run-export-path-map","duration":931,"timestamp":181613266128,"id":112,"parentId":110,"tags":{},"startTime":1778989585512,"traceId":"017ea5b3a52b3d8f"},{"name":"next-export","duration":659284,"timestamp":181613260834,"id":110,"parentId":1,"tags":{},"startTime":1778989585507,"traceId":"017ea5b3a52b3d8f"},{"name":"move-exported-app-not-found-","duration":592,"timestamp":181613923731,"id":113,"parentId":109,"tags":{},"startTime":1778989586170,"traceId":"017ea5b3a52b3d8f"},{"name":"move-exported-app-global-error-","duration":477,"timestamp":181613924422,"id":114,"parentId":109,"tags":{},"startTime":1778989586171,"traceId":"017ea5b3a52b3d8f"},{"name":"static-generation","duration":673892,"timestamp":181613252942,"id":109,"parentId":1,"tags":{},"startTime":1778989585499,"traceId":"017ea5b3a52b3d8f"},{"name":"write-routes-manifest","duration":509,"timestamp":181613927114,"id":115,"parentId":1,"tags":{},"startTime":1778989586173,"traceId":"017ea5b3a52b3d8f"},{"name":"print-tree-view","duration":4088,"timestamp":181613946810,"id":116,"parentId":1,"tags":{},"startTime":1778989586193,"traceId":"017ea5b3a52b3d8f"},{"name":"write-route-bundle-stats","duration":12779,"timestamp":181613950941,"id":117,"parentId":1,"tags":{},"startTime":1778989586197,"traceId":"017ea5b3a52b3d8f"},{"name":"telemetry-flush","duration":16975,"timestamp":181613963760,"id":118,"parentId":1,"tags":{},"startTime":1778989586210,"traceId":"017ea5b3a52b3d8f"},{"name":"next-build","duration":18212924,"timestamp":181595767856,"id":1,"tags":{"buildMode":"default","version":"16.2.3","bundler":"turbopack","has-custom-webpack-config":"false","use-build-worker":"true"},"startTime":1778989568014,"traceId":"017ea5b3a52b3d8f"}]
1
+ [{"name":"generate-buildid","duration":321,"timestamp":182456257049,"id":4,"parentId":1,"tags":{},"startTime":1778990428503,"traceId":"4cdc59e33e1a6074"},{"name":"load-custom-routes","duration":601,"timestamp":182456257571,"id":5,"parentId":1,"tags":{},"startTime":1778990428504,"traceId":"4cdc59e33e1a6074"},{"name":"create-dist-dir","duration":809,"timestamp":182456258224,"id":6,"parentId":1,"tags":{},"startTime":1778990428505,"traceId":"4cdc59e33e1a6074"},{"name":"clean","duration":34423,"timestamp":182456259762,"id":7,"parentId":1,"tags":{},"startTime":1778990428506,"traceId":"4cdc59e33e1a6074"},{"name":"discover-routes","duration":26421,"timestamp":182456384533,"id":8,"parentId":1,"tags":{},"startTime":1778990428631,"traceId":"4cdc59e33e1a6074"},{"name":"create-root-mapping","duration":136,"timestamp":182456411051,"id":9,"parentId":1,"tags":{},"startTime":1778990428657,"traceId":"4cdc59e33e1a6074"},{"name":"generate-route-types","duration":24298,"timestamp":182456414066,"id":10,"parentId":1,"tags":{},"startTime":1778990428660,"traceId":"4cdc59e33e1a6074"},{"name":"public-dir-conflict-check","duration":141,"timestamp":182456438488,"id":11,"parentId":1,"tags":{},"startTime":1778990428685,"traceId":"4cdc59e33e1a6074"},{"name":"generate-routes-manifest","duration":6307,"timestamp":182456438859,"id":12,"parentId":1,"tags":{},"startTime":1778990428685,"traceId":"4cdc59e33e1a6074"},{"name":"run-turbopack","duration":6839811,"timestamp":182456460815,"id":14,"parentId":1,"tags":{},"startTime":1778990428707,"traceId":"4cdc59e33e1a6074"},{"name":"turbopack-build-events","duration":131,"timestamp":182456772923,"id":15,"parentId":1,"tags":{},"startTime":1778990429019,"traceId":"4cdc59e33e1a6074"},{"name":"run-typescript","duration":10910203,"timestamp":182463315850,"id":16,"parentId":1,"tags":{},"startTime":1778990435562,"traceId":"4cdc59e33e1a6074"},{"name":"generate-required-server-files","duration":4160,"timestamp":182474227688,"id":18,"parentId":1,"tags":{},"startTime":1778990446474,"traceId":"4cdc59e33e1a6074"},{"name":"check-static-error-page","duration":15711,"timestamp":182474474976,"id":20,"parentId":19,"tags":{},"startTime":1778990446721,"traceId":"4cdc59e33e1a6074"},{"name":"is-page-static","duration":603015,"timestamp":182474494872,"id":65,"parentId":22,"tags":{},"startTime":1778990446741,"traceId":"4cdc59e33e1a6074"},{"name":"check-page","duration":619828,"timestamp":182474478262,"id":22,"parentId":19,"tags":{"page":"/_global-error"},"startTime":1778990446725,"traceId":"4cdc59e33e1a6074"},{"name":"is-page-static","duration":704130,"timestamp":182474494980,"id":66,"parentId":25,"tags":{},"startTime":1778990446741,"traceId":"4cdc59e33e1a6074"},{"name":"check-page","duration":717836,"timestamp":182474481386,"id":25,"parentId":19,"tags":{"page":"/api/auth/login"},"startTime":1778990446728,"traceId":"4cdc59e33e1a6074"},{"name":"is-page-static","duration":719340,"timestamp":182474495612,"id":70,"parentId":29,"tags":{},"startTime":1778990446742,"traceId":"4cdc59e33e1a6074"},{"name":"check-page","duration":733093,"timestamp":182474481960,"id":29,"parentId":19,"tags":{"page":"/api/hub/auth"},"startTime":1778990446728,"traceId":"4cdc59e33e1a6074"},{"name":"is-page-static","duration":725071,"timestamp":182474496103,"id":73,"parentId":33,"tags":{},"startTime":1778990446742,"traceId":"4cdc59e33e1a6074"},{"name":"check-page","duration":738604,"timestamp":182474482639,"id":33,"parentId":19,"tags":{"page":"/api/hub/inbox"},"startTime":1778990446729,"traceId":"4cdc59e33e1a6074"},{"name":"is-page-static","duration":728201,"timestamp":182474495075,"id":67,"parentId":26,"tags":{},"startTime":1778990446741,"traceId":"4cdc59e33e1a6074"},{"name":"check-page","duration":741785,"timestamp":182474481561,"id":26,"parentId":19,"tags":{"page":"/api/auth/logout"},"startTime":1778990446728,"traceId":"4cdc59e33e1a6074"},{"name":"is-page-static","duration":729122,"timestamp":182474495803,"id":71,"parentId":30,"tags":{},"startTime":1778990446742,"traceId":"4cdc59e33e1a6074"},{"name":"check-page","duration":742855,"timestamp":182474482121,"id":30,"parentId":19,"tags":{"page":"/api/hub/broadcast"},"startTime":1778990446728,"traceId":"4cdc59e33e1a6074"},{"name":"is-page-static","duration":733921,"timestamp":182474495315,"id":69,"parentId":28,"tags":{},"startTime":1778990446742,"traceId":"4cdc59e33e1a6074"},{"name":"check-page","duration":747462,"timestamp":182474481828,"id":28,"parentId":19,"tags":{"page":"/api/hub/audit-log"},"startTime":1778990446728,"traceId":"4cdc59e33e1a6074"},{"name":"is-page-static","duration":733235,"timestamp":182474496238,"id":75,"parentId":35,"tags":{},"startTime":1778990446743,"traceId":"4cdc59e33e1a6074"},{"name":"check-page","duration":746629,"timestamp":182474482878,"id":35,"parentId":19,"tags":{"page":"/api/hub/messages"},"startTime":1778990446729,"traceId":"4cdc59e33e1a6074"},{"name":"is-page-static","duration":762349,"timestamp":182474496264,"id":76,"parentId":36,"tags":{},"startTime":1778990446743,"traceId":"4cdc59e33e1a6074"},{"name":"check-page","duration":775324,"timestamp":182474483374,"id":36,"parentId":19,"tags":{"page":"/api/hub/networks"},"startTime":1778990446730,"traceId":"4cdc59e33e1a6074"},{"name":"is-page-static","duration":763066,"timestamp":182474495881,"id":72,"parentId":32,"tags":{},"startTime":1778990446742,"traceId":"4cdc59e33e1a6074"},{"name":"check-page","duration":776475,"timestamp":182474482508,"id":32,"parentId":19,"tags":{"page":"/api/hub/health"},"startTime":1778990446729,"traceId":"4cdc59e33e1a6074"},{"name":"is-page-static","duration":766944,"timestamp":182474496298,"id":77,"parentId":37,"tags":{},"startTime":1778990446743,"traceId":"4cdc59e33e1a6074"},{"name":"check-page","duration":779748,"timestamp":182474483548,"id":37,"parentId":19,"tags":{"page":"/api/hub/nodes"},"startTime":1778990446730,"traceId":"4cdc59e33e1a6074"},{"name":"is-page-static","duration":791822,"timestamp":182474496207,"id":74,"parentId":34,"tags":{},"startTime":1778990446742,"traceId":"4cdc59e33e1a6074"},{"name":"check-page","duration":805354,"timestamp":182474482751,"id":34,"parentId":19,"tags":{"page":"/api/hub/license"},"startTime":1778990446729,"traceId":"4cdc59e33e1a6074"},{"name":"is-page-static","duration":810058,"timestamp":182474495193,"id":68,"parentId":27,"tags":{},"startTime":1778990446741,"traceId":"4cdc59e33e1a6074"},{"name":"check-page","duration":823649,"timestamp":182474481688,"id":27,"parentId":19,"tags":{"page":"/api/auth/v3"},"startTime":1778990446728,"traceId":"4cdc59e33e1a6074"},{"name":"is-page-static","duration":820156,"timestamp":182474496349,"id":80,"parentId":40,"tags":{},"startTime":1778990446743,"traceId":"4cdc59e33e1a6074"},{"name":"check-page","duration":832681,"timestamp":182474483910,"id":40,"parentId":19,"tags":{"page":"/api/hub/server-logs"},"startTime":1778990446730,"traceId":"4cdc59e33e1a6074"},{"name":"is-page-static","duration":820417,"timestamp":182474496393,"id":83,"parentId":45,"tags":{},"startTime":1778990446743,"traceId":"4cdc59e33e1a6074"},{"name":"check-page","duration":831803,"timestamp":182474485060,"id":45,"parentId":19,"tags":{"page":"/api/hub/stats"},"startTime":1778990446731,"traceId":"4cdc59e33e1a6074"},{"name":"is-page-static","duration":831672,"timestamp":182474496315,"id":78,"parentId":38,"tags":{},"startTime":1778990446743,"traceId":"4cdc59e33e1a6074"},{"name":"check-page","duration":844383,"timestamp":182474483690,"id":38,"parentId":19,"tags":{"page":"/api/hub/register"},"startTime":1778990446730,"traceId":"4cdc59e33e1a6074"},{"name":"is-page-static","duration":833429,"timestamp":182474496332,"id":79,"parentId":39,"tags":{},"startTime":1778990446743,"traceId":"4cdc59e33e1a6074"},{"name":"check-page","duration":846047,"timestamp":182474483805,"id":39,"parentId":19,"tags":{"page":"/api/hub/send"},"startTime":1778990446730,"traceId":"4cdc59e33e1a6074"},{"name":"is-page-static","duration":834272,"timestamp":182474496421,"id":85,"parentId":47,"tags":{},"startTime":1778990446743,"traceId":"4cdc59e33e1a6074"},{"name":"check-page","duration":845439,"timestamp":182474485299,"id":47,"parentId":19,"tags":{"page":"/api/hub/task-events"},"startTime":1778990446732,"traceId":"4cdc59e33e1a6074"},{"name":"is-page-static","duration":843529,"timestamp":182474496377,"id":82,"parentId":44,"tags":{},"startTime":1778990446743,"traceId":"4cdc59e33e1a6074"},{"name":"check-page","duration":855249,"timestamp":182474484702,"id":44,"parentId":19,"tags":{"page":"/api/hub/session"},"startTime":1778990446731,"traceId":"4cdc59e33e1a6074"},{"name":"is-page-static","duration":843679,"timestamp":182474496452,"id":87,"parentId":49,"tags":{},"startTime":1778990446743,"traceId":"4cdc59e33e1a6074"},{"name":"check-page","duration":853001,"timestamp":182474487162,"id":49,"parentId":19,"tags":{"page":"/api/hub/tmux"},"startTime":1778990446733,"traceId":"4cdc59e33e1a6074"},{"name":"is-page-static","duration":843846,"timestamp":182474496437,"id":86,"parentId":48,"tags":{},"startTime":1778990446743,"traceId":"4cdc59e33e1a6074"},{"name":"check-page","duration":853372,"timestamp":182474486934,"id":48,"parentId":19,"tags":{"page":"/api/hub/tasks"},"startTime":1778990446733,"traceId":"4cdc59e33e1a6074"},{"name":"is-page-static","duration":845880,"timestamp":182474494548,"id":64,"parentId":21,"tags":{},"startTime":1778990446741,"traceId":"4cdc59e33e1a6074"},{"name":"check-page","duration":863785,"timestamp":182474476668,"id":21,"parentId":19,"tags":{"page":"/_not-found"},"startTime":1778990446723,"traceId":"4cdc59e33e1a6074"},{"name":"is-page-static","duration":854463,"timestamp":182474496464,"id":88,"parentId":50,"tags":{},"startTime":1778990446743,"traceId":"4cdc59e33e1a6074"},{"name":"check-page","duration":863718,"timestamp":182474487264,"id":50,"parentId":19,"tags":{"page":"/api/hub/tokens"},"startTime":1778990446734,"traceId":"4cdc59e33e1a6074"},{"name":"is-page-static","duration":854707,"timestamp":182474496480,"id":89,"parentId":51,"tags":{},"startTime":1778990446743,"traceId":"4cdc59e33e1a6074"},{"name":"check-page","duration":863873,"timestamp":182474487351,"id":51,"parentId":19,"tags":{"page":"/favicon.ico"},"startTime":1778990446734,"traceId":"4cdc59e33e1a6074"},{"name":"is-page-static","duration":860221,"timestamp":182474496409,"id":84,"parentId":46,"tags":{},"startTime":1778990446743,"traceId":"4cdc59e33e1a6074"},{"name":"check-page","duration":871542,"timestamp":182474485181,"id":46,"parentId":19,"tags":{"page":"/api/hub/status"},"startTime":1778990446731,"traceId":"4cdc59e33e1a6074"},{"name":"is-page-static","duration":855784,"timestamp":182474501127,"id":91,"parentId":31,"tags":{},"startTime":1778990446747,"traceId":"4cdc59e33e1a6074"},{"name":"check-page","duration":874705,"timestamp":182474482241,"id":31,"parentId":19,"tags":{"page":"/api/hub/events"},"startTime":1778990446729,"traceId":"4cdc59e33e1a6074"},{"name":"is-page-static","duration":862740,"timestamp":182474496361,"id":81,"parentId":42,"tags":{},"startTime":1778990446743,"traceId":"4cdc59e33e1a6074"},{"name":"check-page","duration":874868,"timestamp":182474484293,"id":42,"parentId":19,"tags":{"page":"/api/hub/server/[hostname]/health"},"startTime":1778990446731,"traceId":"4cdc59e33e1a6074"},{"name":"is-page-static","duration":859665,"timestamp":182474499942,"id":90,"parentId":24,"tags":{},"startTime":1778990446746,"traceId":"4cdc59e33e1a6074"},{"name":"check-page","duration":880891,"timestamp":182474478764,"id":24,"parentId":19,"tags":{"page":"/api/anet/config"},"startTime":1778990446725,"traceId":"4cdc59e33e1a6074"},{"name":"is-page-static","duration":884597,"timestamp":182474503304,"id":93,"parentId":43,"tags":{},"startTime":1778990446750,"traceId":"4cdc59e33e1a6074"},{"name":"check-page","duration":903560,"timestamp":182474484430,"id":43,"parentId":19,"tags":{"page":"/api/hub/servers"},"startTime":1778990446731,"traceId":"4cdc59e33e1a6074"},{"name":"is-page-static","duration":898369,"timestamp":182474514211,"id":94,"parentId":23,"tags":{},"startTime":1778990446760,"traceId":"4cdc59e33e1a6074"},{"name":"check-page","duration":934132,"timestamp":182474478529,"id":23,"parentId":19,"tags":{"page":"/admin"},"startTime":1778990446725,"traceId":"4cdc59e33e1a6074"},{"name":"is-page-static","duration":905730,"timestamp":182474514328,"id":100,"parentId":58,"tags":{},"startTime":1778990446761,"traceId":"4cdc59e33e1a6074"},{"name":"check-page","duration":931026,"timestamp":182474489099,"id":58,"parentId":19,"tags":{"page":"/server-logs"},"startTime":1778990446735,"traceId":"4cdc59e33e1a6074"},{"name":"is-page-static","duration":907480,"timestamp":182474514302,"id":98,"parentId":55,"tags":{},"startTime":1778990446761,"traceId":"4cdc59e33e1a6074"},{"name":"check-page","duration":933622,"timestamp":182474488232,"id":55,"parentId":19,"tags":{"page":"/node"},"startTime":1778990446735,"traceId":"4cdc59e33e1a6074"},{"name":"is-page-static","duration":913063,"timestamp":182474514472,"id":101,"parentId":59,"tags":{},"startTime":1778990446761,"traceId":"4cdc59e33e1a6074"},{"name":"check-page","duration":940783,"timestamp":182474489312,"id":59,"parentId":19,"tags":{"page":"/settings/networks"},"startTime":1778990446736,"traceId":"4cdc59e33e1a6074"},{"name":"is-page-static","duration":916028,"timestamp":182474514285,"id":97,"parentId":54,"tags":{},"startTime":1778990446761,"traceId":"4cdc59e33e1a6074"},{"name":"check-page","duration":942324,"timestamp":182474488045,"id":54,"parentId":19,"tags":{"page":"/messages"},"startTime":1778990446734,"traceId":"4cdc59e33e1a6074"},{"name":"is-page-static","duration":916002,"timestamp":182474514493,"id":102,"parentId":61,"tags":{},"startTime":1778990446761,"traceId":"4cdc59e33e1a6074"},{"name":"check-page","duration":940533,"timestamp":182474489994,"id":61,"parentId":19,"tags":{"page":"/settings/tokens"},"startTime":1778990446736,"traceId":"4cdc59e33e1a6074"},{"name":"is-page-static","duration":926545,"timestamp":182474514530,"id":104,"parentId":63,"tags":{},"startTime":1778990446761,"traceId":"4cdc59e33e1a6074"},{"name":"check-page","duration":950733,"timestamp":182474490398,"id":63,"parentId":19,"tags":{"page":"/tasks"},"startTime":1778990446737,"traceId":"4cdc59e33e1a6074"},{"name":"is-page-static","duration":918148,"timestamp":182474526937,"id":106,"parentId":57,"tags":{},"startTime":1778990446773,"traceId":"4cdc59e33e1a6074"},{"name":"check-page","duration":956491,"timestamp":182474488641,"id":57,"parentId":19,"tags":{"page":"/"},"startTime":1778990446735,"traceId":"4cdc59e33e1a6074"},{"name":"is-page-static","duration":936511,"timestamp":182474514546,"id":105,"parentId":60,"tags":{},"startTime":1778990446761,"traceId":"4cdc59e33e1a6074"},{"name":"check-page","duration":961583,"timestamp":182474489529,"id":60,"parentId":19,"tags":{"page":"/settings"},"startTime":1778990446736,"traceId":"4cdc59e33e1a6074"},{"name":"is-page-static","duration":950565,"timestamp":182474501990,"id":92,"parentId":41,"tags":{},"startTime":1778990446748,"traceId":"4cdc59e33e1a6074"},{"name":"check-page","duration":968579,"timestamp":182474484028,"id":41,"parentId":19,"tags":{"page":"/api/hub/server/[hostname]/agents"},"startTime":1778990446730,"traceId":"4cdc59e33e1a6074"},{"name":"is-page-static","duration":939009,"timestamp":182474514251,"id":95,"parentId":52,"tags":{},"startTime":1778990446761,"traceId":"4cdc59e33e1a6074"},{"name":"check-page","duration":965576,"timestamp":182474487735,"id":52,"parentId":19,"tags":{"page":"/login"},"startTime":1778990446734,"traceId":"4cdc59e33e1a6074"},{"name":"is-page-static","duration":945083,"timestamp":182474514268,"id":96,"parentId":53,"tags":{},"startTime":1778990446761,"traceId":"4cdc59e33e1a6074"},{"name":"check-page","duration":971502,"timestamp":182474487897,"id":53,"parentId":19,"tags":{"page":"/logs"},"startTime":1778990446734,"traceId":"4cdc59e33e1a6074"},{"name":"is-page-static","duration":946549,"timestamp":182474514510,"id":103,"parentId":62,"tags":{},"startTime":1778990446761,"traceId":"4cdc59e33e1a6074"},{"name":"check-page","duration":970927,"timestamp":182474490182,"id":62,"parentId":19,"tags":{"page":"/tasks/[id]"},"startTime":1778990446736,"traceId":"4cdc59e33e1a6074"},{"name":"is-page-static","duration":957007,"timestamp":182474514314,"id":99,"parentId":56,"tags":{},"startTime":1778990446761,"traceId":"4cdc59e33e1a6074"},{"name":"check-page","duration":982982,"timestamp":182474488416,"id":56,"parentId":19,"tags":{"page":"/nodes"},"startTime":1778990446735,"traceId":"4cdc59e33e1a6074"},{"name":"static-check","duration":997708,"timestamp":182474473748,"id":19,"parentId":1,"tags":{},"startTime":1778990446720,"traceId":"4cdc59e33e1a6074"}]
2
+ [{"name":"write-routes-manifest","duration":586,"timestamp":182475484571,"id":108,"parentId":1,"tags":{},"startTime":1778990447731,"traceId":"4cdc59e33e1a6074"},{"name":"load-dotenv","duration":87,"timestamp":182475497992,"id":111,"parentId":110,"tags":{},"startTime":1778990447744,"traceId":"4cdc59e33e1a6074"},{"name":"run-export-path-map","duration":807,"timestamp":182475501288,"id":112,"parentId":110,"tags":{},"startTime":1778990447748,"traceId":"4cdc59e33e1a6074"},{"name":"next-export","duration":716550,"timestamp":182475496309,"id":110,"parentId":1,"tags":{},"startTime":1778990447743,"traceId":"4cdc59e33e1a6074"},{"name":"move-exported-app-not-found-","duration":879,"timestamp":182476217455,"id":113,"parentId":109,"tags":{},"startTime":1778990448464,"traceId":"4cdc59e33e1a6074"},{"name":"move-exported-app-global-error-","duration":514,"timestamp":182476218460,"id":114,"parentId":109,"tags":{},"startTime":1778990448465,"traceId":"4cdc59e33e1a6074"},{"name":"static-generation","duration":732163,"timestamp":182475489417,"id":109,"parentId":1,"tags":{},"startTime":1778990447736,"traceId":"4cdc59e33e1a6074"},{"name":"write-routes-manifest","duration":480,"timestamp":182476221832,"id":115,"parentId":1,"tags":{},"startTime":1778990448468,"traceId":"4cdc59e33e1a6074"},{"name":"print-tree-view","duration":5475,"timestamp":182476244827,"id":116,"parentId":1,"tags":{},"startTime":1778990448491,"traceId":"4cdc59e33e1a6074"},{"name":"write-route-bundle-stats","duration":16082,"timestamp":182476250347,"id":117,"parentId":1,"tags":{},"startTime":1778990448497,"traceId":"4cdc59e33e1a6074"},{"name":"telemetry-flush","duration":15358,"timestamp":182476266475,"id":118,"parentId":1,"tags":{},"startTime":1778990448513,"traceId":"4cdc59e33e1a6074"},{"name":"next-build","duration":20081454,"timestamp":182456200422,"id":1,"tags":{"buildMode":"default","version":"16.2.3","bundler":"turbopack","has-custom-webpack-config":"false","use-build-worker":"true"},"startTime":1778990428447,"traceId":"4cdc59e33e1a6074"}]
package/.next/trace-build CHANGED
@@ -1 +1 @@
1
- [{"name":"run-turbopack","duration":5928233,"timestamp":181596007873,"id":14,"parentId":1,"tags":{},"startTime":1778989568254,"traceId":"017ea5b3a52b3d8f"},{"name":"turbopack-build-events","duration":92,"timestamp":181596340270,"id":15,"parentId":1,"tags":{},"startTime":1778989568587,"traceId":"017ea5b3a52b3d8f"},{"name":"run-typescript","duration":10058896,"timestamp":181601946690,"id":16,"parentId":1,"tags":{},"startTime":1778989574193,"traceId":"017ea5b3a52b3d8f"},{"name":"static-check","duration":900662,"timestamp":181612336851,"id":19,"parentId":1,"tags":{},"startTime":1778989584583,"traceId":"017ea5b3a52b3d8f"},{"name":"static-generation","duration":673892,"timestamp":181613252942,"id":109,"parentId":1,"tags":{},"startTime":1778989585499,"traceId":"017ea5b3a52b3d8f"},{"name":"telemetry-flush","duration":16975,"timestamp":181613963760,"id":118,"parentId":1,"tags":{},"startTime":1778989586210,"traceId":"017ea5b3a52b3d8f"},{"name":"next-build","duration":18212924,"timestamp":181595767856,"id":1,"tags":{"buildMode":"default","version":"16.2.3","bundler":"turbopack","has-custom-webpack-config":"false","use-build-worker":"true"},"startTime":1778989568014,"traceId":"017ea5b3a52b3d8f"}]
1
+ [{"name":"run-turbopack","duration":6839811,"timestamp":182456460815,"id":14,"parentId":1,"tags":{},"startTime":1778990428707,"traceId":"4cdc59e33e1a6074"},{"name":"turbopack-build-events","duration":131,"timestamp":182456772923,"id":15,"parentId":1,"tags":{},"startTime":1778990429019,"traceId":"4cdc59e33e1a6074"},{"name":"run-typescript","duration":10910203,"timestamp":182463315850,"id":16,"parentId":1,"tags":{},"startTime":1778990435562,"traceId":"4cdc59e33e1a6074"},{"name":"static-check","duration":997708,"timestamp":182474473748,"id":19,"parentId":1,"tags":{},"startTime":1778990446720,"traceId":"4cdc59e33e1a6074"},{"name":"static-generation","duration":732163,"timestamp":182475489417,"id":109,"parentId":1,"tags":{},"startTime":1778990447736,"traceId":"4cdc59e33e1a6074"},{"name":"telemetry-flush","duration":15358,"timestamp":182476266475,"id":118,"parentId":1,"tags":{},"startTime":1778990448513,"traceId":"4cdc59e33e1a6074"},{"name":"next-build","duration":20081454,"timestamp":182456200422,"id":1,"tags":{"buildMode":"default","version":"16.2.3","bundler":"turbopack","has-custom-webpack-config":"false","use-build-worker":"true"},"startTime":1778990428447,"traceId":"4cdc59e33e1a6074"}]
@@ -9319,6 +9319,18 @@ export function TopoGraph({ sessions, sseSessions, renameSignal }: TopoGraphProp
9319
9319
  {' · '}
9320
9320
  <tspan opacity="0.7" data-recent-row-content-tspan>{truncate(link.content, 8)}</tspan>
9321
9321
  </text>
9322
+ {/* Round 484 / Loop — recent-row timestamp opacity
9323
+ lifts to 1.0 when isRowHovered || isRowPinned,
9324
+ regardless of freshness alpha. R191 origin
9325
+ decays tsAlpha along with the row's freshness;
9326
+ pre-R484 hovering/pinning the row left the
9327
+ timestamp dim — user inspecting stale data
9328
+ fought the freshness encoding. R484 lifts to
9329
+ 1.0 on attention. Sibling to R472/R474 in the
9330
+ recent-row state-flip family. data-recent-row-
9331
+ ts-lifted attr exposes the gate; original
9332
+ data-recent-row-ts-alpha preserved as R191
9333
+ freshness reading. */}
9322
9334
  {lastAt ? (
9323
9335
  /* Round 321 / Loop: lastAt freshness timestamp picks
9324
9336
  up fontVariantNumeric tabular-nums. The string
@@ -9342,9 +9354,10 @@ export function TopoGraph({ sessions, sseSessions, renameSignal }: TopoGraphProp
9342
9354
  fill={pal.legendText}
9343
9355
  fontSize="8"
9344
9356
  fontFamily="monospace"
9345
- opacity={tsAlpha}
9357
+ opacity={(isRowHovered || isRowPinned) ? 1 : tsAlpha}
9346
9358
  data-recent-row-ts={link.key}
9347
9359
  data-recent-row-ts-alpha={tsAlpha.toFixed(2)}
9360
+ data-recent-row-ts-lifted={(isRowHovered || isRowPinned) ? 'true' : 'false'}
9348
9361
  style={{
9349
9362
  pointerEvents: 'none',
9350
9363
  transition: 'opacity 200ms ease-out',
@@ -9619,9 +9632,30 @@ export function TopoGraph({ sessions, sseSessions, renameSignal }: TopoGraphProp
9619
9632
  surrounding chrome eased; R266 closes both at once. */}
9620
9633
  {/* R301: sibling to recent-signal panel title above —
9621
9634
  same letterSpacing 0.3 for editorial parity. */}
9635
+ {/* Round 483 / Loop — sibling to R482 (recent-signal panel
9636
+ title): legend panel title fontWeight 700 → 800 on
9637
+ pinnedStatus (any legend row pinned propagates to the
9638
+ panel title). Pre-R483 the title responded only to
9639
+ panel-chrome hover via R345 ls; the pinnedStatus row
9640
+ highlighted its own swatch + tint via R181/R477 but
9641
+ the title stayed flat — no upstream tightening to
9642
+ signal "panel context = inspecting".
9643
+ R483 closes the symmetry with R482: both panel titles
9644
+ (recent-signal + legend) now tighten typographically
9645
+ when ANY row inside them is in the active filter
9646
+ state. Same idiom, mirrored at the legend-row scope.
9647
+ data tightens family — now 10 anchors:
9648
+ R416/R424/R425/R426 chip/panel/hub/edge digits
9649
+ R444/R445/R446 group/recent/legend counts
9650
+ R457 group-label parent
9651
+ R482 recent-panel title
9652
+ R483 legend-panel title (this round)
9653
+ transition list extends to include 'font-weight 200ms
9654
+ ease-out' alongside R345's ls + R55's fill 200ms.
9655
+ data-legend-panel-title-fw + -active exposed for tests. */}
9622
9656
  {/* R345 sibling — legend panel title same hover letter-
9623
9657
  spacing tween 0.3 → 0.4 on panel hover. */}
9624
- <text x="13" y="21" fill={pal.legendHeadline} fontSize="12" fontFamily="monospace" fontWeight="700" letterSpacing={hoveredPanel === 'legend' ? '0.4' : '0.3'} style={{ transition: 'fill 200ms ease-out, letter-spacing 200ms ease-out' }} data-legend-panel-title>legend</text>
9658
+ <text x="13" y="21" fill={pal.legendHeadline} fontSize="12" fontFamily="monospace" fontWeight={pinnedStatus ? '800' : '700'} letterSpacing={hoveredPanel === 'legend' ? '0.4' : '0.3'} style={{ transition: 'fill 200ms ease-out, letter-spacing 200ms ease-out, font-weight 200ms ease-out' }} data-legend-panel-title data-legend-panel-title-fw={pinnedStatus ? '800' : '700'} data-legend-panel-title-active={pinnedStatus ? 'true' : 'false'}>legend</text>
9625
9659
  {/* Round 257 / Loop: legend panel header count picks up the
9626
9660
  symmetric 13L/13R inner-padding pattern from the recent-
9627
9661
  signal panel. Pre-R257 the legend header was 13px from
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sleep2agi/agent-network-dashboard",
3
- "version": "0.5.2-preview.13",
3
+ "version": "0.5.2-preview.15",
4
4
  "description": "Agent Network Dashboard — Web UI for managing AI Agent networks",
5
5
  "scripts": {
6
6
  "dev": "next dev",
@@ -0,0 +1,95 @@
1
+ /* Round 483 verification: legend panel title "legend" gains
2
+ * fontWeight 700 → 800 on pinnedStatus. Mirrors R482's idiom at
3
+ * the legend panel scope. Together R482 + R483 close the panel-
4
+ * title symmetry on the "data tightens under attention" pattern.
5
+ *
6
+ * Contract:
7
+ * - rest (no pinned status): fw='700' + active='false'
8
+ * - click a legend-row hitbox to pin status filter: fw flips
9
+ * to '800' + active='true'
10
+ * - click again + mouse-move-off to release: back to fw='700'
11
+ * - source-file conditional wired
12
+ */
13
+ import { chromium } from 'playwright';
14
+ import { readFileSync } from 'node:fs';
15
+
16
+ const TOKEN = JSON.parse(readFileSync('/home/vansin/.anet/config.json', 'utf8')).token;
17
+ const fresh = new Date(Date.now() - 60 * 1000).toISOString();
18
+
19
+ const browser = await chromium.launch({ headless: true });
20
+ const ctx = await browser.newContext({ viewport: { width: 1500, height: 1200 } });
21
+ await ctx.addCookies([{ name: 'anet_dashboard_session', value: `v3:${TOKEN}`, domain: '127.0.0.1', path: '/' }]);
22
+ await ctx.addInitScript(() => {
23
+ try {
24
+ localStorage.setItem('anet-theme', 'cyber');
25
+ localStorage.setItem('anet-topo-layout', 'ring');
26
+ sessionStorage.setItem('anet_v3_auth', '1');
27
+ } catch {}
28
+ });
29
+ await ctx.route('**/api/hub/status*', async (route) => {
30
+ const r = await route.fetch();
31
+ const b = await r.json();
32
+ const nid = (b.sessions || [])[0]?.network_id || 'default';
33
+ const mk = (alias, status) => ({
34
+ alias, status, model: 'claude-opus-4', runtime: 'claude-code-cli',
35
+ network_id: nid, project_dir: null,
36
+ created_at: fresh, updated_at: fresh, last_seen_at: fresh,
37
+ });
38
+ await route.fulfill({ response: r, json: { ...b, sessions: [
39
+ mk('a·1', 'working'), mk('a·2', 'idle'), mk('a·3', 'offline'),
40
+ ] } });
41
+ });
42
+ await ctx.route('**/api/hub/messages*', (r) => r.fulfill({ json: { messages: [] } }));
43
+ await ctx.route('**/api/hub/tasks*', (r) => r.fulfill({ json: { tasks: [] } }));
44
+
45
+ const page = await ctx.newPage();
46
+ await page.goto('http://127.0.0.1:3000/', { waitUntil: 'networkidle' });
47
+ await page.waitForSelector('[data-legend-panel-title]', { timeout: 15000 });
48
+ await page.waitForTimeout(500);
49
+
50
+ const readTitle = () => page.evaluate(() => {
51
+ const t = document.querySelector('[data-legend-panel-title]');
52
+ if (!t) return null;
53
+ return {
54
+ fw: t.getAttribute('data-legend-panel-title-fw'),
55
+ active: t.getAttribute('data-legend-panel-title-active'),
56
+ liveFW: t.getAttribute('font-weight'),
57
+ };
58
+ });
59
+
60
+ const rest = await readTitle();
61
+ // Click a legend-row tinted hitbox to set pinnedStatus
62
+ await page.click('[data-legend-row-tinted]');
63
+ await page.waitForTimeout(400);
64
+ const pinned = await readTitle();
65
+ // Click again + move pointer away (per R482 gotcha note)
66
+ await page.click('[data-legend-row-tinted]');
67
+ await page.mouse.move(50, 50);
68
+ await page.waitForTimeout(400);
69
+ const restAgain = await readTitle();
70
+
71
+ const src = readFileSync('/home/vansin/agent-network-dashboard/app/components/TopoGraph.tsx', 'utf8');
72
+ const sourceFwConditional = /fontWeight=\{pinnedStatus \? '800' : '700'\}/.test(src);
73
+ const sourceFwTween = /font-weight 200ms ease-out/.test(src);
74
+ const sourceDataAttr = /data-legend-panel-title-fw=\{pinnedStatus \?/.test(src);
75
+
76
+ await browser.close();
77
+
78
+ const restIs700 = rest?.fw === '700' && rest?.active === 'false' && rest?.liveFW === '700';
79
+ const pinIs800 = pinned?.fw === '800' && pinned?.active === 'true' && pinned?.liveFW === '800';
80
+ const restAgainIs700 = restAgain?.fw === '700' && restAgain?.active === 'false' && restAgain?.liveFW === '700';
81
+
82
+ const results = {
83
+ rest_is_700_inactive: restIs700,
84
+ pin_flips_to_800_active: pinIs800,
85
+ unpin_back_to_700: restAgainIs700,
86
+ source_fw_conditional: sourceFwConditional,
87
+ source_fw_tween: sourceFwTween,
88
+ source_data_attr: sourceDataAttr,
89
+ };
90
+ const ok = Object.values(results).every(Boolean);
91
+ console.log(`${ok ? '✅' : '❌'} legend-panel title fw 700→800:`, JSON.stringify(results),
92
+ '\n rest:', JSON.stringify(rest),
93
+ '\n pinned:', JSON.stringify(pinned),
94
+ '\n rest again:', JSON.stringify(restAgain));
95
+ process.exit(ok ? 0 : 1);
@@ -0,0 +1,97 @@
1
+ /* Round 484 verification: recent-row timestamp opacity lifts to
2
+ * 1.0 when isRowHovered || isRowPinned, overriding the R191
3
+ * freshness-decay tsAlpha. Inspection state shows full freshness
4
+ * regardless of decay.
5
+ *
6
+ * Contract:
7
+ * - stale row (5min ago): tsAlpha ≈ 0.30, ts-lifted='false',
8
+ * live opacity matches tsAlpha
9
+ * - click stale row to pin: ts-lifted='true', live opacity='1'
10
+ * - source-file conditional wired
11
+ */
12
+ import { chromium } from 'playwright';
13
+ import { readFileSync } from 'node:fs';
14
+
15
+ const TOKEN = JSON.parse(readFileSync('/home/vansin/.anet/config.json', 'utf8')).token;
16
+ const sessionFresh = new Date(Date.now() - 60 * 1000).toISOString();
17
+ const fiveMinAgo = new Date(Date.now() - 5 * 60 * 1000).toISOString();
18
+
19
+ const browser = await chromium.launch({ headless: true });
20
+ const ctx = await browser.newContext({ viewport: { width: 1500, height: 1200 } });
21
+ await ctx.addCookies([{ name: 'anet_dashboard_session', value: `v3:${TOKEN}`, domain: '127.0.0.1', path: '/' }]);
22
+ await ctx.addInitScript(() => {
23
+ try {
24
+ localStorage.setItem('anet-theme', 'cyber');
25
+ localStorage.setItem('anet-topo-layout', 'ring');
26
+ sessionStorage.setItem('anet_v3_auth', '1');
27
+ } catch {}
28
+ });
29
+ await ctx.route('**/api/hub/status*', async (route) => {
30
+ const r = await route.fetch();
31
+ const b = await r.json();
32
+ const nid = (b.sessions || [])[0]?.network_id || 'default';
33
+ const mk = (alias, status) => ({
34
+ alias, status, model: 'claude-opus-4', runtime: 'claude-code-cli',
35
+ network_id: nid, project_dir: null,
36
+ created_at: sessionFresh, updated_at: sessionFresh, last_seen_at: sessionFresh,
37
+ });
38
+ await route.fulfill({ response: r, json: { ...b, sessions: [
39
+ mk('a·1', 'working'), mk('a·2', 'idle'),
40
+ ] } });
41
+ });
42
+ // One stale message — its freshness alpha decays to ~0.30 at 5min
43
+ await ctx.route('**/api/hub/messages*', (route) => route.fulfill({ json: {
44
+ messages: [
45
+ { id: 'm1', from_alias: 'a·1', to_alias: 'a·2', content: 'old', created_at: fiveMinAgo },
46
+ ],
47
+ } }));
48
+ await ctx.route('**/api/hub/tasks*', (r) => r.fulfill({ json: { tasks: [] } }));
49
+
50
+ const page = await ctx.newPage();
51
+ await page.goto('http://127.0.0.1:3000/', { waitUntil: 'networkidle' });
52
+ await page.waitForSelector('[data-recent-row-ts]', { timeout: 15000 });
53
+ await page.waitForTimeout(500);
54
+
55
+ const readTs = () => page.evaluate(() => {
56
+ const t = document.querySelector('[data-recent-row-ts]');
57
+ if (!t) return null;
58
+ return {
59
+ alpha: parseFloat(t.getAttribute('data-recent-row-ts-alpha') || '0'),
60
+ lifted: t.getAttribute('data-recent-row-ts-lifted'),
61
+ opacity: t.getAttribute('opacity'),
62
+ };
63
+ });
64
+
65
+ const rest = await readTs();
66
+ // Click recent-row to pin
67
+ await page.click('[data-recent-row]');
68
+ await page.waitForTimeout(400);
69
+ const pinned = await readTs();
70
+
71
+ const src = readFileSync('/home/vansin/agent-network-dashboard/app/components/TopoGraph.tsx', 'utf8');
72
+ const sourceLiftConditional = /opacity=\{\(isRowHovered \|\| isRowPinned\) \? 1 : tsAlpha\}/.test(src);
73
+ const sourceLiftedAttr = /data-recent-row-ts-lifted=/.test(src);
74
+
75
+ await browser.close();
76
+
77
+ // Rest: alpha < 0.7 (stale) + lifted='false' + opacity matches alpha
78
+ const restValid = rest?.lifted === 'false' && rest?.alpha < 0.7 &&
79
+ Math.abs(parseFloat(rest?.opacity || '0') - rest?.alpha) < 0.01;
80
+ // Pinned: lifted='true' + opacity=1 (overrides stale alpha)
81
+ const pinValid = pinned?.lifted === 'true' && pinned?.opacity === '1';
82
+
83
+ const results = {
84
+ ts_present: !!rest,
85
+ rest_lifted_false: rest?.lifted === 'false',
86
+ rest_alpha_stale: rest?.alpha < 0.7,
87
+ rest_opacity_matches_alpha: restValid,
88
+ pin_lifted_true: pinned?.lifted === 'true',
89
+ pin_opacity_is_1: pinned?.opacity === '1',
90
+ source_lift_conditional: sourceLiftConditional,
91
+ source_lifted_attr: sourceLiftedAttr,
92
+ };
93
+ const ok = Object.values(results).every(Boolean);
94
+ console.log(`${ok ? '✅' : '❌'} recent-row ts opacity lift on active:`, JSON.stringify(results),
95
+ '\n rest:', JSON.stringify(rest),
96
+ '\n pinned:', JSON.stringify(pinned));
97
+ process.exit(ok ? 0 : 1);