@sleep2agi/agent-network-dashboard 0.5.3-preview.231 → 0.5.3-preview.233

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 (157) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/build-manifest.json +3 -3
  3. package/.next/diagnostics/route-bundle-stats.json +5 -5
  4. package/.next/fallback-build-manifest.json +3 -3
  5. package/.next/server/app/_global-error.html +1 -1
  6. package/.next/server/app/_global-error.rsc +1 -1
  7. package/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  8. package/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  9. package/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  10. package/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  11. package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  12. package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  13. package/.next/server/app/_not-found.html +2 -2
  14. package/.next/server/app/_not-found.rsc +2 -2
  15. package/.next/server/app/_not-found.segments/_full.segment.rsc +2 -2
  16. package/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  17. package/.next/server/app/_not-found.segments/_index.segment.rsc +2 -2
  18. package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  19. package/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  20. package/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  21. package/.next/server/app/admin/page_client-reference-manifest.js +1 -1
  22. package/.next/server/app/admin.html +2 -2
  23. package/.next/server/app/admin.rsc +2 -2
  24. package/.next/server/app/admin.segments/_full.segment.rsc +2 -2
  25. package/.next/server/app/admin.segments/_head.segment.rsc +1 -1
  26. package/.next/server/app/admin.segments/_index.segment.rsc +2 -2
  27. package/.next/server/app/admin.segments/_tree.segment.rsc +2 -2
  28. package/.next/server/app/admin.segments/admin/__PAGE__.segment.rsc +1 -1
  29. package/.next/server/app/admin.segments/admin.segment.rsc +1 -1
  30. package/.next/server/app/index.html +2 -2
  31. package/.next/server/app/index.rsc +3 -3
  32. package/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
  33. package/.next/server/app/index.segments/_full.segment.rsc +3 -3
  34. package/.next/server/app/index.segments/_head.segment.rsc +1 -1
  35. package/.next/server/app/index.segments/_index.segment.rsc +2 -2
  36. package/.next/server/app/index.segments/_tree.segment.rsc +2 -2
  37. package/.next/server/app/login/page_client-reference-manifest.js +1 -1
  38. package/.next/server/app/login.html +2 -2
  39. package/.next/server/app/login.rsc +3 -3
  40. package/.next/server/app/login.segments/_full.segment.rsc +3 -3
  41. package/.next/server/app/login.segments/_head.segment.rsc +1 -1
  42. package/.next/server/app/login.segments/_index.segment.rsc +2 -2
  43. package/.next/server/app/login.segments/_tree.segment.rsc +2 -2
  44. package/.next/server/app/login.segments/login/__PAGE__.segment.rsc +2 -2
  45. package/.next/server/app/login.segments/login.segment.rsc +1 -1
  46. package/.next/server/app/logs/page_client-reference-manifest.js +1 -1
  47. package/.next/server/app/logs.html +2 -2
  48. package/.next/server/app/logs.rsc +2 -2
  49. package/.next/server/app/logs.segments/_full.segment.rsc +2 -2
  50. package/.next/server/app/logs.segments/_head.segment.rsc +1 -1
  51. package/.next/server/app/logs.segments/_index.segment.rsc +2 -2
  52. package/.next/server/app/logs.segments/_tree.segment.rsc +2 -2
  53. package/.next/server/app/logs.segments/logs/__PAGE__.segment.rsc +1 -1
  54. package/.next/server/app/logs.segments/logs.segment.rsc +1 -1
  55. package/.next/server/app/messages/page_client-reference-manifest.js +1 -1
  56. package/.next/server/app/messages.html +2 -2
  57. package/.next/server/app/messages.rsc +2 -2
  58. package/.next/server/app/messages.segments/_full.segment.rsc +2 -2
  59. package/.next/server/app/messages.segments/_head.segment.rsc +1 -1
  60. package/.next/server/app/messages.segments/_index.segment.rsc +2 -2
  61. package/.next/server/app/messages.segments/_tree.segment.rsc +2 -2
  62. package/.next/server/app/messages.segments/messages/__PAGE__.segment.rsc +1 -1
  63. package/.next/server/app/messages.segments/messages.segment.rsc +1 -1
  64. package/.next/server/app/node/page_client-reference-manifest.js +1 -1
  65. package/.next/server/app/node.html +2 -2
  66. package/.next/server/app/node.rsc +2 -2
  67. package/.next/server/app/node.segments/_full.segment.rsc +2 -2
  68. package/.next/server/app/node.segments/_head.segment.rsc +1 -1
  69. package/.next/server/app/node.segments/_index.segment.rsc +2 -2
  70. package/.next/server/app/node.segments/_tree.segment.rsc +2 -2
  71. package/.next/server/app/node.segments/node/__PAGE__.segment.rsc +1 -1
  72. package/.next/server/app/node.segments/node.segment.rsc +1 -1
  73. package/.next/server/app/nodes/page_client-reference-manifest.js +1 -1
  74. package/.next/server/app/nodes.html +2 -2
  75. package/.next/server/app/nodes.rsc +2 -2
  76. package/.next/server/app/nodes.segments/_full.segment.rsc +2 -2
  77. package/.next/server/app/nodes.segments/_head.segment.rsc +1 -1
  78. package/.next/server/app/nodes.segments/_index.segment.rsc +2 -2
  79. package/.next/server/app/nodes.segments/_tree.segment.rsc +2 -2
  80. package/.next/server/app/nodes.segments/nodes/__PAGE__.segment.rsc +1 -1
  81. package/.next/server/app/nodes.segments/nodes.segment.rsc +1 -1
  82. package/.next/server/app/page_client-reference-manifest.js +1 -1
  83. package/.next/server/app/server-logs/page_client-reference-manifest.js +1 -1
  84. package/.next/server/app/server-logs.html +2 -2
  85. package/.next/server/app/server-logs.rsc +2 -2
  86. package/.next/server/app/server-logs.segments/_full.segment.rsc +2 -2
  87. package/.next/server/app/server-logs.segments/_head.segment.rsc +1 -1
  88. package/.next/server/app/server-logs.segments/_index.segment.rsc +2 -2
  89. package/.next/server/app/server-logs.segments/_tree.segment.rsc +2 -2
  90. package/.next/server/app/server-logs.segments/server-logs/__PAGE__.segment.rsc +1 -1
  91. package/.next/server/app/server-logs.segments/server-logs.segment.rsc +1 -1
  92. package/.next/server/app/settings/networks/page_client-reference-manifest.js +1 -1
  93. package/.next/server/app/settings/networks.html +2 -2
  94. package/.next/server/app/settings/networks.rsc +2 -2
  95. package/.next/server/app/settings/networks.segments/_full.segment.rsc +2 -2
  96. package/.next/server/app/settings/networks.segments/_head.segment.rsc +1 -1
  97. package/.next/server/app/settings/networks.segments/_index.segment.rsc +2 -2
  98. package/.next/server/app/settings/networks.segments/_tree.segment.rsc +2 -2
  99. package/.next/server/app/settings/networks.segments/settings/networks/__PAGE__.segment.rsc +1 -1
  100. package/.next/server/app/settings/networks.segments/settings/networks.segment.rsc +1 -1
  101. package/.next/server/app/settings/networks.segments/settings.segment.rsc +1 -1
  102. package/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  103. package/.next/server/app/settings/tokens/page_client-reference-manifest.js +1 -1
  104. package/.next/server/app/settings/tokens.html +2 -2
  105. package/.next/server/app/settings/tokens.rsc +2 -2
  106. package/.next/server/app/settings/tokens.segments/_full.segment.rsc +2 -2
  107. package/.next/server/app/settings/tokens.segments/_head.segment.rsc +1 -1
  108. package/.next/server/app/settings/tokens.segments/_index.segment.rsc +2 -2
  109. package/.next/server/app/settings/tokens.segments/_tree.segment.rsc +2 -2
  110. package/.next/server/app/settings/tokens.segments/settings/tokens/__PAGE__.segment.rsc +1 -1
  111. package/.next/server/app/settings/tokens.segments/settings/tokens.segment.rsc +1 -1
  112. package/.next/server/app/settings/tokens.segments/settings.segment.rsc +1 -1
  113. package/.next/server/app/settings.html +2 -2
  114. package/.next/server/app/settings.rsc +3 -3
  115. package/.next/server/app/settings.segments/_full.segment.rsc +3 -3
  116. package/.next/server/app/settings.segments/_head.segment.rsc +1 -1
  117. package/.next/server/app/settings.segments/_index.segment.rsc +2 -2
  118. package/.next/server/app/settings.segments/_tree.segment.rsc +2 -2
  119. package/.next/server/app/settings.segments/settings/__PAGE__.segment.rsc +2 -2
  120. package/.next/server/app/settings.segments/settings.segment.rsc +1 -1
  121. package/.next/server/app/tasks/[id]/page_client-reference-manifest.js +1 -1
  122. package/.next/server/app/tasks/page_client-reference-manifest.js +1 -1
  123. package/.next/server/app/tasks.html +2 -2
  124. package/.next/server/app/tasks.rsc +2 -2
  125. package/.next/server/app/tasks.segments/_full.segment.rsc +2 -2
  126. package/.next/server/app/tasks.segments/_head.segment.rsc +1 -1
  127. package/.next/server/app/tasks.segments/_index.segment.rsc +2 -2
  128. package/.next/server/app/tasks.segments/_tree.segment.rsc +2 -2
  129. package/.next/server/app/tasks.segments/tasks/__PAGE__.segment.rsc +1 -1
  130. package/.next/server/app/tasks.segments/tasks.segment.rsc +1 -1
  131. package/.next/server/chunks/ssr/[root-of-the-server]__0sv~g.o._.js +1 -1
  132. package/.next/server/chunks/ssr/[root-of-the-server]__0sv~g.o._.js.map +1 -1
  133. package/.next/server/chunks/ssr/agent-network-dashboard_09kk21a._.js +2 -2
  134. package/.next/server/chunks/ssr/agent-network-dashboard_09kk21a._.js.map +1 -1
  135. package/.next/server/chunks/ssr/agent-network-dashboard_app_01jhlxz._.js +1 -1
  136. package/.next/server/chunks/ssr/agent-network-dashboard_app_01jhlxz._.js.map +1 -1
  137. package/.next/server/chunks/ssr/agent-network-dashboard_app_09d29my._.js +1 -1
  138. package/.next/server/chunks/ssr/agent-network-dashboard_app_09d29my._.js.map +1 -1
  139. package/.next/server/middleware-build-manifest.js +3 -3
  140. package/.next/server/pages/404.html +2 -2
  141. package/.next/server/pages/500.html +1 -1
  142. package/.next/static/chunks/{09oamdv~26l2i.js → 02nawp.e3jxot.js} +1 -1
  143. package/.next/static/chunks/{0xuohyx.zz.1-.js → 06kfquwfj2-y6.js} +1 -1
  144. package/.next/static/chunks/{0j0b0yd222u40.js → 09bnx6qoatdin.js} +2 -2
  145. package/.next/static/chunks/{0fcch25_x_e6k.css → 0r.u_oq5pe~z6.css} +1 -1
  146. package/.next/static/chunks/{0f.appti_l02h.js → 0tv.7azxi9c8q.js} +1 -1
  147. package/.next/trace +2 -2
  148. package/.next/trace-build +1 -1
  149. package/app/components/TopoGraph.tsx +25 -3
  150. package/app/globals.css +93 -0
  151. package/package.json +1 -1
  152. package/scripts/topo-chrome-fullscreen-breath-test.mjs +121 -0
  153. package/scripts/topo-chrome-reset-breath-test.mjs +115 -0
  154. package/scripts/topo-respiratory-patterns-catalog-test.mjs +1 -1
  155. /package/.next/static/{ZyjUKk4WhRuLkc8K4d7em → GPHOxGVRvfcbBH1hj4hTD}/_buildManifest.js +0 -0
  156. /package/.next/static/{ZyjUKk4WhRuLkc8K4d7em → GPHOxGVRvfcbBH1hj4hTD}/_clientMiddlewareManifest.js +0 -0
  157. /package/.next/static/{ZyjUKk4WhRuLkc8K4d7em → GPHOxGVRvfcbBH1hj4hTD}/_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.230"],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.232"],70286)}]);
package/.next/trace CHANGED
@@ -1,2 +1,2 @@
1
- [{"name":"generate-buildid","duration":247,"timestamp":408932675739,"id":4,"parentId":1,"tags":{},"startTime":1779216904922,"traceId":"326173a6f9d63365"},{"name":"load-custom-routes","duration":465,"timestamp":408932676174,"id":5,"parentId":1,"tags":{},"startTime":1779216904922,"traceId":"326173a6f9d63365"},{"name":"create-dist-dir","duration":701,"timestamp":408932676677,"id":6,"parentId":1,"tags":{},"startTime":1779216904923,"traceId":"326173a6f9d63365"},{"name":"clean","duration":37012,"timestamp":408932678081,"id":7,"parentId":1,"tags":{},"startTime":1779216904924,"traceId":"326173a6f9d63365"},{"name":"discover-routes","duration":10023,"timestamp":408932804469,"id":8,"parentId":1,"tags":{},"startTime":1779216905051,"traceId":"326173a6f9d63365"},{"name":"create-root-mapping","duration":111,"timestamp":408932814553,"id":9,"parentId":1,"tags":{},"startTime":1779216905061,"traceId":"326173a6f9d63365"},{"name":"generate-route-types","duration":22599,"timestamp":408932817184,"id":10,"parentId":1,"tags":{},"startTime":1779216905063,"traceId":"326173a6f9d63365"},{"name":"public-dir-conflict-check","duration":97,"timestamp":408932839862,"id":11,"parentId":1,"tags":{},"startTime":1779216905086,"traceId":"326173a6f9d63365"},{"name":"generate-routes-manifest","duration":4578,"timestamp":408932840100,"id":12,"parentId":1,"tags":{},"startTime":1779216905086,"traceId":"326173a6f9d63365"},{"name":"run-turbopack","duration":6754296,"timestamp":408932863332,"id":14,"parentId":1,"tags":{},"startTime":1779216905110,"traceId":"326173a6f9d63365"},{"name":"turbopack-build-events","duration":96,"timestamp":408933173657,"id":15,"parentId":1,"tags":{},"startTime":1779216905420,"traceId":"326173a6f9d63365"},{"name":"run-typescript","duration":10754203,"timestamp":408939643875,"id":16,"parentId":1,"tags":{},"startTime":1779216911890,"traceId":"326173a6f9d63365"},{"name":"generate-required-server-files","duration":3033,"timestamp":408950399559,"id":18,"parentId":1,"tags":{},"startTime":1779216922646,"traceId":"326173a6f9d63365"},{"name":"check-static-error-page","duration":16404,"timestamp":408950616057,"id":20,"parentId":19,"tags":{},"startTime":1779216922862,"traceId":"326173a6f9d63365"},{"name":"is-page-static","duration":513986,"timestamp":408950636909,"id":65,"parentId":22,"tags":{},"startTime":1779216922883,"traceId":"326173a6f9d63365"},{"name":"check-page","duration":531042,"timestamp":408950620069,"id":22,"parentId":19,"tags":{"page":"/_global-error"},"startTime":1779216922866,"traceId":"326173a6f9d63365"},{"name":"is-page-static","duration":585368,"timestamp":408950637279,"id":68,"parentId":27,"tags":{},"startTime":1779216922884,"traceId":"326173a6f9d63365"},{"name":"check-page","duration":599115,"timestamp":408950623632,"id":27,"parentId":19,"tags":{"page":"/api/auth/v3"},"startTime":1779216922870,"traceId":"326173a6f9d63365"},{"name":"is-page-static","duration":635755,"timestamp":408950637948,"id":72,"parentId":32,"tags":{},"startTime":1779216922884,"traceId":"326173a6f9d63365"},{"name":"check-page","duration":649308,"timestamp":408950624479,"id":32,"parentId":19,"tags":{"page":"/api/hub/health"},"startTime":1779216922871,"traceId":"326173a6f9d63365"},{"name":"is-page-static","duration":653377,"timestamp":408950637070,"id":66,"parentId":25,"tags":{},"startTime":1779216922883,"traceId":"326173a6f9d63365"},{"name":"check-page","duration":667166,"timestamp":408950623361,"id":25,"parentId":19,"tags":{"page":"/api/auth/login"},"startTime":1779216922870,"traceId":"326173a6f9d63365"},{"name":"is-page-static","duration":653127,"timestamp":408950638130,"id":73,"parentId":33,"tags":{},"startTime":1779216922884,"traceId":"326173a6f9d63365"},{"name":"check-page","duration":666694,"timestamp":408950624622,"id":33,"parentId":19,"tags":{"page":"/api/hub/inbox"},"startTime":1779216922871,"traceId":"326173a6f9d63365"},{"name":"is-page-static","duration":657722,"timestamp":408950638237,"id":75,"parentId":35,"tags":{},"startTime":1779216922885,"traceId":"326173a6f9d63365"},{"name":"check-page","duration":671192,"timestamp":408950624851,"id":35,"parentId":19,"tags":{"page":"/api/hub/messages"},"startTime":1779216922871,"traceId":"326173a6f9d63365"},{"name":"is-page-static","duration":658193,"timestamp":408950638213,"id":74,"parentId":34,"tags":{},"startTime":1779216922884,"traceId":"326173a6f9d63365"},{"name":"check-page","duration":671723,"timestamp":408950624738,"id":34,"parentId":19,"tags":{"page":"/api/hub/license"},"startTime":1779216922871,"traceId":"326173a6f9d63365"},{"name":"is-page-static","duration":665838,"timestamp":408950638256,"id":76,"parentId":36,"tags":{},"startTime":1779216922885,"traceId":"326173a6f9d63365"},{"name":"check-page","duration":678787,"timestamp":408950625367,"id":36,"parentId":19,"tags":{"page":"/api/hub/networks"},"startTime":1779216922872,"traceId":"326173a6f9d63365"},{"name":"is-page-static","duration":667079,"timestamp":408950638299,"id":78,"parentId":38,"tags":{},"startTime":1779216922885,"traceId":"326173a6f9d63365"},{"name":"check-page","duration":679760,"timestamp":408950625683,"id":38,"parentId":19,"tags":{"page":"/api/hub/register"},"startTime":1779216922872,"traceId":"326173a6f9d63365"},{"name":"is-page-static","duration":671473,"timestamp":408950638309,"id":79,"parentId":39,"tags":{},"startTime":1779216922885,"traceId":"326173a6f9d63365"},{"name":"check-page","duration":684043,"timestamp":408950625789,"id":39,"parentId":19,"tags":{"page":"/api/hub/send"},"startTime":1779216922872,"traceId":"326173a6f9d63365"},{"name":"is-page-static","duration":675429,"timestamp":408950638323,"id":80,"parentId":40,"tags":{},"startTime":1779216922885,"traceId":"326173a6f9d63365"},{"name":"check-page","duration":687921,"timestamp":408950625884,"id":40,"parentId":19,"tags":{"page":"/api/hub/server-logs"},"startTime":1779216922872,"traceId":"326173a6f9d63365"},{"name":"is-page-static","duration":686237,"timestamp":408950638351,"id":81,"parentId":42,"tags":{},"startTime":1779216922885,"traceId":"326173a6f9d63365"},{"name":"check-page","duration":698397,"timestamp":408950626261,"id":42,"parentId":19,"tags":{"page":"/api/hub/server/[hostname]/health"},"startTime":1779216922873,"traceId":"326173a6f9d63365"},{"name":"is-page-static","duration":691061,"timestamp":408950638361,"id":82,"parentId":44,"tags":{},"startTime":1779216922885,"traceId":"326173a6f9d63365"},{"name":"check-page","duration":702778,"timestamp":408950626698,"id":44,"parentId":19,"tags":{"page":"/api/hub/session"},"startTime":1779216922873,"traceId":"326173a6f9d63365"},{"name":"is-page-static","duration":695777,"timestamp":408950638376,"id":83,"parentId":45,"tags":{},"startTime":1779216922885,"traceId":"326173a6f9d63365"},{"name":"check-page","duration":707353,"timestamp":408950626847,"id":45,"parentId":19,"tags":{"page":"/api/hub/stats"},"startTime":1779216922873,"traceId":"326173a6f9d63365"},{"name":"is-page-static","duration":702063,"timestamp":408950638282,"id":77,"parentId":37,"tags":{},"startTime":1779216922885,"traceId":"326173a6f9d63365"},{"name":"check-page","duration":714851,"timestamp":408950625543,"id":37,"parentId":19,"tags":{"page":"/api/hub/nodes"},"startTime":1779216922872,"traceId":"326173a6f9d63365"},{"name":"is-page-static","duration":708023,"timestamp":408950637887,"id":71,"parentId":30,"tags":{},"startTime":1779216922884,"traceId":"326173a6f9d63365"},{"name":"check-page","duration":721923,"timestamp":408950624045,"id":30,"parentId":19,"tags":{"page":"/api/hub/broadcast"},"startTime":1779216922870,"traceId":"326173a6f9d63365"},{"name":"is-page-static","duration":708414,"timestamp":408950638391,"id":84,"parentId":46,"tags":{},"startTime":1779216922885,"traceId":"326173a6f9d63365"},{"name":"check-page","duration":719918,"timestamp":408950626953,"id":46,"parentId":19,"tags":{"page":"/api/hub/status"},"startTime":1779216922873,"traceId":"326173a6f9d63365"},{"name":"is-page-static","duration":713270,"timestamp":408950638437,"id":87,"parentId":49,"tags":{},"startTime":1779216922885,"traceId":"326173a6f9d63365"},{"name":"check-page","duration":722936,"timestamp":408950628839,"id":49,"parentId":19,"tags":{"page":"/api/hub/tmux"},"startTime":1779216922875,"traceId":"326173a6f9d63365"},{"name":"is-page-static","duration":713530,"timestamp":408950638420,"id":86,"parentId":48,"tags":{},"startTime":1779216922885,"traceId":"326173a6f9d63365"},{"name":"check-page","duration":723352,"timestamp":408950628642,"id":48,"parentId":19,"tags":{"page":"/api/hub/tasks"},"startTime":1779216922875,"traceId":"326173a6f9d63365"},{"name":"is-page-static","duration":719035,"timestamp":408950638451,"id":88,"parentId":50,"tags":{},"startTime":1779216922885,"traceId":"326173a6f9d63365"},{"name":"check-page","duration":728595,"timestamp":408950628935,"id":50,"parentId":19,"tags":{"page":"/api/hub/tokens"},"startTime":1779216922875,"traceId":"326173a6f9d63365"},{"name":"is-page-static","duration":719232,"timestamp":408950638408,"id":85,"parentId":47,"tags":{},"startTime":1779216922885,"traceId":"326173a6f9d63365"},{"name":"check-page","duration":730569,"timestamp":408950627097,"id":47,"parentId":19,"tags":{"page":"/api/hub/task-events"},"startTime":1779216922873,"traceId":"326173a6f9d63365"},{"name":"is-page-static","duration":714845,"timestamp":408950649976,"id":90,"parentId":24,"tags":{},"startTime":1779216922896,"traceId":"326173a6f9d63365"},{"name":"check-page","duration":744213,"timestamp":408950620652,"id":24,"parentId":19,"tags":{"page":"/api/anet/config"},"startTime":1779216922867,"traceId":"326173a6f9d63365"},{"name":"is-page-static","duration":694860,"timestamp":408950671409,"id":91,"parentId":31,"tags":{},"startTime":1779216922918,"traceId":"326173a6f9d63365"},{"name":"check-page","duration":742132,"timestamp":408950624184,"id":31,"parentId":19,"tags":{"page":"/api/hub/events"},"startTime":1779216922870,"traceId":"326173a6f9d63365"},{"name":"is-page-static","duration":695935,"timestamp":408950672511,"id":92,"parentId":41,"tags":{},"startTime":1779216922919,"traceId":"326173a6f9d63365"},{"name":"check-page","duration":742509,"timestamp":408950625981,"id":41,"parentId":19,"tags":{"page":"/api/hub/server/[hostname]/agents"},"startTime":1779216922872,"traceId":"326173a6f9d63365"},{"name":"is-page-static","duration":731011,"timestamp":408950638461,"id":89,"parentId":51,"tags":{},"startTime":1779216922885,"traceId":"326173a6f9d63365"},{"name":"check-page","duration":740469,"timestamp":408950629047,"id":51,"parentId":19,"tags":{"page":"/favicon.ico"},"startTime":1779216922875,"traceId":"326173a6f9d63365"},{"name":"is-page-static","duration":700193,"timestamp":408950673869,"id":93,"parentId":43,"tags":{},"startTime":1779216922920,"traceId":"326173a6f9d63365"},{"name":"check-page","duration":747685,"timestamp":408950626420,"id":43,"parentId":19,"tags":{"page":"/api/hub/servers"},"startTime":1779216922873,"traceId":"326173a6f9d63365"},{"name":"is-page-static","duration":750211,"timestamp":408950637397,"id":69,"parentId":28,"tags":{},"startTime":1779216922884,"traceId":"326173a6f9d63365"},{"name":"check-page","duration":763904,"timestamp":408950623756,"id":28,"parentId":19,"tags":{"page":"/api/hub/audit-log"},"startTime":1779216922870,"traceId":"326173a6f9d63365"},{"name":"is-page-static","duration":759538,"timestamp":408950637697,"id":70,"parentId":29,"tags":{},"startTime":1779216922884,"traceId":"326173a6f9d63365"},{"name":"check-page","duration":773411,"timestamp":408950623883,"id":29,"parentId":19,"tags":{"page":"/api/hub/auth"},"startTime":1779216922870,"traceId":"326173a6f9d63365"},{"name":"is-page-static","duration":719923,"timestamp":408950706502,"id":96,"parentId":53,"tags":{},"startTime":1779216922953,"traceId":"326173a6f9d63365"},{"name":"check-page","duration":796886,"timestamp":408950629617,"id":53,"parentId":19,"tags":{"page":"/logs"},"startTime":1779216922876,"traceId":"326173a6f9d63365"},{"name":"is-page-static","duration":793032,"timestamp":408950636497,"id":64,"parentId":21,"tags":{},"startTime":1779216922883,"traceId":"326173a6f9d63365"},{"name":"check-page","duration":811062,"timestamp":408950618526,"id":21,"parentId":19,"tags":{"page":"/_not-found"},"startTime":1779216922865,"traceId":"326173a6f9d63365"},{"name":"is-page-static","duration":727179,"timestamp":408950706488,"id":95,"parentId":52,"tags":{},"startTime":1779216922953,"traceId":"326173a6f9d63365"},{"name":"check-page","duration":804268,"timestamp":408950629455,"id":52,"parentId":19,"tags":{"page":"/login"},"startTime":1779216922876,"traceId":"326173a6f9d63365"},{"name":"is-page-static","duration":728664,"timestamp":408950706539,"id":99,"parentId":56,"tags":{},"startTime":1779216922953,"traceId":"326173a6f9d63365"},{"name":"check-page","duration":805034,"timestamp":408950630215,"id":56,"parentId":19,"tags":{"page":"/nodes"},"startTime":1779216922876,"traceId":"326173a6f9d63365"},{"name":"is-page-static","duration":735522,"timestamp":408950706671,"id":101,"parentId":59,"tags":{},"startTime":1779216922953,"traceId":"326173a6f9d63365"},{"name":"check-page","duration":811001,"timestamp":408950631268,"id":59,"parentId":19,"tags":{"page":"/settings/networks"},"startTime":1779216922878,"traceId":"326173a6f9d63365"},{"name":"is-page-static","duration":738987,"timestamp":408950706551,"id":100,"parentId":58,"tags":{},"startTime":1779216922953,"traceId":"326173a6f9d63365"},{"name":"check-page","duration":814526,"timestamp":408950631055,"id":58,"parentId":19,"tags":{"page":"/server-logs"},"startTime":1779216922877,"traceId":"326173a6f9d63365"},{"name":"is-page-static","duration":743708,"timestamp":408950706438,"id":94,"parentId":23,"tags":{},"startTime":1779216922953,"traceId":"326173a6f9d63365"},{"name":"check-page","duration":829805,"timestamp":408950620387,"id":23,"parentId":19,"tags":{"page":"/admin"},"startTime":1779216922867,"traceId":"326173a6f9d63365"},{"name":"is-page-static","duration":813336,"timestamp":408950637176,"id":67,"parentId":26,"tags":{},"startTime":1779216922883,"traceId":"326173a6f9d63365"},{"name":"check-page","duration":827049,"timestamp":408950623510,"id":26,"parentId":19,"tags":{"page":"/api/auth/logout"},"startTime":1779216922870,"traceId":"326173a6f9d63365"},{"name":"is-page-static","duration":748395,"timestamp":408950706685,"id":102,"parentId":61,"tags":{},"startTime":1779216922953,"traceId":"326173a6f9d63365"},{"name":"check-page","duration":823243,"timestamp":408950631889,"id":61,"parentId":19,"tags":{"page":"/settings/tokens"},"startTime":1779216922878,"traceId":"326173a6f9d63365"},{"name":"is-page-static","duration":752045,"timestamp":408950706698,"id":103,"parentId":62,"tags":{},"startTime":1779216922953,"traceId":"326173a6f9d63365"},{"name":"check-page","duration":826737,"timestamp":408950632056,"id":62,"parentId":19,"tags":{"page":"/tasks/[id]"},"startTime":1779216922878,"traceId":"326173a6f9d63365"},{"name":"is-page-static","duration":752627,"timestamp":408950706724,"id":105,"parentId":60,"tags":{},"startTime":1779216922953,"traceId":"326173a6f9d63365"},{"name":"check-page","duration":827935,"timestamp":408950631460,"id":60,"parentId":19,"tags":{"page":"/settings"},"startTime":1779216922878,"traceId":"326173a6f9d63365"},{"name":"is-page-static","duration":764430,"timestamp":408950706710,"id":104,"parentId":63,"tags":{},"startTime":1779216922953,"traceId":"326173a6f9d63365"},{"name":"check-page","duration":838991,"timestamp":408950632204,"id":63,"parentId":19,"tags":{"page":"/tasks"},"startTime":1779216922878,"traceId":"326173a6f9d63365"},{"name":"is-page-static","duration":788570,"timestamp":408950706529,"id":98,"parentId":55,"tags":{},"startTime":1779216922953,"traceId":"326173a6f9d63365"},{"name":"check-page","duration":865181,"timestamp":408950629983,"id":55,"parentId":19,"tags":{"page":"/node"},"startTime":1779216922876,"traceId":"326173a6f9d63365"},{"name":"is-page-static","duration":799046,"timestamp":408950706516,"id":97,"parentId":54,"tags":{},"startTime":1779216922953,"traceId":"326173a6f9d63365"},{"name":"check-page","duration":875862,"timestamp":408950629768,"id":54,"parentId":19,"tags":{"page":"/messages"},"startTime":1779216922876,"traceId":"326173a6f9d63365"},{"name":"is-page-static","duration":812341,"timestamp":408950726788,"id":106,"parentId":57,"tags":{},"startTime":1779216922973,"traceId":"326173a6f9d63365"},{"name":"check-page","duration":908741,"timestamp":408950630468,"id":57,"parentId":19,"tags":{"page":"/"},"startTime":1779216922877,"traceId":"326173a6f9d63365"},{"name":"static-check","duration":924457,"timestamp":408950614809,"id":19,"parentId":1,"tags":{},"startTime":1779216922861,"traceId":"326173a6f9d63365"}]
2
- [{"name":"write-routes-manifest","duration":519,"timestamp":408951549728,"id":108,"parentId":1,"tags":{},"startTime":1779216923796,"traceId":"326173a6f9d63365"},{"name":"load-dotenv","duration":51,"timestamp":408951560818,"id":111,"parentId":110,"tags":{},"startTime":1779216923807,"traceId":"326173a6f9d63365"},{"name":"run-export-path-map","duration":659,"timestamp":408951563742,"id":112,"parentId":110,"tags":{},"startTime":1779216923810,"traceId":"326173a6f9d63365"},{"name":"next-export","duration":629042,"timestamp":408951559540,"id":110,"parentId":1,"tags":{},"startTime":1779216923806,"traceId":"326173a6f9d63365"},{"name":"move-exported-app-not-found-","duration":553,"timestamp":408952191779,"id":113,"parentId":109,"tags":{},"startTime":1779216924438,"traceId":"326173a6f9d63365"},{"name":"move-exported-app-global-error-","duration":457,"timestamp":408952192473,"id":114,"parentId":109,"tags":{},"startTime":1779216924439,"traceId":"326173a6f9d63365"},{"name":"static-generation","duration":640652,"timestamp":408951554050,"id":109,"parentId":1,"tags":{},"startTime":1779216923800,"traceId":"326173a6f9d63365"},{"name":"write-routes-manifest","duration":450,"timestamp":408952194939,"id":115,"parentId":1,"tags":{},"startTime":1779216924441,"traceId":"326173a6f9d63365"},{"name":"print-tree-view","duration":5006,"timestamp":408952207547,"id":116,"parentId":1,"tags":{},"startTime":1779216924454,"traceId":"326173a6f9d63365"},{"name":"write-route-bundle-stats","duration":19821,"timestamp":408952212599,"id":117,"parentId":1,"tags":{},"startTime":1779216924459,"traceId":"326173a6f9d63365"},{"name":"telemetry-flush","duration":47535,"timestamp":408952232456,"id":118,"parentId":1,"tags":{},"startTime":1779216924479,"traceId":"326173a6f9d63365"},{"name":"next-build","duration":19658361,"timestamp":408932621687,"id":1,"tags":{"buildMode":"default","version":"16.2.3","bundler":"turbopack","has-custom-webpack-config":"false","use-build-worker":"true"},"startTime":1779216904868,"traceId":"326173a6f9d63365"}]
1
+ [{"name":"generate-buildid","duration":342,"timestamp":410020346950,"id":4,"parentId":1,"tags":{},"startTime":1779217992593,"traceId":"7d784225e6fe825f"},{"name":"load-custom-routes","duration":458,"timestamp":410020347456,"id":5,"parentId":1,"tags":{},"startTime":1779217992594,"traceId":"7d784225e6fe825f"},{"name":"create-dist-dir","duration":955,"timestamp":410020347975,"id":6,"parentId":1,"tags":{},"startTime":1779217992594,"traceId":"7d784225e6fe825f"},{"name":"clean","duration":32385,"timestamp":410020349705,"id":7,"parentId":1,"tags":{},"startTime":1779217992596,"traceId":"7d784225e6fe825f"},{"name":"discover-routes","duration":10069,"timestamp":410020462592,"id":8,"parentId":1,"tags":{},"startTime":1779217992709,"traceId":"7d784225e6fe825f"},{"name":"create-root-mapping","duration":107,"timestamp":410020472722,"id":9,"parentId":1,"tags":{},"startTime":1779217992719,"traceId":"7d784225e6fe825f"},{"name":"generate-route-types","duration":33130,"timestamp":410020475346,"id":10,"parentId":1,"tags":{},"startTime":1779217992722,"traceId":"7d784225e6fe825f"},{"name":"public-dir-conflict-check","duration":112,"timestamp":410020508572,"id":11,"parentId":1,"tags":{},"startTime":1779217992755,"traceId":"7d784225e6fe825f"},{"name":"generate-routes-manifest","duration":5320,"timestamp":410020508797,"id":12,"parentId":1,"tags":{},"startTime":1779217992755,"traceId":"7d784225e6fe825f"},{"name":"run-turbopack","duration":6324612,"timestamp":410020519416,"id":14,"parentId":1,"tags":{},"startTime":1779217992766,"traceId":"7d784225e6fe825f"},{"name":"turbopack-build-events","duration":103,"timestamp":410020823164,"id":15,"parentId":1,"tags":{},"startTime":1779217993069,"traceId":"7d784225e6fe825f"},{"name":"run-typescript","duration":10079511,"timestamp":410026855222,"id":16,"parentId":1,"tags":{},"startTime":1779217999102,"traceId":"7d784225e6fe825f"},{"name":"generate-required-server-files","duration":2429,"timestamp":410036936306,"id":18,"parentId":1,"tags":{},"startTime":1779218009183,"traceId":"7d784225e6fe825f"},{"name":"check-static-error-page","duration":16274,"timestamp":410037185358,"id":20,"parentId":19,"tags":{},"startTime":1779218009432,"traceId":"7d784225e6fe825f"},{"name":"is-page-static","duration":484045,"timestamp":410037204907,"id":65,"parentId":22,"tags":{},"startTime":1779218009451,"traceId":"7d784225e6fe825f"},{"name":"check-page","duration":500340,"timestamp":410037188799,"id":22,"parentId":19,"tags":{"page":"/_global-error"},"startTime":1779218009435,"traceId":"7d784225e6fe825f"},{"name":"is-page-static","duration":557870,"timestamp":410037205421,"id":69,"parentId":28,"tags":{},"startTime":1779218009452,"traceId":"7d784225e6fe825f"},{"name":"check-page","duration":570654,"timestamp":410037192766,"id":28,"parentId":19,"tags":{"page":"/api/hub/audit-log"},"startTime":1779218009439,"traceId":"7d784225e6fe825f"},{"name":"is-page-static","duration":562261,"timestamp":410037205280,"id":68,"parentId":27,"tags":{},"startTime":1779218009452,"traceId":"7d784225e6fe825f"},{"name":"check-page","duration":575006,"timestamp":410037192612,"id":27,"parentId":19,"tags":{"page":"/api/auth/v3"},"startTime":1779218009439,"traceId":"7d784225e6fe825f"},{"name":"is-page-static","duration":566220,"timestamp":410037205982,"id":72,"parentId":32,"tags":{},"startTime":1779218009452,"traceId":"7d784225e6fe825f"},{"name":"check-page","duration":578611,"timestamp":410037193651,"id":32,"parentId":19,"tags":{"page":"/api/hub/health"},"startTime":1779218009440,"traceId":"7d784225e6fe825f"},{"name":"is-page-static","duration":569486,"timestamp":410037206192,"id":73,"parentId":33,"tags":{},"startTime":1779218009452,"traceId":"7d784225e6fe825f"},{"name":"check-page","duration":581910,"timestamp":410037193820,"id":33,"parentId":19,"tags":{"page":"/api/hub/inbox"},"startTime":1779218009440,"traceId":"7d784225e6fe825f"},{"name":"is-page-static","duration":577160,"timestamp":410037205727,"id":70,"parentId":29,"tags":{},"startTime":1779218009452,"traceId":"7d784225e6fe825f"},{"name":"check-page","duration":590020,"timestamp":410037192924,"id":29,"parentId":19,"tags":{"page":"/api/hub/auth"},"startTime":1779218009439,"traceId":"7d784225e6fe825f"},{"name":"is-page-static","duration":583637,"timestamp":410037205164,"id":67,"parentId":26,"tags":{},"startTime":1779218009451,"traceId":"7d784225e6fe825f"},{"name":"check-page","duration":596394,"timestamp":410037192464,"id":26,"parentId":19,"tags":{"page":"/api/auth/logout"},"startTime":1779218009439,"traceId":"7d784225e6fe825f"},{"name":"is-page-static","duration":595700,"timestamp":410037204598,"id":64,"parentId":21,"tags":{},"startTime":1779218009451,"traceId":"7d784225e6fe825f"},{"name":"check-page","duration":613259,"timestamp":410037187104,"id":21,"parentId":19,"tags":{"page":"/_not-found"},"startTime":1779218009433,"traceId":"7d784225e6fe825f"},{"name":"is-page-static","duration":594419,"timestamp":410037206383,"id":77,"parentId":37,"tags":{},"startTime":1779218009453,"traceId":"7d784225e6fe825f"},{"name":"check-page","duration":606067,"timestamp":410037194930,"id":37,"parentId":19,"tags":{"page":"/api/hub/nodes"},"startTime":1779218009441,"traceId":"7d784225e6fe825f"},{"name":"is-page-static","duration":595417,"timestamp":410037206347,"id":76,"parentId":36,"tags":{},"startTime":1779218009453,"traceId":"7d784225e6fe825f"},{"name":"check-page","duration":607094,"timestamp":410037194718,"id":36,"parentId":19,"tags":{"page":"/api/hub/networks"},"startTime":1779218009441,"traceId":"7d784225e6fe825f"},{"name":"is-page-static","duration":599888,"timestamp":410037206310,"id":75,"parentId":35,"tags":{},"startTime":1779218009453,"traceId":"7d784225e6fe825f"},{"name":"check-page","duration":612087,"timestamp":410037194152,"id":35,"parentId":19,"tags":{"page":"/api/hub/messages"},"startTime":1779218009440,"traceId":"7d784225e6fe825f"},{"name":"is-page-static","duration":601489,"timestamp":410037205032,"id":66,"parentId":25,"tags":{},"startTime":1779218009451,"traceId":"7d784225e6fe825f"},{"name":"check-page","duration":614289,"timestamp":410037192265,"id":25,"parentId":19,"tags":{"page":"/api/auth/login"},"startTime":1779218009439,"traceId":"7d784225e6fe825f"},{"name":"is-page-static","duration":604956,"timestamp":410037206278,"id":74,"parentId":34,"tags":{},"startTime":1779218009453,"traceId":"7d784225e6fe825f"},{"name":"check-page","duration":617307,"timestamp":410037193972,"id":34,"parentId":19,"tags":{"page":"/api/hub/license"},"startTime":1779218009440,"traceId":"7d784225e6fe825f"},{"name":"is-page-static","duration":608179,"timestamp":410037206431,"id":80,"parentId":40,"tags":{},"startTime":1779218009453,"traceId":"7d784225e6fe825f"},{"name":"check-page","duration":619227,"timestamp":410037195426,"id":40,"parentId":19,"tags":{"page":"/api/hub/server-logs"},"startTime":1779218009442,"traceId":"7d784225e6fe825f"},{"name":"is-page-static","duration":613345,"timestamp":410037206443,"id":81,"parentId":42,"tags":{},"startTime":1779218009453,"traceId":"7d784225e6fe825f"},{"name":"check-page","duration":623995,"timestamp":410037195848,"id":42,"parentId":19,"tags":{"page":"/api/hub/server/[hostname]/health"},"startTime":1779218009442,"traceId":"7d784225e6fe825f"},{"name":"is-page-static","duration":620124,"timestamp":410037206478,"id":83,"parentId":45,"tags":{},"startTime":1779218009453,"traceId":"7d784225e6fe825f"},{"name":"check-page","duration":630085,"timestamp":410037196565,"id":45,"parentId":19,"tags":{"page":"/api/hub/stats"},"startTime":1779218009443,"traceId":"7d784225e6fe825f"},{"name":"is-page-static","duration":624350,"timestamp":410037205907,"id":71,"parentId":30,"tags":{},"startTime":1779218009452,"traceId":"7d784225e6fe825f"},{"name":"check-page","duration":637186,"timestamp":410037193128,"id":30,"parentId":19,"tags":{"page":"/api/hub/broadcast"},"startTime":1779218009439,"traceId":"7d784225e6fe825f"},{"name":"is-page-static","duration":630553,"timestamp":410037206524,"id":86,"parentId":48,"tags":{},"startTime":1779218009453,"traceId":"7d784225e6fe825f"},{"name":"check-page","duration":638250,"timestamp":410037198889,"id":48,"parentId":19,"tags":{"page":"/api/hub/tasks"},"startTime":1779218009445,"traceId":"7d784225e6fe825f"},{"name":"is-page-static","duration":630805,"timestamp":410037206508,"id":85,"parentId":47,"tags":{},"startTime":1779218009453,"traceId":"7d784225e6fe825f"},{"name":"check-page","duration":638625,"timestamp":410037198738,"id":47,"parentId":19,"tags":{"page":"/api/hub/task-events"},"startTime":1779218009445,"traceId":"7d784225e6fe825f"},{"name":"is-page-static","duration":631052,"timestamp":410037206462,"id":82,"parentId":44,"tags":{},"startTime":1779218009453,"traceId":"7d784225e6fe825f"},{"name":"check-page","duration":641144,"timestamp":410037196400,"id":44,"parentId":19,"tags":{"page":"/api/hub/session"},"startTime":1779218009443,"traceId":"7d784225e6fe825f"},{"name":"is-page-static","duration":631978,"timestamp":410037206551,"id":88,"parentId":50,"tags":{},"startTime":1779218009453,"traceId":"7d784225e6fe825f"},{"name":"check-page","duration":639450,"timestamp":410037199123,"id":50,"parentId":19,"tags":{"page":"/api/hub/tokens"},"startTime":1779218009445,"traceId":"7d784225e6fe825f"},{"name":"is-page-static","duration":634654,"timestamp":410037206567,"id":89,"parentId":51,"tags":{},"startTime":1779218009453,"traceId":"7d784225e6fe825f"},{"name":"check-page","duration":642075,"timestamp":410037199188,"id":51,"parentId":19,"tags":{"page":"/favicon.ico"},"startTime":1779218009445,"traceId":"7d784225e6fe825f"},{"name":"is-page-static","duration":630551,"timestamp":410037212737,"id":91,"parentId":31,"tags":{},"startTime":1779218009459,"traceId":"7d784225e6fe825f"},{"name":"check-page","duration":650056,"timestamp":410037193292,"id":31,"parentId":19,"tags":{"page":"/api/hub/events"},"startTime":1779218009440,"traceId":"7d784225e6fe825f"},{"name":"is-page-static","duration":632749,"timestamp":410037213635,"id":92,"parentId":41,"tags":{},"startTime":1779218009460,"traceId":"7d784225e6fe825f"},{"name":"check-page","duration":650876,"timestamp":410037195551,"id":41,"parentId":19,"tags":{"page":"/api/hub/server/[hostname]/agents"},"startTime":1779218009442,"traceId":"7d784225e6fe825f"},{"name":"is-page-static","duration":632395,"timestamp":410037215359,"id":93,"parentId":43,"tags":{},"startTime":1779218009462,"traceId":"7d784225e6fe825f"},{"name":"check-page","duration":651742,"timestamp":410037196054,"id":43,"parentId":19,"tags":{"page":"/api/hub/servers"},"startTime":1779218009442,"traceId":"7d784225e6fe825f"},{"name":"is-page-static","duration":641437,"timestamp":410037206539,"id":87,"parentId":49,"tags":{},"startTime":1779218009453,"traceId":"7d784225e6fe825f"},{"name":"check-page","duration":648991,"timestamp":410037199041,"id":49,"parentId":19,"tags":{"page":"/api/hub/tmux"},"startTime":1779218009445,"traceId":"7d784225e6fe825f"},{"name":"is-page-static","duration":641690,"timestamp":410037206496,"id":84,"parentId":46,"tags":{},"startTime":1779218009453,"traceId":"7d784225e6fe825f"},{"name":"check-page","duration":651530,"timestamp":410037196689,"id":46,"parentId":19,"tags":{"page":"/api/hub/status"},"startTime":1779218009443,"traceId":"7d784225e6fe825f"},{"name":"is-page-static","duration":644250,"timestamp":410037211546,"id":90,"parentId":24,"tags":{},"startTime":1779218009458,"traceId":"7d784225e6fe825f"},{"name":"check-page","duration":666370,"timestamp":410037189473,"id":24,"parentId":19,"tags":{"page":"/api/anet/config"},"startTime":1779218009436,"traceId":"7d784225e6fe825f"},{"name":"is-page-static","duration":659339,"timestamp":410037206415,"id":79,"parentId":39,"tags":{},"startTime":1779218009453,"traceId":"7d784225e6fe825f"},{"name":"check-page","duration":670524,"timestamp":410037195280,"id":39,"parentId":19,"tags":{"page":"/api/hub/send"},"startTime":1779218009442,"traceId":"7d784225e6fe825f"},{"name":"is-page-static","duration":671877,"timestamp":410037206399,"id":78,"parentId":38,"tags":{},"startTime":1779218009453,"traceId":"7d784225e6fe825f"},{"name":"check-page","duration":683191,"timestamp":410037195138,"id":38,"parentId":19,"tags":{"page":"/api/hub/register"},"startTime":1779218009441,"traceId":"7d784225e6fe825f"},{"name":"is-page-static","duration":679633,"timestamp":410037217841,"id":100,"parentId":58,"tags":{},"startTime":1779218009464,"traceId":"7d784225e6fe825f"},{"name":"check-page","duration":696911,"timestamp":410037200627,"id":58,"parentId":19,"tags":{"page":"/server-logs"},"startTime":1779218009447,"traceId":"7d784225e6fe825f"},{"name":"is-page-static","duration":687518,"timestamp":410037217977,"id":101,"parentId":59,"tags":{},"startTime":1779218009464,"traceId":"7d784225e6fe825f"},{"name":"check-page","duration":704765,"timestamp":410037200790,"id":59,"parentId":19,"tags":{"page":"/settings/networks"},"startTime":1779218009447,"traceId":"7d784225e6fe825f"},{"name":"is-page-static","duration":687998,"timestamp":410037217737,"id":94,"parentId":23,"tags":{},"startTime":1779218009464,"traceId":"7d784225e6fe825f"},{"name":"check-page","duration":716641,"timestamp":410037189153,"id":23,"parentId":19,"tags":{"page":"/admin"},"startTime":1779218009435,"traceId":"7d784225e6fe825f"},{"name":"is-page-static","duration":689672,"timestamp":410037217799,"id":97,"parentId":54,"tags":{},"startTime":1779218009464,"traceId":"7d784225e6fe825f"},{"name":"check-page","duration":707813,"timestamp":410037199698,"id":54,"parentId":19,"tags":{"page":"/messages"},"startTime":1779218009446,"traceId":"7d784225e6fe825f"},{"name":"is-page-static","duration":690159,"timestamp":410037217769,"id":95,"parentId":52,"tags":{},"startTime":1779218009464,"traceId":"7d784225e6fe825f"},{"name":"check-page","duration":708486,"timestamp":410037199487,"id":52,"parentId":19,"tags":{"page":"/login"},"startTime":1779218009446,"traceId":"7d784225e6fe825f"},{"name":"is-page-static","duration":694608,"timestamp":410037218049,"id":104,"parentId":63,"tags":{},"startTime":1779218009464,"traceId":"7d784225e6fe825f"},{"name":"check-page","duration":711238,"timestamp":410037201461,"id":63,"parentId":19,"tags":{"page":"/tasks"},"startTime":1779218009448,"traceId":"7d784225e6fe825f"},{"name":"is-page-static","duration":694903,"timestamp":410037218020,"id":102,"parentId":61,"tags":{},"startTime":1779218009464,"traceId":"7d784225e6fe825f"},{"name":"check-page","duration":711726,"timestamp":410037201240,"id":61,"parentId":19,"tags":{"page":"/settings/tokens"},"startTime":1779218009448,"traceId":"7d784225e6fe825f"},{"name":"is-page-static","duration":697031,"timestamp":410037218032,"id":103,"parentId":62,"tags":{},"startTime":1779218009464,"traceId":"7d784225e6fe825f"},{"name":"check-page","duration":713737,"timestamp":410037201357,"id":62,"parentId":19,"tags":{"page":"/tasks/[id]"},"startTime":1779218009448,"traceId":"7d784225e6fe825f"},{"name":"is-page-static","duration":688833,"timestamp":410037227758,"id":105,"parentId":60,"tags":{},"startTime":1779218009474,"traceId":"7d784225e6fe825f"},{"name":"check-page","duration":715710,"timestamp":410037200914,"id":60,"parentId":19,"tags":{"page":"/settings"},"startTime":1779218009447,"traceId":"7d784225e6fe825f"},{"name":"is-page-static","duration":699324,"timestamp":410037217814,"id":98,"parentId":55,"tags":{},"startTime":1779218009464,"traceId":"7d784225e6fe825f"},{"name":"check-page","duration":717331,"timestamp":410037199836,"id":55,"parentId":19,"tags":{"page":"/node"},"startTime":1779218009446,"traceId":"7d784225e6fe825f"},{"name":"is-page-static","duration":678744,"timestamp":410037240694,"id":106,"parentId":57,"tags":{},"startTime":1779218009487,"traceId":"7d784225e6fe825f"},{"name":"check-page","duration":719291,"timestamp":410037200175,"id":57,"parentId":19,"tags":{"page":"/"},"startTime":1779218009446,"traceId":"7d784225e6fe825f"},{"name":"is-page-static","duration":706888,"timestamp":410037217829,"id":99,"parentId":56,"tags":{},"startTime":1779218009464,"traceId":"7d784225e6fe825f"},{"name":"check-page","duration":724781,"timestamp":410037199978,"id":56,"parentId":19,"tags":{"page":"/nodes"},"startTime":1779218009446,"traceId":"7d784225e6fe825f"},{"name":"is-page-static","duration":715271,"timestamp":410037217782,"id":96,"parentId":53,"tags":{},"startTime":1779218009464,"traceId":"7d784225e6fe825f"},{"name":"check-page","duration":733503,"timestamp":410037199593,"id":53,"parentId":19,"tags":{"page":"/logs"},"startTime":1779218009446,"traceId":"7d784225e6fe825f"},{"name":"static-check","duration":749024,"timestamp":410037184113,"id":19,"parentId":1,"tags":{},"startTime":1779218009430,"traceId":"7d784225e6fe825f"}]
2
+ [{"name":"write-routes-manifest","duration":521,"timestamp":410037943668,"id":108,"parentId":1,"tags":{},"startTime":1779218010190,"traceId":"7d784225e6fe825f"},{"name":"load-dotenv","duration":70,"timestamp":410037957232,"id":111,"parentId":110,"tags":{},"startTime":1779218010204,"traceId":"7d784225e6fe825f"},{"name":"run-export-path-map","duration":892,"timestamp":410037960323,"id":112,"parentId":110,"tags":{},"startTime":1779218010207,"traceId":"7d784225e6fe825f"},{"name":"next-export","duration":641473,"timestamp":410037955417,"id":110,"parentId":1,"tags":{},"startTime":1779218010202,"traceId":"7d784225e6fe825f"},{"name":"move-exported-app-not-found-","duration":506,"timestamp":410038600179,"id":113,"parentId":109,"tags":{},"startTime":1779218010846,"traceId":"7d784225e6fe825f"},{"name":"move-exported-app-global-error-","duration":419,"timestamp":410038600774,"id":114,"parentId":109,"tags":{},"startTime":1779218010847,"traceId":"7d784225e6fe825f"},{"name":"static-generation","duration":654604,"timestamp":410037948577,"id":109,"parentId":1,"tags":{},"startTime":1779218010195,"traceId":"7d784225e6fe825f"},{"name":"write-routes-manifest","duration":571,"timestamp":410038603574,"id":115,"parentId":1,"tags":{},"startTime":1779218010850,"traceId":"7d784225e6fe825f"},{"name":"print-tree-view","duration":4225,"timestamp":410038624053,"id":116,"parentId":1,"tags":{},"startTime":1779218010870,"traceId":"7d784225e6fe825f"},{"name":"write-route-bundle-stats","duration":12787,"timestamp":410038628307,"id":117,"parentId":1,"tags":{},"startTime":1779218010875,"traceId":"7d784225e6fe825f"},{"name":"telemetry-flush","duration":21527,"timestamp":410038641125,"id":118,"parentId":1,"tags":{},"startTime":1779218010887,"traceId":"7d784225e6fe825f"},{"name":"next-build","duration":18371415,"timestamp":410020291280,"id":1,"tags":{"buildMode":"default","version":"16.2.3","bundler":"turbopack","has-custom-webpack-config":"false","use-build-worker":"true"},"startTime":1779217992538,"traceId":"7d784225e6fe825f"}]
package/.next/trace-build CHANGED
@@ -1 +1 @@
1
- [{"name":"run-turbopack","duration":6754296,"timestamp":408932863332,"id":14,"parentId":1,"tags":{},"startTime":1779216905110,"traceId":"326173a6f9d63365"},{"name":"turbopack-build-events","duration":96,"timestamp":408933173657,"id":15,"parentId":1,"tags":{},"startTime":1779216905420,"traceId":"326173a6f9d63365"},{"name":"run-typescript","duration":10754203,"timestamp":408939643875,"id":16,"parentId":1,"tags":{},"startTime":1779216911890,"traceId":"326173a6f9d63365"},{"name":"static-check","duration":924457,"timestamp":408950614809,"id":19,"parentId":1,"tags":{},"startTime":1779216922861,"traceId":"326173a6f9d63365"},{"name":"static-generation","duration":640652,"timestamp":408951554050,"id":109,"parentId":1,"tags":{},"startTime":1779216923800,"traceId":"326173a6f9d63365"},{"name":"telemetry-flush","duration":47535,"timestamp":408952232456,"id":118,"parentId":1,"tags":{},"startTime":1779216924479,"traceId":"326173a6f9d63365"},{"name":"next-build","duration":19658361,"timestamp":408932621687,"id":1,"tags":{"buildMode":"default","version":"16.2.3","bundler":"turbopack","has-custom-webpack-config":"false","use-build-worker":"true"},"startTime":1779216904868,"traceId":"326173a6f9d63365"}]
1
+ [{"name":"run-turbopack","duration":6324612,"timestamp":410020519416,"id":14,"parentId":1,"tags":{},"startTime":1779217992766,"traceId":"7d784225e6fe825f"},{"name":"turbopack-build-events","duration":103,"timestamp":410020823164,"id":15,"parentId":1,"tags":{},"startTime":1779217993069,"traceId":"7d784225e6fe825f"},{"name":"run-typescript","duration":10079511,"timestamp":410026855222,"id":16,"parentId":1,"tags":{},"startTime":1779217999102,"traceId":"7d784225e6fe825f"},{"name":"static-check","duration":749024,"timestamp":410037184113,"id":19,"parentId":1,"tags":{},"startTime":1779218009430,"traceId":"7d784225e6fe825f"},{"name":"static-generation","duration":654604,"timestamp":410037948577,"id":109,"parentId":1,"tags":{},"startTime":1779218010195,"traceId":"7d784225e6fe825f"},{"name":"telemetry-flush","duration":21527,"timestamp":410038641125,"id":118,"parentId":1,"tags":{},"startTime":1779218010887,"traceId":"7d784225e6fe825f"},{"name":"next-build","duration":18371415,"timestamp":410020291280,"id":1,"tags":{"buildMode":"default","version":"16.2.3","bundler":"turbopack","has-custom-webpack-config":"false","use-build-worker":"true"},"startTime":1779217992538,"traceId":"7d784225e6fe825f"}]
@@ -4881,7 +4881,9 @@ export function TopoGraph({ sessions, sseSessions, renameSignal }: TopoGraphProp
4881
4881
  "15": ["watermark wrapper envelope"],
4882
4882
  "17": ["Layout wrapper"],
4883
4883
  "19": ["nodeSize wrapper"],
4884
+ "21": ["reset button"],
4884
4885
  "23": ["zoom wrapper"],
4886
+ "25": ["fullscreen button"],
4885
4887
  })}
4886
4888
  /* Round 716 / Loop — companion to R710 rolodex catalog: surface
4887
4889
  the 5 DUAL-AXIS surfaces (R711/R712/R713×2/R714/R715) as a
@@ -4966,7 +4968,7 @@ export function TopoGraph({ sessions, sseSessions, renameSignal }: TopoGraphProp
4966
4968
  data-topo-respiratory-patterns={JSON.stringify([
4967
4969
  { name: "title-block", cadences: [5, 6, 10, 11], anchors: ["brand logo", "kicker", "H2 section title", "title-block envelope"], shape: "trio-with-envelope" },
4968
4970
  { name: "panel-pair", cadences: [8], anchors: ["recent title", "legend title"], shape: "parity" },
4969
- { name: "chrome-strip", cadences: [9, 17, 19, 23], anchors: ["zoom-level readout", "Layout wrapper", "nodeSize wrapper", "zoom wrapper"], shape: "tiered-with-trio" },
4971
+ { name: "chrome-strip", cadences: [9, 17, 19, 21, 23, 25], anchors: ["zoom-level readout", "Layout wrapper", "nodeSize wrapper", "reset button", "zoom wrapper", "fullscreen button"], shape: "tiered-with-quintet" },
4970
4972
  { name: "canvas-brand-pair", cadences: [6, 7, 13, 15], anchors: ["watermark text", "crescent inner", "crescent wrapper envelope", "watermark wrapper envelope"], shape: "coprime-nested-pair" },
4971
4973
  { name: "background", cadences: [3, 4], anchors: ["row hot", "hub idle"], shape: "baseline-pair" },
4972
4974
  ])}
@@ -17024,8 +17026,18 @@ export function TopoGraph({ sessions, sseSessions, renameSignal }: TopoGraphProp
17024
17026
  // active state during press = hover-lift (-1px) + scale-95
17025
17027
  // composes as translateY(-1px) scale(0.95) — lift-and-compress
17026
17028
  // for tactile click feel.
17027
- className="p-1.5 rounded-md border hover:bg-white/5 active:bg-white/10 hover:-translate-y-px active:scale-95 transform-gpu focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-cyan-400/60"
17029
+ className="anet-topo-chrome-reset-breath p-1.5 rounded-md border hover:bg-white/5 active:bg-white/10 hover:-translate-y-px active:scale-95 transform-gpu focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-cyan-400/60"
17028
17030
  data-topo-chrome-reset-hover-lift="true"
17031
+ /* Round 718 / Loop — reset button joins the respiratory
17032
+ family at 21 s as the 5th anchor on the chrome-strip
17033
+ pattern. Extends "tiered-with-trio" → "tiered-with-
17034
+ quartet"; first ATOMIC chrome button to breathe (the
17035
+ other 4 chrome anchors are either segmented-control
17036
+ wrappers or a data readout). Hover gate piggybacks on
17037
+ the existing data-topo-chrome-reset-hover attr — same
17038
+ leaf-element gate pattern as R703 zoom-level readout.
17039
+ See globals.css R718 block for cadence rationale. */
17040
+ data-topo-chrome-reset-breath="21s"
17029
17041
  /* R594 — chrome reset button gains filter brightness(1.15)
17030
17042
  on hoveredReset. 33rd anchor in per-element brightness
17031
17043
  family, 2nd HTML-element anchor (R593 zoom-level was
@@ -17199,12 +17211,22 @@ export function TopoGraph({ sessions, sseSessions, renameSignal }: TopoGraphProp
17199
17211
  // R400: hover translateY(-1px) lift — see reset button above for family doc.
17200
17212
  // R493 — fullscreen joins active:scale-95 press family (same as
17201
17213
  // reset above: lift-and-compress compound transform on press).
17202
- className={`group p-1.5 rounded-md border hover:-translate-y-px active:scale-95 transform-gpu focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-cyan-400/60 ${
17214
+ className={`anet-topo-chrome-fullscreen-breath group p-1.5 rounded-md border hover:-translate-y-px active:scale-95 transform-gpu focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-cyan-400/60 ${
17203
17215
  isFullscreen
17204
17216
  ? 'bg-cyan-500/15 text-cyan-300 font-medium hover:bg-cyan-500/20 hover:text-cyan-200 active:bg-cyan-500/25'
17205
17217
  : 'hover:bg-cyan-500/5 active:bg-cyan-500/15'
17206
17218
  }${chromePopping === 'fullscreen' ? ' anet-chrome-pop' : ''}`}
17207
17219
  data-topo-chrome-fullscreen-hover-lift="true"
17220
+ /* Round 719 / Loop — fullscreen button joins the respiratory
17221
+ family at 25 s. Closes the atomic-control DUO (reset 21 s +
17222
+ fullscreen 25 s) — both standalone chrome buttons now
17223
+ breathe at parity 7% alpha range with coprime cadences.
17224
+ 6th anchor on chrome-strip pattern, shape advances to
17225
+ "tiered-with-quintet". Hover-gate via existing
17226
+ data-topo-chrome-fullscreen-hover attr — sibling leaf-
17227
+ element gate pattern to R703 zoom-level and R718 reset.
17228
+ See globals.css R719 block for cadence rationale. */
17229
+ data-topo-chrome-fullscreen-breath="25s"
17208
17230
  /* R595 — chrome fullscreen button gains filter brightness(1.15)
17209
17231
  on hoveredFullscreen. 34th anchor in per-element brightness
17210
17232
  family, 3rd HTML-element anchor (R593 zoom-level + R594
package/app/globals.css CHANGED
@@ -1566,6 +1566,99 @@ body {
1566
1566
  .anet-topo-chrome-zoom-wrapper-breath { animation: none; }
1567
1567
  }
1568
1568
 
1569
+ /* Round 718 — chrome reset button joins the respiratory family at 21 s.
1570
+ 5th anchor on the chrome-strip pattern, extending it from
1571
+ "tiered-with-trio" → "tiered-with-quartet". The chrome strip now
1572
+ spans a data tier + a prime quartet across control surfaces:
1573
+ R703 zoom-level readout 9 s (data tier)
1574
+ R707 Layout wrapper 17 s (control wrapper tier)
1575
+ R708 nodeSize wrapper 19 s (control wrapper tier)
1576
+ R718 reset button 21 s (atomic control tier) ← this round
1577
+ R709 zoom wrapper 23 s (control wrapper tier)
1578
+
1579
+ 21 is composite (3 × 7), the ONE composite in the prime quartet —
1580
+ slots between the prime wrappers 19 and 23 to fill the 17/19/21/23
1581
+ odd-number ladder. Coprime with all rolodex cadences (the rolodex
1582
+ has no 3-multiples until 9 and no 7-multiples until 7 itself — but
1583
+ neither 9 nor 7 share factors with 21's other co-tier mates 17/19/23).
1584
+ Actually 21 IS divisible by 3 like 9 — gcd(21,9)=3 so 21 phase-locks
1585
+ with 9 every 63 s. That's deliberate: the data tier (9 s) and the
1586
+ atomic-control tier (21 s) RE-ALIGN every minute — a slow handshake
1587
+ between "what the chrome reads" and "the reset action". Aesthetic
1588
+ over arithmetic: a 1-per-minute alignment is sub-perceptible.
1589
+
1590
+ Atomic-control sub-tier rationale: the reset button is the only
1591
+ STANDALONE atomic chrome button with a 5-axis hover signature
1592
+ (R594 brightness + R400 hover-lift + R196 active-state + R350 icon
1593
+ spin + R184 release pop). The 5 hover axes already give it a rich
1594
+ interactive voice; a 6th REST axis at 7% alpha (slightly looser than
1595
+ the 6% wrappers, to compensate for the smaller icon-button surface)
1596
+ marks it as "alive" at rest without competing with the hover axes.
1597
+
1598
+ Hover gate via data-attr (R703 pattern, not R707/R708/R709 :has()
1599
+ pattern). The button itself exposes data-topo-chrome-reset-hover —
1600
+ already plumbed for the R350 icon-rotate cue and R594 brightness —
1601
+ so the breath gates off naturally on its own hover state. Sibling
1602
+ gate pattern to R703 zoom-level (the only other chrome anchor at
1603
+ the leaf-element tier; both gate via their own hover data-attr
1604
+ rather than parent :has()). */
1605
+ @keyframes anet-topo-chrome-reset-breath-kf {
1606
+ 0%, 100% { opacity: 1; }
1607
+ 50% { opacity: 0.93; }
1608
+ }
1609
+ .anet-topo-chrome-reset-breath {
1610
+ animation: anet-topo-chrome-reset-breath-kf 21s ease-in-out infinite;
1611
+ }
1612
+ .anet-topo-chrome-reset-breath[data-topo-chrome-reset-hover="true"] {
1613
+ animation: none;
1614
+ }
1615
+ @media (prefers-reduced-motion: reduce) {
1616
+ .anet-topo-chrome-reset-breath { animation: none; }
1617
+ }
1618
+
1619
+ /* Round 719 — chrome fullscreen button joins the respiratory family at
1620
+ 25 s. 6th anchor on the chrome-strip pattern, extending the shape
1621
+ from "tiered-with-quartet" → "tiered-with-quintet". Sibling to R718
1622
+ reset (21 s) — closes the ATOMIC-CONTROL DUO: both standalone
1623
+ chrome buttons (reset + fullscreen, the only non-segmented chrome
1624
+ buttons in the family per R400 doc) now breathe at parity alpha
1625
+ range with coprime cadences.
1626
+
1627
+ Chrome-strip pattern post-R719:
1628
+ R703 zoom-level readout 9 s (data tier)
1629
+ R707 Layout wrapper 17 s (control wrapper tier)
1630
+ R708 nodeSize wrapper 19 s (control wrapper tier)
1631
+ R718 reset button 21 s (atomic control tier)
1632
+ R709 zoom wrapper 23 s (control wrapper tier)
1633
+ R719 fullscreen button 25 s (atomic control tier) ← this round
1634
+
1635
+ 25 = 5² — coprime with every other rolodex cadence (no factor 5
1636
+ anywhere). Fills the 17/19/21/23/25 odd-number ladder perfectly
1637
+ and becomes the new slowest cadence on the rolodex (prior slowest:
1638
+ 23 s zoom wrapper). The chrome strip now spans a 16 s arc from
1639
+ 9 → 25, with its two atomic-control members at 21 s and 25 s
1640
+ bracketing the wrapper trio (17/19/23) — atomic controls breathe
1641
+ slower than wrappers, matching their role as terminal commits
1642
+ (reset wipes state; fullscreen flips viewport mode).
1643
+
1644
+ Same 7% alpha (0.93 ↔ 1) as R718 reset — atomic-control tier
1645
+ parity. The duo reads as a matched pair at rest. Hover gate via
1646
+ data-topo-chrome-fullscreen-hover (R703 leaf-element pattern,
1647
+ sibling to R718 reset's gate). */
1648
+ @keyframes anet-topo-chrome-fullscreen-breath-kf {
1649
+ 0%, 100% { opacity: 1; }
1650
+ 50% { opacity: 0.93; }
1651
+ }
1652
+ .anet-topo-chrome-fullscreen-breath {
1653
+ animation: anet-topo-chrome-fullscreen-breath-kf 25s ease-in-out infinite;
1654
+ }
1655
+ .anet-topo-chrome-fullscreen-breath[data-topo-chrome-fullscreen-hover="true"] {
1656
+ animation: none;
1657
+ }
1658
+ @media (prefers-reduced-motion: reduce) {
1659
+ .anet-topo-chrome-fullscreen-breath { animation: none; }
1660
+ }
1661
+
1569
1662
  /* ─────────────────────────────────────────────────────────────────────
1570
1663
  Round 29 — prefers-reduced-motion a11y sweep
1571
1664
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sleep2agi/agent-network-dashboard",
3
- "version": "0.5.3-preview.231",
3
+ "version": "0.5.3-preview.233",
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,121 @@
1
+ /* Round 719 — chrome fullscreen button respiratory anchor at 25 s.
2
+ * 6th anchor on the chrome-strip pattern, completing the ATOMIC-CONTROL
3
+ * DUO with R718 reset (21 s + 25 s, parity 7% alpha range). Shape
4
+ * advances "tiered-with-quartet" → "tiered-with-quintet". 25 = 5²,
5
+ * coprime with every other rolodex cadence (no other factor-5 anywhere)
6
+ * — new slowest cadence on the rolodex.
7
+ *
8
+ * Assertions:
9
+ * - fullscreen button present with breath class + breath-cadence "25s"
10
+ * - hover attr defaults to "false" at rest (gate inactive)
11
+ * - CSS @keyframes 0%,100% opacity:1, 50% opacity:0.93 (parity to R718)
12
+ * - .anet-topo-chrome-fullscreen-breath rule binds 25s cadence
13
+ * - hover-gate selector `[data-topo-chrome-fullscreen-hover="true"]`
14
+ * - prefers-reduced-motion guard present
15
+ * - R710 rolodex catalog includes "25": ["fullscreen button"]
16
+ * - R717 patterns chrome-strip entry has cadence 25 + anchor
17
+ * "fullscreen button" + shape "tiered-with-quintet"
18
+ * - duo cadences (21, 25) both present in chrome-strip cadences
19
+ */
20
+ import { chromium } from 'playwright';
21
+ import { readFileSync } from 'node:fs';
22
+
23
+ const TOKEN = JSON.parse(readFileSync('/home/vansin/.anet/config.json', 'utf8')).token;
24
+ const fresh = new Date(Date.now() - 60 * 1000).toISOString();
25
+
26
+ const browser = await chromium.launch({ headless: true });
27
+ const ctx = await browser.newContext({ viewport: { width: 1500, height: 1200 } });
28
+ await ctx.addCookies([{ name: 'anet_dashboard_session', value: `v3:${TOKEN}`, domain: '127.0.0.1', path: '/' }]);
29
+ await ctx.addInitScript(() => {
30
+ try {
31
+ localStorage.setItem('anet-theme', 'cyber');
32
+ localStorage.setItem('anet-topo-layout', 'ring');
33
+ sessionStorage.setItem('anet_v3_auth', '1');
34
+ } catch {}
35
+ });
36
+ await ctx.route('**/api/hub/status*', async (route) => {
37
+ const r = await route.fetch();
38
+ const b = await r.json();
39
+ const nid = (b.sessions || [])[0]?.network_id || 'default';
40
+ const mk = (alias) => ({
41
+ alias, status: 'idle', model: 'claude-opus-4', runtime: 'claude-code-cli',
42
+ network_id: nid, project_dir: null,
43
+ created_at: fresh, updated_at: fresh, last_seen_at: fresh,
44
+ });
45
+ await route.fulfill({ response: r, json: { ...b, sessions: [mk('a·1'), mk('a·2')] } });
46
+ });
47
+ await ctx.route('**/api/hub/messages*', (r) => r.fulfill({ json: { messages: [] } }));
48
+ await ctx.route('**/api/hub/tasks*', (r) => r.fulfill({ json: { tasks: [] } }));
49
+ const page = await ctx.newPage();
50
+ await page.goto('http://127.0.0.1:3000/', { waitUntil: 'networkidle' });
51
+ await page.waitForSelector('[data-topo-chrome-fullscreen]', { timeout: 15000, state: 'attached' });
52
+ await page.waitForTimeout(300);
53
+
54
+ const runtimeState = await page.evaluate(() => {
55
+ const btn = document.querySelector('[data-topo-chrome-fullscreen]');
56
+ if (!btn) return null;
57
+ const cs = getComputedStyle(btn);
58
+ const svg = document.querySelector('[data-topo-canvas-aria]');
59
+ return {
60
+ has_class: btn.classList.contains('anet-topo-chrome-fullscreen-breath'),
61
+ breath_attr: btn.getAttribute('data-topo-chrome-fullscreen-breath'),
62
+ hover_attr: btn.getAttribute('data-topo-chrome-fullscreen-hover'),
63
+ anim_name: cs.animationName,
64
+ anim_duration: cs.animationDuration,
65
+ rolodex_attr: svg?.getAttribute('data-topo-respiratory-rolodex') ?? null,
66
+ patterns_attr: svg?.getAttribute('data-topo-respiratory-patterns') ?? null,
67
+ };
68
+ });
69
+
70
+ await browser.close();
71
+
72
+ const cssSrc = readFileSync('/home/vansin/agent-network-dashboard/app/globals.css', 'utf8');
73
+ const cssKfNorm = /@keyframes anet-topo-chrome-fullscreen-breath-kf\s*\{[\s\S]*?0%,\s*100%\s*\{[\s\S]*?opacity:\s*1\s*;?[\s\S]*?\}/.test(cssSrc);
74
+ const cssKfMid = /@keyframes anet-topo-chrome-fullscreen-breath-kf\s*\{[\s\S]*?50%\s*\{[\s\S]*?opacity:\s*0\.93/.test(cssSrc);
75
+ const cssBind25 = /\.anet-topo-chrome-fullscreen-breath\s*\{[\s\S]*?animation:\s*anet-topo-chrome-fullscreen-breath-kf\s+25s\s+ease-in-out\s+infinite/.test(cssSrc);
76
+ const cssHoverGate = /\.anet-topo-chrome-fullscreen-breath\[data-topo-chrome-fullscreen-hover="true"\]\s*\{\s*animation:\s*none/.test(cssSrc);
77
+ const cssReducedMotion = /@media\s*\(prefers-reduced-motion:\s*reduce\)\s*\{[\s\S]*?\.anet-topo-chrome-fullscreen-breath\s*\{\s*animation:\s*none/.test(cssSrc);
78
+
79
+ const runtimeAnim = runtimeState?.anim_name === 'anet-topo-chrome-fullscreen-breath-kf' || runtimeState?.anim_name === 'none';
80
+
81
+ let rolodex = null;
82
+ let patterns = null;
83
+ try {
84
+ rolodex = JSON.parse(runtimeState?.rolodex_attr ?? '');
85
+ patterns = JSON.parse(runtimeState?.patterns_attr ?? '');
86
+ } catch {}
87
+ const rolodexHas25 = !!rolodex && Array.isArray(rolodex['25']) && rolodex['25'].includes('fullscreen button');
88
+ const chromeStripEntry = Array.isArray(patterns) ? patterns.find(p => p.name === 'chrome-strip') : null;
89
+ const patternsChromeStripHas25AndFullscreen =
90
+ !!chromeStripEntry
91
+ && Array.isArray(chromeStripEntry.cadences) && chromeStripEntry.cadences.includes(25)
92
+ && Array.isArray(chromeStripEntry.anchors) && chromeStripEntry.anchors.includes('fullscreen button')
93
+ && chromeStripEntry.shape === 'tiered-with-quintet';
94
+ const atomicDuoBothPresent =
95
+ !!chromeStripEntry
96
+ && chromeStripEntry.cadences.includes(21)
97
+ && chromeStripEntry.cadences.includes(25)
98
+ && chromeStripEntry.anchors.includes('reset button')
99
+ && chromeStripEntry.anchors.includes('fullscreen button');
100
+
101
+ const results = {
102
+ button_present: !!runtimeState,
103
+ has_breath_class: runtimeState?.has_class === true,
104
+ breath_attr_25s: runtimeState?.breath_attr === '25s',
105
+ rest_not_hover: runtimeState?.hover_attr === 'false',
106
+ runtime_anim_ok: runtimeAnim,
107
+ css_keyframes_norm: cssKfNorm,
108
+ css_keyframes_mid_0_93: cssKfMid,
109
+ css_class_binds_25s: cssBind25,
110
+ css_hover_gate_present: cssHoverGate,
111
+ css_reduced_motion_guard: cssReducedMotion,
112
+ rolodex_has_25_fullscreen: rolodexHas25,
113
+ patterns_chrome_strip_6_anchors: patternsChromeStripHas25AndFullscreen,
114
+ atomic_control_duo_complete: atomicDuoBothPresent,
115
+ };
116
+ const ok = Object.values(results).every(Boolean);
117
+ console.log(`${ok ? '✅' : '❌'} R719 chrome fullscreen button breath (6th chrome-strip anchor, atomic-control DUO complete @ 25s):`,
118
+ JSON.stringify(results, null, 2),
119
+ `\n runtime: ${JSON.stringify({ has_class: runtimeState?.has_class, breath_attr: runtimeState?.breath_attr, hover_attr: runtimeState?.hover_attr, anim_name: runtimeState?.anim_name, anim_duration: runtimeState?.anim_duration })}`,
120
+ `\n chrome-strip pattern: ${JSON.stringify(chromeStripEntry)}`);
121
+ process.exit(ok ? 0 : 1);