@sleep2agi/agent-network-dashboard 0.4.5-preview.53 → 0.4.5-preview.55

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 +4 -4
  4. package/.next/fallback-build-manifest.json +3 -3
  5. package/.next/prerender-manifest.json +3 -3
  6. package/.next/server/app/_global-error.html +1 -1
  7. package/.next/server/app/_global-error.rsc +1 -1
  8. package/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  9. package/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  10. package/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  11. package/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  12. package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  13. package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  14. package/.next/server/app/_not-found.html +2 -2
  15. package/.next/server/app/_not-found.rsc +2 -2
  16. package/.next/server/app/_not-found.segments/_full.segment.rsc +2 -2
  17. package/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  18. package/.next/server/app/_not-found.segments/_index.segment.rsc +2 -2
  19. package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  20. package/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  21. package/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  22. package/.next/server/app/admin/page_client-reference-manifest.js +1 -1
  23. package/.next/server/app/admin.html +2 -2
  24. package/.next/server/app/admin.rsc +2 -2
  25. package/.next/server/app/admin.segments/_full.segment.rsc +2 -2
  26. package/.next/server/app/admin.segments/_head.segment.rsc +1 -1
  27. package/.next/server/app/admin.segments/_index.segment.rsc +2 -2
  28. package/.next/server/app/admin.segments/_tree.segment.rsc +2 -2
  29. package/.next/server/app/admin.segments/admin/__PAGE__.segment.rsc +1 -1
  30. package/.next/server/app/admin.segments/admin.segment.rsc +1 -1
  31. package/.next/server/app/index.html +2 -2
  32. package/.next/server/app/index.rsc +3 -3
  33. package/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
  34. package/.next/server/app/index.segments/_full.segment.rsc +3 -3
  35. package/.next/server/app/index.segments/_head.segment.rsc +1 -1
  36. package/.next/server/app/index.segments/_index.segment.rsc +2 -2
  37. package/.next/server/app/index.segments/_tree.segment.rsc +2 -2
  38. package/.next/server/app/login/page_client-reference-manifest.js +1 -1
  39. package/.next/server/app/login.html +2 -2
  40. package/.next/server/app/login.rsc +3 -3
  41. package/.next/server/app/login.segments/_full.segment.rsc +3 -3
  42. package/.next/server/app/login.segments/_head.segment.rsc +1 -1
  43. package/.next/server/app/login.segments/_index.segment.rsc +2 -2
  44. package/.next/server/app/login.segments/_tree.segment.rsc +2 -2
  45. package/.next/server/app/login.segments/login/__PAGE__.segment.rsc +2 -2
  46. package/.next/server/app/login.segments/login.segment.rsc +1 -1
  47. package/.next/server/app/logs/page_client-reference-manifest.js +1 -1
  48. package/.next/server/app/logs.html +2 -2
  49. package/.next/server/app/logs.rsc +2 -2
  50. package/.next/server/app/logs.segments/_full.segment.rsc +2 -2
  51. package/.next/server/app/logs.segments/_head.segment.rsc +1 -1
  52. package/.next/server/app/logs.segments/_index.segment.rsc +2 -2
  53. package/.next/server/app/logs.segments/_tree.segment.rsc +2 -2
  54. package/.next/server/app/logs.segments/logs/__PAGE__.segment.rsc +1 -1
  55. package/.next/server/app/logs.segments/logs.segment.rsc +1 -1
  56. package/.next/server/app/messages/page_client-reference-manifest.js +1 -1
  57. package/.next/server/app/messages.html +2 -2
  58. package/.next/server/app/messages.rsc +2 -2
  59. package/.next/server/app/messages.segments/_full.segment.rsc +2 -2
  60. package/.next/server/app/messages.segments/_head.segment.rsc +1 -1
  61. package/.next/server/app/messages.segments/_index.segment.rsc +2 -2
  62. package/.next/server/app/messages.segments/_tree.segment.rsc +2 -2
  63. package/.next/server/app/messages.segments/messages/__PAGE__.segment.rsc +1 -1
  64. package/.next/server/app/messages.segments/messages.segment.rsc +1 -1
  65. package/.next/server/app/node/page_client-reference-manifest.js +1 -1
  66. package/.next/server/app/node.html +2 -2
  67. package/.next/server/app/node.rsc +2 -2
  68. package/.next/server/app/node.segments/_full.segment.rsc +2 -2
  69. package/.next/server/app/node.segments/_head.segment.rsc +1 -1
  70. package/.next/server/app/node.segments/_index.segment.rsc +2 -2
  71. package/.next/server/app/node.segments/_tree.segment.rsc +2 -2
  72. package/.next/server/app/node.segments/node/__PAGE__.segment.rsc +1 -1
  73. package/.next/server/app/node.segments/node.segment.rsc +1 -1
  74. package/.next/server/app/nodes/page_client-reference-manifest.js +1 -1
  75. package/.next/server/app/nodes.html +2 -2
  76. package/.next/server/app/nodes.rsc +2 -2
  77. package/.next/server/app/nodes.segments/_full.segment.rsc +2 -2
  78. package/.next/server/app/nodes.segments/_head.segment.rsc +1 -1
  79. package/.next/server/app/nodes.segments/_index.segment.rsc +2 -2
  80. package/.next/server/app/nodes.segments/_tree.segment.rsc +2 -2
  81. package/.next/server/app/nodes.segments/nodes/__PAGE__.segment.rsc +1 -1
  82. package/.next/server/app/nodes.segments/nodes.segment.rsc +1 -1
  83. package/.next/server/app/page_client-reference-manifest.js +1 -1
  84. package/.next/server/app/server-logs/page_client-reference-manifest.js +1 -1
  85. package/.next/server/app/server-logs.html +2 -2
  86. package/.next/server/app/server-logs.rsc +2 -2
  87. package/.next/server/app/server-logs.segments/_full.segment.rsc +2 -2
  88. package/.next/server/app/server-logs.segments/_head.segment.rsc +1 -1
  89. package/.next/server/app/server-logs.segments/_index.segment.rsc +2 -2
  90. package/.next/server/app/server-logs.segments/_tree.segment.rsc +2 -2
  91. package/.next/server/app/server-logs.segments/server-logs/__PAGE__.segment.rsc +1 -1
  92. package/.next/server/app/server-logs.segments/server-logs.segment.rsc +1 -1
  93. package/.next/server/app/settings/networks/page_client-reference-manifest.js +1 -1
  94. package/.next/server/app/settings/networks.html +2 -2
  95. package/.next/server/app/settings/networks.rsc +2 -2
  96. package/.next/server/app/settings/networks.segments/_full.segment.rsc +2 -2
  97. package/.next/server/app/settings/networks.segments/_head.segment.rsc +1 -1
  98. package/.next/server/app/settings/networks.segments/_index.segment.rsc +2 -2
  99. package/.next/server/app/settings/networks.segments/_tree.segment.rsc +2 -2
  100. package/.next/server/app/settings/networks.segments/settings/networks/__PAGE__.segment.rsc +1 -1
  101. package/.next/server/app/settings/networks.segments/settings/networks.segment.rsc +1 -1
  102. package/.next/server/app/settings/networks.segments/settings.segment.rsc +1 -1
  103. package/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  104. package/.next/server/app/settings/tokens/page_client-reference-manifest.js +1 -1
  105. package/.next/server/app/settings/tokens.html +2 -2
  106. package/.next/server/app/settings/tokens.rsc +2 -2
  107. package/.next/server/app/settings/tokens.segments/_full.segment.rsc +2 -2
  108. package/.next/server/app/settings/tokens.segments/_head.segment.rsc +1 -1
  109. package/.next/server/app/settings/tokens.segments/_index.segment.rsc +2 -2
  110. package/.next/server/app/settings/tokens.segments/_tree.segment.rsc +2 -2
  111. package/.next/server/app/settings/tokens.segments/settings/tokens/__PAGE__.segment.rsc +1 -1
  112. package/.next/server/app/settings/tokens.segments/settings/tokens.segment.rsc +1 -1
  113. package/.next/server/app/settings/tokens.segments/settings.segment.rsc +1 -1
  114. package/.next/server/app/settings.html +2 -2
  115. package/.next/server/app/settings.rsc +3 -3
  116. package/.next/server/app/settings.segments/_full.segment.rsc +3 -3
  117. package/.next/server/app/settings.segments/_head.segment.rsc +1 -1
  118. package/.next/server/app/settings.segments/_index.segment.rsc +2 -2
  119. package/.next/server/app/settings.segments/_tree.segment.rsc +2 -2
  120. package/.next/server/app/settings.segments/settings/__PAGE__.segment.rsc +2 -2
  121. package/.next/server/app/settings.segments/settings.segment.rsc +1 -1
  122. package/.next/server/app/tasks/[id]/page_client-reference-manifest.js +1 -1
  123. package/.next/server/app/tasks/page_client-reference-manifest.js +1 -1
  124. package/.next/server/app/tasks.html +2 -2
  125. package/.next/server/app/tasks.rsc +2 -2
  126. package/.next/server/app/tasks.segments/_full.segment.rsc +2 -2
  127. package/.next/server/app/tasks.segments/_head.segment.rsc +1 -1
  128. package/.next/server/app/tasks.segments/_index.segment.rsc +2 -2
  129. package/.next/server/app/tasks.segments/_tree.segment.rsc +2 -2
  130. package/.next/server/app/tasks.segments/tasks/__PAGE__.segment.rsc +1 -1
  131. package/.next/server/app/tasks.segments/tasks.segment.rsc +1 -1
  132. package/.next/server/chunks/ssr/_0nne7mz._.js +1 -1
  133. package/.next/server/chunks/ssr/_0nne7mz._.js.map +1 -1
  134. package/.next/server/chunks/ssr/app_0aum_g5._.js +1 -1
  135. package/.next/server/chunks/ssr/app_0aum_g5._.js.map +1 -1
  136. package/.next/server/chunks/ssr/app_0esuljp._.js +1 -1
  137. package/.next/server/chunks/ssr/app_0esuljp._.js.map +1 -1
  138. package/.next/server/middleware-build-manifest.js +3 -3
  139. package/.next/server/pages/404.html +2 -2
  140. package/.next/server/pages/500.html +1 -1
  141. package/.next/server/server-reference-manifest.js +1 -1
  142. package/.next/server/server-reference-manifest.json +1 -1
  143. package/.next/static/chunks/023enh~oz30n..js +1 -0
  144. package/.next/static/chunks/09.q998r20bia.css +2 -0
  145. package/.next/static/chunks/{0pypssqeitz11.js → 12t1_mg2g~qr~.js} +1 -1
  146. package/.next/static/chunks/{15hz38flsqkl6.js → 14gcp0d-_bf-n.js} +1 -1
  147. package/.next/trace +2 -2
  148. package/.next/trace-build +1 -1
  149. package/app/components/StatsBar.tsx +59 -36
  150. package/package.json +1 -1
  151. package/scripts/loop-review.mjs +120 -42
  152. package/.next/static/chunks/000qcyr-yo73c.css +0 -2
  153. package/.next/static/chunks/120_ivsobv54t.js +0 -1
  154. /package/.next/static/{aMUVvHhZSjksmj5wMoKrM → TgtbxBEQuLKKI4SW96OrQ}/_buildManifest.js +0 -0
  155. /package/.next/static/{aMUVvHhZSjksmj5wMoKrM → TgtbxBEQuLKKI4SW96OrQ}/_clientMiddlewareManifest.js +0 -0
  156. /package/.next/static/{aMUVvHhZSjksmj5wMoKrM → TgtbxBEQuLKKI4SW96OrQ}/_ssgManifest.js +0 -0
@@ -1 +1 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,94867,e=>{"use strict";e.s(["DASHBOARD_VERSION",0,"0.4.5-preview.53"],94867)},89954,e=>{"use strict";var t=e.i(18050),r=e.i(71645),a=e.i(94867);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,94867,e=>{"use strict";e.s(["DASHBOARD_VERSION",0,"0.4.5-preview.55"],94867)},89954,e=>{"use strict";var t=e.i(18050),r=e.i(71645),a=e.i(94867);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":306,"timestamp":218202801565,"id":4,"parentId":1,"tags":{},"startTime":1778589688626,"traceId":"24a9feed7fa6a39f"},{"name":"load-custom-routes","duration":474,"timestamp":218202802047,"id":5,"parentId":1,"tags":{},"startTime":1778589688627,"traceId":"24a9feed7fa6a39f"},{"name":"create-dist-dir","duration":792,"timestamp":218202802565,"id":6,"parentId":1,"tags":{},"startTime":1778589688627,"traceId":"24a9feed7fa6a39f"},{"name":"clean","duration":604,"timestamp":218202804077,"id":7,"parentId":1,"tags":{},"startTime":1778589688629,"traceId":"24a9feed7fa6a39f"},{"name":"discover-routes","duration":9401,"timestamp":218202907730,"id":8,"parentId":1,"tags":{},"startTime":1778589688732,"traceId":"24a9feed7fa6a39f"},{"name":"create-root-mapping","duration":131,"timestamp":218202917195,"id":9,"parentId":1,"tags":{},"startTime":1778589688742,"traceId":"24a9feed7fa6a39f"},{"name":"generate-route-types","duration":20838,"timestamp":218202919772,"id":10,"parentId":1,"tags":{},"startTime":1778589688744,"traceId":"24a9feed7fa6a39f"},{"name":"public-dir-conflict-check","duration":227,"timestamp":218202940741,"id":11,"parentId":1,"tags":{},"startTime":1778589688765,"traceId":"24a9feed7fa6a39f"},{"name":"generate-routes-manifest","duration":8043,"timestamp":218202941127,"id":12,"parentId":1,"tags":{},"startTime":1778589688766,"traceId":"24a9feed7fa6a39f"},{"name":"run-turbopack","duration":8645691,"timestamp":218202967263,"id":14,"parentId":1,"tags":{},"startTime":1778589688792,"traceId":"24a9feed7fa6a39f"},{"name":"turbopack-build-events","duration":82,"timestamp":218203266253,"id":15,"parentId":1,"tags":{},"startTime":1778589689091,"traceId":"24a9feed7fa6a39f"},{"name":"run-typescript","duration":8049081,"timestamp":218211623091,"id":16,"parentId":1,"tags":{},"startTime":1778589697448,"traceId":"24a9feed7fa6a39f"},{"name":"generate-required-server-files","duration":3182,"timestamp":218219673179,"id":18,"parentId":1,"tags":{},"startTime":1778589705498,"traceId":"24a9feed7fa6a39f"},{"name":"check-static-error-page","duration":17734,"timestamp":218219751669,"id":20,"parentId":19,"tags":{},"startTime":1778589705576,"traceId":"24a9feed7fa6a39f"},{"name":"is-page-static","duration":328800,"timestamp":218219773622,"id":62,"parentId":22,"tags":{},"startTime":1778589705598,"traceId":"24a9feed7fa6a39f"},{"name":"check-page","duration":348487,"timestamp":218219754063,"id":22,"parentId":19,"tags":{"page":"/_global-error"},"startTime":1778589705579,"traceId":"24a9feed7fa6a39f"},{"name":"is-page-static","duration":461829,"timestamp":218219774475,"id":64,"parentId":26,"tags":{},"startTime":1778589705599,"traceId":"24a9feed7fa6a39f"},{"name":"check-page","duration":478312,"timestamp":218219758081,"id":26,"parentId":19,"tags":{"page":"/api/auth/logout"},"startTime":1778589705583,"traceId":"24a9feed7fa6a39f"},{"name":"is-page-static","duration":467713,"timestamp":218219774544,"id":65,"parentId":27,"tags":{},"startTime":1778589705599,"traceId":"24a9feed7fa6a39f"},{"name":"check-page","duration":484041,"timestamp":218219758275,"id":27,"parentId":19,"tags":{"page":"/api/auth/v3"},"startTime":1778589705583,"traceId":"24a9feed7fa6a39f"},{"name":"is-page-static","duration":474474,"timestamp":218219774597,"id":66,"parentId":28,"tags":{},"startTime":1778589705599,"traceId":"24a9feed7fa6a39f"},{"name":"check-page","duration":489365,"timestamp":218219759784,"id":28,"parentId":19,"tags":{"page":"/api/hub/audit-log"},"startTime":1778589705584,"traceId":"24a9feed7fa6a39f"},{"name":"is-page-static","duration":479539,"timestamp":218219774635,"id":67,"parentId":29,"tags":{},"startTime":1778589705599,"traceId":"24a9feed7fa6a39f"},{"name":"check-page","duration":494082,"timestamp":218219760158,"id":29,"parentId":19,"tags":{"page":"/api/hub/auth"},"startTime":1778589705585,"traceId":"24a9feed7fa6a39f"},{"name":"is-page-static","duration":485548,"timestamp":218219774669,"id":68,"parentId":30,"tags":{},"startTime":1778589705599,"traceId":"24a9feed7fa6a39f"},{"name":"check-page","duration":499804,"timestamp":218219760476,"id":30,"parentId":19,"tags":{"page":"/api/hub/broadcast"},"startTime":1778589705585,"traceId":"24a9feed7fa6a39f"},{"name":"is-page-static","duration":487084,"timestamp":218219774705,"id":69,"parentId":32,"tags":{},"startTime":1778589705599,"traceId":"24a9feed7fa6a39f"},{"name":"check-page","duration":500278,"timestamp":218219761556,"id":32,"parentId":19,"tags":{"page":"/api/hub/health"},"startTime":1778589705586,"traceId":"24a9feed7fa6a39f"},{"name":"is-page-static","duration":490427,"timestamp":218219774835,"id":70,"parentId":33,"tags":{},"startTime":1778589705600,"traceId":"24a9feed7fa6a39f"},{"name":"check-page","duration":503518,"timestamp":218219761783,"id":33,"parentId":19,"tags":{"page":"/api/hub/inbox"},"startTime":1778589705586,"traceId":"24a9feed7fa6a39f"},{"name":"is-page-static","duration":494000,"timestamp":218219774885,"id":71,"parentId":34,"tags":{},"startTime":1778589705600,"traceId":"24a9feed7fa6a39f"},{"name":"check-page","duration":507104,"timestamp":218219761963,"id":34,"parentId":19,"tags":{"page":"/api/hub/license"},"startTime":1778589705587,"traceId":"24a9feed7fa6a39f"},{"name":"is-page-static","duration":496910,"timestamp":218219773269,"id":61,"parentId":21,"tags":{},"startTime":1778589705598,"traceId":"24a9feed7fa6a39f"},{"name":"check-page","duration":517478,"timestamp":218219752735,"id":21,"parentId":19,"tags":{"page":"/_not-found"},"startTime":1778589705577,"traceId":"24a9feed7fa6a39f"},{"name":"is-page-static","duration":497939,"timestamp":218219774901,"id":72,"parentId":35,"tags":{},"startTime":1778589705600,"traceId":"24a9feed7fa6a39f"},{"name":"check-page","duration":510675,"timestamp":218219762210,"id":35,"parentId":19,"tags":{"page":"/api/hub/messages"},"startTime":1778589705587,"traceId":"24a9feed7fa6a39f"},{"name":"is-page-static","duration":501398,"timestamp":218219774974,"id":74,"parentId":37,"tags":{},"startTime":1778589705600,"traceId":"24a9feed7fa6a39f"},{"name":"check-page","duration":512867,"timestamp":218219763547,"id":37,"parentId":19,"tags":{"page":"/api/hub/nodes"},"startTime":1778589705588,"traceId":"24a9feed7fa6a39f"},{"name":"is-page-static","duration":505555,"timestamp":218219774982,"id":75,"parentId":38,"tags":{},"startTime":1778589705600,"traceId":"24a9feed7fa6a39f"},{"name":"check-page","duration":516868,"timestamp":218219763726,"id":38,"parentId":19,"tags":{"page":"/api/hub/register"},"startTime":1778589705588,"traceId":"24a9feed7fa6a39f"},{"name":"is-page-static","duration":509757,"timestamp":218219774988,"id":76,"parentId":39,"tags":{},"startTime":1778589705600,"traceId":"24a9feed7fa6a39f"},{"name":"check-page","duration":520986,"timestamp":218219763806,"id":39,"parentId":19,"tags":{"page":"/api/hub/send"},"startTime":1778589705588,"traceId":"24a9feed7fa6a39f"},{"name":"is-page-static","duration":522051,"timestamp":218219774994,"id":77,"parentId":40,"tags":{},"startTime":1778589705600,"traceId":"24a9feed7fa6a39f"},{"name":"check-page","duration":533243,"timestamp":218219763882,"id":40,"parentId":19,"tags":{"page":"/api/hub/server-logs"},"startTime":1778589705589,"traceId":"24a9feed7fa6a39f"},{"name":"is-page-static","duration":523517,"timestamp":218219775012,"id":78,"parentId":41,"tags":{},"startTime":1778589705600,"traceId":"24a9feed7fa6a39f"},{"name":"check-page","duration":534634,"timestamp":218219763955,"id":41,"parentId":19,"tags":{"page":"/api/hub/session"},"startTime":1778589705589,"traceId":"24a9feed7fa6a39f"},{"name":"is-page-static","duration":528469,"timestamp":218219775018,"id":79,"parentId":42,"tags":{},"startTime":1778589705600,"traceId":"24a9feed7fa6a39f"},{"name":"check-page","duration":539396,"timestamp":218219764152,"id":42,"parentId":19,"tags":{"page":"/api/hub/stats"},"startTime":1778589705589,"traceId":"24a9feed7fa6a39f"},{"name":"is-page-static","duration":531595,"timestamp":218219773695,"id":63,"parentId":25,"tags":{},"startTime":1778589705598,"traceId":"24a9feed7fa6a39f"},{"name":"check-page","duration":548465,"timestamp":218219756871,"id":25,"parentId":19,"tags":{"page":"/api/auth/login"},"startTime":1778589705582,"traceId":"24a9feed7fa6a39f"},{"name":"is-page-static","duration":536866,"timestamp":218219775033,"id":81,"parentId":44,"tags":{},"startTime":1778589705600,"traceId":"24a9feed7fa6a39f"},{"name":"check-page","duration":547593,"timestamp":218219764362,"id":44,"parentId":19,"tags":{"page":"/api/hub/task-events"},"startTime":1778589705589,"traceId":"24a9feed7fa6a39f"},{"name":"is-page-static","duration":537670,"timestamp":218219775027,"id":80,"parentId":43,"tags":{},"startTime":1778589705600,"traceId":"24a9feed7fa6a39f"},{"name":"check-page","duration":548491,"timestamp":218219764250,"id":43,"parentId":19,"tags":{"page":"/api/hub/status"},"startTime":1778589705589,"traceId":"24a9feed7fa6a39f"},{"name":"is-page-static","duration":540977,"timestamp":218219775045,"id":83,"parentId":46,"tags":{},"startTime":1778589705600,"traceId":"24a9feed7fa6a39f"},{"name":"check-page","duration":551446,"timestamp":218219764622,"id":46,"parentId":19,"tags":{"page":"/api/hub/tmux"},"startTime":1778589705589,"traceId":"24a9feed7fa6a39f"},{"name":"is-page-static","duration":545711,"timestamp":218219775049,"id":84,"parentId":47,"tags":{},"startTime":1778589705600,"traceId":"24a9feed7fa6a39f"},{"name":"check-page","duration":556115,"timestamp":218219764705,"id":47,"parentId":19,"tags":{"page":"/api/hub/tokens"},"startTime":1778589705589,"traceId":"24a9feed7fa6a39f"},{"name":"is-page-static","duration":549414,"timestamp":218219775055,"id":85,"parentId":48,"tags":{},"startTime":1778589705600,"traceId":"24a9feed7fa6a39f"},{"name":"check-page","duration":559707,"timestamp":218219764810,"id":48,"parentId":19,"tags":{"page":"/favicon.ico"},"startTime":1778589705590,"traceId":"24a9feed7fa6a39f"},{"name":"is-page-static","duration":551553,"timestamp":218219779337,"id":86,"parentId":24,"tags":{},"startTime":1778589705604,"traceId":"24a9feed7fa6a39f"},{"name":"check-page","duration":576299,"timestamp":218219754643,"id":24,"parentId":19,"tags":{"page":"/api/anet/config"},"startTime":1778589705579,"traceId":"24a9feed7fa6a39f"},{"name":"is-page-static","duration":560016,"timestamp":218219775039,"id":82,"parentId":45,"tags":{},"startTime":1778589705600,"traceId":"24a9feed7fa6a39f"},{"name":"check-page","duration":570644,"timestamp":218219764463,"id":45,"parentId":19,"tags":{"page":"/api/hub/tasks"},"startTime":1778589705589,"traceId":"24a9feed7fa6a39f"},{"name":"is-page-static","duration":552586,"timestamp":218219783204,"id":87,"parentId":31,"tags":{},"startTime":1778589705608,"traceId":"24a9feed7fa6a39f"},{"name":"check-page","duration":575222,"timestamp":218219760610,"id":31,"parentId":19,"tags":{"page":"/api/hub/events"},"startTime":1778589705585,"traceId":"24a9feed7fa6a39f"},{"name":"is-page-static","duration":586634,"timestamp":218219774955,"id":73,"parentId":36,"tags":{},"startTime":1778589705600,"traceId":"24a9feed7fa6a39f"},{"name":"check-page","duration":598980,"timestamp":218219762671,"id":36,"parentId":19,"tags":{"page":"/api/hub/networks"},"startTime":1778589705587,"traceId":"24a9feed7fa6a39f"},{"name":"is-page-static","duration":564895,"timestamp":218219804275,"id":90,"parentId":50,"tags":{},"startTime":1778589705629,"traceId":"24a9feed7fa6a39f"},{"name":"check-page","duration":603799,"timestamp":218219765429,"id":50,"parentId":19,"tags":{"page":"/logs"},"startTime":1778589705590,"traceId":"24a9feed7fa6a39f"},{"name":"is-page-static","duration":570314,"timestamp":218219804286,"id":91,"parentId":51,"tags":{},"startTime":1778589705629,"traceId":"24a9feed7fa6a39f"},{"name":"check-page","duration":609048,"timestamp":218219765608,"id":51,"parentId":19,"tags":{"page":"/messages"},"startTime":1778589705590,"traceId":"24a9feed7fa6a39f"},{"name":"is-page-static","duration":575428,"timestamp":218219804294,"id":92,"parentId":52,"tags":{},"startTime":1778589705629,"traceId":"24a9feed7fa6a39f"},{"name":"check-page","duration":613966,"timestamp":218219765812,"id":52,"parentId":19,"tags":{"page":"/node"},"startTime":1778589705591,"traceId":"24a9feed7fa6a39f"},{"name":"is-page-static","duration":576685,"timestamp":218219804267,"id":89,"parentId":49,"tags":{},"startTime":1778589705629,"traceId":"24a9feed7fa6a39f"},{"name":"check-page","duration":615749,"timestamp":218219765244,"id":49,"parentId":19,"tags":{"page":"/login"},"startTime":1778589705590,"traceId":"24a9feed7fa6a39f"},{"name":"is-page-static","duration":580946,"timestamp":218219804300,"id":93,"parentId":53,"tags":{},"startTime":1778589705629,"traceId":"24a9feed7fa6a39f"},{"name":"check-page","duration":619245,"timestamp":218219766044,"id":53,"parentId":19,"tags":{"page":"/nodes"},"startTime":1778589705591,"traceId":"24a9feed7fa6a39f"},{"name":"is-page-static","duration":582751,"timestamp":218219804309,"id":94,"parentId":55,"tags":{},"startTime":1778589705629,"traceId":"24a9feed7fa6a39f"},{"name":"check-page","duration":620326,"timestamp":218219766799,"id":55,"parentId":19,"tags":{"page":"/server-logs"},"startTime":1778589705591,"traceId":"24a9feed7fa6a39f"},{"name":"is-page-static","duration":586914,"timestamp":218219804317,"id":95,"parentId":56,"tags":{},"startTime":1778589705629,"traceId":"24a9feed7fa6a39f"},{"name":"check-page","duration":624300,"timestamp":218219766978,"id":56,"parentId":19,"tags":{"page":"/settings/networks"},"startTime":1778589705592,"traceId":"24a9feed7fa6a39f"},{"name":"is-page-static","duration":588267,"timestamp":218219804323,"id":96,"parentId":58,"tags":{},"startTime":1778589705629,"traceId":"24a9feed7fa6a39f"},{"name":"check-page","duration":623653,"timestamp":218219768975,"id":58,"parentId":19,"tags":{"page":"/settings/tokens"},"startTime":1778589705594,"traceId":"24a9feed7fa6a39f"},{"name":"is-page-static","duration":590751,"timestamp":218219804225,"id":88,"parentId":23,"tags":{},"startTime":1778589705629,"traceId":"24a9feed7fa6a39f"},{"name":"check-page","duration":640669,"timestamp":218219754358,"id":23,"parentId":19,"tags":{"page":"/admin"},"startTime":1778589705579,"traceId":"24a9feed7fa6a39f"},{"name":"is-page-static","duration":596111,"timestamp":218219804338,"id":98,"parentId":60,"tags":{},"startTime":1778589705629,"traceId":"24a9feed7fa6a39f"},{"name":"check-page","duration":631300,"timestamp":218219769206,"id":60,"parentId":19,"tags":{"page":"/tasks"},"startTime":1778589705594,"traceId":"24a9feed7fa6a39f"},{"name":"is-page-static","duration":597418,"timestamp":218219804350,"id":99,"parentId":57,"tags":{},"startTime":1778589705629,"traceId":"24a9feed7fa6a39f"},{"name":"check-page","duration":634642,"timestamp":218219767165,"id":57,"parentId":19,"tags":{"page":"/settings"},"startTime":1778589705592,"traceId":"24a9feed7fa6a39f"},{"name":"is-page-static","duration":586010,"timestamp":218219819298,"id":100,"parentId":54,"tags":{},"startTime":1778589705644,"traceId":"24a9feed7fa6a39f"},{"name":"check-page","duration":639058,"timestamp":218219766285,"id":54,"parentId":19,"tags":{"page":"/"},"startTime":1778589705591,"traceId":"24a9feed7fa6a39f"},{"name":"is-page-static","duration":602471,"timestamp":218219804331,"id":97,"parentId":59,"tags":{},"startTime":1778589705629,"traceId":"24a9feed7fa6a39f"},{"name":"check-page","duration":637741,"timestamp":218219769105,"id":59,"parentId":19,"tags":{"page":"/tasks/[id]"},"startTime":1778589705594,"traceId":"24a9feed7fa6a39f"},{"name":"static-check","duration":656021,"timestamp":218219750853,"id":19,"parentId":1,"tags":{},"startTime":1778589705576,"traceId":"24a9feed7fa6a39f"},{"name":"write-routes-manifest","duration":456,"timestamp":218220413686,"id":102,"parentId":1,"tags":{},"startTime":1778589706238,"traceId":"24a9feed7fa6a39f"},{"name":"load-dotenv","duration":53,"timestamp":218220426695,"id":105,"parentId":104,"tags":{},"startTime":1778589706251,"traceId":"24a9feed7fa6a39f"},{"name":"run-export-path-map","duration":644,"timestamp":218220429778,"id":106,"parentId":104,"tags":{},"startTime":1778589706254,"traceId":"24a9feed7fa6a39f"},{"name":"next-export","duration":610245,"timestamp":218220425363,"id":104,"parentId":1,"tags":{},"startTime":1778589706250,"traceId":"24a9feed7fa6a39f"},{"name":"move-exported-app-not-found-","duration":862,"timestamp":218221039827,"id":107,"parentId":103,"tags":{},"startTime":1778589706865,"traceId":"24a9feed7fa6a39f"},{"name":"move-exported-app-global-error-","duration":570,"timestamp":218221040794,"id":108,"parentId":103,"tags":{},"startTime":1778589706865,"traceId":"24a9feed7fa6a39f"}]
2
- [{"name":"static-generation","duration":626355,"timestamp":218220419300,"id":103,"parentId":1,"tags":{},"startTime":1778589706244,"traceId":"24a9feed7fa6a39f"},{"name":"write-routes-manifest","duration":461,"timestamp":218221045846,"id":109,"parentId":1,"tags":{},"startTime":1778589706871,"traceId":"24a9feed7fa6a39f"},{"name":"print-tree-view","duration":4490,"timestamp":218221066115,"id":110,"parentId":1,"tags":{},"startTime":1778589706891,"traceId":"24a9feed7fa6a39f"},{"name":"write-route-bundle-stats","duration":11717,"timestamp":218221070644,"id":111,"parentId":1,"tags":{},"startTime":1778589706895,"traceId":"24a9feed7fa6a39f"},{"name":"telemetry-flush","duration":22690,"timestamp":218221082399,"id":112,"parentId":1,"tags":{},"startTime":1778589706907,"traceId":"24a9feed7fa6a39f"},{"name":"next-build","duration":18350826,"timestamp":218202754306,"id":1,"tags":{"buildMode":"default","version":"16.2.3","bundler":"turbopack","has-custom-webpack-config":"false","use-build-worker":"true"},"startTime":1778589688579,"traceId":"24a9feed7fa6a39f"}]
1
+ [{"name":"generate-buildid","duration":348,"timestamp":218781526955,"id":4,"parentId":1,"tags":{},"startTime":1778590267352,"traceId":"1737638a0bd95782"},{"name":"load-custom-routes","duration":664,"timestamp":218781527470,"id":5,"parentId":1,"tags":{},"startTime":1778590267352,"traceId":"1737638a0bd95782"},{"name":"create-dist-dir","duration":370,"timestamp":218781528184,"id":6,"parentId":1,"tags":{},"startTime":1778590267353,"traceId":"1737638a0bd95782"},{"name":"clean","duration":579,"timestamp":218781529305,"id":7,"parentId":1,"tags":{},"startTime":1778590267354,"traceId":"1737638a0bd95782"},{"name":"discover-routes","duration":9630,"timestamp":218781620787,"id":8,"parentId":1,"tags":{},"startTime":1778590267445,"traceId":"1737638a0bd95782"},{"name":"create-root-mapping","duration":161,"timestamp":218781630490,"id":9,"parentId":1,"tags":{},"startTime":1778590267455,"traceId":"1737638a0bd95782"},{"name":"generate-route-types","duration":36275,"timestamp":218781633081,"id":10,"parentId":1,"tags":{},"startTime":1778590267458,"traceId":"1737638a0bd95782"},{"name":"public-dir-conflict-check","duration":121,"timestamp":218781669535,"id":11,"parentId":1,"tags":{},"startTime":1778590267494,"traceId":"1737638a0bd95782"},{"name":"generate-routes-manifest","duration":4334,"timestamp":218781669783,"id":12,"parentId":1,"tags":{},"startTime":1778590267494,"traceId":"1737638a0bd95782"},{"name":"run-turbopack","duration":9211007,"timestamp":218781681477,"id":14,"parentId":1,"tags":{},"startTime":1778590267506,"traceId":"1737638a0bd95782"},{"name":"turbopack-build-events","duration":96,"timestamp":218782004219,"id":15,"parentId":1,"tags":{},"startTime":1778590267829,"traceId":"1737638a0bd95782"},{"name":"run-typescript","duration":8729277,"timestamp":218790905415,"id":16,"parentId":1,"tags":{},"startTime":1778590276730,"traceId":"1737638a0bd95782"},{"name":"generate-required-server-files","duration":2710,"timestamp":218799636054,"id":18,"parentId":1,"tags":{},"startTime":1778590285461,"traceId":"1737638a0bd95782"},{"name":"check-static-error-page","duration":23261,"timestamp":218799721642,"id":20,"parentId":19,"tags":{},"startTime":1778590285546,"traceId":"1737638a0bd95782"},{"name":"is-page-static","duration":337307,"timestamp":218799749211,"id":62,"parentId":22,"tags":{},"startTime":1778590285574,"traceId":"1737638a0bd95782"},{"name":"check-page","duration":360272,"timestamp":218799726383,"id":22,"parentId":19,"tags":{"page":"/_global-error"},"startTime":1778590285551,"traceId":"1737638a0bd95782"},{"name":"is-page-static","duration":423690,"timestamp":218799749326,"id":63,"parentId":25,"tags":{},"startTime":1778590285574,"traceId":"1737638a0bd95782"},{"name":"check-page","duration":443742,"timestamp":218799729379,"id":25,"parentId":19,"tags":{"page":"/api/auth/login"},"startTime":1778590285554,"traceId":"1737638a0bd95782"},{"name":"is-page-static","duration":440620,"timestamp":218799749572,"id":65,"parentId":27,"tags":{},"startTime":1778590285574,"traceId":"1737638a0bd95782"},{"name":"check-page","duration":459830,"timestamp":218799730431,"id":27,"parentId":19,"tags":{"page":"/api/auth/v3"},"startTime":1778590285555,"traceId":"1737638a0bd95782"},{"name":"is-page-static","duration":449051,"timestamp":218799749511,"id":64,"parentId":26,"tags":{},"startTime":1778590285574,"traceId":"1737638a0bd95782"},{"name":"check-page","duration":468331,"timestamp":218799730300,"id":26,"parentId":19,"tags":{"page":"/api/auth/logout"},"startTime":1778590285555,"traceId":"1737638a0bd95782"},{"name":"is-page-static","duration":455209,"timestamp":218799749620,"id":66,"parentId":28,"tags":{},"startTime":1778590285574,"traceId":"1737638a0bd95782"},{"name":"check-page","duration":472778,"timestamp":218799732119,"id":28,"parentId":19,"tags":{"page":"/api/hub/audit-log"},"startTime":1778590285557,"traceId":"1737638a0bd95782"},{"name":"is-page-static","duration":457641,"timestamp":218799749657,"id":67,"parentId":29,"tags":{},"startTime":1778590285574,"traceId":"1737638a0bd95782"},{"name":"check-page","duration":475031,"timestamp":218799732330,"id":29,"parentId":19,"tags":{"page":"/api/hub/auth"},"startTime":1778590285557,"traceId":"1737638a0bd95782"},{"name":"is-page-static","duration":462158,"timestamp":218799749743,"id":69,"parentId":32,"tags":{},"startTime":1778590285574,"traceId":"1737638a0bd95782"},{"name":"check-page","duration":478769,"timestamp":218799733200,"id":32,"parentId":19,"tags":{"page":"/api/hub/health"},"startTime":1778590285558,"traceId":"1737638a0bd95782"},{"name":"is-page-static","duration":466605,"timestamp":218799749849,"id":70,"parentId":33,"tags":{},"startTime":1778590285575,"traceId":"1737638a0bd95782"},{"name":"check-page","duration":483200,"timestamp":218799733310,"id":33,"parentId":19,"tags":{"page":"/api/hub/inbox"},"startTime":1778590285558,"traceId":"1737638a0bd95782"},{"name":"is-page-static","duration":472055,"timestamp":218799749696,"id":68,"parentId":30,"tags":{},"startTime":1778590285574,"traceId":"1737638a0bd95782"},{"name":"check-page","duration":489220,"timestamp":218799732605,"id":30,"parentId":19,"tags":{"page":"/api/hub/broadcast"},"startTime":1778590285557,"traceId":"1737638a0bd95782"},{"name":"is-page-static","duration":475565,"timestamp":218799749912,"id":72,"parentId":35,"tags":{},"startTime":1778590285575,"traceId":"1737638a0bd95782"},{"name":"check-page","duration":492031,"timestamp":218799733497,"id":35,"parentId":19,"tags":{"page":"/api/hub/messages"},"startTime":1778590285558,"traceId":"1737638a0bd95782"},{"name":"is-page-static","duration":480131,"timestamp":218799749972,"id":73,"parentId":36,"tags":{},"startTime":1778590285575,"traceId":"1737638a0bd95782"},{"name":"check-page","duration":495561,"timestamp":218799734604,"id":36,"parentId":19,"tags":{"page":"/api/hub/networks"},"startTime":1778590285559,"traceId":"1737638a0bd95782"},{"name":"is-page-static","duration":481648,"timestamp":218799748801,"id":61,"parentId":21,"tags":{},"startTime":1778590285573,"traceId":"1737638a0bd95782"},{"name":"check-page","duration":505658,"timestamp":218799724831,"id":21,"parentId":19,"tags":{"page":"/_not-found"},"startTime":1778590285550,"traceId":"1737638a0bd95782"},{"name":"is-page-static","duration":482177,"timestamp":218799749896,"id":71,"parentId":34,"tags":{},"startTime":1778590285575,"traceId":"1737638a0bd95782"},{"name":"check-page","duration":498720,"timestamp":218799733399,"id":34,"parentId":19,"tags":{"page":"/api/hub/license"},"startTime":1778590285558,"traceId":"1737638a0bd95782"},{"name":"is-page-static","duration":482521,"timestamp":218799749991,"id":74,"parentId":37,"tags":{},"startTime":1778590285575,"traceId":"1737638a0bd95782"},{"name":"check-page","duration":497707,"timestamp":218799734855,"id":37,"parentId":19,"tags":{"page":"/api/hub/nodes"},"startTime":1778590285560,"traceId":"1737638a0bd95782"},{"name":"is-page-static","duration":487157,"timestamp":218799750020,"id":76,"parentId":39,"tags":{},"startTime":1778590285575,"traceId":"1737638a0bd95782"},{"name":"check-page","duration":502040,"timestamp":218799735184,"id":39,"parentId":19,"tags":{"page":"/api/hub/send"},"startTime":1778590285560,"traceId":"1737638a0bd95782"},{"name":"is-page-static","duration":487331,"timestamp":218799750027,"id":77,"parentId":40,"tags":{},"startTime":1778590285575,"traceId":"1737638a0bd95782"},{"name":"check-page","duration":502069,"timestamp":218799735318,"id":40,"parentId":19,"tags":{"page":"/api/hub/server-logs"},"startTime":1778590285560,"traceId":"1737638a0bd95782"},{"name":"is-page-static","duration":490667,"timestamp":218799750034,"id":78,"parentId":41,"tags":{},"startTime":1778590285575,"traceId":"1737638a0bd95782"},{"name":"check-page","duration":505325,"timestamp":218799735436,"id":41,"parentId":19,"tags":{"page":"/api/hub/session"},"startTime":1778590285560,"traceId":"1737638a0bd95782"},{"name":"is-page-static","duration":490863,"timestamp":218799750040,"id":79,"parentId":42,"tags":{},"startTime":1778590285575,"traceId":"1737638a0bd95782"},{"name":"check-page","duration":505393,"timestamp":218799735531,"id":42,"parentId":19,"tags":{"page":"/api/hub/stats"},"startTime":1778590285560,"traceId":"1737638a0bd95782"},{"name":"is-page-static","duration":493643,"timestamp":218799750046,"id":80,"parentId":43,"tags":{},"startTime":1778590285575,"traceId":"1737638a0bd95782"},{"name":"check-page","duration":508106,"timestamp":218799735628,"id":43,"parentId":19,"tags":{"page":"/api/hub/status"},"startTime":1778590285560,"traceId":"1737638a0bd95782"},{"name":"is-page-static","duration":494989,"timestamp":218799750052,"id":81,"parentId":44,"tags":{},"startTime":1778590285575,"traceId":"1737638a0bd95782"},{"name":"check-page","duration":509379,"timestamp":218799735715,"id":44,"parentId":19,"tags":{"page":"/api/hub/task-events"},"startTime":1778590285560,"traceId":"1737638a0bd95782"},{"name":"is-page-static","duration":497567,"timestamp":218799750057,"id":82,"parentId":45,"tags":{},"startTime":1778590285575,"traceId":"1737638a0bd95782"},{"name":"check-page","duration":511866,"timestamp":218799735797,"id":45,"parentId":19,"tags":{"page":"/api/hub/tasks"},"startTime":1778590285560,"traceId":"1737638a0bd95782"},{"name":"is-page-static","duration":498388,"timestamp":218799750062,"id":83,"parentId":46,"tags":{},"startTime":1778590285575,"traceId":"1737638a0bd95782"},{"name":"check-page","duration":512458,"timestamp":218799736028,"id":46,"parentId":19,"tags":{"page":"/api/hub/tmux"},"startTime":1778590285561,"traceId":"1737638a0bd95782"},{"name":"is-page-static","duration":501190,"timestamp":218799750074,"id":85,"parentId":48,"tags":{},"startTime":1778590285575,"traceId":"1737638a0bd95782"},{"name":"check-page","duration":514999,"timestamp":218799736302,"id":48,"parentId":19,"tags":{"page":"/favicon.ico"},"startTime":1778590285561,"traceId":"1737638a0bd95782"},{"name":"is-page-static","duration":501330,"timestamp":218799750068,"id":84,"parentId":47,"tags":{},"startTime":1778590285575,"traceId":"1737638a0bd95782"},{"name":"check-page","duration":515250,"timestamp":218799736171,"id":47,"parentId":19,"tags":{"page":"/api/hub/tokens"},"startTime":1778590285561,"traceId":"1737638a0bd95782"},{"name":"is-page-static","duration":498520,"timestamp":218799756221,"id":87,"parentId":31,"tags":{},"startTime":1778590285581,"traceId":"1737638a0bd95782"},{"name":"check-page","duration":521937,"timestamp":218799732844,"id":31,"parentId":19,"tags":{"page":"/api/hub/events"},"startTime":1778590285558,"traceId":"1737638a0bd95782"},{"name":"is-page-static","duration":502208,"timestamp":218799753400,"id":86,"parentId":24,"tags":{},"startTime":1778590285578,"traceId":"1737638a0bd95782"},{"name":"check-page","duration":528751,"timestamp":218799726937,"id":24,"parentId":19,"tags":{"page":"/api/anet/config"},"startTime":1778590285552,"traceId":"1737638a0bd95782"},{"name":"is-page-static","duration":529595,"timestamp":218799749999,"id":75,"parentId":38,"tags":{},"startTime":1778590285575,"traceId":"1737638a0bd95782"},{"name":"check-page","duration":544610,"timestamp":218799735046,"id":38,"parentId":19,"tags":{"page":"/api/hub/register"},"startTime":1778590285560,"traceId":"1737638a0bd95782"},{"name":"is-page-static","duration":530506,"timestamp":218799760145,"id":90,"parentId":50,"tags":{},"startTime":1778590285585,"traceId":"1737638a0bd95782"},{"name":"check-page","duration":553743,"timestamp":218799736965,"id":50,"parentId":19,"tags":{"page":"/logs"},"startTime":1778590285562,"traceId":"1737638a0bd95782"},{"name":"is-page-static","duration":536475,"timestamp":218799760151,"id":91,"parentId":51,"tags":{},"startTime":1778590285585,"traceId":"1737638a0bd95782"},{"name":"check-page","duration":559516,"timestamp":218799737188,"id":51,"parentId":19,"tags":{"page":"/messages"},"startTime":1778590285562,"traceId":"1737638a0bd95782"},{"name":"is-page-static","duration":543157,"timestamp":218799760157,"id":92,"parentId":52,"tags":{},"startTime":1778590285585,"traceId":"1737638a0bd95782"},{"name":"check-page","duration":565975,"timestamp":218799737405,"id":52,"parentId":19,"tags":{"page":"/node"},"startTime":1778590285562,"traceId":"1737638a0bd95782"},{"name":"is-page-static","duration":547987,"timestamp":218799760163,"id":93,"parentId":53,"tags":{},"startTime":1778590285585,"traceId":"1737638a0bd95782"},{"name":"check-page","duration":570578,"timestamp":218799737642,"id":53,"parentId":19,"tags":{"page":"/nodes"},"startTime":1778590285562,"traceId":"1737638a0bd95782"},{"name":"is-page-static","duration":554459,"timestamp":218799760169,"id":94,"parentId":55,"tags":{},"startTime":1778590285585,"traceId":"1737638a0bd95782"},{"name":"check-page","duration":576195,"timestamp":218799738494,"id":55,"parentId":19,"tags":{"page":"/server-logs"},"startTime":1778590285563,"traceId":"1737638a0bd95782"},{"name":"is-page-static","duration":556178,"timestamp":218799760108,"id":88,"parentId":23,"tags":{},"startTime":1778590285585,"traceId":"1737638a0bd95782"},{"name":"check-page","duration":589641,"timestamp":218799726717,"id":23,"parentId":19,"tags":{"page":"/admin"},"startTime":1778590285551,"traceId":"1737638a0bd95782"},{"name":"is-page-static","duration":560288,"timestamp":218799760138,"id":89,"parentId":49,"tags":{},"startTime":1778590285585,"traceId":"1737638a0bd95782"},{"name":"check-page","duration":583751,"timestamp":218799736733,"id":49,"parentId":19,"tags":{"page":"/login"},"startTime":1778590285561,"traceId":"1737638a0bd95782"},{"name":"is-page-static","duration":560469,"timestamp":218799760175,"id":95,"parentId":56,"tags":{},"startTime":1778590285585,"traceId":"1737638a0bd95782"},{"name":"check-page","duration":581051,"timestamp":218799739618,"id":56,"parentId":19,"tags":{"page":"/settings/networks"},"startTime":1778590285564,"traceId":"1737638a0bd95782"},{"name":"is-page-static","duration":562979,"timestamp":218799760180,"id":96,"parentId":58,"tags":{},"startTime":1778590285585,"traceId":"1737638a0bd95782"},{"name":"check-page","duration":579751,"timestamp":218799743451,"id":58,"parentId":19,"tags":{"page":"/settings/tokens"},"startTime":1778590285568,"traceId":"1737638a0bd95782"},{"name":"is-page-static","duration":566068,"timestamp":218799760194,"id":98,"parentId":60,"tags":{},"startTime":1778590285585,"traceId":"1737638a0bd95782"},{"name":"check-page","duration":581639,"timestamp":218799744668,"id":60,"parentId":19,"tags":{"page":"/tasks"},"startTime":1778590285569,"traceId":"1737638a0bd95782"},{"name":"is-page-static","duration":556723,"timestamp":218799775945,"id":99,"parentId":57,"tags":{},"startTime":1778590285601,"traceId":"1737638a0bd95782"},{"name":"check-page","duration":589882,"timestamp":218799742845,"id":57,"parentId":19,"tags":{"page":"/settings"},"startTime":1778590285568,"traceId":"1737638a0bd95782"},{"name":"is-page-static","duration":545515,"timestamp":218799787519,"id":100,"parentId":54,"tags":{},"startTime":1778590285612,"traceId":"1737638a0bd95782"},{"name":"check-page","duration":595167,"timestamp":218799737909,"id":54,"parentId":19,"tags":{"page":"/"},"startTime":1778590285563,"traceId":"1737638a0bd95782"},{"name":"is-page-static","duration":576136,"timestamp":218799760185,"id":97,"parentId":59,"tags":{},"startTime":1778590285585,"traceId":"1737638a0bd95782"},{"name":"check-page","duration":591931,"timestamp":218799744451,"id":59,"parentId":19,"tags":{"page":"/tasks/[id]"},"startTime":1778590285569,"traceId":"1737638a0bd95782"},{"name":"static-check","duration":615670,"timestamp":218799720746,"id":19,"parentId":1,"tags":{},"startTime":1778590285545,"traceId":"1737638a0bd95782"},{"name":"write-routes-manifest","duration":446,"timestamp":218800342709,"id":102,"parentId":1,"tags":{},"startTime":1778590286167,"traceId":"1737638a0bd95782"},{"name":"load-dotenv","duration":52,"timestamp":218800355673,"id":105,"parentId":104,"tags":{},"startTime":1778590286180,"traceId":"1737638a0bd95782"},{"name":"run-export-path-map","duration":742,"timestamp":218800359151,"id":106,"parentId":104,"tags":{},"startTime":1778590286184,"traceId":"1737638a0bd95782"},{"name":"next-export","duration":656487,"timestamp":218800354411,"id":104,"parentId":1,"tags":{},"startTime":1778590286179,"traceId":"1737638a0bd95782"},{"name":"move-exported-app-not-found-","duration":669,"timestamp":218801017900,"id":107,"parentId":103,"tags":{},"startTime":1778590286843,"traceId":"1737638a0bd95782"},{"name":"move-exported-app-global-error-","duration":426,"timestamp":218801018702,"id":108,"parentId":103,"tags":{},"startTime":1778590286843,"traceId":"1737638a0bd95782"}]
2
+ [{"name":"static-generation","duration":676446,"timestamp":218800347322,"id":103,"parentId":1,"tags":{},"startTime":1778590286172,"traceId":"1737638a0bd95782"},{"name":"write-routes-manifest","duration":549,"timestamp":218801023981,"id":109,"parentId":1,"tags":{},"startTime":1778590286849,"traceId":"1737638a0bd95782"},{"name":"print-tree-view","duration":3970,"timestamp":218801040088,"id":110,"parentId":1,"tags":{},"startTime":1778590286865,"traceId":"1737638a0bd95782"},{"name":"write-route-bundle-stats","duration":15101,"timestamp":218801044098,"id":111,"parentId":1,"tags":{},"startTime":1778590286869,"traceId":"1737638a0bd95782"},{"name":"telemetry-flush","duration":18811,"timestamp":218801059235,"id":112,"parentId":1,"tags":{},"startTime":1778590286884,"traceId":"1737638a0bd95782"},{"name":"next-build","duration":19602922,"timestamp":218781475176,"id":1,"tags":{"buildMode":"default","version":"16.2.3","bundler":"turbopack","has-custom-webpack-config":"false","use-build-worker":"true"},"startTime":1778590267300,"traceId":"1737638a0bd95782"}]
package/.next/trace-build CHANGED
@@ -1 +1 @@
1
- [{"name":"run-turbopack","duration":8645691,"timestamp":218202967263,"id":14,"parentId":1,"tags":{},"startTime":1778589688792,"traceId":"24a9feed7fa6a39f"},{"name":"turbopack-build-events","duration":82,"timestamp":218203266253,"id":15,"parentId":1,"tags":{},"startTime":1778589689091,"traceId":"24a9feed7fa6a39f"},{"name":"run-typescript","duration":8049081,"timestamp":218211623091,"id":16,"parentId":1,"tags":{},"startTime":1778589697448,"traceId":"24a9feed7fa6a39f"},{"name":"static-check","duration":656021,"timestamp":218219750853,"id":19,"parentId":1,"tags":{},"startTime":1778589705576,"traceId":"24a9feed7fa6a39f"},{"name":"static-generation","duration":626355,"timestamp":218220419300,"id":103,"parentId":1,"tags":{},"startTime":1778589706244,"traceId":"24a9feed7fa6a39f"},{"name":"telemetry-flush","duration":22690,"timestamp":218221082399,"id":112,"parentId":1,"tags":{},"startTime":1778589706907,"traceId":"24a9feed7fa6a39f"},{"name":"next-build","duration":18350826,"timestamp":218202754306,"id":1,"tags":{"buildMode":"default","version":"16.2.3","bundler":"turbopack","has-custom-webpack-config":"false","use-build-worker":"true"},"startTime":1778589688579,"traceId":"24a9feed7fa6a39f"}]
1
+ [{"name":"run-turbopack","duration":9211007,"timestamp":218781681477,"id":14,"parentId":1,"tags":{},"startTime":1778590267506,"traceId":"1737638a0bd95782"},{"name":"turbopack-build-events","duration":96,"timestamp":218782004219,"id":15,"parentId":1,"tags":{},"startTime":1778590267829,"traceId":"1737638a0bd95782"},{"name":"run-typescript","duration":8729277,"timestamp":218790905415,"id":16,"parentId":1,"tags":{},"startTime":1778590276730,"traceId":"1737638a0bd95782"},{"name":"static-check","duration":615670,"timestamp":218799720746,"id":19,"parentId":1,"tags":{},"startTime":1778590285545,"traceId":"1737638a0bd95782"},{"name":"static-generation","duration":676446,"timestamp":218800347322,"id":103,"parentId":1,"tags":{},"startTime":1778590286172,"traceId":"1737638a0bd95782"},{"name":"telemetry-flush","duration":18811,"timestamp":218801059235,"id":112,"parentId":1,"tags":{},"startTime":1778590286884,"traceId":"1737638a0bd95782"},{"name":"next-build","duration":19602922,"timestamp":218781475176,"id":1,"tags":{"buildMode":"default","version":"16.2.3","bundler":"turbopack","has-custom-webpack-config":"false","use-build-worker":"true"},"startTime":1778590267300,"traceId":"1737638a0bd95782"}]
@@ -10,9 +10,10 @@ interface StatsBarProps {
10
10
 
11
11
  export function StatsBar({ online, working, total, version, uptime }: StatsBarProps) {
12
12
  const onlinePercent = total > 0 ? Math.round((online / total) * 100) : 0;
13
+ const fleetEmpty = total === 0;
13
14
 
14
15
  return (
15
- <div className="mb-8">
16
+ <div className={fleetEmpty ? 'mb-4' : 'mb-8'}>
16
17
  {/* Title row */}
17
18
  <div className="flex flex-wrap items-center gap-3 mb-4">
18
19
  <h1 className="text-2xl font-bold text-white tracking-tight">Agent Network</h1>
@@ -21,41 +22,63 @@ export function StatsBar({ online, working, total, version, uptime }: StatsBarPr
21
22
  </span>
22
23
  </div>
23
24
 
24
- {/* Stats grid */}
25
- <div className="grid grid-cols-2 sm:grid-cols-4 gap-3">
26
- <StatCard
27
- value={online}
28
- label="Online"
29
- sub={`${onlinePercent}% of fleet`}
30
- color="text-green-400"
31
- accent="from-green-500/20 to-green-500/0"
32
- border="border-green-500/15"
33
- />
34
- <StatCard
35
- value={working}
36
- label="Working"
37
- sub={online > 0 ? `${Math.round((working / online) * 100)}% utilization` : '--'}
38
- color="text-cyan-400"
39
- accent="from-cyan-500/20 to-cyan-500/0"
40
- border="border-cyan-500/15"
41
- />
42
- <StatCard
43
- value={total - online}
44
- label="Offline"
45
- sub={total - online === 0 ? 'All systems go' : `${total - online} disconnected`}
46
- color="text-gray-400"
47
- accent="from-gray-500/10 to-gray-500/0"
48
- border="border-gray-500/15"
49
- />
50
- <StatCard
51
- value={total}
52
- label="Total"
53
- sub="Registered nodes"
54
- color="text-white"
55
- accent="from-blue-500/15 to-blue-500/0"
56
- border="border-blue-500/15"
57
- />
58
- </div>
25
+ {fleetEmpty ? (
26
+ /* Round 72: thin status strip replaces the 4-card grid when fleet
27
+ is empty. Saves ~280px on mobile (CTA y=650 → ~370) and keeps
28
+ the same data visible in a single inline row. */
29
+ <div className="anet-stat-strip flex flex-wrap items-center gap-x-4 gap-y-1.5 text-xs text-gray-500 border-t border-b border-[#2a2a4a] py-2">
30
+ <span className="inline-flex items-center gap-1.5">
31
+ <span aria-hidden className="inline-block w-1.5 h-1.5 rounded-full bg-gray-600" />
32
+ <span className="text-gray-300 tabular-nums">0</span> online
33
+ </span>
34
+ <span className="text-gray-700">·</span>
35
+ <span className="inline-flex items-center gap-1.5">
36
+ <span aria-hidden className="inline-block w-1.5 h-1.5 rounded-full bg-gray-600" />
37
+ <span className="text-gray-300 tabular-nums">0</span> working
38
+ </span>
39
+ <span className="text-gray-700">·</span>
40
+ <span className="inline-flex items-center gap-1.5">
41
+ <span aria-hidden className="inline-block w-1.5 h-1.5 rounded-full bg-gray-600" />
42
+ <span className="text-gray-300 tabular-nums">0</span> registered
43
+ </span>
44
+ </div>
45
+ ) : (
46
+ /* Populated state — full 4-card grid as before */
47
+ <div className="grid grid-cols-2 sm:grid-cols-4 gap-3">
48
+ <StatCard
49
+ value={online}
50
+ label="Online"
51
+ sub={`${onlinePercent}% of fleet`}
52
+ color="text-green-400"
53
+ accent="from-green-500/20 to-green-500/0"
54
+ border="border-green-500/15"
55
+ />
56
+ <StatCard
57
+ value={working}
58
+ label="Working"
59
+ sub={online > 0 ? `${Math.round((working / online) * 100)}% utilization` : '--'}
60
+ color="text-cyan-400"
61
+ accent="from-cyan-500/20 to-cyan-500/0"
62
+ border="border-cyan-500/15"
63
+ />
64
+ <StatCard
65
+ value={total - online}
66
+ label="Offline"
67
+ sub={total - online === 0 ? 'All systems go' : `${total - online} disconnected`}
68
+ color="text-gray-400"
69
+ accent="from-gray-500/10 to-gray-500/0"
70
+ border="border-gray-500/15"
71
+ />
72
+ <StatCard
73
+ value={total}
74
+ label="Total"
75
+ sub="Registered nodes"
76
+ color="text-white"
77
+ accent="from-blue-500/15 to-blue-500/0"
78
+ border="border-blue-500/15"
79
+ />
80
+ </div>
81
+ )}
59
82
  </div>
60
83
  );
61
84
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sleep2agi/agent-network-dashboard",
3
- "version": "0.4.5-preview.53",
3
+ "version": "0.4.5-preview.55",
4
4
  "description": "Agent Network Dashboard — Web UI for managing AI Agent networks",
5
5
  "scripts": {
6
6
  "dev": "next dev",
@@ -1,6 +1,22 @@
1
1
  /* Loop self-review — captures Overview in cyber+light × desktop+mobile,
2
2
  * runs a few observable checks, prints a per-axis score. Not a regression
3
- * test — the cron's "review and score then propose next round" output. */
3
+ * test — the cron's "review and score then propose next round" output.
4
+ *
5
+ * Round 71: replaced the toy checks (overflow, sidebar visible, blur count)
6
+ * with checks that actually catch the bugs we keep shipping:
7
+ * - CTA-above-fold: does the primary "Spin up" / "Get started" / etc
8
+ * button live within the first viewport? (deduct 3)
9
+ * - Zero-card density: how many "0" stat cards are crammed in above the
10
+ * CTA? (deduct 1 per zero-card beyond the first 2)
11
+ * - Whitespace gap: any element-to-element vertical gap >200px in the
12
+ * top half? (deduct 1)
13
+ * - Misleading-copy: "All systems go" text rendered when nodes.total=0
14
+ * (deduct 2) — round-70-class bug guard
15
+ * - Old: theme, horizontal overflow, sidebar, glow tell — still in
16
+ *
17
+ * Score is 10 max; deductions accumulate. The pre-r70 design that scored
18
+ * 10/10 here should now score ~4–5.
19
+ */
4
20
 
5
21
  import { chromium } from 'playwright';
6
22
  import { mkdirSync } from 'node:fs';
@@ -47,16 +63,14 @@ for (const m of matrix) {
47
63
 
48
64
  const page = await ctx.newPage();
49
65
  await page.goto(`${BASE}/`, { waitUntil: 'domcontentloaded', timeout: 15000 });
50
- await page.waitForTimeout(1200); // give SWR a beat
66
+ await page.waitForTimeout(1200);
51
67
 
52
- // Forced theme apply after hydration — same trick the screenshot suite uses
53
68
  await page.evaluate((t) => document.documentElement.setAttribute('data-theme', t), m.theme);
54
69
  await page.waitForTimeout(300);
55
70
 
56
71
  const file = path.join(OUT, `overview-${m.theme}-${m.tag}.png`);
57
72
  await page.screenshot({ path: file, fullPage: true });
58
73
 
59
- // Observable checks
60
74
  const checks = await page.evaluate(() => {
61
75
  const doc = document.documentElement;
62
76
  const theme = doc.getAttribute('data-theme');
@@ -64,56 +78,121 @@ for (const m of matrix) {
64
78
  const bodyBg = getComputedStyle(body).backgroundColor;
65
79
  const bodyFg = getComputedStyle(body).color;
66
80
 
67
- // Find Task Status section
68
- const taskStatusHeader = [...document.querySelectorAll('div')]
69
- .find(el => el.textContent?.trim() === 'Task Status');
70
- const taskStatusChips = taskStatusHeader
71
- ? taskStatusHeader.parentElement?.parentElement?.querySelectorAll('a[href^="/tasks?status="]').length || 0
72
- : 0;
81
+ const viewportH = window.innerHeight;
82
+ const viewportW = window.innerWidth;
83
+
84
+ // --- CTA-above-fold ---
85
+ // We treat any of these texts as the page's primary CTA:
86
+ // "Spin up your first agent" — empty Overview onboarding
87
+ // "Get started" — generic
88
+ // "Dispatch" (when not empty) — populated state primary action
89
+ const ctaTextRe = /Spin up your first agent|Get started/i;
90
+ const ctaCandidates = [...document.querySelectorAll('h1, h2, h3, p, div, button, a')]
91
+ .filter(el => ctaTextRe.test(el.textContent || ''));
92
+ let ctaTop = null;
93
+ if (ctaCandidates.length) {
94
+ // Pick the smallest (innermost) element matching to avoid catching a wrapping section
95
+ const sorted = ctaCandidates.sort((a, b) => (a.textContent?.length || 0) - (b.textContent?.length || 0));
96
+ const r = sorted[0].getBoundingClientRect();
97
+ ctaTop = r.top;
98
+ }
73
99
 
74
- // Sidebar nav visibility (should be visible on desktop, hidden behind hamburger on mobile)
75
- const sidebar = document.querySelector('aside, [data-sidebar], nav');
76
- const sidebarRect = sidebar?.getBoundingClientRect();
77
- const sidebarVisible = sidebar
78
- ? sidebarRect && sidebarRect.width > 0 && sidebarRect.height > 0
79
- : false;
100
+ // --- Zero-card density ---
101
+ // Count visible elements whose trimmed text === "0". These are usually
102
+ // big stat-card values dominating prime real estate.
103
+ const zeroCards = [...document.querySelectorAll('div, span')]
104
+ .filter(el => {
105
+ const t = el.textContent?.trim();
106
+ if (t !== '0' && t !== '0/0') return false;
107
+ const r = el.getBoundingClientRect();
108
+ return r.top >= 0 && r.top < viewportH && r.width > 20 && r.height > 20;
109
+ });
110
+
111
+ // --- Whitespace gap ---
112
+ // Look for sibling-to-sibling top gaps >200px in the page content
113
+ // container. AppShell wraps page children in
114
+ // <main><HealthBanner/><div><div class="min-h-screen ...">{page}</div></div></main>,
115
+ // so we walk into that inner page wrapper to read real section gaps.
116
+ const main = document.querySelector('main');
117
+ const inner = main?.querySelector(':scope > div:last-of-type > div') || main || document.body;
118
+ const directKids = [...inner.children].filter(el => {
119
+ const r = el.getBoundingClientRect();
120
+ return r.height > 0 && r.width > 0;
121
+ });
122
+ let maxGap = 0;
123
+ for (let i = 0; i + 1 < directKids.length; i++) {
124
+ const a = directKids[i].getBoundingClientRect();
125
+ const b = directKids[i + 1].getBoundingClientRect();
126
+ if (a.bottom < 1600 && b.top - a.bottom > maxGap) {
127
+ maxGap = Math.round(b.top - a.bottom);
128
+ }
129
+ }
80
130
 
81
- // Any overflowing element wider than viewport (horizontal scroll indicator)
82
- const docWidth = doc.scrollWidth;
83
- const viewportWidth = window.innerWidth;
84
- const horizontalOverflow = docWidth > viewportWidth + 2;
131
+ // --- Misleading copy guard ---
132
+ // "All systems go" must not appear anywhere when nodes.total === 0.
133
+ // We can't read state directly, but if the page also shows
134
+ // "Waiting for first agent" then we know fleet is empty.
135
+ const bodyText = document.body.innerText;
136
+ const fleetEmpty = /Waiting for first agent/i.test(bodyText);
137
+ const sayingAllSystemsGo = /All systems go/i.test(bodyText);
138
+ const misleadingCopy = fleetEmpty && sayingAllSystemsGo;
85
139
 
86
- // Look for an obvious "AI-glow" tell — anything with filter: blur or huge box-shadow spread
87
- const allEls = document.querySelectorAll('body *');
140
+ // --- Carryover ---
141
+ const docWidth = doc.scrollWidth;
142
+ const horizontalOverflow = docWidth > viewportW + 2;
88
143
  let glowyCount = 0;
89
- for (const el of allEls) {
144
+ for (const el of document.querySelectorAll('body *')) {
90
145
  const cs = getComputedStyle(el);
91
146
  if (cs.filter && cs.filter.includes('blur(') && !cs.filter.includes('blur(0px)')) glowyCount++;
92
147
  }
148
+ const sidebar = document.querySelector('aside, [data-sidebar], nav');
149
+ const sidebarRect = sidebar?.getBoundingClientRect();
150
+ const sidebarVisible = !!(sidebarRect && sidebarRect.width > 0 && sidebarRect.height > 0);
93
151
 
94
152
  return {
95
- theme,
96
- bodyBg,
97
- bodyFg,
98
- taskStatusChips,
99
- sidebarVisible,
100
- docWidth,
101
- viewportWidth,
102
- horizontalOverflow,
103
- glowyCount,
153
+ theme, bodyBg, bodyFg,
154
+ viewportH, viewportW,
155
+ ctaTop, ctaPresent: ctaCandidates.length > 0,
156
+ zeroCardCount: zeroCards.length,
157
+ maxGap,
158
+ fleetEmpty, sayingAllSystemsGo, misleadingCopy,
159
+ docWidth, horizontalOverflow,
160
+ glowyCount, sidebarVisible,
104
161
  };
105
162
  });
106
163
 
107
- // Score: 10 max, deduct for failures
108
164
  let score = 10;
109
165
  const notes = [];
110
- if (checks.theme !== m.theme) { score -= 3; notes.push(`theme=${checks.theme} (expected ${m.theme})`); }
111
- if (checks.horizontalOverflow) { score -= 2; notes.push(`horizontal overflow ${checks.docWidth}/${checks.viewportWidth}`); }
166
+ if (checks.theme !== m.theme) { score -= 3; notes.push(`theme=${checks.theme}`); }
167
+ if (checks.horizontalOverflow) { score -= 2; notes.push(`horiz overflow ${checks.docWidth}/${checks.viewportW}`); }
112
168
  if (m.tag === 'desktop' && !checks.sidebarVisible) { score -= 1; notes.push('sidebar missing on desktop'); }
113
- if (checks.glowyCount > 8) { score -= 1; notes.push(`${checks.glowyCount} elements with blur filter (AI-glow tell)`); }
114
- // Task Status chip count is 0–9 — fine to be 0 when account has no tasks (fresh probe)
115
-
116
- report.push({ ...m, file, checks, score, notes });
169
+ if (checks.glowyCount > 8) { score -= 1; notes.push(`${checks.glowyCount} blur-filter elements (glow tell)`); }
170
+
171
+ // New checks — the ones that would have caught r70's bug
172
+ if (checks.ctaPresent && checks.ctaTop !== null) {
173
+ if (checks.ctaTop > checks.viewportH) {
174
+ score -= 3;
175
+ notes.push(`CTA below fold (top=${Math.round(checks.ctaTop)} > vh=${checks.viewportH})`);
176
+ } else if (checks.ctaTop > checks.viewportH * 0.7) {
177
+ score -= 1;
178
+ notes.push(`CTA low in fold (top=${Math.round(checks.ctaTop)})`);
179
+ }
180
+ }
181
+ if (checks.zeroCardCount > 4) {
182
+ const extra = Math.min(checks.zeroCardCount - 4, 3);
183
+ score -= extra;
184
+ notes.push(`${checks.zeroCardCount} zero-value cards above fold`);
185
+ }
186
+ if (checks.maxGap > 200) {
187
+ score -= 1;
188
+ notes.push(`whitespace gap ${checks.maxGap}px`);
189
+ }
190
+ if (checks.misleadingCopy) {
191
+ score -= 2;
192
+ notes.push(`'All systems go' shown while fleet empty`);
193
+ }
194
+
195
+ report.push({ ...m, file, checks, score: Math.max(score, 0), notes });
117
196
 
118
197
  await page.close();
119
198
  await ctx.close();
@@ -121,11 +200,10 @@ for (const m of matrix) {
121
200
 
122
201
  await browser.close();
123
202
 
124
- // Pretty print
125
- console.log('\n=== Loop self-review ===\n');
203
+ console.log('\n=== Loop self-review (harness r71) ===\n');
126
204
  for (const r of report) {
127
205
  console.log(`${r.theme}/${r.tag} score=${r.score}/10`);
128
- console.log(` bg=${r.checks.bodyBg} fg=${r.checks.bodyFg} chips=${r.checks.taskStatusChips} glowy=${r.checks.glowyCount}`);
206
+ console.log(` cta_top=${r.checks.ctaTop !== null ? Math.round(r.checks.ctaTop) : '--'} zero_cards=${r.checks.zeroCardCount} max_gap=${r.checks.maxGap}px fleet_empty=${r.checks.fleetEmpty}`);
129
207
  if (r.notes.length) console.log(` notes: ${r.notes.join(' · ')}`);
130
208
  console.log(` ${path.relative(process.cwd(), r.file)}`);
131
209
  }