@sleep2agi/agent-network-dashboard 0.5.3-preview.194 → 0.5.3-preview.196

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 (144) 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 +2 -2
  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/{12wm2wque~67~.js → 02p.0x3ayy60d.js} +1 -1
  132. package/.next/static/chunks/03oul6io3.6au.js +4 -0
  133. package/.next/static/chunks/{16-l52xcv4v9o.js → 0ho61ngs-c5x0.js} +1 -1
  134. package/.next/static/chunks/{0rsb0x64_p5r0.js → 0zz-xrdh5qgdl.js} +1 -1
  135. package/.next/trace +2 -2
  136. package/.next/trace-build +1 -1
  137. package/app/components/TopoGraph.tsx +63 -3
  138. package/package.json +1 -1
  139. package/scripts/topo-group-box-halo-layers-test.mjs +91 -0
  140. package/scripts/topo-hub-core-halo-layers-test.mjs +81 -0
  141. package/.next/static/chunks/0-i8xo6j5y08-.js +0 -4
  142. /package/.next/static/{iZ0kGf9IS44KfhVnipD-W → IrvNkH1SDtH1tjF9m3acI}/_buildManifest.js +0 -0
  143. /package/.next/static/{iZ0kGf9IS44KfhVnipD-W → IrvNkH1SDtH1tjF9m3acI}/_clientMiddlewareManifest.js +0 -0
  144. /package/.next/static/{iZ0kGf9IS44KfhVnipD-W → IrvNkH1SDtH1tjF9m3acI}/_ssgManifest.js +0 -0
@@ -1 +1 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,98025,e=>{"use strict";e.s(["SESSION_STATUS_CHIP_CLASS",0,{working:"bg-green-500/10 text-green-300 border-green-500/20",idle:"bg-blue-500/10 text-blue-300 border-blue-500/20",blocked:"bg-yellow-500/10 text-yellow-300 border-yellow-500/20",error:"bg-red-500/10 text-red-300 border-red-500/20",offline:"bg-gray-500/10 text-gray-500 border-gray-500/20"},"SESSION_STATUS_TEXT_CLASS",0,{working:"text-green-400",idle:"text-blue-400",blocked:"text-yellow-400",error:"text-red-400",offline:"text-gray-500"},"STATUS_BAR_CLASS",0,{created:"bg-gray-500",delivered:"bg-blue-500",acked:"bg-cyan-500",running:"bg-green-500",replied:"bg-purple-500",closed:"bg-gray-600",failed:"bg-red-500",cancelled:"bg-yellow-500",expired:"bg-orange-500"},"STATUS_CHIP_CLASS",0,{created:"bg-gray-500/10 text-gray-400 border-gray-500/20",delivered:"bg-blue-500/10 text-blue-300 border-blue-500/20",acked:"bg-cyan-500/10 text-cyan-300 border-cyan-500/20",running:"bg-green-500/10 text-green-300 border-green-500/20",replied:"bg-purple-500/10 text-purple-300 border-purple-500/20",closed:"bg-gray-500/10 text-gray-500 border-gray-500/20",failed:"bg-red-500/10 text-red-300 border-red-500/20",cancelled:"bg-yellow-500/10 text-yellow-300 border-yellow-500/20",expired:"bg-orange-500/10 text-orange-300 border-orange-500/20"},"STATUS_DOT_HEX",0,{created:"#9ca3af",delivered:"#60a5fa",acked:"#22d3ee",running:"#4ade80",replied:"#a78bfa",closed:"#6b7280",failed:"#f87171",cancelled:"#facc15",expired:"#fb923c"},"TASK_STATUSES",0,["created","delivered","acked","running","replied","closed","failed","cancelled","expired"]])},3479,59746,e=>{"use strict";function t(e){if(!e)return null;let t=Date.parse(e.includes("T")?e:e.replace(" ","T")+"Z");return Number.isFinite(t)?t:null}function r(e){let r=t(e);if(null===r)return null;let s=Math.floor((Date.now()-r)/1e3);return s<0?"just now":s<60?`${s}s ago`:s<3600?`${Math.floor(s/60)}m ago`:s<86400?`${Math.floor(s/3600)}h ago`:`${Math.floor(s/86400)}d ago`}e.s(["parseHubTime",0,t,"relativeAgo",0,r],59746),e.s(["formatUptime",0,function(e){let t=Math.floor(e/3600),r=Math.floor(e%3600/60);return t>0?`${t}h ${r}m`:`${r}m`},"previewContent",0,function(e){return e&&e.replace(/!\[([^\]]*)\]\([^)]*\)/g,"$1").replace(/\[([^\]]+)\]\([^)]*\)/g,"$1").replace(/`([^`]+)`/g,"$1").replace(/\s+/g," ").trim()||"--"},"timeAgo",0,function(e){return r(e)??"--"}],3479)},46228,e=>{"use strict";var t=e.i(22381);let r=[180,200,220,270,300,330,30,90];function s(e){let t=0;for(let r=0;r<e.length;r++)t=31*t+e.charCodeAt(r)>>>0;let s=r[t%r.length];return{bg:`hsl(${s} 55% 22%)`,ring:`hsl(${s} 60% 45%)`,text:`hsl(${s} 80% 78%)`}}function n(e){return e?(e.trim().match(/[\p{L}\p{N}]/u)?.[0]||e.trim()[0]||"·").toUpperCase():"·"}e.s(["AliasAvatar",0,function({alias:e,size:r=28,className:i=""}){let a=s(e),l=Math.max(9,Math.round(.42*r));return(0,t.jsx)("span",{className:`anet-alias-avatar inline-flex items-center justify-center rounded-full border shrink-0 font-semibold ${i}`,style:{width:r,height:r,fontSize:l,backgroundColor:a.bg,borderColor:a.ring,color:a.text},title:e,"aria-hidden":!0,children:n(e)})},"aliasAvatarColors",0,s,"aliasInitial",0,n])},76161,e=>{"use strict";var t=e.i(22381),r=e.i(23910),s=e.i(56839);let n={nodes:{title:"No agents in this network",sub:"Agent sessions will appear here once they connect to the CommHub."},tasks:{title:"No tasks yet",sub:"Tasks will appear here when agents send them via CommHub."},messages:{title:"No messages",sub:"Messages between agents will appear here."},logs:{title:"No audit logs",sub:"Events will appear here when users register, login, or perform actions."},tokens:{title:"No API tokens",sub:"Create one to authenticate CLI tools and external integrations."},networks:{title:"No networks found",sub:"Create one or sign in with V3 auth to see your networks."},generic:{title:"Nothing here yet",sub:"Data will appear here once available."}};function i({variant:e,size:r}){let s={width:r,height:r},n={fill:"none",stroke:"currentColor",strokeWidth:1.25,strokeLinecap:"round",strokeLinejoin:"round"};switch(e){case"nodes":return(0,t.jsx)("svg",{viewBox:"0 0 64 64",...s,children:(0,t.jsxs)("g",{...n,children:[(0,t.jsx)("circle",{cx:"32",cy:"14",r:"4"}),(0,t.jsx)("circle",{cx:"14",cy:"44",r:"4"}),(0,t.jsx)("circle",{cx:"50",cy:"44",r:"4"}),(0,t.jsx)("line",{x1:"32",y1:"18",x2:"14",y2:"40",strokeDasharray:"3 3",opacity:"0.6"}),(0,t.jsx)("line",{x1:"32",y1:"18",x2:"50",y2:"40",strokeDasharray:"3 3",opacity:"0.6"}),(0,t.jsx)("line",{x1:"18",y1:"44",x2:"46",y2:"44",strokeDasharray:"3 3",opacity:"0.6"})]})});case"tasks":return(0,t.jsx)("svg",{viewBox:"0 0 64 64",...s,children:(0,t.jsxs)("g",{...n,children:[(0,t.jsx)("rect",{x:"14",y:"14",width:"36",height:"6",rx:"1.5"}),(0,t.jsx)("rect",{x:"14",y:"26",width:"36",height:"6",rx:"1.5",opacity:"0.6"}),(0,t.jsx)("rect",{x:"14",y:"38",width:"36",height:"6",rx:"1.5",opacity:"0.35"})]})});case"messages":return(0,t.jsx)("svg",{viewBox:"0 0 64 64",...s,children:(0,t.jsxs)("g",{...n,children:[(0,t.jsx)("path",{d:"M14 18 h36 a3 3 0 0 1 3 3 v18 a3 3 0 0 1 -3 3 h-18 l-8 6 v-6 h-10 a3 3 0 0 1 -3 -3 v-18 a3 3 0 0 1 3 -3 z"}),(0,t.jsx)("line",{x1:"22",y1:"28",x2:"42",y2:"28",opacity:"0.5"}),(0,t.jsx)("line",{x1:"22",y1:"34",x2:"36",y2:"34",opacity:"0.5"})]})});case"logs":return(0,t.jsx)("svg",{viewBox:"0 0 64 64",...s,children:(0,t.jsxs)("g",{...n,children:[(0,t.jsx)("path",{d:"M18 12 h22 l8 8 v32 a2 2 0 0 1 -2 2 h-28 a2 2 0 0 1 -2 -2 v-38 a2 2 0 0 1 2 -2 z"}),(0,t.jsx)("path",{d:"M40 12 v8 h8",opacity:"0.6"}),(0,t.jsx)("line",{x1:"24",y1:"32",x2:"40",y2:"32",opacity:"0.55"}),(0,t.jsx)("line",{x1:"24",y1:"38",x2:"40",y2:"38",opacity:"0.4"}),(0,t.jsx)("line",{x1:"24",y1:"44",x2:"34",y2:"44",opacity:"0.25"})]})});case"tokens":return(0,t.jsx)("svg",{viewBox:"0 0 64 64",...s,children:(0,t.jsxs)("g",{...n,children:[(0,t.jsx)("circle",{cx:"22",cy:"32",r:"8"}),(0,t.jsx)("line",{x1:"30",y1:"32",x2:"54",y2:"32"}),(0,t.jsx)("line",{x1:"44",y1:"32",x2:"44",y2:"38"}),(0,t.jsx)("line",{x1:"50",y1:"32",x2:"50",y2:"40"})]})});case"networks":return(0,t.jsx)("svg",{viewBox:"0 0 64 64",...s,children:(0,t.jsxs)("g",{...n,children:[(0,t.jsx)("circle",{cx:"32",cy:"32",r:"18"}),(0,t.jsx)("ellipse",{cx:"32",cy:"32",rx:"18",ry:"9",opacity:"0.55"}),(0,t.jsx)("line",{x1:"14",y1:"32",x2:"50",y2:"32",opacity:"0.55"}),(0,t.jsx)("line",{x1:"32",y1:"14",x2:"32",y2:"50",opacity:"0.55"})]})});default:return(0,t.jsx)("svg",{viewBox:"0 0 64 64",...s,children:(0,t.jsxs)("g",{...n,children:[(0,t.jsx)("circle",{cx:"32",cy:"32",r:"14",strokeDasharray:"3 3",opacity:"0.6"}),(0,t.jsx)("circle",{cx:"32",cy:"32",r:"3"})]})})}}function a({variant:e="generic",title:r,sub:l,cta:o,compact:c=!1}){let d=n[e],x=r??d.title,h=l??d.sub;return(0,t.jsxs)("div",{className:`text-center ${c?"py-8":"py-16"} px-4`,role:"status",children:[(0,t.jsx)("div",{className:"anet-empty-glyph inline-flex items-center justify-center mb-4 text-gray-500","aria-hidden":!0,children:(0,t.jsx)(i,{variant:e,size:c?40:56})}),(0,t.jsx)("h3",{className:`font-medium text-gray-300 ${c?"text-sm":"text-base"}`,children:x}),h&&(0,t.jsx)("p",{className:`text-gray-500 ${c?"text-xs mt-1.5":"text-sm mt-2"} max-w-md mx-auto leading-relaxed`,children:h}),o&&(0,t.jsx)("div",{className:"mt-4",children:o.href?(0,t.jsxs)(s.default,{href:o.href,className:"inline-flex items-center gap-1.5 text-sm font-medium text-cyan-400 hover:text-cyan-300",children:[o.label,(0,t.jsx)("span",{"aria-hidden":!0,children:"→"})]}):(0,t.jsxs)("button",{onClick:o.onClick,className:"inline-flex items-center gap-1.5 text-sm font-medium text-cyan-400 hover:text-cyan-300",children:[o.label,(0,t.jsx)("span",{"aria-hidden":!0,children:"→"})]})})]})}function l({children:e}){return(0,t.jsx)("div",{className:"max-w-2xl mx-auto rounded-xl border border-[#2a2a4a] bg-[#111128] shadow-lg shadow-black/20",children:e})}function o({cmd:e}){let[s,n]=(0,r.useState)(!1),i=async()=>{try{await navigator.clipboard.writeText(e),n(!0),setTimeout(()=>n(!1),1800)}catch{}};return(0,t.jsxs)("div",{className:"anet-empty-cmd flex items-center gap-2 bg-[#0a0a15] border border-[#2a2a4a] rounded-lg pl-4 pr-1.5 py-1.5 text-xs sm:text-sm",children:[(0,t.jsx)("code",{className:"text-cyan-300 font-mono select-all",children:e}),(0,t.jsx)("button",{type:"button",onClick:i,"aria-label":s?"Copied":"Copy command",className:"shrink-0 rounded-md px-2 py-1.5 text-[11px] text-gray-500 hover:text-gray-200 hover:bg-[#1a1a2a] transition-colors",children:s?(0,t.jsxs)("span",{className:"flex items-center gap-1 text-green-400",children:[(0,t.jsx)("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:(0,t.jsx)("path",{d:"M20 6 9 17l-5-5"})}),"Copied"]}):(0,t.jsxs)("span",{className:"flex items-center gap-1",children:[(0,t.jsxs)("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,t.jsx)("rect",{x:"9",y:"9",width:"13",height:"13",rx:"2",ry:"2"}),(0,t.jsx)("path",{d:"M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"})]}),"Copy"]})})]})}e.s(["EmptyState",0,a,"NodesEmptyState",0,function({hint:e,taskHistoryCount:r=0}){return e?.global_count?(0,t.jsx)(l,{children:(0,t.jsx)(a,{variant:"nodes",title:"No agents in this network",sub:`Server has ${e.global_count} nodes globally, but none are registered to the current network. Switch network or contact admin.`})}):r>0?(0,t.jsx)(l,{children:(0,t.jsx)(a,{variant:"nodes",title:"No agents online",sub:`Every agent in this network is currently offline. ${r.toLocaleString()} task${1===r?"":"s"} in history — they may have finished their work or disconnected.`,cta:{label:"View task history",href:"/tasks"}})}):(0,t.jsx)(l,{children:(0,t.jsxs)("div",{className:"text-center py-16 px-4",role:"status",children:[(0,t.jsx)("div",{className:"anet-empty-glyph inline-flex items-center justify-center mb-4 text-gray-500","aria-hidden":!0,children:(0,t.jsx)("svg",{viewBox:"0 0 64 64",width:56,height:56,children:(0,t.jsxs)("g",{stroke:"currentColor",strokeWidth:"1.5",fill:"none",children:[(0,t.jsx)("rect",{x:"10",y:"20",width:"44",height:"28",rx:"2"}),(0,t.jsx)("rect",{x:"20",y:"32",width:"6",height:"8",opacity:"0.5"}),(0,t.jsx)("rect",{x:"32",y:"32",width:"6",height:"8",opacity:"0.5"}),(0,t.jsx)("rect",{x:"44",y:"32",width:"4",height:"8",opacity:"0.5"}),(0,t.jsx)("line",{x1:"10",y1:"26",x2:"54",y2:"26",opacity:"0.4"}),(0,t.jsx)("circle",{cx:"14",cy:"23",r:"0.8",fill:"currentColor"})]})})}),(0,t.jsx)("h3",{className:"font-medium text-gray-300 text-base",children:"Spin up your first agent"}),(0,t.jsx)("p",{className:"text-gray-500 text-sm mt-2 max-w-md mx-auto leading-relaxed",children:"Run this in a fresh terminal to register an agent with this CommHub:"}),(0,t.jsx)("div",{className:"mt-4 inline-block",children:(0,t.jsx)(o,{cmd:"npx --yes @sleep2agi/agent-network init"})}),(0,t.jsx)("div",{className:"mt-3",children:(0,t.jsxs)("a",{href:"https://anet.sh",target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center gap-1.5 text-xs font-medium text-gray-500 hover:text-cyan-300",children:["Full quickstart guide",(0,t.jsx)("span",{"aria-hidden":!0,children:"→"})]})})]})})}])},59276,e=>{"use strict";var t=e.i(12629),r=e.i(11449);let s=async e=>{let t=await fetch(e);if(401===t.status)throw window.location.assign("/login"),Error("unauthorized");return t.json()},n={refreshInterval:5e3,dedupingInterval:3e3};function i(e,t){if(!t)return e;let r=e.includes("?")?"&":"?";return`${e}${r}network_id=${encodeURIComponent(t)}`}e.s(["useAnetConfig",0,function(){let{data:e}=(0,t.default)("/api/anet/config",s,{refreshInterval:3e4});return{config:e||null}},"useHealth",0,function(){let{data:e,error:r}=(0,t.default)("/api/hub/health",s,n);return{health:e||null,error:r}},"useLicense",0,function(){let{data:e,error:r}=(0,t.default)("/api/hub/license",s,{refreshInterval:6e4});return{license:e?.ok?e:null,error:r}},"useMessages",0,function(e=100){let{networkId:a}=(0,r.useNetworkId)(),{data:l,error:o,isLoading:c}=(0,t.default)(i(`/api/hub/messages?limit=${e}`,a),s,n);return{messages:l?.messages||[],error:o,isLoading:c}},"useSessions",0,function(){let{networkId:e}=(0,r.useNetworkId)(),{data:a,error:l,isLoading:o}=(0,t.default)(i("/api/hub/status",e),s,n);return{sessions:a?.sessions||[],hint:a?._hint,error:l,isLoading:o}},"useStats",0,function(){let{networkId:e}=(0,r.useNetworkId)(),{data:a,error:l}=(0,t.default)(i("/api/hub/stats",e),s,n);return{stats:a?.ok?a:null,error:l}},"useTasks",0,function(e){let{networkId:a}=(0,r.useNetworkId)(),l=new URLSearchParams({limit:"100",...e}).toString(),{data:o,error:c,isLoading:d}=(0,t.default)(i(`/api/hub/tasks?${l}`,a),s,n);return{tasks:o?.tasks||[],count:o?.count??0,source:o?.source,error:c,isLoading:d}}])},70286,e=>{"use strict";e.s(["DASHBOARD_VERSION",0,"0.5.3-preview.194"],70286)}]);
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,98025,e=>{"use strict";e.s(["SESSION_STATUS_CHIP_CLASS",0,{working:"bg-green-500/10 text-green-300 border-green-500/20",idle:"bg-blue-500/10 text-blue-300 border-blue-500/20",blocked:"bg-yellow-500/10 text-yellow-300 border-yellow-500/20",error:"bg-red-500/10 text-red-300 border-red-500/20",offline:"bg-gray-500/10 text-gray-500 border-gray-500/20"},"SESSION_STATUS_TEXT_CLASS",0,{working:"text-green-400",idle:"text-blue-400",blocked:"text-yellow-400",error:"text-red-400",offline:"text-gray-500"},"STATUS_BAR_CLASS",0,{created:"bg-gray-500",delivered:"bg-blue-500",acked:"bg-cyan-500",running:"bg-green-500",replied:"bg-purple-500",closed:"bg-gray-600",failed:"bg-red-500",cancelled:"bg-yellow-500",expired:"bg-orange-500"},"STATUS_CHIP_CLASS",0,{created:"bg-gray-500/10 text-gray-400 border-gray-500/20",delivered:"bg-blue-500/10 text-blue-300 border-blue-500/20",acked:"bg-cyan-500/10 text-cyan-300 border-cyan-500/20",running:"bg-green-500/10 text-green-300 border-green-500/20",replied:"bg-purple-500/10 text-purple-300 border-purple-500/20",closed:"bg-gray-500/10 text-gray-500 border-gray-500/20",failed:"bg-red-500/10 text-red-300 border-red-500/20",cancelled:"bg-yellow-500/10 text-yellow-300 border-yellow-500/20",expired:"bg-orange-500/10 text-orange-300 border-orange-500/20"},"STATUS_DOT_HEX",0,{created:"#9ca3af",delivered:"#60a5fa",acked:"#22d3ee",running:"#4ade80",replied:"#a78bfa",closed:"#6b7280",failed:"#f87171",cancelled:"#facc15",expired:"#fb923c"},"TASK_STATUSES",0,["created","delivered","acked","running","replied","closed","failed","cancelled","expired"]])},3479,59746,e=>{"use strict";function t(e){if(!e)return null;let t=Date.parse(e.includes("T")?e:e.replace(" ","T")+"Z");return Number.isFinite(t)?t:null}function r(e){let r=t(e);if(null===r)return null;let s=Math.floor((Date.now()-r)/1e3);return s<0?"just now":s<60?`${s}s ago`:s<3600?`${Math.floor(s/60)}m ago`:s<86400?`${Math.floor(s/3600)}h ago`:`${Math.floor(s/86400)}d ago`}e.s(["parseHubTime",0,t,"relativeAgo",0,r],59746),e.s(["formatUptime",0,function(e){let t=Math.floor(e/3600),r=Math.floor(e%3600/60);return t>0?`${t}h ${r}m`:`${r}m`},"previewContent",0,function(e){return e&&e.replace(/!\[([^\]]*)\]\([^)]*\)/g,"$1").replace(/\[([^\]]+)\]\([^)]*\)/g,"$1").replace(/`([^`]+)`/g,"$1").replace(/\s+/g," ").trim()||"--"},"timeAgo",0,function(e){return r(e)??"--"}],3479)},46228,e=>{"use strict";var t=e.i(22381);let r=[180,200,220,270,300,330,30,90];function s(e){let t=0;for(let r=0;r<e.length;r++)t=31*t+e.charCodeAt(r)>>>0;let s=r[t%r.length];return{bg:`hsl(${s} 55% 22%)`,ring:`hsl(${s} 60% 45%)`,text:`hsl(${s} 80% 78%)`}}function n(e){return e?(e.trim().match(/[\p{L}\p{N}]/u)?.[0]||e.trim()[0]||"·").toUpperCase():"·"}e.s(["AliasAvatar",0,function({alias:e,size:r=28,className:i=""}){let a=s(e),l=Math.max(9,Math.round(.42*r));return(0,t.jsx)("span",{className:`anet-alias-avatar inline-flex items-center justify-center rounded-full border shrink-0 font-semibold ${i}`,style:{width:r,height:r,fontSize:l,backgroundColor:a.bg,borderColor:a.ring,color:a.text},title:e,"aria-hidden":!0,children:n(e)})},"aliasAvatarColors",0,s,"aliasInitial",0,n])},76161,e=>{"use strict";var t=e.i(22381),r=e.i(23910),s=e.i(56839);let n={nodes:{title:"No agents in this network",sub:"Agent sessions will appear here once they connect to the CommHub."},tasks:{title:"No tasks yet",sub:"Tasks will appear here when agents send them via CommHub."},messages:{title:"No messages",sub:"Messages between agents will appear here."},logs:{title:"No audit logs",sub:"Events will appear here when users register, login, or perform actions."},tokens:{title:"No API tokens",sub:"Create one to authenticate CLI tools and external integrations."},networks:{title:"No networks found",sub:"Create one or sign in with V3 auth to see your networks."},generic:{title:"Nothing here yet",sub:"Data will appear here once available."}};function i({variant:e,size:r}){let s={width:r,height:r},n={fill:"none",stroke:"currentColor",strokeWidth:1.25,strokeLinecap:"round",strokeLinejoin:"round"};switch(e){case"nodes":return(0,t.jsx)("svg",{viewBox:"0 0 64 64",...s,children:(0,t.jsxs)("g",{...n,children:[(0,t.jsx)("circle",{cx:"32",cy:"14",r:"4"}),(0,t.jsx)("circle",{cx:"14",cy:"44",r:"4"}),(0,t.jsx)("circle",{cx:"50",cy:"44",r:"4"}),(0,t.jsx)("line",{x1:"32",y1:"18",x2:"14",y2:"40",strokeDasharray:"3 3",opacity:"0.6"}),(0,t.jsx)("line",{x1:"32",y1:"18",x2:"50",y2:"40",strokeDasharray:"3 3",opacity:"0.6"}),(0,t.jsx)("line",{x1:"18",y1:"44",x2:"46",y2:"44",strokeDasharray:"3 3",opacity:"0.6"})]})});case"tasks":return(0,t.jsx)("svg",{viewBox:"0 0 64 64",...s,children:(0,t.jsxs)("g",{...n,children:[(0,t.jsx)("rect",{x:"14",y:"14",width:"36",height:"6",rx:"1.5"}),(0,t.jsx)("rect",{x:"14",y:"26",width:"36",height:"6",rx:"1.5",opacity:"0.6"}),(0,t.jsx)("rect",{x:"14",y:"38",width:"36",height:"6",rx:"1.5",opacity:"0.35"})]})});case"messages":return(0,t.jsx)("svg",{viewBox:"0 0 64 64",...s,children:(0,t.jsxs)("g",{...n,children:[(0,t.jsx)("path",{d:"M14 18 h36 a3 3 0 0 1 3 3 v18 a3 3 0 0 1 -3 3 h-18 l-8 6 v-6 h-10 a3 3 0 0 1 -3 -3 v-18 a3 3 0 0 1 3 -3 z"}),(0,t.jsx)("line",{x1:"22",y1:"28",x2:"42",y2:"28",opacity:"0.5"}),(0,t.jsx)("line",{x1:"22",y1:"34",x2:"36",y2:"34",opacity:"0.5"})]})});case"logs":return(0,t.jsx)("svg",{viewBox:"0 0 64 64",...s,children:(0,t.jsxs)("g",{...n,children:[(0,t.jsx)("path",{d:"M18 12 h22 l8 8 v32 a2 2 0 0 1 -2 2 h-28 a2 2 0 0 1 -2 -2 v-38 a2 2 0 0 1 2 -2 z"}),(0,t.jsx)("path",{d:"M40 12 v8 h8",opacity:"0.6"}),(0,t.jsx)("line",{x1:"24",y1:"32",x2:"40",y2:"32",opacity:"0.55"}),(0,t.jsx)("line",{x1:"24",y1:"38",x2:"40",y2:"38",opacity:"0.4"}),(0,t.jsx)("line",{x1:"24",y1:"44",x2:"34",y2:"44",opacity:"0.25"})]})});case"tokens":return(0,t.jsx)("svg",{viewBox:"0 0 64 64",...s,children:(0,t.jsxs)("g",{...n,children:[(0,t.jsx)("circle",{cx:"22",cy:"32",r:"8"}),(0,t.jsx)("line",{x1:"30",y1:"32",x2:"54",y2:"32"}),(0,t.jsx)("line",{x1:"44",y1:"32",x2:"44",y2:"38"}),(0,t.jsx)("line",{x1:"50",y1:"32",x2:"50",y2:"40"})]})});case"networks":return(0,t.jsx)("svg",{viewBox:"0 0 64 64",...s,children:(0,t.jsxs)("g",{...n,children:[(0,t.jsx)("circle",{cx:"32",cy:"32",r:"18"}),(0,t.jsx)("ellipse",{cx:"32",cy:"32",rx:"18",ry:"9",opacity:"0.55"}),(0,t.jsx)("line",{x1:"14",y1:"32",x2:"50",y2:"32",opacity:"0.55"}),(0,t.jsx)("line",{x1:"32",y1:"14",x2:"32",y2:"50",opacity:"0.55"})]})});default:return(0,t.jsx)("svg",{viewBox:"0 0 64 64",...s,children:(0,t.jsxs)("g",{...n,children:[(0,t.jsx)("circle",{cx:"32",cy:"32",r:"14",strokeDasharray:"3 3",opacity:"0.6"}),(0,t.jsx)("circle",{cx:"32",cy:"32",r:"3"})]})})}}function a({variant:e="generic",title:r,sub:l,cta:o,compact:c=!1}){let d=n[e],x=r??d.title,h=l??d.sub;return(0,t.jsxs)("div",{className:`text-center ${c?"py-8":"py-16"} px-4`,role:"status",children:[(0,t.jsx)("div",{className:"anet-empty-glyph inline-flex items-center justify-center mb-4 text-gray-500","aria-hidden":!0,children:(0,t.jsx)(i,{variant:e,size:c?40:56})}),(0,t.jsx)("h3",{className:`font-medium text-gray-300 ${c?"text-sm":"text-base"}`,children:x}),h&&(0,t.jsx)("p",{className:`text-gray-500 ${c?"text-xs mt-1.5":"text-sm mt-2"} max-w-md mx-auto leading-relaxed`,children:h}),o&&(0,t.jsx)("div",{className:"mt-4",children:o.href?(0,t.jsxs)(s.default,{href:o.href,className:"inline-flex items-center gap-1.5 text-sm font-medium text-cyan-400 hover:text-cyan-300",children:[o.label,(0,t.jsx)("span",{"aria-hidden":!0,children:"→"})]}):(0,t.jsxs)("button",{onClick:o.onClick,className:"inline-flex items-center gap-1.5 text-sm font-medium text-cyan-400 hover:text-cyan-300",children:[o.label,(0,t.jsx)("span",{"aria-hidden":!0,children:"→"})]})})]})}function l({children:e}){return(0,t.jsx)("div",{className:"max-w-2xl mx-auto rounded-xl border border-[#2a2a4a] bg-[#111128] shadow-lg shadow-black/20",children:e})}function o({cmd:e}){let[s,n]=(0,r.useState)(!1),i=async()=>{try{await navigator.clipboard.writeText(e),n(!0),setTimeout(()=>n(!1),1800)}catch{}};return(0,t.jsxs)("div",{className:"anet-empty-cmd flex items-center gap-2 bg-[#0a0a15] border border-[#2a2a4a] rounded-lg pl-4 pr-1.5 py-1.5 text-xs sm:text-sm",children:[(0,t.jsx)("code",{className:"text-cyan-300 font-mono select-all",children:e}),(0,t.jsx)("button",{type:"button",onClick:i,"aria-label":s?"Copied":"Copy command",className:"shrink-0 rounded-md px-2 py-1.5 text-[11px] text-gray-500 hover:text-gray-200 hover:bg-[#1a1a2a] transition-colors",children:s?(0,t.jsxs)("span",{className:"flex items-center gap-1 text-green-400",children:[(0,t.jsx)("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:(0,t.jsx)("path",{d:"M20 6 9 17l-5-5"})}),"Copied"]}):(0,t.jsxs)("span",{className:"flex items-center gap-1",children:[(0,t.jsxs)("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,t.jsx)("rect",{x:"9",y:"9",width:"13",height:"13",rx:"2",ry:"2"}),(0,t.jsx)("path",{d:"M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"})]}),"Copy"]})})]})}e.s(["EmptyState",0,a,"NodesEmptyState",0,function({hint:e,taskHistoryCount:r=0}){return e?.global_count?(0,t.jsx)(l,{children:(0,t.jsx)(a,{variant:"nodes",title:"No agents in this network",sub:`Server has ${e.global_count} nodes globally, but none are registered to the current network. Switch network or contact admin.`})}):r>0?(0,t.jsx)(l,{children:(0,t.jsx)(a,{variant:"nodes",title:"No agents online",sub:`Every agent in this network is currently offline. ${r.toLocaleString()} task${1===r?"":"s"} in history — they may have finished their work or disconnected.`,cta:{label:"View task history",href:"/tasks"}})}):(0,t.jsx)(l,{children:(0,t.jsxs)("div",{className:"text-center py-16 px-4",role:"status",children:[(0,t.jsx)("div",{className:"anet-empty-glyph inline-flex items-center justify-center mb-4 text-gray-500","aria-hidden":!0,children:(0,t.jsx)("svg",{viewBox:"0 0 64 64",width:56,height:56,children:(0,t.jsxs)("g",{stroke:"currentColor",strokeWidth:"1.5",fill:"none",children:[(0,t.jsx)("rect",{x:"10",y:"20",width:"44",height:"28",rx:"2"}),(0,t.jsx)("rect",{x:"20",y:"32",width:"6",height:"8",opacity:"0.5"}),(0,t.jsx)("rect",{x:"32",y:"32",width:"6",height:"8",opacity:"0.5"}),(0,t.jsx)("rect",{x:"44",y:"32",width:"4",height:"8",opacity:"0.5"}),(0,t.jsx)("line",{x1:"10",y1:"26",x2:"54",y2:"26",opacity:"0.4"}),(0,t.jsx)("circle",{cx:"14",cy:"23",r:"0.8",fill:"currentColor"})]})})}),(0,t.jsx)("h3",{className:"font-medium text-gray-300 text-base",children:"Spin up your first agent"}),(0,t.jsx)("p",{className:"text-gray-500 text-sm mt-2 max-w-md mx-auto leading-relaxed",children:"Run this in a fresh terminal to register an agent with this CommHub:"}),(0,t.jsx)("div",{className:"mt-4 inline-block",children:(0,t.jsx)(o,{cmd:"npx --yes @sleep2agi/agent-network init"})}),(0,t.jsx)("div",{className:"mt-3",children:(0,t.jsxs)("a",{href:"https://anet.sh",target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center gap-1.5 text-xs font-medium text-gray-500 hover:text-cyan-300",children:["Full quickstart guide",(0,t.jsx)("span",{"aria-hidden":!0,children:"→"})]})})]})})}])},59276,e=>{"use strict";var t=e.i(12629),r=e.i(11449);let s=async e=>{let t=await fetch(e);if(401===t.status)throw window.location.assign("/login"),Error("unauthorized");return t.json()},n={refreshInterval:5e3,dedupingInterval:3e3};function i(e,t){if(!t)return e;let r=e.includes("?")?"&":"?";return`${e}${r}network_id=${encodeURIComponent(t)}`}e.s(["useAnetConfig",0,function(){let{data:e}=(0,t.default)("/api/anet/config",s,{refreshInterval:3e4});return{config:e||null}},"useHealth",0,function(){let{data:e,error:r}=(0,t.default)("/api/hub/health",s,n);return{health:e||null,error:r}},"useLicense",0,function(){let{data:e,error:r}=(0,t.default)("/api/hub/license",s,{refreshInterval:6e4});return{license:e?.ok?e:null,error:r}},"useMessages",0,function(e=100){let{networkId:a}=(0,r.useNetworkId)(),{data:l,error:o,isLoading:c}=(0,t.default)(i(`/api/hub/messages?limit=${e}`,a),s,n);return{messages:l?.messages||[],error:o,isLoading:c}},"useSessions",0,function(){let{networkId:e}=(0,r.useNetworkId)(),{data:a,error:l,isLoading:o}=(0,t.default)(i("/api/hub/status",e),s,n);return{sessions:a?.sessions||[],hint:a?._hint,error:l,isLoading:o}},"useStats",0,function(){let{networkId:e}=(0,r.useNetworkId)(),{data:a,error:l}=(0,t.default)(i("/api/hub/stats",e),s,n);return{stats:a?.ok?a:null,error:l}},"useTasks",0,function(e){let{networkId:a}=(0,r.useNetworkId)(),l=new URLSearchParams({limit:"100",...e}).toString(),{data:o,error:c,isLoading:d}=(0,t.default)(i(`/api/hub/tasks?${l}`,a),s,n);return{tasks:o?.tasks||[],count:o?.count??0,source:o?.source,error:c,isLoading:d}}])},70286,e=>{"use strict";e.s(["DASHBOARD_VERSION",0,"0.5.3-preview.196"],70286)}]);
package/.next/trace CHANGED
@@ -1,2 +1,2 @@
1
- [{"name":"generate-buildid","duration":279,"timestamp":260900616911,"id":4,"parentId":1,"tags":{},"startTime":1779068872863,"traceId":"a5c1182b8172e144"},{"name":"load-custom-routes","duration":441,"timestamp":260900617332,"id":5,"parentId":1,"tags":{},"startTime":1779068872864,"traceId":"a5c1182b8172e144"},{"name":"create-dist-dir","duration":677,"timestamp":260900617813,"id":6,"parentId":1,"tags":{},"startTime":1779068872864,"traceId":"a5c1182b8172e144"},{"name":"clean","duration":32099,"timestamp":260900619200,"id":7,"parentId":1,"tags":{},"startTime":1779068872865,"traceId":"a5c1182b8172e144"},{"name":"discover-routes","duration":28485,"timestamp":260900733868,"id":8,"parentId":1,"tags":{},"startTime":1779068872980,"traceId":"a5c1182b8172e144"},{"name":"create-root-mapping","duration":136,"timestamp":260900762422,"id":9,"parentId":1,"tags":{},"startTime":1779068873009,"traceId":"a5c1182b8172e144"},{"name":"generate-route-types","duration":20177,"timestamp":260900765283,"id":10,"parentId":1,"tags":{},"startTime":1779068873012,"traceId":"a5c1182b8172e144"},{"name":"public-dir-conflict-check","duration":144,"timestamp":260900785581,"id":11,"parentId":1,"tags":{},"startTime":1779068873032,"traceId":"a5c1182b8172e144"},{"name":"generate-routes-manifest","duration":5486,"timestamp":260900785912,"id":12,"parentId":1,"tags":{},"startTime":1779068873032,"traceId":"a5c1182b8172e144"},{"name":"run-turbopack","duration":6081218,"timestamp":260900796996,"id":14,"parentId":1,"tags":{},"startTime":1779068873043,"traceId":"a5c1182b8172e144"},{"name":"turbopack-build-events","duration":97,"timestamp":260901088229,"id":15,"parentId":1,"tags":{},"startTime":1779068873335,"traceId":"a5c1182b8172e144"},{"name":"run-typescript","duration":9754847,"timestamp":260906887122,"id":16,"parentId":1,"tags":{},"startTime":1779068879133,"traceId":"a5c1182b8172e144"},{"name":"generate-required-server-files","duration":2872,"timestamp":260916643274,"id":18,"parentId":1,"tags":{},"startTime":1779068888890,"traceId":"a5c1182b8172e144"},{"name":"check-static-error-page","duration":13766,"timestamp":260916809545,"id":20,"parentId":19,"tags":{},"startTime":1779068889056,"traceId":"a5c1182b8172e144"},{"name":"is-page-static","duration":546597,"timestamp":260916826033,"id":65,"parentId":22,"tags":{},"startTime":1779068889072,"traceId":"a5c1182b8172e144"},{"name":"check-page","duration":561168,"timestamp":260916811792,"id":22,"parentId":19,"tags":{"page":"/_global-error"},"startTime":1779068889058,"traceId":"a5c1182b8172e144"},{"name":"is-page-static","duration":597161,"timestamp":260916827919,"id":69,"parentId":28,"tags":{},"startTime":1779068889074,"traceId":"a5c1182b8172e144"},{"name":"check-page","duration":610737,"timestamp":260916814438,"id":28,"parentId":19,"tags":{"page":"/api/hub/audit-log"},"startTime":1779068889061,"traceId":"a5c1182b8172e144"},{"name":"is-page-static","duration":655808,"timestamp":260916830348,"id":72,"parentId":32,"tags":{},"startTime":1779068889077,"traceId":"a5c1182b8172e144"},{"name":"check-page","duration":671090,"timestamp":260916815151,"id":32,"parentId":19,"tags":{"page":"/api/hub/health"},"startTime":1779068889061,"traceId":"a5c1182b8172e144"},{"name":"is-page-static","duration":670770,"timestamp":260916830521,"id":73,"parentId":33,"tags":{},"startTime":1779068889077,"traceId":"a5c1182b8172e144"},{"name":"check-page","duration":686075,"timestamp":260916815289,"id":33,"parentId":19,"tags":{"page":"/api/hub/inbox"},"startTime":1779068889062,"traceId":"a5c1182b8172e144"},{"name":"is-page-static","duration":677846,"timestamp":260916830609,"id":74,"parentId":34,"tags":{},"startTime":1779068889077,"traceId":"a5c1182b8172e144"},{"name":"check-page","duration":693112,"timestamp":260916815411,"id":34,"parentId":19,"tags":{"page":"/api/hub/license"},"startTime":1779068889062,"traceId":"a5c1182b8172e144"},{"name":"is-page-static","duration":683725,"timestamp":260916830637,"id":75,"parentId":35,"tags":{},"startTime":1779068889077,"traceId":"a5c1182b8172e144"},{"name":"check-page","duration":698889,"timestamp":260916815542,"id":35,"parentId":19,"tags":{"page":"/api/hub/messages"},"startTime":1779068889062,"traceId":"a5c1182b8172e144"},{"name":"is-page-static","duration":687308,"timestamp":260916830663,"id":76,"parentId":36,"tags":{},"startTime":1779068889077,"traceId":"a5c1182b8172e144"},{"name":"check-page","duration":702029,"timestamp":260916816021,"id":36,"parentId":19,"tags":{"page":"/api/hub/networks"},"startTime":1779068889062,"traceId":"a5c1182b8172e144"},{"name":"is-page-static","duration":692338,"timestamp":260916830695,"id":77,"parentId":37,"tags":{},"startTime":1779068889077,"traceId":"a5c1182b8172e144"},{"name":"check-page","duration":706887,"timestamp":260916816199,"id":37,"parentId":19,"tags":{"page":"/api/hub/nodes"},"startTime":1779068889062,"traceId":"a5c1182b8172e144"},{"name":"is-page-static","duration":698798,"timestamp":260916830709,"id":78,"parentId":38,"tags":{},"startTime":1779068889077,"traceId":"a5c1182b8172e144"},{"name":"check-page","duration":713251,"timestamp":260916816323,"id":38,"parentId":19,"tags":{"page":"/api/hub/register"},"startTime":1779068889063,"traceId":"a5c1182b8172e144"},{"name":"is-page-static","duration":702160,"timestamp":260916830723,"id":79,"parentId":39,"tags":{},"startTime":1779068889077,"traceId":"a5c1182b8172e144"},{"name":"check-page","duration":716504,"timestamp":260916816438,"id":39,"parentId":19,"tags":{"page":"/api/hub/send"},"startTime":1779068889063,"traceId":"a5c1182b8172e144"},{"name":"is-page-static","duration":707642,"timestamp":260916830737,"id":80,"parentId":40,"tags":{},"startTime":1779068889077,"traceId":"a5c1182b8172e144"},{"name":"check-page","duration":721943,"timestamp":260916816545,"id":40,"parentId":19,"tags":{"page":"/api/hub/server-logs"},"startTime":1779068889063,"traceId":"a5c1182b8172e144"},{"name":"is-page-static","duration":715804,"timestamp":260916827666,"id":67,"parentId":26,"tags":{},"startTime":1779068889074,"traceId":"a5c1182b8172e144"},{"name":"check-page","duration":729272,"timestamp":260916814253,"id":26,"parentId":19,"tags":{"page":"/api/auth/logout"},"startTime":1779068889061,"traceId":"a5c1182b8172e144"},{"name":"is-page-static","duration":718286,"timestamp":260916830754,"id":81,"parentId":42,"tags":{},"startTime":1779068889077,"traceId":"a5c1182b8172e144"},{"name":"check-page","duration":732149,"timestamp":260916816960,"id":42,"parentId":19,"tags":{"page":"/api/hub/server/[hostname]/health"},"startTime":1779068889063,"traceId":"a5c1182b8172e144"},{"name":"is-page-static","duration":718543,"timestamp":260916830764,"id":82,"parentId":44,"tags":{},"startTime":1779068889077,"traceId":"a5c1182b8172e144"},{"name":"check-page","duration":731925,"timestamp":260916817418,"id":44,"parentId":19,"tags":{"page":"/api/hub/session"},"startTime":1779068889064,"traceId":"a5c1182b8172e144"},{"name":"is-page-static","duration":721637,"timestamp":260916830273,"id":71,"parentId":30,"tags":{},"startTime":1779068889077,"traceId":"a5c1182b8172e144"},{"name":"check-page","duration":737247,"timestamp":260916814706,"id":30,"parentId":19,"tags":{"page":"/api/hub/broadcast"},"startTime":1779068889061,"traceId":"a5c1182b8172e144"},{"name":"is-page-static","duration":724296,"timestamp":260916830777,"id":83,"parentId":45,"tags":{},"startTime":1779068889077,"traceId":"a5c1182b8172e144"},{"name":"check-page","duration":737571,"timestamp":260916817547,"id":45,"parentId":19,"tags":{"page":"/api/hub/stats"},"startTime":1779068889064,"traceId":"a5c1182b8172e144"},{"name":"is-page-static","duration":728109,"timestamp":260916830808,"id":86,"parentId":48,"tags":{},"startTime":1779068889077,"traceId":"a5c1182b8172e144"},{"name":"check-page","duration":741062,"timestamp":260916817903,"id":48,"parentId":19,"tags":{"page":"/api/hub/tasks"},"startTime":1779068889064,"traceId":"a5c1182b8172e144"},{"name":"is-page-static","duration":732260,"timestamp":260916830823,"id":87,"parentId":49,"tags":{},"startTime":1779068889077,"traceId":"a5c1182b8172e144"},{"name":"check-page","duration":745087,"timestamp":260916818047,"id":49,"parentId":19,"tags":{"page":"/api/hub/tmux"},"startTime":1779068889064,"traceId":"a5c1182b8172e144"},{"name":"is-page-static","duration":745886,"timestamp":260916830837,"id":88,"parentId":50,"tags":{},"startTime":1779068889077,"traceId":"a5c1182b8172e144"},{"name":"check-page","duration":756979,"timestamp":260916819803,"id":50,"parentId":19,"tags":{"page":"/api/hub/tokens"},"startTime":1779068889066,"traceId":"a5c1182b8172e144"},{"name":"is-page-static","duration":755451,"timestamp":260916830797,"id":85,"parentId":47,"tags":{},"startTime":1779068889077,"traceId":"a5c1182b8172e144"},{"name":"check-page","duration":768519,"timestamp":260916817782,"id":47,"parentId":19,"tags":{"page":"/api/hub/task-events"},"startTime":1779068889064,"traceId":"a5c1182b8172e144"},{"name":"is-page-static","duration":766511,"timestamp":260916826735,"id":66,"parentId":25,"tags":{},"startTime":1779068889073,"traceId":"a5c1182b8172e144"},{"name":"check-page","duration":779176,"timestamp":260916814122,"id":25,"parentId":19,"tags":{"page":"/api/auth/login"},"startTime":1779068889060,"traceId":"a5c1182b8172e144"},{"name":"is-page-static","duration":764483,"timestamp":260916830789,"id":84,"parentId":46,"tags":{},"startTime":1779068889077,"traceId":"a5c1182b8172e144"},{"name":"check-page","duration":777658,"timestamp":260916817660,"id":46,"parentId":19,"tags":{"page":"/api/hub/status"},"startTime":1779068889064,"traceId":"a5c1182b8172e144"},{"name":"is-page-static","duration":765622,"timestamp":260916830847,"id":89,"parentId":51,"tags":{},"startTime":1779068889077,"traceId":"a5c1182b8172e144"},{"name":"check-page","duration":776596,"timestamp":260916819927,"id":51,"parentId":19,"tags":{"page":"/favicon.ico"},"startTime":1779068889066,"traceId":"a5c1182b8172e144"},{"name":"is-page-static","duration":764274,"timestamp":260916835927,"id":91,"parentId":31,"tags":{},"startTime":1779068889082,"traceId":"a5c1182b8172e144"},{"name":"check-page","duration":785409,"timestamp":260916814838,"id":31,"parentId":19,"tags":{"page":"/api/hub/events"},"startTime":1779068889061,"traceId":"a5c1182b8172e144"},{"name":"is-page-static","duration":779201,"timestamp":260916825639,"id":64,"parentId":21,"tags":{},"startTime":1779068889072,"traceId":"a5c1182b8172e144"},{"name":"check-page","duration":794170,"timestamp":260916810718,"id":21,"parentId":19,"tags":{"page":"/_not-found"},"startTime":1779068889057,"traceId":"a5c1182b8172e144"},{"name":"is-page-static","duration":775991,"timestamp":260916838208,"id":93,"parentId":43,"tags":{},"startTime":1779068889084,"traceId":"a5c1182b8172e144"},{"name":"check-page","duration":797125,"timestamp":260916817125,"id":43,"parentId":19,"tags":{"page":"/api/hub/servers"},"startTime":1779068889063,"traceId":"a5c1182b8172e144"},{"name":"is-page-static","duration":783712,"timestamp":260916834745,"id":90,"parentId":24,"tags":{},"startTime":1779068889081,"traceId":"a5c1182b8172e144"},{"name":"check-page","duration":806300,"timestamp":260916812199,"id":24,"parentId":19,"tags":{"page":"/api/anet/config"},"startTime":1779068889058,"traceId":"a5c1182b8172e144"},{"name":"is-page-static","duration":791022,"timestamp":260916827785,"id":68,"parentId":27,"tags":{},"startTime":1779068889074,"traceId":"a5c1182b8172e144"},{"name":"check-page","duration":804525,"timestamp":260916814337,"id":27,"parentId":19,"tags":{"page":"/api/auth/v3"},"startTime":1779068889061,"traceId":"a5c1182b8172e144"},{"name":"is-page-static","duration":797965,"timestamp":260916840412,"id":95,"parentId":52,"tags":{},"startTime":1779068889087,"traceId":"a5c1182b8172e144"},{"name":"check-page","duration":818083,"timestamp":260916820354,"id":52,"parentId":19,"tags":{"page":"/login"},"startTime":1779068889067,"traceId":"a5c1182b8172e144"},{"name":"is-page-static","duration":807332,"timestamp":260916836861,"id":92,"parentId":41,"tags":{},"startTime":1779068889083,"traceId":"a5c1182b8172e144"},{"name":"check-page","duration":827615,"timestamp":260916816638,"id":41,"parentId":19,"tags":{"page":"/api/hub/server/[hostname]/agents"},"startTime":1779068889063,"traceId":"a5c1182b8172e144"},{"name":"is-page-static","duration":833225,"timestamp":260916830085,"id":70,"parentId":29,"tags":{},"startTime":1779068889076,"traceId":"a5c1182b8172e144"},{"name":"check-page","duration":848827,"timestamp":260916814555,"id":29,"parentId":19,"tags":{"page":"/api/hub/auth"},"startTime":1779068889061,"traceId":"a5c1182b8172e144"},{"name":"is-page-static","duration":867895,"timestamp":260916840445,"id":97,"parentId":54,"tags":{},"startTime":1779068889087,"traceId":"a5c1182b8172e144"},{"name":"check-page","duration":887743,"timestamp":260916820674,"id":54,"parentId":19,"tags":{"page":"/messages"},"startTime":1779068889067,"traceId":"a5c1182b8172e144"},{"name":"is-page-static","duration":874924,"timestamp":260916840432,"id":96,"parentId":53,"tags":{},"startTime":1779068889087,"traceId":"a5c1182b8172e144"},{"name":"check-page","duration":894919,"timestamp":260916820520,"id":53,"parentId":19,"tags":{"page":"/logs"},"startTime":1779068889067,"traceId":"a5c1182b8172e144"},{"name":"is-page-static","duration":875519,"timestamp":260916840603,"id":102,"parentId":61,"tags":{},"startTime":1779068889087,"traceId":"a5c1182b8172e144"},{"name":"check-page","duration":893428,"timestamp":260916822748,"id":61,"parentId":19,"tags":{"page":"/settings/tokens"},"startTime":1779068889069,"traceId":"a5c1182b8172e144"},{"name":"is-page-static","duration":882869,"timestamp":260916840629,"id":104,"parentId":63,"tags":{},"startTime":1779068889087,"traceId":"a5c1182b8172e144"},{"name":"check-page","duration":900496,"timestamp":260916823070,"id":63,"parentId":19,"tags":{"page":"/tasks"},"startTime":1779068889069,"traceId":"a5c1182b8172e144"},{"name":"is-page-static","duration":885133,"timestamp":260916840616,"id":103,"parentId":62,"tags":{},"startTime":1779068889087,"traceId":"a5c1182b8172e144"},{"name":"check-page","duration":902885,"timestamp":260916822909,"id":62,"parentId":19,"tags":{"page":"/tasks/[id]"},"startTime":1779068889069,"traceId":"a5c1182b8172e144"},{"name":"is-page-static","duration":887453,"timestamp":260916840488,"id":100,"parentId":58,"tags":{},"startTime":1779068889087,"traceId":"a5c1182b8172e144"},{"name":"check-page","duration":906047,"timestamp":260916821937,"id":58,"parentId":19,"tags":{"page":"/server-logs"},"startTime":1779068889068,"traceId":"a5c1182b8172e144"},{"name":"is-page-static","duration":873543,"timestamp":260916857781,"id":105,"parentId":60,"tags":{},"startTime":1779068889104,"traceId":"a5c1182b8172e144"},{"name":"check-page","duration":909029,"timestamp":260916822339,"id":60,"parentId":19,"tags":{"page":"/settings"},"startTime":1779068889069,"traceId":"a5c1182b8172e144"},{"name":"is-page-static","duration":857304,"timestamp":260916878506,"id":106,"parentId":57,"tags":{},"startTime":1779068889125,"traceId":"a5c1182b8172e144"},{"name":"check-page","duration":914473,"timestamp":260916821374,"id":57,"parentId":19,"tags":{"page":"/"},"startTime":1779068889068,"traceId":"a5c1182b8172e144"},{"name":"is-page-static","duration":919210,"timestamp":260916840454,"id":98,"parentId":55,"tags":{},"startTime":1779068889087,"traceId":"a5c1182b8172e144"},{"name":"check-page","duration":938848,"timestamp":260916820886,"id":55,"parentId":19,"tags":{"page":"/node"},"startTime":1779068889067,"traceId":"a5c1182b8172e144"},{"name":"is-page-static","duration":922878,"timestamp":260916840475,"id":99,"parentId":56,"tags":{},"startTime":1779068889087,"traceId":"a5c1182b8172e144"},{"name":"check-page","duration":942287,"timestamp":260916821128,"id":56,"parentId":19,"tags":{"page":"/nodes"},"startTime":1779068889067,"traceId":"a5c1182b8172e144"},{"name":"is-page-static","duration":931266,"timestamp":260916840389,"id":94,"parentId":23,"tags":{},"startTime":1779068889087,"traceId":"a5c1182b8172e144"},{"name":"check-page","duration":959693,"timestamp":260916812018,"id":23,"parentId":19,"tags":{"page":"/admin"},"startTime":1779068889058,"traceId":"a5c1182b8172e144"},{"name":"is-page-static","duration":942608,"timestamp":260916840588,"id":101,"parentId":59,"tags":{},"startTime":1779068889087,"traceId":"a5c1182b8172e144"},{"name":"check-page","duration":961091,"timestamp":260916822161,"id":59,"parentId":19,"tags":{"page":"/settings/networks"},"startTime":1779068889068,"traceId":"a5c1182b8172e144"},{"name":"static-check","duration":974602,"timestamp":260916808713,"id":19,"parentId":1,"tags":{},"startTime":1779068889055,"traceId":"a5c1182b8172e144"}]
2
- [{"name":"write-routes-manifest","duration":566,"timestamp":260917795271,"id":108,"parentId":1,"tags":{},"startTime":1779068890042,"traceId":"a5c1182b8172e144"},{"name":"load-dotenv","duration":68,"timestamp":260917813787,"id":111,"parentId":110,"tags":{},"startTime":1779068890060,"traceId":"a5c1182b8172e144"},{"name":"run-export-path-map","duration":781,"timestamp":260917817328,"id":112,"parentId":110,"tags":{},"startTime":1779068890064,"traceId":"a5c1182b8172e144"},{"name":"next-export","duration":651602,"timestamp":260917812034,"id":110,"parentId":1,"tags":{},"startTime":1779068890058,"traceId":"a5c1182b8172e144"},{"name":"move-exported-app-not-found-","duration":700,"timestamp":260918467837,"id":113,"parentId":109,"tags":{},"startTime":1779068890714,"traceId":"a5c1182b8172e144"},{"name":"move-exported-app-global-error-","duration":597,"timestamp":260918468704,"id":114,"parentId":109,"tags":{},"startTime":1779068890715,"traceId":"a5c1182b8172e144"},{"name":"static-generation","duration":669910,"timestamp":260917802459,"id":109,"parentId":1,"tags":{},"startTime":1779068890049,"traceId":"a5c1182b8172e144"},{"name":"write-routes-manifest","duration":544,"timestamp":260918472682,"id":115,"parentId":1,"tags":{},"startTime":1779068890719,"traceId":"a5c1182b8172e144"},{"name":"print-tree-view","duration":4636,"timestamp":260918494300,"id":116,"parentId":1,"tags":{},"startTime":1779068890741,"traceId":"a5c1182b8172e144"},{"name":"write-route-bundle-stats","duration":11936,"timestamp":260918498974,"id":117,"parentId":1,"tags":{},"startTime":1779068890745,"traceId":"a5c1182b8172e144"},{"name":"telemetry-flush","duration":36632,"timestamp":260918510937,"id":118,"parentId":1,"tags":{},"startTime":1779068890757,"traceId":"a5c1182b8172e144"},{"name":"next-build","duration":17979278,"timestamp":260900568333,"id":1,"tags":{"buildMode":"default","version":"16.2.3","bundler":"turbopack","has-custom-webpack-config":"false","use-build-worker":"true"},"startTime":1779068872815,"traceId":"a5c1182b8172e144"}]
1
+ [{"name":"generate-buildid","duration":263,"timestamp":261577542705,"id":4,"parentId":1,"tags":{},"startTime":1779069549789,"traceId":"e14a09f076c0e4a6"},{"name":"load-custom-routes","duration":443,"timestamp":261577543122,"id":5,"parentId":1,"tags":{},"startTime":1779069549789,"traceId":"e14a09f076c0e4a6"},{"name":"create-dist-dir","duration":664,"timestamp":261577543602,"id":6,"parentId":1,"tags":{},"startTime":1779069549790,"traceId":"e14a09f076c0e4a6"},{"name":"clean","duration":35807,"timestamp":261577544905,"id":7,"parentId":1,"tags":{},"startTime":1779069549791,"traceId":"e14a09f076c0e4a6"},{"name":"discover-routes","duration":8741,"timestamp":261577664759,"id":8,"parentId":1,"tags":{},"startTime":1779069549911,"traceId":"e14a09f076c0e4a6"},{"name":"create-root-mapping","duration":98,"timestamp":261577673555,"id":9,"parentId":1,"tags":{},"startTime":1779069549920,"traceId":"e14a09f076c0e4a6"},{"name":"generate-route-types","duration":20224,"timestamp":261577676374,"id":10,"parentId":1,"tags":{},"startTime":1779069549923,"traceId":"e14a09f076c0e4a6"},{"name":"public-dir-conflict-check","duration":87,"timestamp":261577696674,"id":11,"parentId":1,"tags":{},"startTime":1779069549943,"traceId":"e14a09f076c0e4a6"},{"name":"generate-routes-manifest","duration":4433,"timestamp":261577696880,"id":12,"parentId":1,"tags":{},"startTime":1779069549943,"traceId":"e14a09f076c0e4a6"},{"name":"run-turbopack","duration":5966801,"timestamp":261577720078,"id":14,"parentId":1,"tags":{},"startTime":1779069549966,"traceId":"e14a09f076c0e4a6"},{"name":"turbopack-build-events","duration":86,"timestamp":261578047840,"id":15,"parentId":1,"tags":{},"startTime":1779069550294,"traceId":"e14a09f076c0e4a6"},{"name":"run-typescript","duration":9798300,"timestamp":261583698277,"id":16,"parentId":1,"tags":{},"startTime":1779069555945,"traceId":"e14a09f076c0e4a6"},{"name":"generate-required-server-files","duration":2865,"timestamp":261593497739,"id":18,"parentId":1,"tags":{},"startTime":1779069565744,"traceId":"e14a09f076c0e4a6"},{"name":"check-static-error-page","duration":14251,"timestamp":261593677366,"id":20,"parentId":19,"tags":{},"startTime":1779069565924,"traceId":"e14a09f076c0e4a6"},{"name":"is-page-static","duration":526612,"timestamp":261593695515,"id":65,"parentId":22,"tags":{},"startTime":1779069565942,"traceId":"e14a09f076c0e4a6"},{"name":"check-page","duration":542707,"timestamp":261593679646,"id":22,"parentId":19,"tags":{"page":"/_global-error"},"startTime":1779069565926,"traceId":"e14a09f076c0e4a6"},{"name":"is-page-static","duration":625615,"timestamp":261593696368,"id":70,"parentId":29,"tags":{},"startTime":1779069565943,"traceId":"e14a09f076c0e4a6"},{"name":"check-page","duration":639359,"timestamp":261593682749,"id":29,"parentId":19,"tags":{"page":"/api/hub/auth"},"startTime":1779069565929,"traceId":"e14a09f076c0e4a6"},{"name":"is-page-static","duration":632767,"timestamp":261593696573,"id":72,"parentId":32,"tags":{},"startTime":1779069565943,"traceId":"e14a09f076c0e4a6"},{"name":"check-page","duration":646084,"timestamp":261593683341,"id":32,"parentId":19,"tags":{"page":"/api/hub/health"},"startTime":1779069565930,"traceId":"e14a09f076c0e4a6"},{"name":"is-page-static","duration":640714,"timestamp":261593695715,"id":66,"parentId":25,"tags":{},"startTime":1779069565942,"traceId":"e14a09f076c0e4a6"},{"name":"check-page","duration":654456,"timestamp":261593682041,"id":25,"parentId":19,"tags":{"page":"/api/auth/login"},"startTime":1779069565928,"traceId":"e14a09f076c0e4a6"},{"name":"is-page-static","duration":645100,"timestamp":261593696817,"id":74,"parentId":34,"tags":{},"startTime":1779069565943,"traceId":"e14a09f076c0e4a6"},{"name":"check-page","duration":658394,"timestamp":261593683586,"id":34,"parentId":19,"tags":{"page":"/api/hub/license"},"startTime":1779069565930,"traceId":"e14a09f076c0e4a6"},{"name":"is-page-static","duration":656456,"timestamp":261593696098,"id":69,"parentId":28,"tags":{},"startTime":1779069565942,"traceId":"e14a09f076c0e4a6"},{"name":"check-page","duration":670004,"timestamp":261593682612,"id":28,"parentId":19,"tags":{"page":"/api/hub/audit-log"},"startTime":1779069565929,"traceId":"e14a09f076c0e4a6"},{"name":"is-page-static","duration":697672,"timestamp":261593696738,"id":73,"parentId":33,"tags":{},"startTime":1779069565943,"traceId":"e14a09f076c0e4a6"},{"name":"check-page","duration":711026,"timestamp":261593683470,"id":33,"parentId":19,"tags":{"page":"/api/hub/inbox"},"startTime":1779069565930,"traceId":"e14a09f076c0e4a6"},{"name":"is-page-static","duration":697818,"timestamp":261593696883,"id":76,"parentId":36,"tags":{},"startTime":1779069565943,"traceId":"e14a09f076c0e4a6"},{"name":"check-page","duration":710550,"timestamp":261593684191,"id":36,"parentId":19,"tags":{"page":"/api/hub/networks"},"startTime":1779069565930,"traceId":"e14a09f076c0e4a6"},{"name":"is-page-static","duration":698083,"timestamp":261593696847,"id":75,"parentId":35,"tags":{},"startTime":1779069565943,"traceId":"e14a09f076c0e4a6"},{"name":"check-page","duration":711273,"timestamp":261593683702,"id":35,"parentId":19,"tags":{"page":"/api/hub/messages"},"startTime":1779069565930,"traceId":"e14a09f076c0e4a6"},{"name":"is-page-static","duration":709739,"timestamp":261593696912,"id":77,"parentId":37,"tags":{},"startTime":1779069565943,"traceId":"e14a09f076c0e4a6"},{"name":"check-page","duration":722341,"timestamp":261593684364,"id":37,"parentId":19,"tags":{"page":"/api/hub/nodes"},"startTime":1779069565931,"traceId":"e14a09f076c0e4a6"},{"name":"is-page-static","duration":714422,"timestamp":261593695861,"id":67,"parentId":26,"tags":{},"startTime":1779069565942,"traceId":"e14a09f076c0e4a6"},{"name":"check-page","duration":728112,"timestamp":261593682231,"id":26,"parentId":19,"tags":{"page":"/api/auth/logout"},"startTime":1779069565929,"traceId":"e14a09f076c0e4a6"},{"name":"is-page-static","duration":715195,"timestamp":261593696955,"id":80,"parentId":40,"tags":{},"startTime":1779069565943,"traceId":"e14a09f076c0e4a6"},{"name":"check-page","duration":729135,"timestamp":261593684699,"id":40,"parentId":19,"tags":{"page":"/api/hub/server-logs"},"startTime":1779069565931,"traceId":"e14a09f076c0e4a6"},{"name":"is-page-static","duration":729992,"timestamp":261593696941,"id":79,"parentId":39,"tags":{},"startTime":1779069565943,"traceId":"e14a09f076c0e4a6"},{"name":"check-page","duration":742405,"timestamp":261593684593,"id":39,"parentId":19,"tags":{"page":"/api/hub/send"},"startTime":1779069565931,"traceId":"e14a09f076c0e4a6"},{"name":"is-page-static","duration":730883,"timestamp":261593696507,"id":71,"parentId":30,"tags":{},"startTime":1779069565943,"traceId":"e14a09f076c0e4a6"},{"name":"check-page","duration":744522,"timestamp":261593682915,"id":30,"parentId":19,"tags":{"page":"/api/hub/broadcast"},"startTime":1779069565929,"traceId":"e14a09f076c0e4a6"},{"name":"is-page-static","duration":730625,"timestamp":261593696967,"id":81,"parentId":42,"tags":{},"startTime":1779069565943,"traceId":"e14a09f076c0e4a6"},{"name":"check-page","duration":742553,"timestamp":261593685085,"id":42,"parentId":19,"tags":{"page":"/api/hub/server/[hostname]/health"},"startTime":1779069565931,"traceId":"e14a09f076c0e4a6"},{"name":"is-page-static","duration":730832,"timestamp":261593696926,"id":78,"parentId":38,"tags":{},"startTime":1779069565943,"traceId":"e14a09f076c0e4a6"},{"name":"check-page","duration":743295,"timestamp":261593684491,"id":38,"parentId":19,"tags":{"page":"/api/hub/register"},"startTime":1779069565931,"traceId":"e14a09f076c0e4a6"},{"name":"is-page-static","duration":736976,"timestamp":261593699234,"id":85,"parentId":47,"tags":{},"startTime":1779069565946,"traceId":"e14a09f076c0e4a6"},{"name":"check-page","duration":750345,"timestamp":261593685930,"id":47,"parentId":19,"tags":{"page":"/api/hub/task-events"},"startTime":1779069565932,"traceId":"e14a09f076c0e4a6"},{"name":"is-page-static","duration":737303,"timestamp":261593699249,"id":86,"parentId":48,"tags":{},"startTime":1779069565946,"traceId":"e14a09f076c0e4a6"},{"name":"check-page","duration":750560,"timestamp":261593686050,"id":48,"parentId":19,"tags":{"page":"/api/hub/tasks"},"startTime":1779069565932,"traceId":"e14a09f076c0e4a6"},{"name":"is-page-static","duration":739767,"timestamp":261593696996,"id":83,"parentId":45,"tags":{},"startTime":1779069565943,"traceId":"e14a09f076c0e4a6"},{"name":"check-page","duration":751114,"timestamp":261593685682,"id":45,"parentId":19,"tags":{"page":"/api/hub/stats"},"startTime":1779069565932,"traceId":"e14a09f076c0e4a6"},{"name":"is-page-static","duration":738721,"timestamp":261593699209,"id":84,"parentId":46,"tags":{},"startTime":1779069565945,"traceId":"e14a09f076c0e4a6"},{"name":"check-page","duration":752212,"timestamp":261593685797,"id":46,"parentId":19,"tags":{"page":"/api/hub/status"},"startTime":1779069565932,"traceId":"e14a09f076c0e4a6"},{"name":"is-page-static","duration":743075,"timestamp":261593696982,"id":82,"parentId":44,"tags":{},"startTime":1779069565943,"traceId":"e14a09f076c0e4a6"},{"name":"check-page","duration":754558,"timestamp":261593685544,"id":44,"parentId":19,"tags":{"page":"/api/hub/session"},"startTime":1779069565932,"traceId":"e14a09f076c0e4a6"},{"name":"is-page-static","duration":741637,"timestamp":261593699287,"id":89,"parentId":51,"tags":{},"startTime":1779069565946,"traceId":"e14a09f076c0e4a6"},{"name":"check-page","duration":752790,"timestamp":261593688180,"id":51,"parentId":19,"tags":{"page":"/favicon.ico"},"startTime":1779069565934,"traceId":"e14a09f076c0e4a6"},{"name":"is-page-static","duration":746910,"timestamp":261593695978,"id":68,"parentId":27,"tags":{},"startTime":1779069565942,"traceId":"e14a09f076c0e4a6"},{"name":"check-page","duration":760555,"timestamp":261593682376,"id":27,"parentId":19,"tags":{"page":"/api/auth/v3"},"startTime":1779069565929,"traceId":"e14a09f076c0e4a6"},{"name":"is-page-static","duration":743862,"timestamp":261593699263,"id":87,"parentId":49,"tags":{},"startTime":1779069565946,"traceId":"e14a09f076c0e4a6"},{"name":"check-page","duration":758564,"timestamp":261593686174,"id":49,"parentId":19,"tags":{"page":"/api/hub/tmux"},"startTime":1779069565932,"traceId":"e14a09f076c0e4a6"},{"name":"is-page-static","duration":745650,"timestamp":261593699273,"id":88,"parentId":50,"tags":{},"startTime":1779069565946,"traceId":"e14a09f076c0e4a6"},{"name":"check-page","duration":756972,"timestamp":261593688046,"id":50,"parentId":19,"tags":{"page":"/api/hub/tokens"},"startTime":1779069565934,"traceId":"e14a09f076c0e4a6"},{"name":"is-page-static","duration":732901,"timestamp":261593712277,"id":90,"parentId":24,"tags":{},"startTime":1779069565959,"traceId":"e14a09f076c0e4a6"},{"name":"check-page","duration":765154,"timestamp":261593680064,"id":24,"parentId":19,"tags":{"page":"/api/anet/config"},"startTime":1779069565926,"traceId":"e14a09f076c0e4a6"},{"name":"is-page-static","duration":737640,"timestamp":261593713462,"id":91,"parentId":31,"tags":{},"startTime":1779069565960,"traceId":"e14a09f076c0e4a6"},{"name":"check-page","duration":768067,"timestamp":261593683083,"id":31,"parentId":19,"tags":{"page":"/api/hub/events"},"startTime":1779069565929,"traceId":"e14a09f076c0e4a6"},{"name":"is-page-static","duration":737057,"timestamp":261593714281,"id":92,"parentId":41,"tags":{},"startTime":1779069565961,"traceId":"e14a09f076c0e4a6"},{"name":"check-page","duration":766586,"timestamp":261593684795,"id":41,"parentId":19,"tags":{"page":"/api/hub/server/[hostname]/agents"},"startTime":1779069565931,"traceId":"e14a09f076c0e4a6"},{"name":"is-page-static","duration":748526,"timestamp":261593715543,"id":93,"parentId":43,"tags":{},"startTime":1779069565962,"traceId":"e14a09f076c0e4a6"},{"name":"check-page","duration":778879,"timestamp":261593685240,"id":43,"parentId":19,"tags":{"page":"/api/hub/servers"},"startTime":1779069565932,"traceId":"e14a09f076c0e4a6"},{"name":"is-page-static","duration":764992,"timestamp":261593748611,"id":96,"parentId":53,"tags":{},"startTime":1779069565995,"traceId":"e14a09f076c0e4a6"},{"name":"check-page","duration":824926,"timestamp":261593688757,"id":53,"parentId":19,"tags":{"page":"/logs"},"startTime":1779069565935,"traceId":"e14a09f076c0e4a6"},{"name":"is-page-static","duration":765337,"timestamp":261593748589,"id":95,"parentId":52,"tags":{},"startTime":1779069565995,"traceId":"e14a09f076c0e4a6"},{"name":"check-page","duration":825374,"timestamp":261593688597,"id":52,"parentId":19,"tags":{"page":"/login"},"startTime":1779069565935,"traceId":"e14a09f076c0e4a6"},{"name":"is-page-static","duration":775229,"timestamp":261593748818,"id":101,"parentId":59,"tags":{},"startTime":1779069565995,"traceId":"e14a09f076c0e4a6"},{"name":"check-page","duration":833674,"timestamp":261593690428,"id":59,"parentId":19,"tags":{"page":"/settings/networks"},"startTime":1779069565937,"traceId":"e14a09f076c0e4a6"},{"name":"is-page-static","duration":777669,"timestamp":261593748628,"id":97,"parentId":54,"tags":{},"startTime":1779069565995,"traceId":"e14a09f076c0e4a6"},{"name":"check-page","duration":837427,"timestamp":261593688939,"id":54,"parentId":19,"tags":{"page":"/messages"},"startTime":1779069565935,"traceId":"e14a09f076c0e4a6"},{"name":"is-page-static","duration":779019,"timestamp":261593748673,"id":100,"parentId":58,"tags":{},"startTime":1779069565995,"traceId":"e14a09f076c0e4a6"},{"name":"check-page","duration":837516,"timestamp":261593690218,"id":58,"parentId":19,"tags":{"page":"/server-logs"},"startTime":1779069565936,"traceId":"e14a09f076c0e4a6"},{"name":"is-page-static","duration":780081,"timestamp":261593748535,"id":94,"parentId":23,"tags":{},"startTime":1779069565995,"traceId":"e14a09f076c0e4a6"},{"name":"check-page","duration":848793,"timestamp":261593679866,"id":23,"parentId":19,"tags":{"page":"/admin"},"startTime":1779069565926,"traceId":"e14a09f076c0e4a6"},{"name":"is-page-static","duration":781926,"timestamp":261593748644,"id":98,"parentId":55,"tags":{},"startTime":1779069565995,"traceId":"e14a09f076c0e4a6"},{"name":"check-page","duration":841449,"timestamp":261593689158,"id":55,"parentId":19,"tags":{"page":"/node"},"startTime":1779069565935,"traceId":"e14a09f076c0e4a6"},{"name":"is-page-static","duration":786745,"timestamp":261593748841,"id":102,"parentId":61,"tags":{},"startTime":1779069565995,"traceId":"e14a09f076c0e4a6"},{"name":"check-page","duration":844541,"timestamp":261593691080,"id":61,"parentId":19,"tags":{"page":"/settings/tokens"},"startTime":1779069565937,"traceId":"e14a09f076c0e4a6"},{"name":"is-page-static","duration":787185,"timestamp":261593748891,"id":104,"parentId":63,"tags":{},"startTime":1779069565995,"traceId":"e14a09f076c0e4a6"},{"name":"check-page","duration":844746,"timestamp":261593691372,"id":63,"parentId":19,"tags":{"page":"/tasks"},"startTime":1779069565938,"traceId":"e14a09f076c0e4a6"},{"name":"is-page-static","duration":787305,"timestamp":261593748907,"id":105,"parentId":60,"tags":{},"startTime":1779069565995,"traceId":"e14a09f076c0e4a6"},{"name":"check-page","duration":845635,"timestamp":261593690602,"id":60,"parentId":19,"tags":{"page":"/settings"},"startTime":1779069565937,"traceId":"e14a09f076c0e4a6"},{"name":"is-page-static","duration":759302,"timestamp":261593778891,"id":106,"parentId":57,"tags":{},"startTime":1779069566025,"traceId":"e14a09f076c0e4a6"},{"name":"check-page","duration":848631,"timestamp":261593689602,"id":57,"parentId":19,"tags":{"page":"/"},"startTime":1779069565936,"traceId":"e14a09f076c0e4a6"},{"name":"is-page-static","duration":791551,"timestamp":261593748657,"id":99,"parentId":56,"tags":{},"startTime":1779069565995,"traceId":"e14a09f076c0e4a6"},{"name":"check-page","duration":850873,"timestamp":261593689363,"id":56,"parentId":19,"tags":{"page":"/nodes"},"startTime":1779069565936,"traceId":"e14a09f076c0e4a6"},{"name":"is-page-static","duration":797686,"timestamp":261593748875,"id":103,"parentId":62,"tags":{},"startTime":1779069565995,"traceId":"e14a09f076c0e4a6"},{"name":"check-page","duration":855365,"timestamp":261593691227,"id":62,"parentId":19,"tags":{"page":"/tasks/[id]"},"startTime":1779069565938,"traceId":"e14a09f076c0e4a6"},{"name":"is-page-static","duration":892637,"timestamp":261593694064,"id":64,"parentId":21,"tags":{},"startTime":1779069565940,"traceId":"e14a09f076c0e4a6"},{"name":"check-page","duration":908208,"timestamp":261593678536,"id":21,"parentId":19,"tags":{"page":"/_not-found"},"startTime":1779069565925,"traceId":"e14a09f076c0e4a6"},{"name":"static-check","duration":910224,"timestamp":261593676555,"id":19,"parentId":1,"tags":{},"startTime":1779069565923,"traceId":"e14a09f076c0e4a6"}]
2
+ [{"name":"write-routes-manifest","duration":577,"timestamp":261594597254,"id":108,"parentId":1,"tags":{},"startTime":1779069566844,"traceId":"e14a09f076c0e4a6"},{"name":"load-dotenv","duration":54,"timestamp":261594610846,"id":111,"parentId":110,"tags":{},"startTime":1779069566857,"traceId":"e14a09f076c0e4a6"},{"name":"run-export-path-map","duration":550,"timestamp":261594613326,"id":112,"parentId":110,"tags":{},"startTime":1779069566860,"traceId":"e14a09f076c0e4a6"},{"name":"next-export","duration":592938,"timestamp":261594609636,"id":110,"parentId":1,"tags":{},"startTime":1779069566856,"traceId":"e14a09f076c0e4a6"},{"name":"move-exported-app-not-found-","duration":532,"timestamp":261595205595,"id":113,"parentId":109,"tags":{},"startTime":1779069567452,"traceId":"e14a09f076c0e4a6"},{"name":"move-exported-app-global-error-","duration":525,"timestamp":261595206248,"id":114,"parentId":109,"tags":{},"startTime":1779069567453,"traceId":"e14a09f076c0e4a6"},{"name":"static-generation","duration":605841,"timestamp":261594602993,"id":109,"parentId":1,"tags":{},"startTime":1779069566849,"traceId":"e14a09f076c0e4a6"},{"name":"write-routes-manifest","duration":442,"timestamp":261595209133,"id":115,"parentId":1,"tags":{},"startTime":1779069567455,"traceId":"e14a09f076c0e4a6"},{"name":"print-tree-view","duration":4678,"timestamp":261595221448,"id":116,"parentId":1,"tags":{},"startTime":1779069567468,"traceId":"e14a09f076c0e4a6"},{"name":"write-route-bundle-stats","duration":14876,"timestamp":261595226155,"id":117,"parentId":1,"tags":{},"startTime":1779069567472,"traceId":"e14a09f076c0e4a6"},{"name":"telemetry-flush","duration":33332,"timestamp":261595241061,"id":118,"parentId":1,"tags":{},"startTime":1779069567487,"traceId":"e14a09f076c0e4a6"},{"name":"next-build","duration":17786214,"timestamp":261577488213,"id":1,"tags":{"buildMode":"default","version":"16.2.3","bundler":"turbopack","has-custom-webpack-config":"false","use-build-worker":"true"},"startTime":1779069549734,"traceId":"e14a09f076c0e4a6"}]
package/.next/trace-build CHANGED
@@ -1 +1 @@
1
- [{"name":"run-turbopack","duration":6081218,"timestamp":260900796996,"id":14,"parentId":1,"tags":{},"startTime":1779068873043,"traceId":"a5c1182b8172e144"},{"name":"turbopack-build-events","duration":97,"timestamp":260901088229,"id":15,"parentId":1,"tags":{},"startTime":1779068873335,"traceId":"a5c1182b8172e144"},{"name":"run-typescript","duration":9754847,"timestamp":260906887122,"id":16,"parentId":1,"tags":{},"startTime":1779068879133,"traceId":"a5c1182b8172e144"},{"name":"static-check","duration":974602,"timestamp":260916808713,"id":19,"parentId":1,"tags":{},"startTime":1779068889055,"traceId":"a5c1182b8172e144"},{"name":"static-generation","duration":669910,"timestamp":260917802459,"id":109,"parentId":1,"tags":{},"startTime":1779068890049,"traceId":"a5c1182b8172e144"},{"name":"telemetry-flush","duration":36632,"timestamp":260918510937,"id":118,"parentId":1,"tags":{},"startTime":1779068890757,"traceId":"a5c1182b8172e144"},{"name":"next-build","duration":17979278,"timestamp":260900568333,"id":1,"tags":{"buildMode":"default","version":"16.2.3","bundler":"turbopack","has-custom-webpack-config":"false","use-build-worker":"true"},"startTime":1779068872815,"traceId":"a5c1182b8172e144"}]
1
+ [{"name":"run-turbopack","duration":5966801,"timestamp":261577720078,"id":14,"parentId":1,"tags":{},"startTime":1779069549966,"traceId":"e14a09f076c0e4a6"},{"name":"turbopack-build-events","duration":86,"timestamp":261578047840,"id":15,"parentId":1,"tags":{},"startTime":1779069550294,"traceId":"e14a09f076c0e4a6"},{"name":"run-typescript","duration":9798300,"timestamp":261583698277,"id":16,"parentId":1,"tags":{},"startTime":1779069555945,"traceId":"e14a09f076c0e4a6"},{"name":"static-check","duration":910224,"timestamp":261593676555,"id":19,"parentId":1,"tags":{},"startTime":1779069565923,"traceId":"e14a09f076c0e4a6"},{"name":"static-generation","duration":605841,"timestamp":261594602993,"id":109,"parentId":1,"tags":{},"startTime":1779069566849,"traceId":"e14a09f076c0e4a6"},{"name":"telemetry-flush","duration":33332,"timestamp":261595241061,"id":118,"parentId":1,"tags":{},"startTime":1779069567487,"traceId":"e14a09f076c0e4a6"},{"name":"next-build","duration":17786214,"timestamp":261577488213,"id":1,"tags":{"buildMode":"default","version":"16.2.3","bundler":"turbopack","has-custom-webpack-config":"false","use-build-worker":"true"},"startTime":1779069549734,"traceId":"e14a09f076c0e4a6"}]
@@ -5791,6 +5791,36 @@ export function TopoGraph({ sessions, sseSessions, renameSignal }: TopoGraphProp
5791
5791
  data-group-box-linejoin="round"
5792
5792
  data-group-box-geom-transition="x,y,width,height"
5793
5793
  data-group-box-brightness={(isPinned || isHovered) ? '1.15' : '1'}
5794
+ /* R682 — group cluster box joins the multi-layer halo
5795
+ family. Pre-R682 the filter chain was `url(#topo-
5796
+ groupbox-lift) brightness(1.15)` (R587) — the SVG
5797
+ filter primitive provides a vertical ELEVATION
5798
+ shadow (dy=3, blur=4) but no radial halo. R682
5799
+ prepends 2-layer drop-shadow at pal.legendAccent
5800
+ tint between the SVG lift and the brightness:
5801
+ url(#topo-groupbox-lift) elevation
5802
+ drop-shadow(0 0 3px ${pal.legendAccent}80) near halo
5803
+ drop-shadow(0 0 6px ${pal.legendAccent}40) far halo
5804
+ brightness(1.15) paint lift
5805
+
5806
+ Now the pinned cluster has a colored cyan aura
5807
+ around its rectangle ALONGSIDE its elevation
5808
+ shadow — coherent with R648 group LABEL TEXT's
5809
+ 3+6 stride cyan halo. The cluster box and its
5810
+ label glow in lockstep when the group is locked
5811
+ in or hover-previewed.
5812
+
5813
+ 3+6 stride matches the panel-tier scale (cluster
5814
+ box is ~200×140px — wider than per-node surfaces);
5815
+ alpha 80/40 matches the family standard. SVG
5816
+ elevation filter PRECEDES the drop-shadows in the
5817
+ chain so it composes the shadow BEFORE the halo
5818
+ wraps around the rect — preserves the existing
5819
+ elevation reading.
5820
+
5821
+ 41st anchor in multi-layer halo family — first
5822
+ group-CLUSTER anchor. */
5823
+ data-group-box-halo-layers={(isPinned || isHovered) ? '2' : '0'}
5794
5824
  // R85: ambient "marching ants" drift on the perimeter
5795
5825
  // when this group has at least one working member, and
5796
5826
  // neither pin nor hover is active (those treatments
@@ -5866,7 +5896,7 @@ export function TopoGraph({ sessions, sseSessions, renameSignal }: TopoGraphProp
5866
5896
  'filter 200ms ease-out' (R142 cadence). No
5867
5897
  transition change needed. */
5868
5898
  filter: (isPinned || isHovered)
5869
- ? 'url(#topo-groupbox-lift) brightness(1.15)'
5899
+ ? `url(#topo-groupbox-lift) drop-shadow(0 0 3px ${pal.legendAccent}80) drop-shadow(0 0 6px ${pal.legendAccent}40) brightness(1.15)`
5870
5900
  : undefined,
5871
5901
  /* Round 248 / Loop: append fill 200ms ease-out to
5872
5902
  the existing R66 transition list. Pre-R248 the
@@ -8348,11 +8378,41 @@ export function TopoGraph({ sessions, sseSessions, renameSignal }: TopoGraphProp
8348
8378
  Same banked R582/R583 stacked-filter pattern.
8349
8379
  transition list extends with 'filter 200ms ease-out'
8350
8380
  alongside the existing fill 200ms cadence. */
8381
+ /* R681 — hub core circle joins the multi-layer halo
8382
+ family. Pre-R681 the filter was single-layer drop-
8383
+ shadow at 2px + 0.5 alpha (R536). Post-R681 adds a
8384
+ SECOND outer drop-shadow at 4px + 0.25 alpha (half
8385
+ the inner alpha, double the blur — matches the
8386
+ family's 0.5×-falloff + 2× blur stride vocabulary
8387
+ established by R642-R667).
8388
+
8389
+ Hub core is the canvas's MOST CENTRAL focal point —
8390
+ elevating it to multi-layer halo gives the user's
8391
+ attention focal anchor the same near + far layered
8392
+ glow vocabulary that 38 other surfaces now share.
8393
+
8394
+ Light: drop-shadow(0 0 2px emerald 0.5)
8395
+ drop-shadow(0 0 4px emerald 0.25)
8396
+ brightness(1.15)
8397
+ Cyber: drop-shadow(0 0 2px emerald-400 0.5)
8398
+ drop-shadow(0 0 4px emerald-400 0.25)
8399
+ brightness(1.15)
8400
+
8401
+ Tints unchanged (emerald light / emerald-400 cyber)
8402
+ for visual continuity with R536. Only the outer
8403
+ ambient layer is new. 40th anchor in family —
8404
+ first hub-CORE anchor (R650-R653 + R654 + R651
8405
+ all targeted hub-related ELEMENTS around the core,
8406
+ not the core disc itself).
8407
+
8408
+ data-topo-hub-core-halo-layers attr exposes the
8409
+ gate for tests. */
8410
+ data-topo-hub-core-halo-layers={isCoreHovered ? '2' : '0'}
8351
8411
  style={{
8352
8412
  filter: isCoreHovered
8353
8413
  ? (isLight
8354
- ? 'drop-shadow(0 0 2px rgba(16, 185, 129, 0.5)) brightness(1.15)'
8355
- : 'drop-shadow(0 0 2px rgba(52, 211, 153, 0.5)) brightness(1.15)')
8414
+ ? 'drop-shadow(0 0 2px rgba(16, 185, 129, 0.5)) drop-shadow(0 0 4px rgba(16, 185, 129, 0.25)) brightness(1.15)'
8415
+ : 'drop-shadow(0 0 2px rgba(52, 211, 153, 0.5)) drop-shadow(0 0 4px rgba(52, 211, 153, 0.25)) brightness(1.15)')
8356
8416
  : undefined,
8357
8417
  transition: 'fill 200ms ease-out, filter 200ms ease-out',
8358
8418
  }}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sleep2agi/agent-network-dashboard",
3
- "version": "0.5.3-preview.194",
3
+ "version": "0.5.3-preview.196",
4
4
  "description": "Agent Network Dashboard \u2014 Web UI for managing AI Agent networks",
5
5
  "scripts": {
6
6
  "dev": "next dev",
@@ -0,0 +1,91 @@
1
+ /* Round 682 — group cluster box (grid-layout prefix-group rect)
2
+ * extends filter chain from `url(#topo-groupbox-lift) brightness(1.15)`
3
+ * to ADD 2-layer drop-shadow at pal.legendAccent tint between the SVG
4
+ * elevation filter and the brightness — chain becomes:
5
+ * url(#topo-groupbox-lift)
6
+ * drop-shadow(0 0 3px ${pal.legendAccent}80)
7
+ * drop-shadow(0 0 6px ${pal.legendAccent}40)
8
+ * brightness(1.15)
9
+ *
10
+ * Cluster box and its R648 label now glow in lockstep when the group
11
+ * is pinned or hovered. 41st anchor — first group-CLUSTER anchor.
12
+ *
13
+ * Source assertions:
14
+ * - filter chain has url(#topo-groupbox-lift) + 2 drop-shadows at
15
+ * pal.legendAccent + brightness(1.15)
16
+ * - data-group-box-halo-layers attr toggles '2' ↔ '0'
17
+ *
18
+ * Runtime assertions:
19
+ * - group cluster boxes present in grid layout (≥3 prefix groups)
20
+ * - rest: halo-layers='0' on all
21
+ * - gate consistency: brightness ↔ halo-layers
22
+ */
23
+ import { chromium } from 'playwright';
24
+ import { readFileSync } from 'node:fs';
25
+
26
+ const TOKEN = JSON.parse(readFileSync('/home/vansin/.anet/config.json', 'utf8')).token;
27
+ const fresh = new Date(Date.now() - 60 * 1000).toISOString();
28
+
29
+ const browser = await chromium.launch({ headless: true });
30
+ const ctx = await browser.newContext({ viewport: { width: 1500, height: 1200 } });
31
+ await ctx.addCookies([{ name: 'anet_dashboard_session', value: `v3:${TOKEN}`, domain: '127.0.0.1', path: '/' }]);
32
+ await ctx.addInitScript(() => {
33
+ try {
34
+ localStorage.setItem('anet-theme', 'cyber');
35
+ localStorage.setItem('anet-topo-layout', 'grid'); // grid layout for cluster boxes
36
+ sessionStorage.setItem('anet_v3_auth', '1');
37
+ } catch {}
38
+ });
39
+ await ctx.route('**/api/hub/status*', async (route) => {
40
+ const r = await route.fetch();
41
+ const b = await r.json();
42
+ const nid = (b.sessions || [])[0]?.network_id || 'default';
43
+ const mk = (alias) => ({
44
+ alias, status: 'idle', model: 'claude-opus-4', runtime: 'claude-code-cli',
45
+ network_id: nid, project_dir: null,
46
+ created_at: fresh, updated_at: fresh, last_seen_at: fresh,
47
+ });
48
+ // 3 prefix groups (a·X, b·X, c·X) so cluster boxes render
49
+ await route.fulfill({ response: r, json: { ...b, sessions: [
50
+ mk('a·1'), mk('a·2'),
51
+ mk('b·1'), mk('b·2'),
52
+ mk('c·1'), mk('c·2'),
53
+ ] } });
54
+ });
55
+ await ctx.route('**/api/hub/messages*', (r) => r.fulfill({ json: { messages: [] } }));
56
+ await ctx.route('**/api/hub/tasks*', (r) => r.fulfill({ json: { tasks: [] } }));
57
+ const page = await ctx.newPage();
58
+ await page.goto('http://127.0.0.1:3000/', { waitUntil: 'networkidle' });
59
+ await page.waitForSelector('[data-group-box-halo-layers]', { timeout: 15000, state: 'attached' });
60
+ await page.waitForTimeout(500);
61
+
62
+ const restState = await page.evaluate(() => {
63
+ return Array.from(document.querySelectorAll('[data-group-box-halo-layers]')).map(el => ({
64
+ layers: el.getAttribute('data-group-box-halo-layers'),
65
+ brightness: el.getAttribute('data-group-box-brightness'),
66
+ }));
67
+ });
68
+
69
+ await browser.close();
70
+
71
+ const src = readFileSync('/home/vansin/agent-network-dashboard/app/components/TopoGraph.tsx', 'utf8');
72
+ const sourceFilter = /\? `url\(#topo-groupbox-lift\) drop-shadow\(0 0 3px \$\{pal\.legendAccent\}80\) drop-shadow\(0 0 6px \$\{pal\.legendAccent\}40\) brightness\(1\.15\)`/.test(src);
73
+ const sourceAttr = /data-group-box-halo-layers=\{\(isPinned \|\| isHovered\) \? '2' : '0'\}/.test(src);
74
+
75
+ const allConsistent = restState.every(e =>
76
+ (e.brightness === '1' && e.layers === '0') ||
77
+ (e.brightness === '1.15' && e.layers === '2')
78
+ );
79
+
80
+ const results = {
81
+ boxes_present: restState.length >= 3,
82
+ rest_all_layers_zero: restState.every(e => e.layers === '0'),
83
+ rest_gate_consistent: allConsistent,
84
+ source_filter: sourceFilter,
85
+ source_layers_attr: sourceAttr,
86
+ };
87
+ const ok = Object.values(results).every(Boolean);
88
+ console.log(`${ok ? '✅' : '❌'} R682 group cluster box multi-layer halo (first group-CLUSTER anchor):`,
89
+ JSON.stringify(results, null, 2),
90
+ `\n count: ${restState.length}, sample: ${JSON.stringify(restState.slice(0, 3))}`);
91
+ process.exit(ok ? 0 : 1);
@@ -0,0 +1,81 @@
1
+ /* Round 681 — hub core circle extends single-layer drop-shadow
2
+ * (R536, 2px+0.5 alpha) to 2-layer halo by adding outer 4px+0.25
3
+ * alpha — half-falloff + 2x blur stride matching the family
4
+ * vocabulary. 40th anchor in family — first hub-CORE anchor (R650-
5
+ * R653 + R654 + R651 targeted hub-related elements AROUND the core,
6
+ * not the core disc itself).
7
+ *
8
+ * Source assertions:
9
+ * - light filter: 2-layer drop-shadow at emerald rgba 0.5/0.25
10
+ * - cyber filter: 2-layer drop-shadow at emerald-400 rgba 0.5/0.25
11
+ * - data-topo-hub-core-halo-layers attr toggles '2' ↔ '0'
12
+ *
13
+ * Runtime assertions:
14
+ * - hub core present in DOM
15
+ * - rest halo-layers='0', brightness='1'
16
+ * - gate consistency: brightness ↔ layers (≥1 ↔ '2')
17
+ */
18
+ import { chromium } from 'playwright';
19
+ import { readFileSync } from 'node:fs';
20
+
21
+ const TOKEN = JSON.parse(readFileSync('/home/vansin/.anet/config.json', 'utf8')).token;
22
+ const fresh = new Date(Date.now() - 60 * 1000).toISOString();
23
+
24
+ const browser = await chromium.launch({ headless: true });
25
+ const ctx = await browser.newContext({ viewport: { width: 1500, height: 1200 } });
26
+ await ctx.addCookies([{ name: 'anet_dashboard_session', value: `v3:${TOKEN}`, domain: '127.0.0.1', path: '/' }]);
27
+ await ctx.addInitScript(() => {
28
+ try {
29
+ localStorage.setItem('anet-theme', 'cyber');
30
+ localStorage.setItem('anet-topo-layout', 'ring');
31
+ sessionStorage.setItem('anet_v3_auth', '1');
32
+ } catch {}
33
+ });
34
+ await ctx.route('**/api/hub/status*', async (route) => {
35
+ const r = await route.fetch();
36
+ const b = await r.json();
37
+ const nid = (b.sessions || [])[0]?.network_id || 'default';
38
+ const mk = (alias) => ({
39
+ alias, status: 'idle', model: 'claude-opus-4', runtime: 'claude-code-cli',
40
+ network_id: nid, project_dir: null,
41
+ created_at: fresh, updated_at: fresh, last_seen_at: fresh,
42
+ });
43
+ await route.fulfill({ response: r, json: { ...b, sessions: [mk('a·1'), mk('a·2')] } });
44
+ });
45
+ await ctx.route('**/api/hub/messages*', (r) => r.fulfill({ json: { messages: [] } }));
46
+ await ctx.route('**/api/hub/tasks*', (r) => r.fulfill({ json: { tasks: [] } }));
47
+ const page = await ctx.newPage();
48
+ await page.goto('http://127.0.0.1:3000/', { waitUntil: 'networkidle' });
49
+ await page.waitForSelector('[data-topo-hub-core-halo-layers]', { timeout: 15000, state: 'attached' });
50
+ await page.waitForTimeout(500);
51
+
52
+ const restState = await page.evaluate(() => {
53
+ const el = document.querySelector('[data-topo-hub-core-halo-layers]');
54
+ return el ? {
55
+ layers: el.getAttribute('data-topo-hub-core-halo-layers'),
56
+ brightness: el.getAttribute('data-topo-hub-core-brightness'),
57
+ hovered: el.getAttribute('data-topo-hub-core-hovered'),
58
+ } : null;
59
+ });
60
+
61
+ await browser.close();
62
+
63
+ const src = readFileSync('/home/vansin/agent-network-dashboard/app/components/TopoGraph.tsx', 'utf8');
64
+ const sourceLight = /'drop-shadow\(0 0 2px rgba\(16, 185, 129, 0\.5\)\) drop-shadow\(0 0 4px rgba\(16, 185, 129, 0\.25\)\) brightness\(1\.15\)'/.test(src);
65
+ const sourceCyber = /'drop-shadow\(0 0 2px rgba\(52, 211, 153, 0\.5\)\) drop-shadow\(0 0 4px rgba\(52, 211, 153, 0\.25\)\) brightness\(1\.15\)'/.test(src);
66
+ const sourceAttr = /data-topo-hub-core-halo-layers=\{isCoreHovered \? '2' : '0'\}/.test(src);
67
+
68
+ const results = {
69
+ hub_core_present: !!restState,
70
+ rest_layers_zero: restState?.layers === '0',
71
+ rest_brightness_1: restState?.brightness === '1',
72
+ rest_hovered_false: restState?.hovered === 'false',
73
+ source_light_filter: sourceLight,
74
+ source_cyber_filter: sourceCyber,
75
+ source_layers_attr: sourceAttr,
76
+ };
77
+ const ok = Object.values(results).every(Boolean);
78
+ console.log(`${ok ? '✅' : '❌'} R681 hub core multi-layer halo (first hub-core anchor):`,
79
+ JSON.stringify(results, null, 2),
80
+ `\n rest: ${JSON.stringify(restState)}`);
81
+ process.exit(ok ? 0 : 1);