@sleep2agi/agent-network-dashboard 0.5.3-preview.5 → 0.5.3-preview.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (156) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/build-manifest.json +3 -3
  3. package/.next/diagnostics/route-bundle-stats.json +5 -5
  4. package/.next/fallback-build-manifest.json +3 -3
  5. package/.next/server/app/_global-error.html +1 -1
  6. package/.next/server/app/_global-error.rsc +1 -1
  7. package/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  8. package/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  9. package/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  10. package/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  11. package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  12. package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  13. package/.next/server/app/_not-found.html +2 -2
  14. package/.next/server/app/_not-found.rsc +2 -2
  15. package/.next/server/app/_not-found.segments/_full.segment.rsc +2 -2
  16. package/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  17. package/.next/server/app/_not-found.segments/_index.segment.rsc +2 -2
  18. package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  19. package/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  20. package/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  21. package/.next/server/app/admin/page_client-reference-manifest.js +1 -1
  22. package/.next/server/app/admin.html +2 -2
  23. package/.next/server/app/admin.rsc +2 -2
  24. package/.next/server/app/admin.segments/_full.segment.rsc +2 -2
  25. package/.next/server/app/admin.segments/_head.segment.rsc +1 -1
  26. package/.next/server/app/admin.segments/_index.segment.rsc +2 -2
  27. package/.next/server/app/admin.segments/_tree.segment.rsc +2 -2
  28. package/.next/server/app/admin.segments/admin/__PAGE__.segment.rsc +1 -1
  29. package/.next/server/app/admin.segments/admin.segment.rsc +1 -1
  30. package/.next/server/app/index.html +2 -2
  31. package/.next/server/app/index.rsc +3 -3
  32. package/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
  33. package/.next/server/app/index.segments/_full.segment.rsc +3 -3
  34. package/.next/server/app/index.segments/_head.segment.rsc +1 -1
  35. package/.next/server/app/index.segments/_index.segment.rsc +2 -2
  36. package/.next/server/app/index.segments/_tree.segment.rsc +2 -2
  37. package/.next/server/app/login/page_client-reference-manifest.js +1 -1
  38. package/.next/server/app/login.html +2 -2
  39. package/.next/server/app/login.rsc +3 -3
  40. package/.next/server/app/login.segments/_full.segment.rsc +3 -3
  41. package/.next/server/app/login.segments/_head.segment.rsc +1 -1
  42. package/.next/server/app/login.segments/_index.segment.rsc +2 -2
  43. package/.next/server/app/login.segments/_tree.segment.rsc +2 -2
  44. package/.next/server/app/login.segments/login/__PAGE__.segment.rsc +2 -2
  45. package/.next/server/app/login.segments/login.segment.rsc +1 -1
  46. package/.next/server/app/logs/page_client-reference-manifest.js +1 -1
  47. package/.next/server/app/logs.html +2 -2
  48. package/.next/server/app/logs.rsc +2 -2
  49. package/.next/server/app/logs.segments/_full.segment.rsc +2 -2
  50. package/.next/server/app/logs.segments/_head.segment.rsc +1 -1
  51. package/.next/server/app/logs.segments/_index.segment.rsc +2 -2
  52. package/.next/server/app/logs.segments/_tree.segment.rsc +2 -2
  53. package/.next/server/app/logs.segments/logs/__PAGE__.segment.rsc +1 -1
  54. package/.next/server/app/logs.segments/logs.segment.rsc +1 -1
  55. package/.next/server/app/messages/page_client-reference-manifest.js +1 -1
  56. package/.next/server/app/messages.html +2 -2
  57. package/.next/server/app/messages.rsc +2 -2
  58. package/.next/server/app/messages.segments/_full.segment.rsc +2 -2
  59. package/.next/server/app/messages.segments/_head.segment.rsc +1 -1
  60. package/.next/server/app/messages.segments/_index.segment.rsc +2 -2
  61. package/.next/server/app/messages.segments/_tree.segment.rsc +2 -2
  62. package/.next/server/app/messages.segments/messages/__PAGE__.segment.rsc +1 -1
  63. package/.next/server/app/messages.segments/messages.segment.rsc +1 -1
  64. package/.next/server/app/node/page_client-reference-manifest.js +1 -1
  65. package/.next/server/app/node.html +2 -2
  66. package/.next/server/app/node.rsc +2 -2
  67. package/.next/server/app/node.segments/_full.segment.rsc +2 -2
  68. package/.next/server/app/node.segments/_head.segment.rsc +1 -1
  69. package/.next/server/app/node.segments/_index.segment.rsc +2 -2
  70. package/.next/server/app/node.segments/_tree.segment.rsc +2 -2
  71. package/.next/server/app/node.segments/node/__PAGE__.segment.rsc +1 -1
  72. package/.next/server/app/node.segments/node.segment.rsc +1 -1
  73. package/.next/server/app/nodes/page_client-reference-manifest.js +1 -1
  74. package/.next/server/app/nodes.html +2 -2
  75. package/.next/server/app/nodes.rsc +2 -2
  76. package/.next/server/app/nodes.segments/_full.segment.rsc +2 -2
  77. package/.next/server/app/nodes.segments/_head.segment.rsc +1 -1
  78. package/.next/server/app/nodes.segments/_index.segment.rsc +2 -2
  79. package/.next/server/app/nodes.segments/_tree.segment.rsc +2 -2
  80. package/.next/server/app/nodes.segments/nodes/__PAGE__.segment.rsc +1 -1
  81. package/.next/server/app/nodes.segments/nodes.segment.rsc +1 -1
  82. package/.next/server/app/page_client-reference-manifest.js +1 -1
  83. package/.next/server/app/server-logs/page_client-reference-manifest.js +1 -1
  84. package/.next/server/app/server-logs.html +2 -2
  85. package/.next/server/app/server-logs.rsc +2 -2
  86. package/.next/server/app/server-logs.segments/_full.segment.rsc +2 -2
  87. package/.next/server/app/server-logs.segments/_head.segment.rsc +1 -1
  88. package/.next/server/app/server-logs.segments/_index.segment.rsc +2 -2
  89. package/.next/server/app/server-logs.segments/_tree.segment.rsc +2 -2
  90. package/.next/server/app/server-logs.segments/server-logs/__PAGE__.segment.rsc +1 -1
  91. package/.next/server/app/server-logs.segments/server-logs.segment.rsc +1 -1
  92. package/.next/server/app/settings/networks/page_client-reference-manifest.js +1 -1
  93. package/.next/server/app/settings/networks.html +2 -2
  94. package/.next/server/app/settings/networks.rsc +2 -2
  95. package/.next/server/app/settings/networks.segments/_full.segment.rsc +2 -2
  96. package/.next/server/app/settings/networks.segments/_head.segment.rsc +1 -1
  97. package/.next/server/app/settings/networks.segments/_index.segment.rsc +2 -2
  98. package/.next/server/app/settings/networks.segments/_tree.segment.rsc +2 -2
  99. package/.next/server/app/settings/networks.segments/settings/networks/__PAGE__.segment.rsc +1 -1
  100. package/.next/server/app/settings/networks.segments/settings/networks.segment.rsc +1 -1
  101. package/.next/server/app/settings/networks.segments/settings.segment.rsc +1 -1
  102. package/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  103. package/.next/server/app/settings/tokens/page_client-reference-manifest.js +1 -1
  104. package/.next/server/app/settings/tokens.html +2 -2
  105. package/.next/server/app/settings/tokens.rsc +2 -2
  106. package/.next/server/app/settings/tokens.segments/_full.segment.rsc +2 -2
  107. package/.next/server/app/settings/tokens.segments/_head.segment.rsc +1 -1
  108. package/.next/server/app/settings/tokens.segments/_index.segment.rsc +2 -2
  109. package/.next/server/app/settings/tokens.segments/_tree.segment.rsc +2 -2
  110. package/.next/server/app/settings/tokens.segments/settings/tokens/__PAGE__.segment.rsc +1 -1
  111. package/.next/server/app/settings/tokens.segments/settings/tokens.segment.rsc +1 -1
  112. package/.next/server/app/settings/tokens.segments/settings.segment.rsc +1 -1
  113. package/.next/server/app/settings.html +2 -2
  114. package/.next/server/app/settings.rsc +3 -3
  115. package/.next/server/app/settings.segments/_full.segment.rsc +3 -3
  116. package/.next/server/app/settings.segments/_head.segment.rsc +1 -1
  117. package/.next/server/app/settings.segments/_index.segment.rsc +2 -2
  118. package/.next/server/app/settings.segments/_tree.segment.rsc +2 -2
  119. package/.next/server/app/settings.segments/settings/__PAGE__.segment.rsc +2 -2
  120. package/.next/server/app/settings.segments/settings.segment.rsc +1 -1
  121. package/.next/server/app/tasks/[id]/page_client-reference-manifest.js +1 -1
  122. package/.next/server/app/tasks/page_client-reference-manifest.js +1 -1
  123. package/.next/server/app/tasks.html +2 -2
  124. package/.next/server/app/tasks.rsc +2 -2
  125. package/.next/server/app/tasks.segments/_full.segment.rsc +2 -2
  126. package/.next/server/app/tasks.segments/_head.segment.rsc +1 -1
  127. package/.next/server/app/tasks.segments/_index.segment.rsc +2 -2
  128. package/.next/server/app/tasks.segments/_tree.segment.rsc +2 -2
  129. package/.next/server/app/tasks.segments/tasks/__PAGE__.segment.rsc +1 -1
  130. package/.next/server/app/tasks.segments/tasks.segment.rsc +1 -1
  131. package/.next/server/chunks/ssr/[root-of-the-server]__0sv~g.o._.js +1 -1
  132. package/.next/server/chunks/ssr/[root-of-the-server]__0sv~g.o._.js.map +1 -1
  133. package/.next/server/chunks/ssr/agent-network-dashboard_09kk21a._.js +2 -2
  134. package/.next/server/chunks/ssr/agent-network-dashboard_09kk21a._.js.map +1 -1
  135. package/.next/server/chunks/ssr/agent-network-dashboard_app_01jhlxz._.js +1 -1
  136. package/.next/server/chunks/ssr/agent-network-dashboard_app_01jhlxz._.js.map +1 -1
  137. package/.next/server/chunks/ssr/agent-network-dashboard_app_09d29my._.js +1 -1
  138. package/.next/server/chunks/ssr/agent-network-dashboard_app_09d29my._.js.map +1 -1
  139. package/.next/server/middleware-build-manifest.js +3 -3
  140. package/.next/server/pages/404.html +2 -2
  141. package/.next/server/pages/500.html +1 -1
  142. package/.next/static/chunks/0hndl9yzpqajt.css +2 -0
  143. package/.next/static/chunks/{0iwmx1skjhecc.js → 0ia4_98ytam_7.js} +1 -1
  144. package/.next/static/chunks/{031p2u1xb1~uk.js → 0jz0q_~y452m5.js} +1 -1
  145. package/.next/static/chunks/{024l23a_mex8..js → 0md~c._ox5owe.js} +3 -3
  146. package/.next/static/chunks/{09q4enn24qy1u.js → 15w33hhbf3.28.js} +1 -1
  147. package/.next/trace +2 -2
  148. package/.next/trace-build +1 -1
  149. package/app/components/TopoGraph.tsx +43 -7
  150. package/package.json +1 -1
  151. package/scripts/topo-chip-row-press-test.mjs +93 -0
  152. package/scripts/topo-chrome-press-fullstrip-test.mjs +105 -0
  153. package/.next/static/chunks/0yj_zl0p6_4ws.css +0 -2
  154. /package/.next/static/{3Apg3z__jP_I-Dl6oqXnF → bIxZRyo8qjN2ZGvJ_1dmh}/_buildManifest.js +0 -0
  155. /package/.next/static/{3Apg3z__jP_I-Dl6oqXnF → bIxZRyo8qjN2ZGvJ_1dmh}/_clientMiddlewareManifest.js +0 -0
  156. /package/.next/static/{3Apg3z__jP_I-Dl6oqXnF → bIxZRyo8qjN2ZGvJ_1dmh}/_ssgManifest.js +0 -0
@@ -1 +1 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,70286,e=>{"use strict";e.s(["DASHBOARD_VERSION",0,"0.5.3-preview.5"],70286)},48941,e=>{"use strict";var t=e.i(22381),r=e.i(23910),a=e.i(70286);e.s(["default",0,function(){let[e,s]=(0,r.useState)("login"),[n,o]=(0,r.useState)(""),[i,l]=(0,r.useState)(""),[c,d]=(0,r.useState)(!1),[x,g]=(0,r.useState)(""),[h,m]=(0,r.useState)(!1),u=async t=>{t.preventDefault(),m(!0),g("");try{let t=await fetch("/api/auth/v3",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:e,username:n,password:i})}),r=await t.json();if(r.ok){r.token&&sessionStorage.setItem("anet_v3_auth",JSON.stringify({user:r.user,token:r.token,networks:r.networks||[],currentNetwork:r.network_id||r.networks?.[0]?.network_id||""})),window.location.assign("/");return}g(r.error||"Login failed")}catch{g("Connection failed")}m(!1)};return(0,t.jsxs)("main",{className:"min-h-screen bg-[#0a0a1a] text-gray-100 font-mono flex items-center justify-center relative overflow-hidden px-4 py-10 sm:py-16",children:[(0,t.jsx)("div",{className:"absolute inset-0 pointer-events-none anet-login-bg","aria-hidden":!0}),(0,t.jsxs)("div",{className:"relative w-full max-w-sm",children:[(0,t.jsxs)("div",{className:"text-center mb-7",children:[(0,t.jsx)("div",{className:"inline-flex items-center justify-center w-16 h-16 mb-4 rounded-2xl bg-[#111128] border border-[#2a2a4a] anet-login-mark",children:(0,t.jsxs)("svg",{className:"w-9 h-9",viewBox:"0 0 32 32","aria-hidden":!0,children:[(0,t.jsx)("circle",{cx:"16",cy:"16",r:"10",fill:"none",stroke:"currentColor",strokeWidth:"1.5",opacity:"0.25",className:"text-cyan-400 anet-login-mark-ring"}),(0,t.jsx)("line",{x1:"16",y1:"10",x2:"10",y2:"20",stroke:"currentColor",strokeWidth:"1",opacity:"0.5",className:"text-cyan-400 anet-login-mark-edge"}),(0,t.jsx)("line",{x1:"16",y1:"10",x2:"22",y2:"20",stroke:"currentColor",strokeWidth:"1",opacity:"0.5",className:"text-cyan-400 anet-login-mark-edge"}),(0,t.jsx)("line",{x1:"10",y1:"20",x2:"22",y2:"20",stroke:"currentColor",strokeWidth:"1",opacity:"0.5",className:"text-cyan-400 anet-login-mark-edge"}),(0,t.jsx)("circle",{cx:"16",cy:"10",r:"3",fill:"currentColor",className:"text-cyan-400 anet-login-mark-node-a"}),(0,t.jsx)("circle",{cx:"10",cy:"20",r:"3",fill:"currentColor",className:"text-green-400 anet-login-mark-node-b"}),(0,t.jsx)("circle",{cx:"22",cy:"20",r:"3",fill:"currentColor",className:"text-violet-400 anet-login-mark-node-c"})]})}),(0,t.jsx)("h1",{className:"text-[22px] sm:text-2xl font-semibold text-white tracking-tight",children:"Agent Network"}),(0,t.jsx)("p",{className:"text-[13px] text-gray-500 mt-1.5 leading-snug",children:"login"===e?(0,t.jsxs)(t.Fragment,{children:["Welcome back · ",(0,t.jsx)("span",{className:"text-gray-600",children:"Tasks · Mesh · Messages"})]}):(0,t.jsxs)(t.Fragment,{children:["Create your account · ",(0,t.jsx)("span",{className:"text-gray-600",children:"Free preview · no credit card"})]})})]}),(0,t.jsx)("div",{className:"flex rounded-lg border border-[#2a2a4a] bg-[#111128] p-1 mb-4",children:["login","register"].map(r=>(0,t.jsx)("button",{type:"button",onClick:()=>{s(r),g("")},className:`flex-1 rounded-md px-3 py-2 text-sm transition-colors ${e===r?"bg-cyan-500/10 text-cyan-300":"text-gray-500 hover:text-gray-200"}`,children:"login"===r?"Sign in":"Register"},r))}),(0,t.jsxs)("form",{onSubmit:u,className:"border border-[#2a2a4a] bg-[#111128]/80 backdrop-blur-sm rounded-xl p-6 shadow-2xl shadow-black/30",children:[(0,t.jsx)("label",{htmlFor:"username",className:"block text-xs text-gray-500 mb-2 uppercase tracking-wider",children:"Username"}),(0,t.jsx)("input",{id:"username",type:"text",value:n,onChange:e=>o(e.target.value),autoFocus:!0,placeholder:"Enter username",className:"w-full bg-[#0a0a15] border border-[#2a2a4a] rounded-lg px-4 py-3 text-sm text-white placeholder-gray-600 focus:border-cyan-500/50 focus:ring-1 focus:ring-cyan-500/20 focus:outline-none transition-all mb-4"}),(0,t.jsx)("label",{htmlFor:"password",className:"block text-xs text-gray-500 mb-2 uppercase tracking-wider",children:"Password"}),(0,t.jsxs)("div",{className:"relative",children:[(0,t.jsx)("input",{id:"password",type:c?"text":"password",value:i,onChange:e=>l(e.target.value),placeholder:"Enter password",className:"w-full bg-[#0a0a15] border border-[#2a2a4a] rounded-lg px-4 pr-11 py-3 text-sm text-white placeholder-gray-600 focus:border-cyan-500/50 focus:ring-1 focus:ring-cyan-500/20 focus:outline-none transition-all"}),(0,t.jsx)("button",{type:"button",onClick:()=>d(e=>!e),tabIndex:-1,"aria-label":c?"Hide password":"Show password",className:"absolute inset-y-0 right-0 flex items-center px-3 text-gray-600 hover:text-gray-300 transition-colors",children:c?(0,t.jsxs)("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,t.jsx)("path",{d:"M17.94 17.94A10.07 10.07 0 0 1 12 20c-7 0-11-8-11-8a18.45 18.45 0 0 1 5.06-5.94M9.9 4.24A9.12 9.12 0 0 1 12 4c7 0 11 8 11 8a18.5 18.5 0 0 1-2.16 3.19m-6.72-1.07a3 3 0 1 1-4.24-4.24"}),(0,t.jsx)("line",{x1:"1",y1:"1",x2:"23",y2:"23"})]}):(0,t.jsxs)("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,t.jsx)("path",{d:"M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z"}),(0,t.jsx)("circle",{cx:"12",cy:"12",r:"3"})]})})]}),x&&(0,t.jsx)("div",{className:"mt-3 text-sm text-red-300 bg-red-500/5 border border-red-500/10 rounded-lg px-3 py-2",children:x}),(0,t.jsxs)("button",{type:"submit",disabled:h||!i||!n.trim(),className:"mt-5 w-full flex items-center justify-center gap-2 px-4 py-3 bg-gradient-to-r from-cyan-600 to-blue-600 hover:from-cyan-500 hover:to-blue-500 disabled:from-gray-800 disabled:to-gray-800 disabled:text-gray-600 text-white text-sm font-medium rounded-lg transition-all shadow-lg shadow-cyan-500/10 hover:shadow-cyan-500/20 disabled:shadow-none",children:[h&&(0,t.jsxs)("svg",{"aria-hidden":!0,className:"w-4 h-4 animate-spin",viewBox:"0 0 24 24",fill:"none",children:[(0,t.jsx)("circle",{cx:"12",cy:"12",r:"10",stroke:"currentColor",strokeWidth:"3",opacity:"0.25"}),(0,t.jsx)("path",{d:"M4 12a8 8 0 018-8",stroke:"currentColor",strokeWidth:"3",strokeLinecap:"round"})]}),(0,t.jsx)("span",{children:h?"login"===e?"Signing in…":"Registering…":"login"===e?"Sign in":"Create account"})]})]}),(0,t.jsxs)("p",{className:"text-center text-[11px] text-gray-700 mt-6",children:["Sleep2AGI · Apache-2.0 · ",(0,t.jsx)("a",{href:"https://anet.sh",className:"hover:text-gray-500 transition-colors",children:"anet.sh"}),(0,t.jsx)("span",{className:"mx-1 text-gray-800",children:"·"}),(0,t.jsxs)("span",{className:"font-mono",title:"@sleep2agi/agent-network-dashboard",children:["v",a.DASHBOARD_VERSION]})]})]})]})}])}]);
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,70286,e=>{"use strict";e.s(["DASHBOARD_VERSION",0,"0.5.3-preview.7"],70286)},48941,e=>{"use strict";var t=e.i(22381),r=e.i(23910),a=e.i(70286);e.s(["default",0,function(){let[e,s]=(0,r.useState)("login"),[n,o]=(0,r.useState)(""),[i,l]=(0,r.useState)(""),[c,d]=(0,r.useState)(!1),[x,g]=(0,r.useState)(""),[h,m]=(0,r.useState)(!1),u=async t=>{t.preventDefault(),m(!0),g("");try{let t=await fetch("/api/auth/v3",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:e,username:n,password:i})}),r=await t.json();if(r.ok){r.token&&sessionStorage.setItem("anet_v3_auth",JSON.stringify({user:r.user,token:r.token,networks:r.networks||[],currentNetwork:r.network_id||r.networks?.[0]?.network_id||""})),window.location.assign("/");return}g(r.error||"Login failed")}catch{g("Connection failed")}m(!1)};return(0,t.jsxs)("main",{className:"min-h-screen bg-[#0a0a1a] text-gray-100 font-mono flex items-center justify-center relative overflow-hidden px-4 py-10 sm:py-16",children:[(0,t.jsx)("div",{className:"absolute inset-0 pointer-events-none anet-login-bg","aria-hidden":!0}),(0,t.jsxs)("div",{className:"relative w-full max-w-sm",children:[(0,t.jsxs)("div",{className:"text-center mb-7",children:[(0,t.jsx)("div",{className:"inline-flex items-center justify-center w-16 h-16 mb-4 rounded-2xl bg-[#111128] border border-[#2a2a4a] anet-login-mark",children:(0,t.jsxs)("svg",{className:"w-9 h-9",viewBox:"0 0 32 32","aria-hidden":!0,children:[(0,t.jsx)("circle",{cx:"16",cy:"16",r:"10",fill:"none",stroke:"currentColor",strokeWidth:"1.5",opacity:"0.25",className:"text-cyan-400 anet-login-mark-ring"}),(0,t.jsx)("line",{x1:"16",y1:"10",x2:"10",y2:"20",stroke:"currentColor",strokeWidth:"1",opacity:"0.5",className:"text-cyan-400 anet-login-mark-edge"}),(0,t.jsx)("line",{x1:"16",y1:"10",x2:"22",y2:"20",stroke:"currentColor",strokeWidth:"1",opacity:"0.5",className:"text-cyan-400 anet-login-mark-edge"}),(0,t.jsx)("line",{x1:"10",y1:"20",x2:"22",y2:"20",stroke:"currentColor",strokeWidth:"1",opacity:"0.5",className:"text-cyan-400 anet-login-mark-edge"}),(0,t.jsx)("circle",{cx:"16",cy:"10",r:"3",fill:"currentColor",className:"text-cyan-400 anet-login-mark-node-a"}),(0,t.jsx)("circle",{cx:"10",cy:"20",r:"3",fill:"currentColor",className:"text-green-400 anet-login-mark-node-b"}),(0,t.jsx)("circle",{cx:"22",cy:"20",r:"3",fill:"currentColor",className:"text-violet-400 anet-login-mark-node-c"})]})}),(0,t.jsx)("h1",{className:"text-[22px] sm:text-2xl font-semibold text-white tracking-tight",children:"Agent Network"}),(0,t.jsx)("p",{className:"text-[13px] text-gray-500 mt-1.5 leading-snug",children:"login"===e?(0,t.jsxs)(t.Fragment,{children:["Welcome back · ",(0,t.jsx)("span",{className:"text-gray-600",children:"Tasks · Mesh · Messages"})]}):(0,t.jsxs)(t.Fragment,{children:["Create your account · ",(0,t.jsx)("span",{className:"text-gray-600",children:"Free preview · no credit card"})]})})]}),(0,t.jsx)("div",{className:"flex rounded-lg border border-[#2a2a4a] bg-[#111128] p-1 mb-4",children:["login","register"].map(r=>(0,t.jsx)("button",{type:"button",onClick:()=>{s(r),g("")},className:`flex-1 rounded-md px-3 py-2 text-sm transition-colors ${e===r?"bg-cyan-500/10 text-cyan-300":"text-gray-500 hover:text-gray-200"}`,children:"login"===r?"Sign in":"Register"},r))}),(0,t.jsxs)("form",{onSubmit:u,className:"border border-[#2a2a4a] bg-[#111128]/80 backdrop-blur-sm rounded-xl p-6 shadow-2xl shadow-black/30",children:[(0,t.jsx)("label",{htmlFor:"username",className:"block text-xs text-gray-500 mb-2 uppercase tracking-wider",children:"Username"}),(0,t.jsx)("input",{id:"username",type:"text",value:n,onChange:e=>o(e.target.value),autoFocus:!0,placeholder:"Enter username",className:"w-full bg-[#0a0a15] border border-[#2a2a4a] rounded-lg px-4 py-3 text-sm text-white placeholder-gray-600 focus:border-cyan-500/50 focus:ring-1 focus:ring-cyan-500/20 focus:outline-none transition-all mb-4"}),(0,t.jsx)("label",{htmlFor:"password",className:"block text-xs text-gray-500 mb-2 uppercase tracking-wider",children:"Password"}),(0,t.jsxs)("div",{className:"relative",children:[(0,t.jsx)("input",{id:"password",type:c?"text":"password",value:i,onChange:e=>l(e.target.value),placeholder:"Enter password",className:"w-full bg-[#0a0a15] border border-[#2a2a4a] rounded-lg px-4 pr-11 py-3 text-sm text-white placeholder-gray-600 focus:border-cyan-500/50 focus:ring-1 focus:ring-cyan-500/20 focus:outline-none transition-all"}),(0,t.jsx)("button",{type:"button",onClick:()=>d(e=>!e),tabIndex:-1,"aria-label":c?"Hide password":"Show password",className:"absolute inset-y-0 right-0 flex items-center px-3 text-gray-600 hover:text-gray-300 transition-colors",children:c?(0,t.jsxs)("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,t.jsx)("path",{d:"M17.94 17.94A10.07 10.07 0 0 1 12 20c-7 0-11-8-11-8a18.45 18.45 0 0 1 5.06-5.94M9.9 4.24A9.12 9.12 0 0 1 12 4c7 0 11 8 11 8a18.5 18.5 0 0 1-2.16 3.19m-6.72-1.07a3 3 0 1 1-4.24-4.24"}),(0,t.jsx)("line",{x1:"1",y1:"1",x2:"23",y2:"23"})]}):(0,t.jsxs)("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,t.jsx)("path",{d:"M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z"}),(0,t.jsx)("circle",{cx:"12",cy:"12",r:"3"})]})})]}),x&&(0,t.jsx)("div",{className:"mt-3 text-sm text-red-300 bg-red-500/5 border border-red-500/10 rounded-lg px-3 py-2",children:x}),(0,t.jsxs)("button",{type:"submit",disabled:h||!i||!n.trim(),className:"mt-5 w-full flex items-center justify-center gap-2 px-4 py-3 bg-gradient-to-r from-cyan-600 to-blue-600 hover:from-cyan-500 hover:to-blue-500 disabled:from-gray-800 disabled:to-gray-800 disabled:text-gray-600 text-white text-sm font-medium rounded-lg transition-all shadow-lg shadow-cyan-500/10 hover:shadow-cyan-500/20 disabled:shadow-none",children:[h&&(0,t.jsxs)("svg",{"aria-hidden":!0,className:"w-4 h-4 animate-spin",viewBox:"0 0 24 24",fill:"none",children:[(0,t.jsx)("circle",{cx:"12",cy:"12",r:"10",stroke:"currentColor",strokeWidth:"3",opacity:"0.25"}),(0,t.jsx)("path",{d:"M4 12a8 8 0 018-8",stroke:"currentColor",strokeWidth:"3",strokeLinecap:"round"})]}),(0,t.jsx)("span",{children:h?"login"===e?"Signing in…":"Registering…":"login"===e?"Sign in":"Create account"})]})]}),(0,t.jsxs)("p",{className:"text-center text-[11px] text-gray-700 mt-6",children:["Sleep2AGI · Apache-2.0 · ",(0,t.jsx)("a",{href:"https://anet.sh",className:"hover:text-gray-500 transition-colors",children:"anet.sh"}),(0,t.jsx)("span",{className:"mx-1 text-gray-800",children:"·"}),(0,t.jsxs)("span",{className:"font-mono",title:"@sleep2agi/agent-network-dashboard",children:["v",a.DASHBOARD_VERSION]})]})]})]})}])}]);
package/.next/trace CHANGED
@@ -1,2 +1,2 @@
1
- [{"name":"generate-buildid","duration":374,"timestamp":188824891195,"id":4,"parentId":1,"tags":{},"startTime":1778996797137,"traceId":"732ea161c04ad3eb"},{"name":"load-custom-routes","duration":709,"timestamp":188824891762,"id":5,"parentId":1,"tags":{},"startTime":1778996797138,"traceId":"732ea161c04ad3eb"},{"name":"create-dist-dir","duration":1728,"timestamp":188824892622,"id":6,"parentId":1,"tags":{},"startTime":1778996797139,"traceId":"732ea161c04ad3eb"},{"name":"clean","duration":49357,"timestamp":188824895439,"id":7,"parentId":1,"tags":{},"startTime":1778996797142,"traceId":"732ea161c04ad3eb"},{"name":"discover-routes","duration":29722,"timestamp":188825051312,"id":8,"parentId":1,"tags":{},"startTime":1778996797298,"traceId":"732ea161c04ad3eb"},{"name":"create-root-mapping","duration":123,"timestamp":188825081100,"id":9,"parentId":1,"tags":{},"startTime":1778996797327,"traceId":"732ea161c04ad3eb"},{"name":"generate-route-types","duration":31983,"timestamp":188825084067,"id":10,"parentId":1,"tags":{},"startTime":1778996797330,"traceId":"732ea161c04ad3eb"},{"name":"public-dir-conflict-check","duration":155,"timestamp":188825116177,"id":11,"parentId":1,"tags":{},"startTime":1778996797362,"traceId":"732ea161c04ad3eb"},{"name":"generate-routes-manifest","duration":7459,"timestamp":188825116525,"id":12,"parentId":1,"tags":{},"startTime":1778996797363,"traceId":"732ea161c04ad3eb"},{"name":"run-turbopack","duration":11906803,"timestamp":188825142558,"id":14,"parentId":1,"tags":{},"startTime":1778996797389,"traceId":"732ea161c04ad3eb"},{"name":"turbopack-build-events","duration":87,"timestamp":188825485837,"id":15,"parentId":1,"tags":{},"startTime":1778996797732,"traceId":"732ea161c04ad3eb"},{"name":"run-typescript","duration":18335493,"timestamp":188837058249,"id":16,"parentId":1,"tags":{},"startTime":1778996809305,"traceId":"732ea161c04ad3eb"},{"name":"generate-required-server-files","duration":2998,"timestamp":188855394835,"id":18,"parentId":1,"tags":{},"startTime":1778996827641,"traceId":"732ea161c04ad3eb"},{"name":"check-static-error-page","duration":29717,"timestamp":188855838228,"id":20,"parentId":19,"tags":{},"startTime":1778996828085,"traceId":"732ea161c04ad3eb"},{"name":"is-page-static","duration":922248,"timestamp":188855875039,"id":65,"parentId":22,"tags":{},"startTime":1778996828121,"traceId":"732ea161c04ad3eb"},{"name":"check-page","duration":950302,"timestamp":188855847135,"id":22,"parentId":19,"tags":{"page":"/_global-error"},"startTime":1778996828093,"traceId":"732ea161c04ad3eb"},{"name":"is-page-static","duration":1001996,"timestamp":188855875482,"id":69,"parentId":28,"tags":{},"startTime":1778996828122,"traceId":"732ea161c04ad3eb"},{"name":"check-page","duration":1027171,"timestamp":188855850403,"id":28,"parentId":19,"tags":{"page":"/api/hub/audit-log"},"startTime":1778996828097,"traceId":"732ea161c04ad3eb"},{"name":"is-page-static","duration":1042397,"timestamp":188855875996,"id":72,"parentId":32,"tags":{},"startTime":1778996828122,"traceId":"732ea161c04ad3eb"},{"name":"check-page","duration":1066772,"timestamp":188855851702,"id":32,"parentId":19,"tags":{"page":"/api/hub/health"},"startTime":1778996828098,"traceId":"732ea161c04ad3eb"},{"name":"is-page-static","duration":1088112,"timestamp":188855876185,"id":73,"parentId":33,"tags":{},"startTime":1778996828122,"traceId":"732ea161c04ad3eb"},{"name":"check-page","duration":1112314,"timestamp":188855852056,"id":33,"parentId":19,"tags":{"page":"/api/hub/inbox"},"startTime":1778996828098,"traceId":"732ea161c04ad3eb"},{"name":"is-page-static","duration":1093793,"timestamp":188855876259,"id":74,"parentId":34,"tags":{},"startTime":1778996828123,"traceId":"732ea161c04ad3eb"},{"name":"check-page","duration":1117978,"timestamp":188855852225,"id":34,"parentId":19,"tags":{"page":"/api/hub/license"},"startTime":1778996828099,"traceId":"732ea161c04ad3eb"},{"name":"is-page-static","duration":1104108,"timestamp":188855876290,"id":75,"parentId":35,"tags":{},"startTime":1778996828123,"traceId":"732ea161c04ad3eb"},{"name":"check-page","duration":1127995,"timestamp":188855852579,"id":35,"parentId":19,"tags":{"page":"/api/hub/messages"},"startTime":1778996828099,"traceId":"732ea161c04ad3eb"},{"name":"is-page-static","duration":1109418,"timestamp":188855876311,"id":76,"parentId":36,"tags":{},"startTime":1778996828123,"traceId":"732ea161c04ad3eb"},{"name":"check-page","duration":1132223,"timestamp":188855853627,"id":36,"parentId":19,"tags":{"page":"/api/hub/networks"},"startTime":1778996828100,"traceId":"732ea161c04ad3eb"},{"name":"is-page-static","duration":1113839,"timestamp":188855876339,"id":77,"parentId":37,"tags":{},"startTime":1778996828123,"traceId":"732ea161c04ad3eb"},{"name":"check-page","duration":1136353,"timestamp":188855853870,"id":37,"parentId":19,"tags":{"page":"/api/hub/nodes"},"startTime":1778996828100,"traceId":"732ea161c04ad3eb"},{"name":"is-page-static","duration":1119499,"timestamp":188855876351,"id":78,"parentId":38,"tags":{},"startTime":1778996828123,"traceId":"732ea161c04ad3eb"},{"name":"check-page","duration":1141655,"timestamp":188855854263,"id":38,"parentId":19,"tags":{"page":"/api/hub/register"},"startTime":1778996828101,"traceId":"732ea161c04ad3eb"},{"name":"is-page-static","duration":1124929,"timestamp":188855876364,"id":79,"parentId":39,"tags":{},"startTime":1778996828123,"traceId":"732ea161c04ad3eb"},{"name":"check-page","duration":1146935,"timestamp":188855854405,"id":39,"parentId":19,"tags":{"page":"/api/hub/send"},"startTime":1778996828101,"traceId":"732ea161c04ad3eb"},{"name":"is-page-static","duration":1125571,"timestamp":188855875930,"id":71,"parentId":30,"tags":{},"startTime":1778996828122,"traceId":"732ea161c04ad3eb"},{"name":"check-page","duration":1150900,"timestamp":188855850635,"id":30,"parentId":19,"tags":{"page":"/api/hub/broadcast"},"startTime":1778996828097,"traceId":"732ea161c04ad3eb"},{"name":"is-page-static","duration":1130448,"timestamp":188855876378,"id":80,"parentId":40,"tags":{},"startTime":1778996828123,"traceId":"732ea161c04ad3eb"},{"name":"check-page","duration":1152209,"timestamp":188855854660,"id":40,"parentId":19,"tags":{"page":"/api/hub/server-logs"},"startTime":1778996828101,"traceId":"732ea161c04ad3eb"},{"name":"is-page-static","duration":1136414,"timestamp":188855876401,"id":82,"parentId":44,"tags":{},"startTime":1778996828123,"traceId":"732ea161c04ad3eb"},{"name":"check-page","duration":1155807,"timestamp":188855857055,"id":44,"parentId":19,"tags":{"page":"/api/hub/session"},"startTime":1778996828103,"traceId":"732ea161c04ad3eb"},{"name":"is-page-static","duration":1140185,"timestamp":188855876388,"id":81,"parentId":42,"tags":{},"startTime":1778996828123,"traceId":"732ea161c04ad3eb"},{"name":"check-page","duration":1160742,"timestamp":188855855892,"id":42,"parentId":19,"tags":{"page":"/api/hub/server/[hostname]/health"},"startTime":1778996828102,"traceId":"732ea161c04ad3eb"},{"name":"is-page-static","duration":1140695,"timestamp":188855876414,"id":83,"parentId":45,"tags":{},"startTime":1778996828123,"traceId":"732ea161c04ad3eb"},{"name":"check-page","duration":1159927,"timestamp":188855857223,"id":45,"parentId":19,"tags":{"page":"/api/hub/stats"},"startTime":1778996828103,"traceId":"732ea161c04ad3eb"},{"name":"is-page-static","duration":1145985,"timestamp":188855876428,"id":84,"parentId":46,"tags":{},"startTime":1778996828123,"traceId":"732ea161c04ad3eb"},{"name":"check-page","duration":1163900,"timestamp":188855858556,"id":46,"parentId":19,"tags":{"page":"/api/hub/status"},"startTime":1778996828105,"traceId":"732ea161c04ad3eb"},{"name":"is-page-static","duration":1154734,"timestamp":188855876438,"id":85,"parentId":47,"tags":{},"startTime":1778996828123,"traceId":"732ea161c04ad3eb"},{"name":"check-page","duration":1172517,"timestamp":188855858721,"id":47,"parentId":19,"tags":{"page":"/api/hub/task-events"},"startTime":1778996828105,"traceId":"732ea161c04ad3eb"},{"name":"is-page-static","duration":1156091,"timestamp":188855875379,"id":68,"parentId":27,"tags":{},"startTime":1778996828122,"traceId":"732ea161c04ad3eb"},{"name":"check-page","duration":1181218,"timestamp":188855850296,"id":27,"parentId":19,"tags":{"page":"/api/auth/v3"},"startTime":1778996828097,"traceId":"732ea161c04ad3eb"},{"name":"is-page-static","duration":1155207,"timestamp":188855876455,"id":86,"parentId":48,"tags":{},"startTime":1778996828123,"traceId":"732ea161c04ad3eb"},{"name":"check-page","duration":1173154,"timestamp":188855860031,"id":48,"parentId":19,"tags":{"page":"/api/hub/tasks"},"startTime":1778996828106,"traceId":"732ea161c04ad3eb"},{"name":"is-page-static","duration":1166057,"timestamp":188855876469,"id":87,"parentId":49,"tags":{},"startTime":1778996828123,"traceId":"732ea161c04ad3eb"},{"name":"check-page","duration":1182190,"timestamp":188855860380,"id":49,"parentId":19,"tags":{"page":"/api/hub/tmux"},"startTime":1778996828107,"traceId":"732ea161c04ad3eb"},{"name":"is-page-static","duration":1175370,"timestamp":188855884229,"id":90,"parentId":24,"tags":{},"startTime":1778996828131,"traceId":"732ea161c04ad3eb"},{"name":"check-page","duration":1212057,"timestamp":188855847599,"id":24,"parentId":19,"tags":{"page":"/api/anet/config"},"startTime":1778996828094,"traceId":"732ea161c04ad3eb"},{"name":"is-page-static","duration":1183939,"timestamp":188855885353,"id":91,"parentId":31,"tags":{},"startTime":1778996828132,"traceId":"732ea161c04ad3eb"},{"name":"check-page","duration":1218591,"timestamp":188855850756,"id":31,"parentId":19,"tags":{"page":"/api/hub/events"},"startTime":1778996828097,"traceId":"732ea161c04ad3eb"},{"name":"is-page-static","duration":1199428,"timestamp":188855876492,"id":89,"parentId":51,"tags":{},"startTime":1778996828123,"traceId":"732ea161c04ad3eb"},{"name":"check-page","duration":1215041,"timestamp":188855860941,"id":51,"parentId":19,"tags":{"page":"/favicon.ico"},"startTime":1778996828107,"traceId":"732ea161c04ad3eb"},{"name":"is-page-static","duration":1200351,"timestamp":188855887441,"id":93,"parentId":43,"tags":{},"startTime":1778996828134,"traceId":"732ea161c04ad3eb"},{"name":"check-page","duration":1231613,"timestamp":188855856241,"id":43,"parentId":19,"tags":{"page":"/api/hub/servers"},"startTime":1778996828103,"traceId":"732ea161c04ad3eb"},{"name":"is-page-static","duration":1215206,"timestamp":188855886166,"id":92,"parentId":41,"tags":{},"startTime":1778996828132,"traceId":"732ea161c04ad3eb"},{"name":"check-page","duration":1246618,"timestamp":188855854816,"id":41,"parentId":19,"tags":{"page":"/api/hub/server/[hostname]/agents"},"startTime":1778996828101,"traceId":"732ea161c04ad3eb"},{"name":"is-page-static","duration":1225105,"timestamp":188855876479,"id":88,"parentId":50,"tags":{},"startTime":1778996828123,"traceId":"732ea161c04ad3eb"},{"name":"check-page","duration":1240870,"timestamp":188855860755,"id":50,"parentId":19,"tags":{"page":"/api/hub/tokens"},"startTime":1778996828107,"traceId":"732ea161c04ad3eb"},{"name":"is-page-static","duration":1242030,"timestamp":188855875176,"id":66,"parentId":25,"tags":{},"startTime":1778996828121,"traceId":"732ea161c04ad3eb"},{"name":"check-page","duration":1267319,"timestamp":188855849950,"id":25,"parentId":19,"tags":{"page":"/api/auth/login"},"startTime":1778996828096,"traceId":"732ea161c04ad3eb"},{"name":"is-page-static","duration":1246839,"timestamp":188855875762,"id":70,"parentId":29,"tags":{},"startTime":1778996828122,"traceId":"732ea161c04ad3eb"},{"name":"check-page","duration":1272147,"timestamp":188855850510,"id":29,"parentId":19,"tags":{"page":"/api/hub/auth"},"startTime":1778996828097,"traceId":"732ea161c04ad3eb"},{"name":"is-page-static","duration":1291575,"timestamp":188855875276,"id":67,"parentId":26,"tags":{},"startTime":1778996828122,"traceId":"732ea161c04ad3eb"},{"name":"check-page","duration":1316763,"timestamp":188855850173,"id":26,"parentId":19,"tags":{"page":"/api/auth/logout"},"startTime":1778996828096,"traceId":"732ea161c04ad3eb"},{"name":"is-page-static","duration":1359190,"timestamp":188855895100,"id":94,"parentId":23,"tags":{},"startTime":1778996828141,"traceId":"732ea161c04ad3eb"},{"name":"check-page","duration":1406939,"timestamp":188855847425,"id":23,"parentId":19,"tags":{"page":"/admin"},"startTime":1778996828094,"traceId":"732ea161c04ad3eb"},{"name":"is-page-static","duration":1366462,"timestamp":188855895201,"id":100,"parentId":58,"tags":{},"startTime":1778996828141,"traceId":"732ea161c04ad3eb"},{"name":"check-page","duration":1395348,"timestamp":188855866385,"id":58,"parentId":19,"tags":{"page":"/server-logs"},"startTime":1778996828113,"traceId":"732ea161c04ad3eb"},{"name":"is-page-static","duration":1381541,"timestamp":188855895162,"id":97,"parentId":54,"tags":{},"startTime":1778996828141,"traceId":"732ea161c04ad3eb"},{"name":"check-page","duration":1413941,"timestamp":188855862832,"id":54,"parentId":19,"tags":{"page":"/messages"},"startTime":1778996828109,"traceId":"732ea161c04ad3eb"},{"name":"is-page-static","duration":1388591,"timestamp":188855895329,"id":101,"parentId":59,"tags":{},"startTime":1778996828142,"traceId":"732ea161c04ad3eb"},{"name":"check-page","duration":1417420,"timestamp":188855866615,"id":59,"parentId":19,"tags":{"page":"/settings/networks"},"startTime":1778996828113,"traceId":"732ea161c04ad3eb"},{"name":"is-page-static","duration":1389597,"timestamp":188855895347,"id":102,"parentId":61,"tags":{},"startTime":1778996828142,"traceId":"732ea161c04ad3eb"},{"name":"check-page","duration":1417722,"timestamp":188855867273,"id":61,"parentId":19,"tags":{"page":"/settings/tokens"},"startTime":1778996828114,"traceId":"732ea161c04ad3eb"},{"name":"is-page-static","duration":1399270,"timestamp":188855895132,"id":95,"parentId":52,"tags":{},"startTime":1778996828141,"traceId":"732ea161c04ad3eb"},{"name":"check-page","duration":1432318,"timestamp":188855862142,"id":52,"parentId":19,"tags":{"page":"/login"},"startTime":1778996828108,"traceId":"732ea161c04ad3eb"},{"name":"is-page-static","duration":1399236,"timestamp":188855895362,"id":103,"parentId":62,"tags":{},"startTime":1778996828142,"traceId":"732ea161c04ad3eb"},{"name":"check-page","duration":1427188,"timestamp":188855867440,"id":62,"parentId":19,"tags":{"page":"/tasks/[id]"},"startTime":1778996828114,"traceId":"732ea161c04ad3eb"},{"name":"is-page-static","duration":1399315,"timestamp":188855895378,"id":104,"parentId":63,"tags":{},"startTime":1778996828142,"traceId":"732ea161c04ad3eb"},{"name":"check-page","duration":1427102,"timestamp":188855867614,"id":63,"parentId":19,"tags":{"page":"/tasks"},"startTime":1778996828114,"traceId":"732ea161c04ad3eb"},{"name":"is-page-static","duration":1371541,"timestamp":188855931168,"id":106,"parentId":57,"tags":{},"startTime":1778996828177,"traceId":"732ea161c04ad3eb"},{"name":"check-page","duration":1437057,"timestamp":188855865697,"id":57,"parentId":19,"tags":{"page":"/"},"startTime":1778996828112,"traceId":"732ea161c04ad3eb"},{"name":"is-page-static","duration":1398214,"timestamp":188855905317,"id":105,"parentId":60,"tags":{},"startTime":1778996828152,"traceId":"732ea161c04ad3eb"},{"name":"check-page","duration":1436756,"timestamp":188855866816,"id":60,"parentId":19,"tags":{"page":"/settings"},"startTime":1778996828113,"traceId":"732ea161c04ad3eb"},{"name":"is-page-static","duration":1437984,"timestamp":188855895147,"id":96,"parentId":53,"tags":{},"startTime":1778996828141,"traceId":"732ea161c04ad3eb"},{"name":"check-page","duration":1470827,"timestamp":188855862386,"id":53,"parentId":19,"tags":{"page":"/logs"},"startTime":1778996828109,"traceId":"732ea161c04ad3eb"},{"name":"is-page-static","duration":1450847,"timestamp":188855895176,"id":98,"parentId":55,"tags":{},"startTime":1778996828141,"traceId":"732ea161c04ad3eb"},{"name":"check-page","duration":1481024,"timestamp":188855865089,"id":55,"parentId":19,"tags":{"page":"/node"},"startTime":1778996828111,"traceId":"732ea161c04ad3eb"},{"name":"is-page-static","duration":1473111,"timestamp":188855895187,"id":99,"parentId":56,"tags":{},"startTime":1778996828141,"traceId":"732ea161c04ad3eb"},{"name":"check-page","duration":1502980,"timestamp":188855865395,"id":56,"parentId":19,"tags":{"page":"/nodes"},"startTime":1778996828112,"traceId":"732ea161c04ad3eb"},{"name":"is-page-static","duration":1545395,"timestamp":188855873943,"id":64,"parentId":21,"tags":{},"startTime":1778996828120,"traceId":"732ea161c04ad3eb"},{"name":"check-page","duration":1579554,"timestamp":188855839858,"id":21,"parentId":19,"tags":{"page":"/_not-found"},"startTime":1778996828086,"traceId":"732ea161c04ad3eb"},{"name":"static-check","duration":1582405,"timestamp":188855837057,"id":19,"parentId":1,"tags":{},"startTime":1778996828083,"traceId":"732ea161c04ad3eb"}]
2
- [{"name":"write-routes-manifest","duration":1522,"timestamp":188857456052,"id":108,"parentId":1,"tags":{},"startTime":1778996829702,"traceId":"732ea161c04ad3eb"},{"name":"load-dotenv","duration":52,"timestamp":188857472444,"id":111,"parentId":110,"tags":{},"startTime":1778996829719,"traceId":"732ea161c04ad3eb"},{"name":"run-export-path-map","duration":791,"timestamp":188857475240,"id":112,"parentId":110,"tags":{},"startTime":1778996829722,"traceId":"732ea161c04ad3eb"},{"name":"next-export","duration":1020858,"timestamp":188857470653,"id":110,"parentId":1,"tags":{},"startTime":1778996829717,"traceId":"732ea161c04ad3eb"},{"name":"move-exported-app-not-found-","duration":1943,"timestamp":188858505661,"id":113,"parentId":109,"tags":{},"startTime":1778996830752,"traceId":"732ea161c04ad3eb"},{"name":"move-exported-app-global-error-","duration":506,"timestamp":188858507753,"id":114,"parentId":109,"tags":{},"startTime":1778996830754,"traceId":"732ea161c04ad3eb"},{"name":"static-generation","duration":1049075,"timestamp":188857461540,"id":109,"parentId":1,"tags":{},"startTime":1778996829708,"traceId":"732ea161c04ad3eb"},{"name":"write-routes-manifest","duration":536,"timestamp":188858510984,"id":115,"parentId":1,"tags":{},"startTime":1778996830757,"traceId":"732ea161c04ad3eb"},{"name":"print-tree-view","duration":7068,"timestamp":188858559251,"id":116,"parentId":1,"tags":{},"startTime":1778996830806,"traceId":"732ea161c04ad3eb"},{"name":"write-route-bundle-stats","duration":19657,"timestamp":188858566368,"id":117,"parentId":1,"tags":{},"startTime":1778996830813,"traceId":"732ea161c04ad3eb"},{"name":"telemetry-flush","duration":7110,"timestamp":188858586074,"id":118,"parentId":1,"tags":{},"startTime":1778996830832,"traceId":"732ea161c04ad3eb"},{"name":"next-build","duration":33759286,"timestamp":188824833959,"id":1,"tags":{"buildMode":"default","version":"16.2.3","bundler":"turbopack","has-custom-webpack-config":"false","use-build-worker":"true"},"startTime":1778996797080,"traceId":"732ea161c04ad3eb"}]
1
+ [{"name":"generate-buildid","duration":373,"timestamp":189577797388,"id":4,"parentId":1,"tags":{},"startTime":1778997550044,"traceId":"79d33a086834e797"},{"name":"load-custom-routes","duration":531,"timestamp":189577797970,"id":5,"parentId":1,"tags":{},"startTime":1778997550044,"traceId":"79d33a086834e797"},{"name":"create-dist-dir","duration":988,"timestamp":189577798567,"id":6,"parentId":1,"tags":{},"startTime":1778997550045,"traceId":"79d33a086834e797"},{"name":"clean","duration":45874,"timestamp":189577800699,"id":7,"parentId":1,"tags":{},"startTime":1778997550047,"traceId":"79d33a086834e797"},{"name":"discover-routes","duration":33388,"timestamp":189577952510,"id":8,"parentId":1,"tags":{},"startTime":1778997550199,"traceId":"79d33a086834e797"},{"name":"create-root-mapping","duration":178,"timestamp":189577986017,"id":9,"parentId":1,"tags":{},"startTime":1778997550232,"traceId":"79d33a086834e797"},{"name":"generate-route-types","duration":27414,"timestamp":189577989584,"id":10,"parentId":1,"tags":{},"startTime":1778997550236,"traceId":"79d33a086834e797"},{"name":"public-dir-conflict-check","duration":130,"timestamp":189578017127,"id":11,"parentId":1,"tags":{},"startTime":1778997550263,"traceId":"79d33a086834e797"},{"name":"generate-routes-manifest","duration":5889,"timestamp":189578017426,"id":12,"parentId":1,"tags":{},"startTime":1778997550264,"traceId":"79d33a086834e797"},{"name":"run-turbopack","duration":8002400,"timestamp":189578039074,"id":14,"parentId":1,"tags":{},"startTime":1778997550285,"traceId":"79d33a086834e797"},{"name":"turbopack-build-events","duration":148,"timestamp":189578408958,"id":15,"parentId":1,"tags":{},"startTime":1778997550655,"traceId":"79d33a086834e797"},{"name":"run-typescript","duration":10660962,"timestamp":189586050874,"id":16,"parentId":1,"tags":{},"startTime":1778997558297,"traceId":"79d33a086834e797"},{"name":"generate-required-server-files","duration":4036,"timestamp":189596713376,"id":18,"parentId":1,"tags":{},"startTime":1778997568960,"traceId":"79d33a086834e797"},{"name":"check-static-error-page","duration":17940,"timestamp":189596935455,"id":20,"parentId":19,"tags":{},"startTime":1778997569182,"traceId":"79d33a086834e797"},{"name":"is-page-static","duration":653673,"timestamp":189596958038,"id":67,"parentId":26,"tags":{},"startTime":1778997569204,"traceId":"79d33a086834e797"},{"name":"check-page","duration":669097,"timestamp":189596942824,"id":26,"parentId":19,"tags":{"page":"/api/auth/logout"},"startTime":1778997569189,"traceId":"79d33a086834e797"},{"name":"is-page-static","duration":663755,"timestamp":189596957824,"id":65,"parentId":22,"tags":{},"startTime":1778997569204,"traceId":"79d33a086834e797"},{"name":"check-page","duration":682544,"timestamp":189596939157,"id":22,"parentId":19,"tags":{"page":"/_global-error"},"startTime":1778997569185,"traceId":"79d33a086834e797"},{"name":"is-page-static","duration":669551,"timestamp":189596958739,"id":71,"parentId":30,"tags":{},"startTime":1778997569205,"traceId":"79d33a086834e797"},{"name":"check-page","duration":684863,"timestamp":189596943509,"id":30,"parentId":19,"tags":{"page":"/api/hub/broadcast"},"startTime":1778997569190,"traceId":"79d33a086834e797"},{"name":"is-page-static","duration":673562,"timestamp":189596958158,"id":68,"parentId":27,"tags":{},"startTime":1778997569204,"traceId":"79d33a086834e797"},{"name":"check-page","duration":688790,"timestamp":189596942984,"id":27,"parentId":19,"tags":{"page":"/api/auth/v3"},"startTime":1778997569189,"traceId":"79d33a086834e797"},{"name":"is-page-static","duration":677562,"timestamp":189596959148,"id":74,"parentId":34,"tags":{},"startTime":1778997569205,"traceId":"79d33a086834e797"},{"name":"check-page","duration":692386,"timestamp":189596944371,"id":34,"parentId":19,"tags":{"page":"/api/hub/license"},"startTime":1778997569191,"traceId":"79d33a086834e797"},{"name":"is-page-static","duration":708193,"timestamp":189596958272,"id":69,"parentId":28,"tags":{},"startTime":1778997569205,"traceId":"79d33a086834e797"},{"name":"check-page","duration":723386,"timestamp":189596943165,"id":28,"parentId":19,"tags":{"page":"/api/hub/audit-log"},"startTime":1778997569189,"traceId":"79d33a086834e797"},{"name":"is-page-static","duration":724075,"timestamp":189596959055,"id":73,"parentId":33,"tags":{},"startTime":1778997569205,"traceId":"79d33a086834e797"},{"name":"check-page","duration":739017,"timestamp":189596944214,"id":33,"parentId":19,"tags":{"page":"/api/hub/inbox"},"startTime":1778997569190,"traceId":"79d33a086834e797"},{"name":"is-page-static","duration":727035,"timestamp":189596959184,"id":75,"parentId":35,"tags":{},"startTime":1778997569205,"traceId":"79d33a086834e797"},{"name":"check-page","duration":741751,"timestamp":189596944530,"id":35,"parentId":19,"tags":{"page":"/api/hub/messages"},"startTime":1778997569191,"traceId":"79d33a086834e797"},{"name":"is-page-static","duration":732085,"timestamp":189596959238,"id":77,"parentId":37,"tags":{},"startTime":1778997569206,"traceId":"79d33a086834e797"},{"name":"check-page","duration":746059,"timestamp":189596945338,"id":37,"parentId":19,"tags":{"page":"/api/hub/nodes"},"startTime":1778997569192,"traceId":"79d33a086834e797"},{"name":"is-page-static","duration":738839,"timestamp":189596959257,"id":78,"parentId":38,"tags":{},"startTime":1778997569206,"traceId":"79d33a086834e797"},{"name":"check-page","duration":752642,"timestamp":189596945508,"id":38,"parentId":19,"tags":{"page":"/api/hub/register"},"startTime":1778997569192,"traceId":"79d33a086834e797"},{"name":"is-page-static","duration":761534,"timestamp":189596959288,"id":80,"parentId":40,"tags":{},"startTime":1778997569206,"traceId":"79d33a086834e797"},{"name":"check-page","duration":775146,"timestamp":189596945757,"id":40,"parentId":19,"tags":{"page":"/api/hub/server-logs"},"startTime":1778997569192,"traceId":"79d33a086834e797"},{"name":"is-page-static","duration":765202,"timestamp":189596957500,"id":64,"parentId":21,"tags":{},"startTime":1778997569204,"traceId":"79d33a086834e797"},{"name":"check-page","duration":785325,"timestamp":189596937440,"id":21,"parentId":19,"tags":{"page":"/_not-found"},"startTime":1778997569184,"traceId":"79d33a086834e797"},{"name":"is-page-static","duration":764258,"timestamp":189596959273,"id":79,"parentId":39,"tags":{},"startTime":1778997569206,"traceId":"79d33a086834e797"},{"name":"check-page","duration":777953,"timestamp":189596945632,"id":39,"parentId":19,"tags":{"page":"/api/hub/send"},"startTime":1778997569192,"traceId":"79d33a086834e797"},{"name":"is-page-static","duration":775413,"timestamp":189596959333,"id":83,"parentId":45,"tags":{},"startTime":1778997569206,"traceId":"79d33a086834e797"},{"name":"check-page","duration":787915,"timestamp":189596946903,"id":45,"parentId":19,"tags":{"page":"/api/hub/stats"},"startTime":1778997569193,"traceId":"79d33a086834e797"},{"name":"is-page-static","duration":789014,"timestamp":189596959300,"id":81,"parentId":42,"tags":{},"startTime":1778997569206,"traceId":"79d33a086834e797"},{"name":"check-page","duration":802169,"timestamp":189596946230,"id":42,"parentId":19,"tags":{"page":"/api/hub/server/[hostname]/health"},"startTime":1778997569193,"traceId":"79d33a086834e797"},{"name":"is-page-static","duration":790912,"timestamp":189596958570,"id":70,"parentId":29,"tags":{},"startTime":1778997569205,"traceId":"79d33a086834e797"},{"name":"check-page","duration":806213,"timestamp":189596943320,"id":29,"parentId":19,"tags":{"page":"/api/hub/auth"},"startTime":1778997569190,"traceId":"79d33a086834e797"},{"name":"is-page-static","duration":792112,"timestamp":189596959208,"id":76,"parentId":36,"tags":{},"startTime":1778997569205,"traceId":"79d33a086834e797"},{"name":"check-page","duration":806260,"timestamp":189596945118,"id":36,"parentId":19,"tags":{"page":"/api/hub/networks"},"startTime":1778997569191,"traceId":"79d33a086834e797"},{"name":"is-page-static","duration":794353,"timestamp":189596959345,"id":84,"parentId":46,"tags":{},"startTime":1778997569206,"traceId":"79d33a086834e797"},{"name":"check-page","duration":806696,"timestamp":189596947062,"id":46,"parentId":19,"tags":{"page":"/api/hub/status"},"startTime":1778997569193,"traceId":"79d33a086834e797"},{"name":"is-page-static","duration":796064,"timestamp":189596959379,"id":86,"parentId":48,"tags":{},"startTime":1778997569206,"traceId":"79d33a086834e797"},{"name":"check-page","duration":806646,"timestamp":189596948844,"id":48,"parentId":19,"tags":{"page":"/api/hub/tasks"},"startTime":1778997569195,"traceId":"79d33a086834e797"},{"name":"is-page-static","duration":803821,"timestamp":189596959362,"id":85,"parentId":47,"tags":{},"startTime":1778997569206,"traceId":"79d33a086834e797"},{"name":"check-page","duration":816028,"timestamp":189596947212,"id":47,"parentId":19,"tags":{"page":"/api/hub/task-events"},"startTime":1778997569193,"traceId":"79d33a086834e797"},{"name":"is-page-static","duration":803987,"timestamp":189596959409,"id":88,"parentId":50,"tags":{},"startTime":1778997569206,"traceId":"79d33a086834e797"},{"name":"check-page","duration":814341,"timestamp":189596949087,"id":50,"parentId":19,"tags":{"page":"/api/hub/tokens"},"startTime":1778997569195,"traceId":"79d33a086834e797"},{"name":"is-page-static","duration":802563,"timestamp":189596967220,"id":91,"parentId":31,"tags":{},"startTime":1778997569213,"traceId":"79d33a086834e797"},{"name":"check-page","duration":826177,"timestamp":189596943670,"id":31,"parentId":19,"tags":{"page":"/api/hub/events"},"startTime":1778997569190,"traceId":"79d33a086834e797"},{"name":"is-page-static","duration":810815,"timestamp":189596959425,"id":89,"parentId":51,"tags":{},"startTime":1778997569206,"traceId":"79d33a086834e797"},{"name":"check-page","duration":821134,"timestamp":189596949150,"id":51,"parentId":19,"tags":{"page":"/favicon.ico"},"startTime":1778997569195,"traceId":"79d33a086834e797"},{"name":"is-page-static","duration":806138,"timestamp":189596969435,"id":93,"parentId":43,"tags":{},"startTime":1778997569216,"traceId":"79d33a086834e797"},{"name":"check-page","duration":829221,"timestamp":189596946395,"id":43,"parentId":19,"tags":{"page":"/api/hub/servers"},"startTime":1778997569193,"traceId":"79d33a086834e797"},{"name":"is-page-static","duration":825284,"timestamp":189596965953,"id":90,"parentId":24,"tags":{},"startTime":1778997569212,"traceId":"79d33a086834e797"},{"name":"check-page","duration":851516,"timestamp":189596939778,"id":24,"parentId":19,"tags":{"page":"/api/anet/config"},"startTime":1778997569186,"traceId":"79d33a086834e797"},{"name":"is-page-static","duration":823825,"timestamp":189596968110,"id":92,"parentId":41,"tags":{},"startTime":1778997569214,"traceId":"79d33a086834e797"},{"name":"check-page","duration":846084,"timestamp":189596945901,"id":41,"parentId":19,"tags":{"page":"/api/hub/server/[hostname]/agents"},"startTime":1778997569192,"traceId":"79d33a086834e797"},{"name":"is-page-static","duration":835408,"timestamp":189596959398,"id":87,"parentId":49,"tags":{},"startTime":1778997569206,"traceId":"79d33a086834e797"},{"name":"check-page","duration":845880,"timestamp":189596948982,"id":49,"parentId":19,"tags":{"page":"/api/hub/tmux"},"startTime":1778997569195,"traceId":"79d33a086834e797"},{"name":"is-page-static","duration":857584,"timestamp":189596959315,"id":82,"parentId":44,"tags":{},"startTime":1778997569206,"traceId":"79d33a086834e797"},{"name":"check-page","duration":870250,"timestamp":189596946726,"id":44,"parentId":19,"tags":{"page":"/api/hub/session"},"startTime":1778997569193,"traceId":"79d33a086834e797"},{"name":"is-page-static","duration":854050,"timestamp":189596972153,"id":98,"parentId":55,"tags":{},"startTime":1778997569218,"traceId":"79d33a086834e797"},{"name":"check-page","duration":876398,"timestamp":189596949876,"id":55,"parentId":19,"tags":{"page":"/node"},"startTime":1778997569196,"traceId":"79d33a086834e797"},{"name":"is-page-static","duration":862017,"timestamp":189596972169,"id":99,"parentId":56,"tags":{},"startTime":1778997569218,"traceId":"79d33a086834e797"},{"name":"check-page","duration":884215,"timestamp":189596950040,"id":56,"parentId":19,"tags":{"page":"/nodes"},"startTime":1778997569196,"traceId":"79d33a086834e797"},{"name":"is-page-static","duration":872708,"timestamp":189596972181,"id":100,"parentId":58,"tags":{},"startTime":1778997569218,"traceId":"79d33a086834e797"},{"name":"check-page","duration":893132,"timestamp":189596951828,"id":58,"parentId":19,"tags":{"page":"/server-logs"},"startTime":1778997569198,"traceId":"79d33a086834e797"},{"name":"is-page-static","duration":883705,"timestamp":189596972415,"id":101,"parentId":59,"tags":{},"startTime":1778997569219,"traceId":"79d33a086834e797"},{"name":"check-page","duration":904138,"timestamp":189596952058,"id":59,"parentId":19,"tags":{"page":"/settings/networks"},"startTime":1778997569198,"traceId":"79d33a086834e797"},{"name":"is-page-static","duration":900410,"timestamp":189596958832,"id":72,"parentId":32,"tags":{},"startTime":1778997569205,"traceId":"79d33a086834e797"},{"name":"check-page","duration":915294,"timestamp":189596944039,"id":32,"parentId":19,"tags":{"page":"/api/hub/health"},"startTime":1778997569190,"traceId":"79d33a086834e797"},{"name":"is-page-static","duration":895083,"timestamp":189596972447,"id":102,"parentId":61,"tags":{},"startTime":1778997569219,"traceId":"79d33a086834e797"},{"name":"check-page","duration":914869,"timestamp":189596952730,"id":61,"parentId":19,"tags":{"page":"/settings/tokens"},"startTime":1778997569199,"traceId":"79d33a086834e797"},{"name":"is-page-static","duration":906984,"timestamp":189596972116,"id":96,"parentId":53,"tags":{},"startTime":1778997569218,"traceId":"79d33a086834e797"},{"name":"check-page","duration":929557,"timestamp":189596949620,"id":53,"parentId":19,"tags":{"page":"/logs"},"startTime":1778997569196,"traceId":"79d33a086834e797"},{"name":"is-page-static","duration":906888,"timestamp":189596972477,"id":104,"parentId":63,"tags":{},"startTime":1778997569219,"traceId":"79d33a086834e797"},{"name":"check-page","duration":926287,"timestamp":189596953112,"id":63,"parentId":19,"tags":{"page":"/tasks"},"startTime":1778997569199,"traceId":"79d33a086834e797"},{"name":"is-page-static","duration":912128,"timestamp":189596972104,"id":95,"parentId":52,"tags":{},"startTime":1778997569218,"traceId":"79d33a086834e797"},{"name":"check-page","duration":934787,"timestamp":189596949495,"id":52,"parentId":19,"tags":{"page":"/login"},"startTime":1778997569196,"traceId":"79d33a086834e797"},{"name":"is-page-static","duration":927851,"timestamp":189596957933,"id":66,"parentId":25,"tags":{},"startTime":1778997569204,"traceId":"79d33a086834e797"},{"name":"check-page","duration":943218,"timestamp":189596942625,"id":25,"parentId":19,"tags":{"page":"/api/auth/login"},"startTime":1778997569189,"traceId":"79d33a086834e797"},{"name":"is-page-static","duration":896455,"timestamp":189596993988,"id":106,"parentId":57,"tags":{},"startTime":1778997569240,"traceId":"79d33a086834e797"},{"name":"check-page","duration":940264,"timestamp":189596950221,"id":57,"parentId":19,"tags":{"page":"/"},"startTime":1778997569196,"traceId":"79d33a086834e797"},{"name":"is-page-static","duration":924348,"timestamp":189596972138,"id":97,"parentId":54,"tags":{},"startTime":1778997569218,"traceId":"79d33a086834e797"},{"name":"check-page","duration":946820,"timestamp":189596949724,"id":54,"parentId":19,"tags":{"page":"/messages"},"startTime":1778997569196,"traceId":"79d33a086834e797"},{"name":"is-page-static","duration":918984,"timestamp":189596980789,"id":105,"parentId":60,"tags":{},"startTime":1778997569227,"traceId":"79d33a086834e797"},{"name":"check-page","duration":947570,"timestamp":189596952264,"id":60,"parentId":19,"tags":{"page":"/settings"},"startTime":1778997569199,"traceId":"79d33a086834e797"},{"name":"is-page-static","duration":934726,"timestamp":189596972070,"id":94,"parentId":23,"tags":{},"startTime":1778997569218,"traceId":"79d33a086834e797"},{"name":"check-page","duration":967478,"timestamp":189596939476,"id":23,"parentId":19,"tags":{"page":"/admin"},"startTime":1778997569186,"traceId":"79d33a086834e797"},{"name":"is-page-static","duration":962104,"timestamp":189596972460,"id":103,"parentId":62,"tags":{},"startTime":1778997569219,"traceId":"79d33a086834e797"},{"name":"check-page","duration":981723,"timestamp":189596952920,"id":62,"parentId":19,"tags":{"page":"/tasks/[id]"},"startTime":1778997569199,"traceId":"79d33a086834e797"},{"name":"static-check","duration":1000636,"timestamp":189596934058,"id":19,"parentId":1,"tags":{},"startTime":1778997569180,"traceId":"79d33a086834e797"}]
2
+ [{"name":"write-routes-manifest","duration":557,"timestamp":189597947160,"id":108,"parentId":1,"tags":{},"startTime":1778997570193,"traceId":"79d33a086834e797"},{"name":"load-dotenv","duration":63,"timestamp":189597962418,"id":111,"parentId":110,"tags":{},"startTime":1778997570209,"traceId":"79d33a086834e797"},{"name":"run-export-path-map","duration":700,"timestamp":189597966371,"id":112,"parentId":110,"tags":{},"startTime":1778997570213,"traceId":"79d33a086834e797"},{"name":"next-export","duration":786429,"timestamp":189597960533,"id":110,"parentId":1,"tags":{},"startTime":1778997570207,"traceId":"79d33a086834e797"},{"name":"move-exported-app-not-found-","duration":785,"timestamp":189598751755,"id":113,"parentId":109,"tags":{},"startTime":1778997570998,"traceId":"79d33a086834e797"},{"name":"move-exported-app-global-error-","duration":958,"timestamp":189598752689,"id":114,"parentId":109,"tags":{},"startTime":1778997570999,"traceId":"79d33a086834e797"},{"name":"static-generation","duration":804383,"timestamp":189597952462,"id":109,"parentId":1,"tags":{},"startTime":1778997570199,"traceId":"79d33a086834e797"},{"name":"write-routes-manifest","duration":547,"timestamp":189598757213,"id":115,"parentId":1,"tags":{},"startTime":1778997571003,"traceId":"79d33a086834e797"},{"name":"print-tree-view","duration":5839,"timestamp":189598781892,"id":116,"parentId":1,"tags":{},"startTime":1778997571028,"traceId":"79d33a086834e797"},{"name":"write-route-bundle-stats","duration":17974,"timestamp":189598787788,"id":117,"parentId":1,"tags":{},"startTime":1778997571034,"traceId":"79d33a086834e797"},{"name":"telemetry-flush","duration":8041,"timestamp":189598805819,"id":118,"parentId":1,"tags":{},"startTime":1778997571052,"traceId":"79d33a086834e797"},{"name":"next-build","duration":21088569,"timestamp":189577725348,"id":1,"tags":{"buildMode":"default","version":"16.2.3","bundler":"turbopack","has-custom-webpack-config":"false","use-build-worker":"true"},"startTime":1778997549972,"traceId":"79d33a086834e797"}]
package/.next/trace-build CHANGED
@@ -1 +1 @@
1
- [{"name":"run-turbopack","duration":11906803,"timestamp":188825142558,"id":14,"parentId":1,"tags":{},"startTime":1778996797389,"traceId":"732ea161c04ad3eb"},{"name":"turbopack-build-events","duration":87,"timestamp":188825485837,"id":15,"parentId":1,"tags":{},"startTime":1778996797732,"traceId":"732ea161c04ad3eb"},{"name":"run-typescript","duration":18335493,"timestamp":188837058249,"id":16,"parentId":1,"tags":{},"startTime":1778996809305,"traceId":"732ea161c04ad3eb"},{"name":"static-check","duration":1582405,"timestamp":188855837057,"id":19,"parentId":1,"tags":{},"startTime":1778996828083,"traceId":"732ea161c04ad3eb"},{"name":"static-generation","duration":1049075,"timestamp":188857461540,"id":109,"parentId":1,"tags":{},"startTime":1778996829708,"traceId":"732ea161c04ad3eb"},{"name":"telemetry-flush","duration":7110,"timestamp":188858586074,"id":118,"parentId":1,"tags":{},"startTime":1778996830832,"traceId":"732ea161c04ad3eb"},{"name":"next-build","duration":33759286,"timestamp":188824833959,"id":1,"tags":{"buildMode":"default","version":"16.2.3","bundler":"turbopack","has-custom-webpack-config":"false","use-build-worker":"true"},"startTime":1778996797080,"traceId":"732ea161c04ad3eb"}]
1
+ [{"name":"run-turbopack","duration":8002400,"timestamp":189578039074,"id":14,"parentId":1,"tags":{},"startTime":1778997550285,"traceId":"79d33a086834e797"},{"name":"turbopack-build-events","duration":148,"timestamp":189578408958,"id":15,"parentId":1,"tags":{},"startTime":1778997550655,"traceId":"79d33a086834e797"},{"name":"run-typescript","duration":10660962,"timestamp":189586050874,"id":16,"parentId":1,"tags":{},"startTime":1778997558297,"traceId":"79d33a086834e797"},{"name":"static-check","duration":1000636,"timestamp":189596934058,"id":19,"parentId":1,"tags":{},"startTime":1778997569180,"traceId":"79d33a086834e797"},{"name":"static-generation","duration":804383,"timestamp":189597952462,"id":109,"parentId":1,"tags":{},"startTime":1778997570199,"traceId":"79d33a086834e797"},{"name":"telemetry-flush","duration":8041,"timestamp":189598805819,"id":118,"parentId":1,"tags":{},"startTime":1778997571052,"traceId":"79d33a086834e797"},{"name":"next-build","duration":21088569,"timestamp":189577725348,"id":1,"tags":{"buildMode":"default","version":"16.2.3","bundler":"turbopack","has-custom-webpack-config":"false","use-build-worker":"true"},"startTime":1778997549972,"traceId":"79d33a086834e797"}]
@@ -2112,9 +2112,17 @@ export function TopoGraph({ sessions, sseSessions, renameSignal }: TopoGraphProp
2112
2112
  // to R355 filter pin pill inner-span hover-brighten.
2113
2113
  // Hover-brighten family extends from filter pills to
2114
2114
  // chip-row chips at the inner-span scope.
2115
+ // Round 494 / Loop — chip-row working chip joins the
2116
+ // active:scale-95 press-feedback family (R492 Ring/Grid +
2117
+ // R493 chrome-strip rest). Gated on the clickable branch
2118
+ // (workingCount > 0) — when the chip is a placeholder
2119
+ // at count=0, scale-95 stays off to match the existing
2120
+ // R398 hover-lift conditional. Composes with hover:-
2121
+ // translate-y-px for the same lift-and-compress
2122
+ // tactile signature R493 brought to reset/fullscreen.
2115
2123
  className={`group tabular-nums font-medium px-2.5 py-1 rounded-md border anet-topo-chip-focus transition-colors transition-transform duration-200 ease-out transform-gpu ${
2116
2124
  workingCount > 0
2117
- ? 'bg-green-500/10 text-green-300 border-green-500/20 hover:bg-green-500/15 hover:border-green-500/30 hover:-translate-y-px'
2125
+ ? 'bg-green-500/10 text-green-300 border-green-500/20 hover:bg-green-500/15 hover:border-green-500/30 hover:-translate-y-px active:scale-95'
2118
2126
  : 'bg-green-500/10 text-green-300 border-green-500/20'
2119
2127
  }`}
2120
2128
  data-chip-hover-lift={workingCount > 0 ? 'true' : 'false'}
@@ -2214,9 +2222,12 @@ export function TopoGraph({ sessions, sseSessions, renameSignal }: TopoGraphProp
2214
2222
  same digit-jitter physics on count crossings). */
2215
2223
  // R398: hover translate-y lift on clickable variant — see working chip above.
2216
2224
  // R414: `group` parent + inner unit span group-hover-brighten — see working chip above.
2225
+ // R494 sibling — online chip joins the active:scale-95 press
2226
+ // family (gated on onlineNodes.length > 0 clickable branch,
2227
+ // same conditional pattern as the working chip above).
2217
2228
  className={`group tabular-nums font-medium px-2.5 py-1 rounded-md border anet-topo-chip-focus transition-colors transition-transform duration-200 ease-out transform-gpu ${
2218
2229
  onlineNodes.length > 0
2219
- ? 'bg-cyan-500/10 text-cyan-300 border-cyan-500/20 hover:bg-cyan-500/15 hover:border-cyan-500/30 hover:-translate-y-px'
2230
+ ? 'bg-cyan-500/10 text-cyan-300 border-cyan-500/20 hover:bg-cyan-500/15 hover:border-cyan-500/30 hover:-translate-y-px active:scale-95'
2220
2231
  : 'bg-cyan-500/10 text-cyan-300 border-cyan-500/20'
2221
2232
  }`}
2222
2233
  data-chip-hover-lift={onlineNodes.length > 0 ? 'true' : 'false'}
@@ -10988,7 +10999,15 @@ export function TopoGraph({ sessions, sseSessions, renameSignal }: TopoGraphProp
10988
10999
  / fullscreen) preview their active state on hover.
10989
11000
  Pure actions (zoom -/+, reset) stay white — they
10990
11001
  aren't toggles, have no active state to preview. */
10991
- className={`px-2 py-1 transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-cyan-400/60 focus-visible:ring-inset ${idx > 0 ? 'border-l' : ''} ${nodeScale === v ? 'bg-cyan-500/15 text-cyan-300 font-medium hover:bg-cyan-500/20 active:bg-cyan-500/25' : 'hover:bg-cyan-500/5 active:bg-cyan-500/15'}${chromePopping === popKey ? ' anet-chrome-pop' : ''}`}
11002
+ // Round 493 / Loop extends R492 chrome-strip press-feedback
11003
+ // family to nodeSize S/M/L buttons. Adds active:scale-95
11004
+ // alongside the existing color-deepen (R196) + chrome-pop
11005
+ // (R249). transition-transform + duration-200 + ease-out
11006
+ // + transform-gpu added since this className previously had
11007
+ // transition-colors only — without the transform transition,
11008
+ // active:scale-95 would hard-cut. transform-gpu promotes the
11009
+ // layer so scale doesn't trigger paint thrash.
11010
+ className={`px-2 py-1 transition-colors transition-transform duration-200 ease-out transform-gpu active:scale-95 focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-cyan-400/60 focus-visible:ring-inset ${idx > 0 ? 'border-l' : ''} ${nodeScale === v ? 'bg-cyan-500/15 text-cyan-300 font-medium hover:bg-cyan-500/20 active:bg-cyan-500/25' : 'hover:bg-cyan-500/5 active:bg-cyan-500/15'}${chromePopping === popKey ? ' anet-chrome-pop' : ''}`}
10992
11011
  style={{ color: nodeScale === v ? undefined : pal.legendText, borderColor: pal.containerBorder }}
10993
11012
  >
10994
11013
  {lbl}
@@ -11030,7 +11049,11 @@ export function TopoGraph({ sessions, sseSessions, renameSignal }: TopoGraphProp
11030
11049
  // → white/10) so mouse-down has a tactile dim before the
11031
11050
  // R186 icon pop fires on release.
11032
11051
  // R352: `group` lets the inner svg respond via group-hover.
11033
- className="group px-2 py-1 hover:bg-white/5 active:bg-white/10 transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-cyan-400/60 focus-visible:ring-inset"
11052
+ // R493 zoom +/− buttons join the chrome-strip active:scale-95
11053
+ // press-feedback family (R492 + nodeSize above). transition-
11054
+ // transform + duration-200 + ease-out + transform-gpu added
11055
+ // since the className had only transition-colors.
11056
+ className="group px-2 py-1 hover:bg-white/5 active:bg-white/10 transition-colors transition-transform duration-200 ease-out transform-gpu active:scale-95 focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-cyan-400/60 focus-visible:ring-inset"
11034
11057
  style={{ color: pal.legendText }}
11035
11058
  aria-label="Zoom out"
11036
11059
  title="Zoom out (−)"
@@ -11170,7 +11193,11 @@ export function TopoGraph({ sessions, sseSessions, renameSignal }: TopoGraphProp
11170
11193
  data-topo-chrome-zoom-in-popping={chromePopping === 'zoom-in' ? 'true' : 'false'}
11171
11194
  // R196: press-state (mirror of zoom-out above).
11172
11195
  // R352: `group` lets the inner svg respond via group-hover.
11173
- className="group px-2 py-1 hover:bg-white/5 active:bg-white/10 transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-cyan-400/60 focus-visible:ring-inset"
11196
+ // R493 zoom +/− buttons join the chrome-strip active:scale-95
11197
+ // press-feedback family (R492 + nodeSize above). transition-
11198
+ // transform + duration-200 + ease-out + transform-gpu added
11199
+ // since the className had only transition-colors.
11200
+ className="group px-2 py-1 hover:bg-white/5 active:bg-white/10 transition-colors transition-transform duration-200 ease-out transform-gpu active:scale-95 focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-cyan-400/60 focus-visible:ring-inset"
11174
11201
  style={{ color: pal.legendText }}
11175
11202
  aria-label="Zoom in"
11176
11203
  title="Zoom in (+)"
@@ -11222,7 +11249,14 @@ export function TopoGraph({ sessions, sseSessions, renameSignal }: TopoGraphProp
11222
11249
  Every standalone interactive HTML surface in TopoGraph
11223
11250
  now lifts on hover. data-topo-chrome-reset-hover-lift
11224
11251
  attr surfaces the lift for tests. */
11225
- className="p-1.5 rounded-md border hover:bg-white/5 active:bg-white/10 hover:-translate-y-px transition-colors transition-transform duration-200 ease-out transform-gpu focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-cyan-400/60"
11252
+ // R493 reset button joins the chrome-strip active:scale-95
11253
+ // press-feedback family. The button already has transition-
11254
+ // transform + transform-gpu (R350 reset spin + R400 hover lift),
11255
+ // so just appending active:scale-95 plugs straight in. Compound
11256
+ // active state during press = hover-lift (-1px) + scale-95
11257
+ // composes as translateY(-1px) scale(0.95) — lift-and-compress
11258
+ // for tactile click feel.
11259
+ className="p-1.5 rounded-md border hover:bg-white/5 active:bg-white/10 hover:-translate-y-px active:scale-95 transition-colors transition-transform duration-200 ease-out transform-gpu focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-cyan-400/60"
11226
11260
  data-topo-chrome-reset-hover-lift="true"
11227
11261
  style={{ background: pal.legendBox.fill, borderColor: pal.containerBorder, color: pal.legendText }}
11228
11262
  aria-label="Reset view"
@@ -11315,7 +11349,9 @@ export function TopoGraph({ sessions, sseSessions, renameSignal }: TopoGraphProp
11315
11349
  // fullscreen now all carry an icon-level hover gesture in
11316
11350
  // addition to the bg hover).
11317
11351
  // R400: hover translateY(-1px) lift — see reset button above for family doc.
11318
- className={`group p-1.5 rounded-md border hover:-translate-y-px transition-colors transition-transform duration-200 ease-out transform-gpu focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-cyan-400/60 ${
11352
+ // R493 fullscreen joins active:scale-95 press family (same as
11353
+ // reset above: lift-and-compress compound transform on press).
11354
+ className={`group p-1.5 rounded-md border hover:-translate-y-px active:scale-95 transition-colors transition-transform duration-200 ease-out transform-gpu focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-cyan-400/60 ${
11319
11355
  isFullscreen
11320
11356
  ? 'bg-cyan-500/15 text-cyan-300 font-medium hover:bg-cyan-500/20 active:bg-cyan-500/25'
11321
11357
  : 'hover:bg-cyan-500/5 active:bg-cyan-500/15'
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sleep2agi/agent-network-dashboard",
3
- "version": "0.5.3-preview.5",
3
+ "version": "0.5.3-preview.7",
4
4
  "description": "Agent Network Dashboard — Web UI for managing AI Agent networks",
5
5
  "scripts": {
6
6
  "dev": "next dev",
@@ -0,0 +1,93 @@
1
+ /* Round 494 verification: chip-row working + online chips gain
2
+ * `active:scale-95` press feedback, gated on the clickable branch
3
+ * (workingCount > 0 / onlineNodes.length > 0). Extends the chrome-
4
+ * strip press family (R492 Ring/Grid + R493 5 chrome buttons) into
5
+ * the chip-row scope.
6
+ *
7
+ * Verifies per chip:
8
+ * - DOM element resolvable (data-working-chip / data-online-chip)
9
+ * - className contains `active:scale-95` (since fixture has both chips
10
+ * with > 0 count → clickable branch active)
11
+ * - computed transition-property includes `transform`
12
+ * - source-file regex confirms class string wired
13
+ */
14
+ import { chromium } from 'playwright';
15
+ import { readFileSync } from 'node:fs';
16
+
17
+ const TOKEN = JSON.parse(readFileSync('/home/vansin/.anet/config.json', 'utf8')).token;
18
+ const fresh = new Date(Date.now() - 60 * 1000).toISOString();
19
+
20
+ const browser = await chromium.launch({ headless: true });
21
+ const ctx = await browser.newContext({ viewport: { width: 1500, height: 1200 } });
22
+ await ctx.addCookies([{ name: 'anet_dashboard_session', value: `v3:${TOKEN}`, domain: '127.0.0.1', path: '/' }]);
23
+ await ctx.addInitScript(() => {
24
+ try {
25
+ localStorage.setItem('anet-theme', 'cyber');
26
+ localStorage.setItem('anet-topo-layout', 'ring');
27
+ sessionStorage.setItem('anet_v3_auth', '1');
28
+ } catch {}
29
+ });
30
+ await ctx.route('**/api/hub/status*', async (route) => {
31
+ const r = await route.fetch();
32
+ const b = await r.json();
33
+ const nid = (b.sessions || [])[0]?.network_id || 'default';
34
+ const mk = (alias, status) => ({
35
+ alias, status, model: 'claude-opus-4', runtime: 'claude-code-cli',
36
+ network_id: nid, project_dir: null,
37
+ created_at: fresh, updated_at: fresh, last_seen_at: fresh,
38
+ });
39
+ // Need both working and online > 0 so both chip variants enter clickable branch
40
+ await route.fulfill({ response: r, json: { ...b, sessions: [
41
+ mk('alpha·a1', 'working'),
42
+ mk('alpha·a2', 'idle'),
43
+ ] } });
44
+ });
45
+ await ctx.route('**/api/hub/messages*', (r) => r.fulfill({ json: { messages: [] } }));
46
+ await ctx.route('**/api/hub/tasks*', (r) => r.fulfill({ json: { tasks: [] } }));
47
+ const page = await ctx.newPage();
48
+ await page.goto('http://127.0.0.1:3000/', { waitUntil: 'networkidle' });
49
+ await page.waitForSelector('[data-working-chip]', { timeout: 15000 });
50
+ await page.waitForTimeout(1000);
51
+
52
+ const probe = async (sel) => {
53
+ return await page.evaluate((s) => {
54
+ const el = document.querySelector(s);
55
+ if (!el) return null;
56
+ const cs = window.getComputedStyle(el);
57
+ return {
58
+ cls: el.className || '',
59
+ cls_has_scale95: /active:scale-95/.test(el.className || ''),
60
+ cls_has_translate: /hover:-translate-y-px/.test(el.className || ''),
61
+ tp: cs.transitionProperty,
62
+ td: cs.transitionDuration,
63
+ tp_has_transform: /transform/i.test(cs.transitionProperty || ''),
64
+ };
65
+ }, sel);
66
+ };
67
+
68
+ const wInfo = await probe('[data-working-chip]');
69
+ const oInfo = await probe('[data-online-chip]');
70
+
71
+ await browser.close();
72
+
73
+ const src = readFileSync('/home/vansin/agent-network-dashboard/app/components/TopoGraph.tsx', 'utf8');
74
+ const sWorking = /workingCount > 0\s*\?\s*'bg-green-500\/10 text-green-300 border-green-500\/20 hover:bg-green-500\/15 hover:border-green-500\/30 hover:-translate-y-px active:scale-95'/.test(src);
75
+ const sOnline = /onlineNodes\.length > 0\s*\?\s*'bg-cyan-500\/10 text-cyan-300 border-cyan-500\/20 hover:bg-cyan-500\/15 hover:border-cyan-500\/30 hover:-translate-y-px active:scale-95'/.test(src);
76
+
77
+ const results = {
78
+ working_dom_found: !!wInfo,
79
+ working_has_scale95: wInfo && wInfo.cls_has_scale95,
80
+ working_has_lift: wInfo && wInfo.cls_has_translate,
81
+ working_tp_transform: wInfo && wInfo.tp_has_transform,
82
+ online_dom_found: !!oInfo,
83
+ online_has_scale95: oInfo && oInfo.cls_has_scale95,
84
+ online_has_lift: oInfo && oInfo.cls_has_translate,
85
+ online_tp_transform: oInfo && oInfo.tp_has_transform,
86
+ source_working_wired: sWorking,
87
+ source_online_wired: sOnline,
88
+ };
89
+ const ok = Object.values(results).every(Boolean);
90
+ console.log(`${ok ? '✅' : '❌'} chip-row working+online active:scale-95 (R494):`, JSON.stringify(results),
91
+ '\n working tp:', wInfo && wInfo.tp,
92
+ '\n online tp:', oInfo && oInfo.tp);
93
+ process.exit(ok ? 0 : 1);
@@ -0,0 +1,105 @@
1
+ /* Round 493 verification: chrome-strip active:scale-95 press feedback
2
+ * family rolls out from Ring/Grid (R492) to the remaining 5 chrome
3
+ * buttons: nodeSize S/M/L (1 selector per .map call — 3 buttons),
4
+ * zoom-out, zoom-in, reset, fullscreen.
5
+ *
6
+ * Total chrome strip active:scale-95 coverage after R493 = 7 buttons
7
+ * (R306-era 7-button family unified on press feedback).
8
+ *
9
+ * Verifies per button:
10
+ * - DOM element resolvable
11
+ * - className contains `active:scale-95`
12
+ * - computed transition-property includes `transform`
13
+ * - computed transition-duration is 0.2s (200ms)
14
+ * - source-file regex confirms the class string wired
15
+ */
16
+ import { chromium } from 'playwright';
17
+ import { readFileSync } from 'node:fs';
18
+
19
+ const TOKEN = JSON.parse(readFileSync('/home/vansin/.anet/config.json', 'utf8')).token;
20
+ const fresh = new Date(Date.now() - 60 * 1000).toISOString();
21
+
22
+ const browser = await chromium.launch({ headless: true });
23
+ const ctx = await browser.newContext({ viewport: { width: 1500, height: 1200 } });
24
+ await ctx.addCookies([{ name: 'anet_dashboard_session', value: `v3:${TOKEN}`, domain: '127.0.0.1', path: '/' }]);
25
+ await ctx.addInitScript(() => {
26
+ try {
27
+ localStorage.setItem('anet-theme', 'cyber');
28
+ localStorage.setItem('anet-topo-layout', 'ring');
29
+ sessionStorage.setItem('anet_v3_auth', '1');
30
+ } catch {}
31
+ });
32
+ await ctx.route('**/api/hub/status*', async (route) => {
33
+ const r = await route.fetch();
34
+ const b = await r.json();
35
+ const nid = (b.sessions || [])[0]?.network_id || 'default';
36
+ const mk = (alias, status) => ({
37
+ alias, status, model: 'claude-opus-4', runtime: 'claude-code-cli',
38
+ network_id: nid, project_dir: null,
39
+ created_at: fresh, updated_at: fresh, last_seen_at: fresh,
40
+ });
41
+ await route.fulfill({ response: r, json: { ...b, sessions: [mk('a·1', 'working')] } });
42
+ });
43
+ await ctx.route('**/api/hub/messages*', (r) => r.fulfill({ json: { messages: [] } }));
44
+ await ctx.route('**/api/hub/tasks*', (r) => r.fulfill({ json: { tasks: [] } }));
45
+ const page = await ctx.newPage();
46
+ await page.goto('http://127.0.0.1:3000/', { waitUntil: 'networkidle' });
47
+ await page.waitForSelector('[data-topo-chrome-fullscreen]', { timeout: 15000 });
48
+ await page.waitForTimeout(1000);
49
+
50
+ const probe = async (selector, label) => {
51
+ const data = await page.evaluate((s) => {
52
+ const els = Array.from(document.querySelectorAll(s));
53
+ if (!els.length) return { found: 0 };
54
+ return {
55
+ found: els.length,
56
+ samples: els.slice(0, 3).map((el) => {
57
+ const cs = window.getComputedStyle(el);
58
+ return {
59
+ cls_has_scale95: /active:scale-95/.test(el.className || ''),
60
+ tp_has_transform: /transform/i.test(cs.transitionProperty || ''),
61
+ td_includes_200: /\b0\.2s\b/.test(cs.transitionDuration || ''),
62
+ tp: cs.transitionProperty,
63
+ td: cs.transitionDuration,
64
+ };
65
+ }),
66
+ };
67
+ }, selector);
68
+ return { label, ...data };
69
+ };
70
+
71
+ const nodeSizeBtns = await probe('button[data-topo-chrome-node-size]', 'nodeSize');
72
+ // node-size buttons may use a different attr; fall back to nth child selector
73
+ const zoomOutBtn = await probe('button[title^="Zoom out"]', 'zoomOut');
74
+ const zoomInBtn = await probe('button[title^="Zoom in"]', 'zoomIn');
75
+ const resetBtn = await probe('button[data-topo-chrome-reset-hover-lift]', 'reset');
76
+ const fullBtn = await probe('button[data-topo-chrome-fullscreen]', 'fullscreen');
77
+
78
+ await browser.close();
79
+
80
+ const src = readFileSync('/home/vansin/agent-network-dashboard/app/components/TopoGraph.tsx', 'utf8');
81
+ // 5 source-side regex anchors (one per button class string)
82
+ const sNodeSize = /px-2 py-1 transition-colors transition-transform duration-200 ease-out transform-gpu active:scale-95/.test(src);
83
+ const sZoom = /group px-2 py-1 hover:bg-white\/5 active:bg-white\/10 transition-colors transition-transform duration-200 ease-out transform-gpu active:scale-95/.test(src);
84
+ const sReset = /p-1\.5 rounded-md border hover:bg-white\/5 active:bg-white\/10 hover:-translate-y-px active:scale-95 transition-colors transition-transform duration-200/.test(src);
85
+ const sFullscreen= /group p-1\.5 rounded-md border hover:-translate-y-px active:scale-95 transition-colors transition-transform duration-200/.test(src);
86
+
87
+ const allButtonsPressReady = (info) =>
88
+ info.found > 0 && info.samples.every((s) => s.cls_has_scale95 && s.tp_has_transform && s.td_includes_200);
89
+
90
+ const results = {
91
+ zoom_out_press_ready: allButtonsPressReady(zoomOutBtn),
92
+ zoom_in_press_ready: allButtonsPressReady(zoomInBtn),
93
+ reset_press_ready: allButtonsPressReady(resetBtn),
94
+ fullscreen_press_ready:allButtonsPressReady(fullBtn),
95
+ source_nodesize_wired: sNodeSize,
96
+ source_zoom_wired: sZoom,
97
+ source_reset_wired: sReset,
98
+ source_fullscreen_wired: sFullscreen,
99
+ };
100
+ const ok = Object.values(results).every(Boolean);
101
+ console.log(`${ok ? '✅' : '❌'} chrome-strip 5-button press feedback (R493):`, JSON.stringify(results),
102
+ '\n zoomOut found:', zoomOutBtn.found, ' zoomIn:', zoomInBtn.found,
103
+ '\n reset:', resetBtn.found, ' fullscreen:', fullBtn.found,
104
+ '\n nodeSize found:', nodeSizeBtns.found);
105
+ process.exit(ok ? 0 : 1);