@sleep2agi/agent-network-dashboard 0.5.3-preview.40 → 0.5.3-preview.42

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (143) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/build-manifest.json +3 -3
  3. package/.next/diagnostics/route-bundle-stats.json +5 -5
  4. package/.next/fallback-build-manifest.json +3 -3
  5. package/.next/server/app/_global-error.html +1 -1
  6. package/.next/server/app/_global-error.rsc +1 -1
  7. package/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  8. package/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  9. package/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  10. package/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  11. package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  12. package/.next/server/app/_not-found.html +1 -1
  13. package/.next/server/app/_not-found.rsc +1 -1
  14. package/.next/server/app/_not-found.segments/_full.segment.rsc +1 -1
  15. package/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  16. package/.next/server/app/_not-found.segments/_index.segment.rsc +1 -1
  17. package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  18. package/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  19. package/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
  20. package/.next/server/app/admin.html +1 -1
  21. package/.next/server/app/admin.rsc +1 -1
  22. package/.next/server/app/admin.segments/_full.segment.rsc +1 -1
  23. package/.next/server/app/admin.segments/_head.segment.rsc +1 -1
  24. package/.next/server/app/admin.segments/_index.segment.rsc +1 -1
  25. package/.next/server/app/admin.segments/_tree.segment.rsc +1 -1
  26. package/.next/server/app/admin.segments/admin/__PAGE__.segment.rsc +1 -1
  27. package/.next/server/app/admin.segments/admin.segment.rsc +1 -1
  28. package/.next/server/app/index.html +2 -2
  29. package/.next/server/app/index.rsc +2 -2
  30. package/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
  31. package/.next/server/app/index.segments/_full.segment.rsc +2 -2
  32. package/.next/server/app/index.segments/_head.segment.rsc +1 -1
  33. package/.next/server/app/index.segments/_index.segment.rsc +1 -1
  34. package/.next/server/app/index.segments/_tree.segment.rsc +1 -1
  35. package/.next/server/app/login/page_client-reference-manifest.js +1 -1
  36. package/.next/server/app/login.html +2 -2
  37. package/.next/server/app/login.rsc +2 -2
  38. package/.next/server/app/login.segments/_full.segment.rsc +2 -2
  39. package/.next/server/app/login.segments/_head.segment.rsc +1 -1
  40. package/.next/server/app/login.segments/_index.segment.rsc +1 -1
  41. package/.next/server/app/login.segments/_tree.segment.rsc +1 -1
  42. package/.next/server/app/login.segments/login/__PAGE__.segment.rsc +2 -2
  43. package/.next/server/app/login.segments/login.segment.rsc +1 -1
  44. package/.next/server/app/logs.html +1 -1
  45. package/.next/server/app/logs.rsc +1 -1
  46. package/.next/server/app/logs.segments/_full.segment.rsc +1 -1
  47. package/.next/server/app/logs.segments/_head.segment.rsc +1 -1
  48. package/.next/server/app/logs.segments/_index.segment.rsc +1 -1
  49. package/.next/server/app/logs.segments/_tree.segment.rsc +1 -1
  50. package/.next/server/app/logs.segments/logs/__PAGE__.segment.rsc +1 -1
  51. package/.next/server/app/logs.segments/logs.segment.rsc +1 -1
  52. package/.next/server/app/messages.html +1 -1
  53. package/.next/server/app/messages.rsc +1 -1
  54. package/.next/server/app/messages.segments/_full.segment.rsc +1 -1
  55. package/.next/server/app/messages.segments/_head.segment.rsc +1 -1
  56. package/.next/server/app/messages.segments/_index.segment.rsc +1 -1
  57. package/.next/server/app/messages.segments/_tree.segment.rsc +1 -1
  58. package/.next/server/app/messages.segments/messages/__PAGE__.segment.rsc +1 -1
  59. package/.next/server/app/messages.segments/messages.segment.rsc +1 -1
  60. package/.next/server/app/node.html +1 -1
  61. package/.next/server/app/node.rsc +1 -1
  62. package/.next/server/app/node.segments/_full.segment.rsc +1 -1
  63. package/.next/server/app/node.segments/_head.segment.rsc +1 -1
  64. package/.next/server/app/node.segments/_index.segment.rsc +1 -1
  65. package/.next/server/app/node.segments/_tree.segment.rsc +1 -1
  66. package/.next/server/app/node.segments/node/__PAGE__.segment.rsc +1 -1
  67. package/.next/server/app/node.segments/node.segment.rsc +1 -1
  68. package/.next/server/app/nodes.html +1 -1
  69. package/.next/server/app/nodes.rsc +1 -1
  70. package/.next/server/app/nodes.segments/_full.segment.rsc +1 -1
  71. package/.next/server/app/nodes.segments/_head.segment.rsc +1 -1
  72. package/.next/server/app/nodes.segments/_index.segment.rsc +1 -1
  73. package/.next/server/app/nodes.segments/_tree.segment.rsc +1 -1
  74. package/.next/server/app/nodes.segments/nodes/__PAGE__.segment.rsc +1 -1
  75. package/.next/server/app/nodes.segments/nodes.segment.rsc +1 -1
  76. package/.next/server/app/page_client-reference-manifest.js +1 -1
  77. package/.next/server/app/server-logs.html +1 -1
  78. package/.next/server/app/server-logs.rsc +1 -1
  79. package/.next/server/app/server-logs.segments/_full.segment.rsc +1 -1
  80. package/.next/server/app/server-logs.segments/_head.segment.rsc +1 -1
  81. package/.next/server/app/server-logs.segments/_index.segment.rsc +1 -1
  82. package/.next/server/app/server-logs.segments/_tree.segment.rsc +1 -1
  83. package/.next/server/app/server-logs.segments/server-logs/__PAGE__.segment.rsc +1 -1
  84. package/.next/server/app/server-logs.segments/server-logs.segment.rsc +1 -1
  85. package/.next/server/app/settings/networks.html +1 -1
  86. package/.next/server/app/settings/networks.rsc +1 -1
  87. package/.next/server/app/settings/networks.segments/_full.segment.rsc +1 -1
  88. package/.next/server/app/settings/networks.segments/_head.segment.rsc +1 -1
  89. package/.next/server/app/settings/networks.segments/_index.segment.rsc +1 -1
  90. package/.next/server/app/settings/networks.segments/_tree.segment.rsc +1 -1
  91. package/.next/server/app/settings/networks.segments/settings/networks/__PAGE__.segment.rsc +1 -1
  92. package/.next/server/app/settings/networks.segments/settings/networks.segment.rsc +1 -1
  93. package/.next/server/app/settings/networks.segments/settings.segment.rsc +1 -1
  94. package/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  95. package/.next/server/app/settings/tokens.html +1 -1
  96. package/.next/server/app/settings/tokens.rsc +1 -1
  97. package/.next/server/app/settings/tokens.segments/_full.segment.rsc +1 -1
  98. package/.next/server/app/settings/tokens.segments/_head.segment.rsc +1 -1
  99. package/.next/server/app/settings/tokens.segments/_index.segment.rsc +1 -1
  100. package/.next/server/app/settings/tokens.segments/_tree.segment.rsc +1 -1
  101. package/.next/server/app/settings/tokens.segments/settings/tokens/__PAGE__.segment.rsc +1 -1
  102. package/.next/server/app/settings/tokens.segments/settings/tokens.segment.rsc +1 -1
  103. package/.next/server/app/settings/tokens.segments/settings.segment.rsc +1 -1
  104. package/.next/server/app/settings.html +2 -2
  105. package/.next/server/app/settings.rsc +2 -2
  106. package/.next/server/app/settings.segments/_full.segment.rsc +2 -2
  107. package/.next/server/app/settings.segments/_head.segment.rsc +1 -1
  108. package/.next/server/app/settings.segments/_index.segment.rsc +1 -1
  109. package/.next/server/app/settings.segments/_tree.segment.rsc +1 -1
  110. package/.next/server/app/settings.segments/settings/__PAGE__.segment.rsc +2 -2
  111. package/.next/server/app/settings.segments/settings.segment.rsc +1 -1
  112. package/.next/server/app/tasks.html +1 -1
  113. package/.next/server/app/tasks.rsc +1 -1
  114. package/.next/server/app/tasks.segments/_full.segment.rsc +1 -1
  115. package/.next/server/app/tasks.segments/_head.segment.rsc +1 -1
  116. package/.next/server/app/tasks.segments/_index.segment.rsc +1 -1
  117. package/.next/server/app/tasks.segments/_tree.segment.rsc +1 -1
  118. package/.next/server/app/tasks.segments/tasks/__PAGE__.segment.rsc +1 -1
  119. package/.next/server/app/tasks.segments/tasks.segment.rsc +1 -1
  120. package/.next/server/chunks/ssr/[root-of-the-server]__0sv~g.o._.js +1 -1
  121. package/.next/server/chunks/ssr/[root-of-the-server]__0sv~g.o._.js.map +1 -1
  122. package/.next/server/chunks/ssr/agent-network-dashboard_09kk21a._.js +1 -1
  123. package/.next/server/chunks/ssr/agent-network-dashboard_09kk21a._.js.map +1 -1
  124. package/.next/server/chunks/ssr/agent-network-dashboard_app_01jhlxz._.js +1 -1
  125. package/.next/server/chunks/ssr/agent-network-dashboard_app_01jhlxz._.js.map +1 -1
  126. package/.next/server/chunks/ssr/agent-network-dashboard_app_09d29my._.js +1 -1
  127. package/.next/server/chunks/ssr/agent-network-dashboard_app_09d29my._.js.map +1 -1
  128. package/.next/server/middleware-build-manifest.js +3 -3
  129. package/.next/server/pages/404.html +1 -1
  130. package/.next/server/pages/500.html +1 -1
  131. package/.next/static/chunks/{0nxvf-786~0db.js → 0ajbjygim9yk7.js} +1 -1
  132. package/.next/static/chunks/{13arj242cta57.js → 0lbobt6pf-hf0.js} +1 -1
  133. package/.next/static/chunks/{0-dmo67sjhl2r.js → 0y3i3m41v38w3.js} +1 -1
  134. package/.next/static/chunks/{0vbgjg.1cj_y_.js → 17gehtkwlkiv-.js} +1 -1
  135. package/.next/trace +2 -2
  136. package/.next/trace-build +1 -1
  137. package/app/components/TopoGraph.tsx +70 -3
  138. package/package.json +1 -1
  139. package/scripts/topo-crescent-breath-test.mjs +104 -0
  140. package/scripts/topo-hub-digit-ls-test.mjs +119 -0
  141. /package/.next/static/{mKNyup1vhTFSsL90GqtYT → c_-qIk7VpNTKavb2pxYhw}/_buildManifest.js +0 -0
  142. /package/.next/static/{mKNyup1vhTFSsL90GqtYT → c_-qIk7VpNTKavb2pxYhw}/_clientMiddlewareManifest.js +0 -0
  143. /package/.next/static/{mKNyup1vhTFSsL90GqtYT → c_-qIk7VpNTKavb2pxYhw}/_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.40"],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.42"],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":274,"timestamp":210067806124,"id":4,"parentId":1,"tags":{},"startTime":1779018040052,"traceId":"6d53ec940d922686"},{"name":"load-custom-routes","duration":659,"timestamp":210067806538,"id":5,"parentId":1,"tags":{},"startTime":1779018040053,"traceId":"6d53ec940d922686"},{"name":"create-dist-dir","duration":911,"timestamp":210067807264,"id":6,"parentId":1,"tags":{},"startTime":1779018040054,"traceId":"6d53ec940d922686"},{"name":"clean","duration":36481,"timestamp":210067808883,"id":7,"parentId":1,"tags":{},"startTime":1779018040055,"traceId":"6d53ec940d922686"},{"name":"discover-routes","duration":22698,"timestamp":210067928627,"id":8,"parentId":1,"tags":{},"startTime":1779018040175,"traceId":"6d53ec940d922686"},{"name":"create-root-mapping","duration":125,"timestamp":210067951393,"id":9,"parentId":1,"tags":{},"startTime":1779018040198,"traceId":"6d53ec940d922686"},{"name":"generate-route-types","duration":22129,"timestamp":210067953969,"id":10,"parentId":1,"tags":{},"startTime":1779018040200,"traceId":"6d53ec940d922686"},{"name":"public-dir-conflict-check","duration":110,"timestamp":210067976187,"id":11,"parentId":1,"tags":{},"startTime":1779018040222,"traceId":"6d53ec940d922686"},{"name":"generate-routes-manifest","duration":4831,"timestamp":210067976407,"id":12,"parentId":1,"tags":{},"startTime":1779018040223,"traceId":"6d53ec940d922686"},{"name":"run-turbopack","duration":6214202,"timestamp":210067986775,"id":14,"parentId":1,"tags":{},"startTime":1779018040233,"traceId":"6d53ec940d922686"},{"name":"turbopack-build-events","duration":70,"timestamp":210068287838,"id":15,"parentId":1,"tags":{},"startTime":1779018040534,"traceId":"6d53ec940d922686"},{"name":"run-typescript","duration":9839701,"timestamp":210074210822,"id":16,"parentId":1,"tags":{},"startTime":1779018046457,"traceId":"6d53ec940d922686"},{"name":"generate-required-server-files","duration":2312,"timestamp":210084051864,"id":18,"parentId":1,"tags":{},"startTime":1779018056298,"traceId":"6d53ec940d922686"},{"name":"check-static-error-page","duration":19699,"timestamp":210084273132,"id":20,"parentId":19,"tags":{},"startTime":1779018056519,"traceId":"6d53ec940d922686"},{"name":"is-page-static","duration":732766,"timestamp":210084297207,"id":65,"parentId":22,"tags":{},"startTime":1779018056543,"traceId":"6d53ec940d922686"},{"name":"check-page","duration":754060,"timestamp":210084276121,"id":22,"parentId":19,"tags":{"page":"/_global-error"},"startTime":1779018056522,"traceId":"6d53ec940d922686"},{"name":"is-page-static","duration":800139,"timestamp":210084297727,"id":69,"parentId":28,"tags":{},"startTime":1779018056544,"traceId":"6d53ec940d922686"},{"name":"check-page","duration":818213,"timestamp":210084279761,"id":28,"parentId":19,"tags":{"page":"/api/hub/audit-log"},"startTime":1779018056526,"traceId":"6d53ec940d922686"},{"name":"is-page-static","duration":885074,"timestamp":210084298291,"id":72,"parentId":32,"tags":{},"startTime":1779018056545,"traceId":"6d53ec940d922686"},{"name":"check-page","duration":902762,"timestamp":210084280690,"id":32,"parentId":19,"tags":{"page":"/api/hub/health"},"startTime":1779018056527,"traceId":"6d53ec940d922686"},{"name":"is-page-static","duration":890480,"timestamp":210084298454,"id":73,"parentId":33,"tags":{},"startTime":1779018056545,"traceId":"6d53ec940d922686"},{"name":"check-page","duration":908199,"timestamp":210084280829,"id":33,"parentId":19,"tags":{"page":"/api/hub/inbox"},"startTime":1779018056527,"traceId":"6d53ec940d922686"},{"name":"is-page-static","duration":895913,"timestamp":210084297370,"id":66,"parentId":25,"tags":{},"startTime":1779018056544,"traceId":"6d53ec940d922686"},{"name":"check-page","duration":914009,"timestamp":210084279340,"id":25,"parentId":19,"tags":{"page":"/api/auth/login"},"startTime":1779018056526,"traceId":"6d53ec940d922686"},{"name":"is-page-static","duration":895026,"timestamp":210084298527,"id":74,"parentId":34,"tags":{},"startTime":1779018056545,"traceId":"6d53ec940d922686"},{"name":"check-page","duration":912639,"timestamp":210084280958,"id":34,"parentId":19,"tags":{"page":"/api/hub/license"},"startTime":1779018056527,"traceId":"6d53ec940d922686"},{"name":"is-page-static","duration":899289,"timestamp":210084298574,"id":76,"parentId":36,"tags":{},"startTime":1779018056545,"traceId":"6d53ec940d922686"},{"name":"check-page","duration":915442,"timestamp":210084282471,"id":36,"parentId":19,"tags":{"page":"/api/hub/networks"},"startTime":1779018056529,"traceId":"6d53ec940d922686"},{"name":"is-page-static","duration":900847,"timestamp":210084298555,"id":75,"parentId":35,"tags":{},"startTime":1779018056545,"traceId":"6d53ec940d922686"},{"name":"check-page","duration":918325,"timestamp":210084281122,"id":35,"parentId":19,"tags":{"page":"/api/hub/messages"},"startTime":1779018056527,"traceId":"6d53ec940d922686"},{"name":"is-page-static","duration":905089,"timestamp":210084298200,"id":71,"parentId":30,"tags":{},"startTime":1779018056544,"traceId":"6d53ec940d922686"},{"name":"check-page","duration":923080,"timestamp":210084280263,"id":30,"parentId":19,"tags":{"page":"/api/hub/broadcast"},"startTime":1779018056527,"traceId":"6d53ec940d922686"},{"name":"is-page-static","duration":904911,"timestamp":210084298601,"id":77,"parentId":37,"tags":{},"startTime":1779018056545,"traceId":"6d53ec940d922686"},{"name":"check-page","duration":920857,"timestamp":210084282686,"id":37,"parentId":19,"tags":{"page":"/api/hub/nodes"},"startTime":1779018056529,"traceId":"6d53ec940d922686"},{"name":"is-page-static","duration":913274,"timestamp":210084298640,"id":80,"parentId":40,"tags":{},"startTime":1779018056545,"traceId":"6d53ec940d922686"},{"name":"check-page","duration":928866,"timestamp":210084283092,"id":40,"parentId":19,"tags":{"page":"/api/hub/server-logs"},"startTime":1779018056529,"traceId":"6d53ec940d922686"},{"name":"is-page-static","duration":933382,"timestamp":210084298652,"id":81,"parentId":42,"tags":{},"startTime":1779018056545,"traceId":"6d53ec940d922686"},{"name":"check-page","duration":948620,"timestamp":210084283491,"id":42,"parentId":19,"tags":{"page":"/api/hub/server/[hostname]/health"},"startTime":1779018056530,"traceId":"6d53ec940d922686"},{"name":"is-page-static","duration":934321,"timestamp":210084298617,"id":78,"parentId":38,"tags":{},"startTime":1779018056545,"traceId":"6d53ec940d922686"},{"name":"check-page","duration":950178,"timestamp":210084282818,"id":38,"parentId":19,"tags":{"page":"/api/hub/register"},"startTime":1779018056529,"traceId":"6d53ec940d922686"},{"name":"is-page-static","duration":950703,"timestamp":210084298631,"id":79,"parentId":39,"tags":{},"startTime":1779018056545,"traceId":"6d53ec940d922686"},{"name":"check-page","duration":966465,"timestamp":210084282932,"id":39,"parentId":19,"tags":{"page":"/api/hub/send"},"startTime":1779018056529,"traceId":"6d53ec940d922686"},{"name":"is-page-static","duration":952789,"timestamp":210084297612,"id":68,"parentId":27,"tags":{},"startTime":1779018056544,"traceId":"6d53ec940d922686"},{"name":"check-page","duration":970823,"timestamp":210084279637,"id":27,"parentId":19,"tags":{"page":"/api/auth/v3"},"startTime":1779018056526,"traceId":"6d53ec940d922686"},{"name":"is-page-static","duration":953020,"timestamp":210084298673,"id":83,"parentId":45,"tags":{},"startTime":1779018056545,"traceId":"6d53ec940d922686"},{"name":"check-page","duration":967661,"timestamp":210084284085,"id":45,"parentId":19,"tags":{"page":"/api/hub/stats"},"startTime":1779018056530,"traceId":"6d53ec940d922686"},{"name":"is-page-static","duration":956252,"timestamp":210084298664,"id":82,"parentId":44,"tags":{},"startTime":1779018056545,"traceId":"6d53ec940d922686"},{"name":"check-page","duration":971049,"timestamp":210084283929,"id":44,"parentId":19,"tags":{"page":"/api/hub/session"},"startTime":1779018056530,"traceId":"6d53ec940d922686"},{"name":"is-page-static","duration":957923,"timestamp":210084298701,"id":85,"parentId":47,"tags":{},"startTime":1779018056545,"traceId":"6d53ec940d922686"},{"name":"check-page","duration":972325,"timestamp":210084284353,"id":47,"parentId":19,"tags":{"page":"/api/hub/task-events"},"startTime":1779018056531,"traceId":"6d53ec940d922686"},{"name":"is-page-static","duration":961158,"timestamp":210084298687,"id":84,"parentId":46,"tags":{},"startTime":1779018056545,"traceId":"6d53ec940d922686"},{"name":"check-page","duration":975673,"timestamp":210084284216,"id":46,"parentId":19,"tags":{"page":"/api/hub/status"},"startTime":1779018056530,"traceId":"6d53ec940d922686"},{"name":"is-page-static","duration":969495,"timestamp":210084298722,"id":87,"parentId":49,"tags":{},"startTime":1779018056545,"traceId":"6d53ec940d922686"},{"name":"check-page","duration":983668,"timestamp":210084284609,"id":49,"parentId":19,"tags":{"page":"/api/hub/tmux"},"startTime":1779018056531,"traceId":"6d53ec940d922686"},{"name":"is-page-static","duration":969801,"timestamp":210084298713,"id":86,"parentId":48,"tags":{},"startTime":1779018056545,"traceId":"6d53ec940d922686"},{"name":"check-page","duration":984082,"timestamp":210084284470,"id":48,"parentId":19,"tags":{"page":"/api/hub/tasks"},"startTime":1779018056531,"traceId":"6d53ec940d922686"},{"name":"is-page-static","duration":963110,"timestamp":210084310197,"id":91,"parentId":31,"tags":{},"startTime":1779018056556,"traceId":"6d53ec940d922686"},{"name":"check-page","duration":992937,"timestamp":210084280413,"id":31,"parentId":19,"tags":{"page":"/api/hub/events"},"startTime":1779018056527,"traceId":"6d53ec940d922686"},{"name":"is-page-static","duration":965143,"timestamp":210084308989,"id":90,"parentId":24,"tags":{},"startTime":1779018056555,"traceId":"6d53ec940d922686"},{"name":"check-page","duration":997532,"timestamp":210084276645,"id":24,"parentId":19,"tags":{"page":"/api/anet/config"},"startTime":1779018056523,"traceId":"6d53ec940d922686"},{"name":"is-page-static","duration":966771,"timestamp":210084314106,"id":93,"parentId":43,"tags":{},"startTime":1779018056560,"traceId":"6d53ec940d922686"},{"name":"check-page","duration":997278,"timestamp":210084283641,"id":43,"parentId":19,"tags":{"page":"/api/hub/servers"},"startTime":1779018056530,"traceId":"6d53ec940d922686"},{"name":"is-page-static","duration":970475,"timestamp":210084312561,"id":92,"parentId":41,"tags":{},"startTime":1779018056559,"traceId":"6d53ec940d922686"},{"name":"check-page","duration":999867,"timestamp":210084283210,"id":41,"parentId":19,"tags":{"page":"/api/hub/server/[hostname]/agents"},"startTime":1779018056529,"traceId":"6d53ec940d922686"},{"name":"is-page-static","duration":988593,"timestamp":210084297494,"id":67,"parentId":26,"tags":{},"startTime":1779018056544,"traceId":"6d53ec940d922686"},{"name":"check-page","duration":1006613,"timestamp":210084279516,"id":26,"parentId":19,"tags":{"page":"/api/auth/logout"},"startTime":1779018056526,"traceId":"6d53ec940d922686"},{"name":"is-page-static","duration":989424,"timestamp":210084298750,"id":89,"parentId":51,"tags":{},"startTime":1779018056545,"traceId":"6d53ec940d922686"},{"name":"check-page","duration":1000360,"timestamp":210084287860,"id":51,"parentId":19,"tags":{"page":"/favicon.ico"},"startTime":1779018056534,"traceId":"6d53ec940d922686"},{"name":"is-page-static","duration":992906,"timestamp":210084298030,"id":70,"parentId":29,"tags":{},"startTime":1779018056544,"traceId":"6d53ec940d922686"},{"name":"check-page","duration":1011095,"timestamp":210084279878,"id":29,"parentId":19,"tags":{"page":"/api/hub/auth"},"startTime":1779018056526,"traceId":"6d53ec940d922686"},{"name":"is-page-static","duration":1003595,"timestamp":210084298738,"id":88,"parentId":50,"tags":{},"startTime":1779018056545,"traceId":"6d53ec940d922686"},{"name":"check-page","duration":1014644,"timestamp":210084287750,"id":50,"parentId":19,"tags":{"page":"/api/hub/tokens"},"startTime":1779018056534,"traceId":"6d53ec940d922686"},{"name":"is-page-static","duration":1007040,"timestamp":210084295518,"id":64,"parentId":21,"tags":{},"startTime":1779018056542,"traceId":"6d53ec940d922686"},{"name":"check-page","duration":1027975,"timestamp":210084274614,"id":21,"parentId":19,"tags":{"page":"/_not-found"},"startTime":1779018056521,"traceId":"6d53ec940d922686"},{"name":"is-page-static","duration":999097,"timestamp":210084323213,"id":100,"parentId":58,"tags":{},"startTime":1779018056569,"traceId":"6d53ec940d922686"},{"name":"check-page","duration":1032393,"timestamp":210084289989,"id":58,"parentId":19,"tags":{"page":"/server-logs"},"startTime":1779018056536,"traceId":"6d53ec940d922686"},{"name":"is-page-static","duration":1009362,"timestamp":210084323343,"id":101,"parentId":59,"tags":{},"startTime":1779018056570,"traceId":"6d53ec940d922686"},{"name":"check-page","duration":1042548,"timestamp":210084290222,"id":59,"parentId":19,"tags":{"page":"/settings/networks"},"startTime":1779018056536,"traceId":"6d53ec940d922686"},{"name":"is-page-static","duration":1019692,"timestamp":210084323367,"id":102,"parentId":61,"tags":{},"startTime":1779018056570,"traceId":"6d53ec940d922686"},{"name":"check-page","duration":1052283,"timestamp":210084290862,"id":61,"parentId":19,"tags":{"page":"/settings/tokens"},"startTime":1779018056537,"traceId":"6d53ec940d922686"},{"name":"is-page-static","duration":1035430,"timestamp":210084325868,"id":103,"parentId":62,"tags":{},"startTime":1779018056572,"traceId":"6d53ec940d922686"},{"name":"check-page","duration":1068983,"timestamp":210084292380,"id":62,"parentId":19,"tags":{"page":"/tasks/[id]"},"startTime":1779018056539,"traceId":"6d53ec940d922686"},{"name":"is-page-static","duration":1050238,"timestamp":210084323177,"id":97,"parentId":54,"tags":{},"startTime":1779018056569,"traceId":"6d53ec940d922686"},{"name":"check-page","duration":1084805,"timestamp":210084288683,"id":54,"parentId":19,"tags":{"page":"/messages"},"startTime":1779018056535,"traceId":"6d53ec940d922686"},{"name":"is-page-static","duration":1047972,"timestamp":210084325896,"id":104,"parentId":63,"tags":{},"startTime":1779018056572,"traceId":"6d53ec940d922686"},{"name":"check-page","duration":1081366,"timestamp":210084292570,"id":63,"parentId":19,"tags":{"page":"/tasks"},"startTime":1779018056539,"traceId":"6d53ec940d922686"},{"name":"is-page-static","duration":1052502,"timestamp":210084323203,"id":99,"parentId":56,"tags":{},"startTime":1779018056569,"traceId":"6d53ec940d922686"},{"name":"check-page","duration":1086632,"timestamp":210084289130,"id":56,"parentId":19,"tags":{"page":"/nodes"},"startTime":1779018056535,"traceId":"6d53ec940d922686"},{"name":"is-page-static","duration":1001972,"timestamp":210084378949,"id":106,"parentId":57,"tags":{},"startTime":1779018056625,"traceId":"6d53ec940d922686"},{"name":"check-page","duration":1091579,"timestamp":210084289393,"id":57,"parentId":19,"tags":{"page":"/"},"startTime":1779018056536,"traceId":"6d53ec940d922686"},{"name":"is-page-static","duration":1038253,"timestamp":210084343650,"id":105,"parentId":60,"tags":{},"startTime":1779018056590,"traceId":"6d53ec940d922686"},{"name":"check-page","duration":1091536,"timestamp":210084290419,"id":60,"parentId":19,"tags":{"page":"/settings"},"startTime":1779018056537,"traceId":"6d53ec940d922686"},{"name":"is-page-static","duration":1067410,"timestamp":210084323114,"id":94,"parentId":23,"tags":{},"startTime":1779018056569,"traceId":"6d53ec940d922686"},{"name":"check-page","duration":1114167,"timestamp":210084276412,"id":23,"parentId":19,"tags":{"page":"/admin"},"startTime":1779018056523,"traceId":"6d53ec940d922686"},{"name":"is-page-static","duration":1068484,"timestamp":210084323151,"id":95,"parentId":52,"tags":{},"startTime":1779018056569,"traceId":"6d53ec940d922686"},{"name":"check-page","duration":1103352,"timestamp":210084288329,"id":52,"parentId":19,"tags":{"page":"/login"},"startTime":1779018056535,"traceId":"6d53ec940d922686"},{"name":"is-page-static","duration":1079158,"timestamp":210084323190,"id":98,"parentId":55,"tags":{},"startTime":1779018056569,"traceId":"6d53ec940d922686"},{"name":"check-page","duration":1113495,"timestamp":210084288897,"id":55,"parentId":19,"tags":{"page":"/node"},"startTime":1779018056535,"traceId":"6d53ec940d922686"},{"name":"is-page-static","duration":1091221,"timestamp":210084323167,"id":96,"parentId":53,"tags":{},"startTime":1779018056569,"traceId":"6d53ec940d922686"},{"name":"check-page","duration":1125927,"timestamp":210084288516,"id":53,"parentId":19,"tags":{"page":"/logs"},"startTime":1779018056535,"traceId":"6d53ec940d922686"},{"name":"static-check","duration":1142382,"timestamp":210084272126,"id":19,"parentId":1,"tags":{},"startTime":1779018056518,"traceId":"6d53ec940d922686"}]
2
- [{"name":"write-routes-manifest","duration":540,"timestamp":210085425244,"id":108,"parentId":1,"tags":{},"startTime":1779018057672,"traceId":"6d53ec940d922686"},{"name":"load-dotenv","duration":74,"timestamp":210085439204,"id":111,"parentId":110,"tags":{},"startTime":1779018057685,"traceId":"6d53ec940d922686"},{"name":"run-export-path-map","duration":656,"timestamp":210085442543,"id":112,"parentId":110,"tags":{},"startTime":1779018057689,"traceId":"6d53ec940d922686"},{"name":"next-export","duration":644943,"timestamp":210085437371,"id":110,"parentId":1,"tags":{},"startTime":1779018057684,"traceId":"6d53ec940d922686"},{"name":"move-exported-app-not-found-","duration":1030,"timestamp":210086086164,"id":113,"parentId":109,"tags":{},"startTime":1779018058332,"traceId":"6d53ec940d922686"},{"name":"move-exported-app-global-error-","duration":547,"timestamp":210086087351,"id":114,"parentId":109,"tags":{},"startTime":1779018058334,"traceId":"6d53ec940d922686"},{"name":"static-generation","duration":659233,"timestamp":210085431283,"id":109,"parentId":1,"tags":{},"startTime":1779018057678,"traceId":"6d53ec940d922686"},{"name":"write-routes-manifest","duration":700,"timestamp":210086090858,"id":115,"parentId":1,"tags":{},"startTime":1779018058337,"traceId":"6d53ec940d922686"},{"name":"print-tree-view","duration":5287,"timestamp":210086111370,"id":116,"parentId":1,"tags":{},"startTime":1779018058358,"traceId":"6d53ec940d922686"},{"name":"write-route-bundle-stats","duration":12695,"timestamp":210086116692,"id":117,"parentId":1,"tags":{},"startTime":1779018058363,"traceId":"6d53ec940d922686"},{"name":"telemetry-flush","duration":24220,"timestamp":210086129413,"id":118,"parentId":1,"tags":{},"startTime":1779018058376,"traceId":"6d53ec940d922686"},{"name":"next-build","duration":18399257,"timestamp":210067754416,"id":1,"tags":{"buildMode":"default","version":"16.2.3","bundler":"turbopack","has-custom-webpack-config":"false","use-build-worker":"true"},"startTime":1779018040001,"traceId":"6d53ec940d922686"}]
1
+ [{"name":"generate-buildid","duration":366,"timestamp":210835676895,"id":4,"parentId":1,"tags":{},"startTime":1779018807923,"traceId":"a3ec1a90b8371a41"},{"name":"load-custom-routes","duration":611,"timestamp":210835677450,"id":5,"parentId":1,"tags":{},"startTime":1779018807924,"traceId":"a3ec1a90b8371a41"},{"name":"create-dist-dir","duration":875,"timestamp":210835678112,"id":6,"parentId":1,"tags":{},"startTime":1779018807924,"traceId":"a3ec1a90b8371a41"},{"name":"clean","duration":34948,"timestamp":210835679760,"id":7,"parentId":1,"tags":{},"startTime":1779018807926,"traceId":"a3ec1a90b8371a41"},{"name":"discover-routes","duration":27588,"timestamp":210835817125,"id":8,"parentId":1,"tags":{},"startTime":1779018808063,"traceId":"a3ec1a90b8371a41"},{"name":"create-root-mapping","duration":137,"timestamp":210835844779,"id":9,"parentId":1,"tags":{},"startTime":1779018808091,"traceId":"a3ec1a90b8371a41"},{"name":"generate-route-types","duration":20305,"timestamp":210835847588,"id":10,"parentId":1,"tags":{},"startTime":1779018808094,"traceId":"a3ec1a90b8371a41"},{"name":"public-dir-conflict-check","duration":180,"timestamp":210835867995,"id":11,"parentId":1,"tags":{},"startTime":1779018808114,"traceId":"a3ec1a90b8371a41"},{"name":"generate-routes-manifest","duration":5327,"timestamp":210835868356,"id":12,"parentId":1,"tags":{},"startTime":1779018808115,"traceId":"a3ec1a90b8371a41"},{"name":"run-turbopack","duration":6208453,"timestamp":210835878628,"id":14,"parentId":1,"tags":{},"startTime":1779018808125,"traceId":"a3ec1a90b8371a41"},{"name":"turbopack-build-events","duration":92,"timestamp":210836221353,"id":15,"parentId":1,"tags":{},"startTime":1779018808468,"traceId":"a3ec1a90b8371a41"},{"name":"run-typescript","duration":9786601,"timestamp":210842095160,"id":16,"parentId":1,"tags":{},"startTime":1779018814341,"traceId":"a3ec1a90b8371a41"},{"name":"generate-required-server-files","duration":2973,"timestamp":210851883210,"id":18,"parentId":1,"tags":{},"startTime":1779018824129,"traceId":"a3ec1a90b8371a41"},{"name":"check-static-error-page","duration":13938,"timestamp":210852052256,"id":20,"parentId":19,"tags":{},"startTime":1779018824299,"traceId":"a3ec1a90b8371a41"},{"name":"is-page-static","duration":503002,"timestamp":210852070267,"id":65,"parentId":22,"tags":{},"startTime":1779018824317,"traceId":"a3ec1a90b8371a41"},{"name":"check-page","duration":517844,"timestamp":210852055596,"id":22,"parentId":19,"tags":{"page":"/_global-error"},"startTime":1779018824302,"traceId":"a3ec1a90b8371a41"},{"name":"is-page-static","duration":577155,"timestamp":210852069190,"id":64,"parentId":21,"tags":{},"startTime":1779018824315,"traceId":"a3ec1a90b8371a41"},{"name":"check-page","duration":592363,"timestamp":210852054073,"id":21,"parentId":19,"tags":{"page":"/_not-found"},"startTime":1779018824300,"traceId":"a3ec1a90b8371a41"},{"name":"is-page-static","duration":592717,"timestamp":210852070604,"id":68,"parentId":27,"tags":{},"startTime":1779018824317,"traceId":"a3ec1a90b8371a41"},{"name":"check-page","duration":604421,"timestamp":210852058981,"id":27,"parentId":19,"tags":{"page":"/api/auth/v3"},"startTime":1779018824305,"traceId":"a3ec1a90b8371a41"},{"name":"is-page-static","duration":595708,"timestamp":210852070919,"id":70,"parentId":29,"tags":{},"startTime":1779018824317,"traceId":"a3ec1a90b8371a41"},{"name":"check-page","duration":607428,"timestamp":210852059280,"id":29,"parentId":19,"tags":{"page":"/api/hub/auth"},"startTime":1779018824306,"traceId":"a3ec1a90b8371a41"},{"name":"is-page-static","duration":598872,"timestamp":210852071415,"id":73,"parentId":33,"tags":{},"startTime":1779018824318,"traceId":"a3ec1a90b8371a41"},{"name":"check-page","duration":610399,"timestamp":210852059962,"id":33,"parentId":19,"tags":{"page":"/api/hub/inbox"},"startTime":1779018824306,"traceId":"a3ec1a90b8371a41"},{"name":"is-page-static","duration":605854,"timestamp":210852070408,"id":66,"parentId":25,"tags":{},"startTime":1779018824317,"traceId":"a3ec1a90b8371a41"},{"name":"check-page","duration":617633,"timestamp":210852058685,"id":25,"parentId":19,"tags":{"page":"/api/auth/login"},"startTime":1779018824305,"traceId":"a3ec1a90b8371a41"},{"name":"is-page-static","duration":619266,"timestamp":210852071562,"id":76,"parentId":36,"tags":{},"startTime":1779018824318,"traceId":"a3ec1a90b8371a41"},{"name":"check-page","duration":630366,"timestamp":210852060526,"id":36,"parentId":19,"tags":{"page":"/api/hub/networks"},"startTime":1779018824307,"traceId":"a3ec1a90b8371a41"},{"name":"is-page-static","duration":625113,"timestamp":210852071592,"id":77,"parentId":37,"tags":{},"startTime":1779018824318,"traceId":"a3ec1a90b8371a41"},{"name":"check-page","duration":636088,"timestamp":210852060683,"id":37,"parentId":19,"tags":{"page":"/api/hub/nodes"},"startTime":1779018824307,"traceId":"a3ec1a90b8371a41"},{"name":"is-page-static","duration":630455,"timestamp":210852071609,"id":78,"parentId":38,"tags":{},"startTime":1779018824318,"traceId":"a3ec1a90b8371a41"},{"name":"check-page","duration":641334,"timestamp":210852060784,"id":38,"parentId":19,"tags":{"page":"/api/hub/register"},"startTime":1779018824307,"traceId":"a3ec1a90b8371a41"},{"name":"is-page-static","duration":642100,"timestamp":210852071619,"id":79,"parentId":39,"tags":{},"startTime":1779018824318,"traceId":"a3ec1a90b8371a41"},{"name":"check-page","duration":652921,"timestamp":210852060860,"id":39,"parentId":19,"tags":{"page":"/api/hub/send"},"startTime":1779018824307,"traceId":"a3ec1a90b8371a41"},{"name":"is-page-static","duration":642402,"timestamp":210852071541,"id":75,"parentId":35,"tags":{},"startTime":1779018824318,"traceId":"a3ec1a90b8371a41"},{"name":"check-page","duration":653779,"timestamp":210852060202,"id":35,"parentId":19,"tags":{"page":"/api/hub/messages"},"startTime":1779018824306,"traceId":"a3ec1a90b8371a41"},{"name":"is-page-static","duration":643580,"timestamp":210852070703,"id":69,"parentId":28,"tags":{},"startTime":1779018824317,"traceId":"a3ec1a90b8371a41"},{"name":"check-page","duration":655197,"timestamp":210852059131,"id":28,"parentId":19,"tags":{"page":"/api/hub/audit-log"},"startTime":1779018824305,"traceId":"a3ec1a90b8371a41"},{"name":"is-page-static","duration":654278,"timestamp":210852071516,"id":74,"parentId":34,"tags":{},"startTime":1779018824318,"traceId":"a3ec1a90b8371a41"},{"name":"check-page","duration":665748,"timestamp":210852060110,"id":34,"parentId":19,"tags":{"page":"/api/hub/license"},"startTime":1779018824306,"traceId":"a3ec1a90b8371a41"},{"name":"is-page-static","duration":659709,"timestamp":210852071643,"id":80,"parentId":40,"tags":{},"startTime":1779018824318,"traceId":"a3ec1a90b8371a41"},{"name":"check-page","duration":670484,"timestamp":210852060924,"id":40,"parentId":19,"tags":{"page":"/api/hub/server-logs"},"startTime":1779018824307,"traceId":"a3ec1a90b8371a41"},{"name":"is-page-static","duration":659893,"timestamp":210852071681,"id":83,"parentId":45,"tags":{},"startTime":1779018824318,"traceId":"a3ec1a90b8371a41"},{"name":"check-page","duration":670002,"timestamp":210852061609,"id":45,"parentId":19,"tags":{"page":"/api/hub/stats"},"startTime":1779018824308,"traceId":"a3ec1a90b8371a41"},{"name":"is-page-static","duration":666598,"timestamp":210852071657,"id":81,"parentId":42,"tags":{},"startTime":1779018824318,"traceId":"a3ec1a90b8371a41"},{"name":"check-page","duration":677085,"timestamp":210852061230,"id":42,"parentId":19,"tags":{"page":"/api/hub/server/[hostname]/health"},"startTime":1779018824308,"traceId":"a3ec1a90b8371a41"},{"name":"is-page-static","duration":666841,"timestamp":210852071707,"id":85,"parentId":47,"tags":{},"startTime":1779018824318,"traceId":"a3ec1a90b8371a41"},{"name":"check-page","duration":676842,"timestamp":210852061754,"id":47,"parentId":19,"tags":{"page":"/api/hub/task-events"},"startTime":1779018824308,"traceId":"a3ec1a90b8371a41"},{"name":"is-page-static","duration":669114,"timestamp":210852071694,"id":84,"parentId":46,"tags":{},"startTime":1779018824318,"traceId":"a3ec1a90b8371a41"},{"name":"check-page","duration":679185,"timestamp":210852061682,"id":46,"parentId":19,"tags":{"page":"/api/hub/status"},"startTime":1779018824308,"traceId":"a3ec1a90b8371a41"},{"name":"is-page-static","duration":672039,"timestamp":210852071745,"id":88,"parentId":50,"tags":{},"startTime":1779018824318,"traceId":"a3ec1a90b8371a41"},{"name":"check-page","duration":680502,"timestamp":210852063330,"id":50,"parentId":19,"tags":{"page":"/api/hub/tokens"},"startTime":1779018824310,"traceId":"a3ec1a90b8371a41"},{"name":"is-page-static","duration":673539,"timestamp":210852071114,"id":72,"parentId":32,"tags":{},"startTime":1779018824317,"traceId":"a3ec1a90b8371a41"},{"name":"check-page","duration":684865,"timestamp":210852059835,"id":32,"parentId":19,"tags":{"page":"/api/hub/health"},"startTime":1779018824306,"traceId":"a3ec1a90b8371a41"},{"name":"is-page-static","duration":676390,"timestamp":210852071732,"id":87,"parentId":49,"tags":{},"startTime":1779018824318,"traceId":"a3ec1a90b8371a41"},{"name":"check-page","duration":684975,"timestamp":210852063202,"id":49,"parentId":19,"tags":{"page":"/api/hub/tmux"},"startTime":1779018824309,"traceId":"a3ec1a90b8371a41"},{"name":"is-page-static","duration":676638,"timestamp":210852071716,"id":86,"parentId":48,"tags":{},"startTime":1779018824318,"traceId":"a3ec1a90b8371a41"},{"name":"check-page","duration":686578,"timestamp":210852061822,"id":48,"parentId":19,"tags":{"page":"/api/hub/tasks"},"startTime":1779018824308,"traceId":"a3ec1a90b8371a41"},{"name":"is-page-static","duration":677014,"timestamp":210852071754,"id":89,"parentId":51,"tags":{},"startTime":1779018824318,"traceId":"a3ec1a90b8371a41"},{"name":"check-page","duration":685430,"timestamp":210852063392,"id":51,"parentId":19,"tags":{"page":"/favicon.ico"},"startTime":1779018824310,"traceId":"a3ec1a90b8371a41"},{"name":"is-page-static","duration":677323,"timestamp":210852071667,"id":82,"parentId":44,"tags":{},"startTime":1779018824318,"traceId":"a3ec1a90b8371a41"},{"name":"check-page","duration":688633,"timestamp":210852061527,"id":44,"parentId":19,"tags":{"page":"/api/hub/session"},"startTime":1779018824308,"traceId":"a3ec1a90b8371a41"},{"name":"is-page-static","duration":666090,"timestamp":210852084229,"id":91,"parentId":31,"tags":{},"startTime":1779018824331,"traceId":"a3ec1a90b8371a41"},{"name":"check-page","duration":690802,"timestamp":210852059555,"id":31,"parentId":19,"tags":{"page":"/api/hub/events"},"startTime":1779018824306,"traceId":"a3ec1a90b8371a41"},{"name":"is-page-static","duration":680865,"timestamp":210852071064,"id":71,"parentId":30,"tags":{},"startTime":1779018824317,"traceId":"a3ec1a90b8371a41"},{"name":"check-page","duration":692542,"timestamp":210852059433,"id":30,"parentId":19,"tags":{"page":"/api/hub/broadcast"},"startTime":1779018824306,"traceId":"a3ec1a90b8371a41"},{"name":"is-page-static","duration":666550,"timestamp":210852087069,"id":92,"parentId":41,"tags":{},"startTime":1779018824333,"traceId":"a3ec1a90b8371a41"},{"name":"check-page","duration":692686,"timestamp":210852060988,"id":41,"parentId":19,"tags":{"page":"/api/hub/server/[hostname]/agents"},"startTime":1779018824307,"traceId":"a3ec1a90b8371a41"},{"name":"is-page-static","duration":664866,"timestamp":210852090981,"id":93,"parentId":43,"tags":{},"startTime":1779018824337,"traceId":"a3ec1a90b8371a41"},{"name":"check-page","duration":694561,"timestamp":210852061327,"id":43,"parentId":19,"tags":{"page":"/api/hub/servers"},"startTime":1779018824308,"traceId":"a3ec1a90b8371a41"},{"name":"is-page-static","duration":675414,"timestamp":210852080650,"id":90,"parentId":24,"tags":{},"startTime":1779018824327,"traceId":"a3ec1a90b8371a41"},{"name":"check-page","duration":699941,"timestamp":210852056156,"id":24,"parentId":19,"tags":{"page":"/api/anet/config"},"startTime":1779018824302,"traceId":"a3ec1a90b8371a41"},{"name":"is-page-static","duration":668634,"timestamp":210852099177,"id":99,"parentId":56,"tags":{},"startTime":1779018824345,"traceId":"a3ec1a90b8371a41"},{"name":"check-page","duration":703665,"timestamp":210852064207,"id":56,"parentId":19,"tags":{"page":"/nodes"},"startTime":1779018824310,"traceId":"a3ec1a90b8371a41"},{"name":"is-page-static","duration":673418,"timestamp":210852099195,"id":100,"parentId":58,"tags":{},"startTime":1779018824345,"traceId":"a3ec1a90b8371a41"},{"name":"check-page","duration":707913,"timestamp":210852064763,"id":58,"parentId":19,"tags":{"page":"/server-logs"},"startTime":1779018824311,"traceId":"a3ec1a90b8371a41"},{"name":"is-page-static","duration":678515,"timestamp":210852101916,"id":101,"parentId":59,"tags":{},"startTime":1779018824348,"traceId":"a3ec1a90b8371a41"},{"name":"check-page","duration":715512,"timestamp":210852064966,"id":59,"parentId":19,"tags":{"page":"/settings/networks"},"startTime":1779018824311,"traceId":"a3ec1a90b8371a41"},{"name":"is-page-static","duration":714066,"timestamp":210852070504,"id":67,"parentId":26,"tags":{},"startTime":1779018824317,"traceId":"a3ec1a90b8371a41"},{"name":"check-page","duration":725800,"timestamp":210852058857,"id":26,"parentId":19,"tags":{"page":"/api/auth/logout"},"startTime":1779018824305,"traceId":"a3ec1a90b8371a41"},{"name":"is-page-static","duration":685648,"timestamp":210852101948,"id":102,"parentId":61,"tags":{},"startTime":1779018824348,"traceId":"a3ec1a90b8371a41"},{"name":"check-page","duration":722051,"timestamp":210852065601,"id":61,"parentId":19,"tags":{"page":"/settings/tokens"},"startTime":1779018824312,"traceId":"a3ec1a90b8371a41"},{"name":"is-page-static","duration":693141,"timestamp":210852101985,"id":104,"parentId":63,"tags":{},"startTime":1779018824348,"traceId":"a3ec1a90b8371a41"},{"name":"check-page","duration":729259,"timestamp":210852065924,"id":63,"parentId":19,"tags":{"page":"/tasks"},"startTime":1779018824312,"traceId":"a3ec1a90b8371a41"},{"name":"is-page-static","duration":704426,"timestamp":210852099127,"id":96,"parentId":53,"tags":{},"startTime":1779018824345,"traceId":"a3ec1a90b8371a41"},{"name":"check-page","duration":739797,"timestamp":210852063797,"id":53,"parentId":19,"tags":{"page":"/logs"},"startTime":1779018824310,"traceId":"a3ec1a90b8371a41"},{"name":"is-page-static","duration":683424,"timestamp":210852121376,"id":105,"parentId":60,"tags":{},"startTime":1779018824368,"traceId":"a3ec1a90b8371a41"},{"name":"check-page","duration":739676,"timestamp":210852065171,"id":60,"parentId":19,"tags":{"page":"/settings"},"startTime":1779018824311,"traceId":"a3ec1a90b8371a41"},{"name":"is-page-static","duration":673337,"timestamp":210852138162,"id":106,"parentId":57,"tags":{},"startTime":1779018824384,"traceId":"a3ec1a90b8371a41"},{"name":"check-page","duration":747175,"timestamp":210852064370,"id":57,"parentId":19,"tags":{"page":"/"},"startTime":1779018824311,"traceId":"a3ec1a90b8371a41"},{"name":"is-page-static","duration":716663,"timestamp":210852099150,"id":97,"parentId":54,"tags":{},"startTime":1779018824345,"traceId":"a3ec1a90b8371a41"},{"name":"check-page","duration":751963,"timestamp":210852063896,"id":54,"parentId":19,"tags":{"page":"/messages"},"startTime":1779018824310,"traceId":"a3ec1a90b8371a41"},{"name":"is-page-static","duration":718803,"timestamp":210852098844,"id":95,"parentId":52,"tags":{},"startTime":1779018824345,"traceId":"a3ec1a90b8371a41"},{"name":"check-page","duration":753997,"timestamp":210852063695,"id":52,"parentId":19,"tags":{"page":"/login"},"startTime":1779018824310,"traceId":"a3ec1a90b8371a41"},{"name":"is-page-static","duration":719740,"timestamp":210852098700,"id":94,"parentId":23,"tags":{},"startTime":1779018824345,"traceId":"a3ec1a90b8371a41"},{"name":"check-page","duration":762590,"timestamp":210852055889,"id":23,"parentId":19,"tags":{"page":"/admin"},"startTime":1779018824302,"traceId":"a3ec1a90b8371a41"},{"name":"is-page-static","duration":720825,"timestamp":210852099162,"id":98,"parentId":55,"tags":{},"startTime":1779018824345,"traceId":"a3ec1a90b8371a41"},{"name":"check-page","duration":756001,"timestamp":210852064057,"id":55,"parentId":19,"tags":{"page":"/node"},"startTime":1779018824310,"traceId":"a3ec1a90b8371a41"},{"name":"is-page-static","duration":749194,"timestamp":210852101968,"id":103,"parentId":62,"tags":{},"startTime":1779018824348,"traceId":"a3ec1a90b8371a41"},{"name":"check-page","duration":785461,"timestamp":210852065773,"id":62,"parentId":19,"tags":{"page":"/tasks/[id]"},"startTime":1779018824312,"traceId":"a3ec1a90b8371a41"},{"name":"static-check","duration":800412,"timestamp":210852050856,"id":19,"parentId":1,"tags":{},"startTime":1779018824297,"traceId":"a3ec1a90b8371a41"}]
2
+ [{"name":"write-routes-manifest","duration":1183,"timestamp":210852861097,"id":108,"parentId":1,"tags":{},"startTime":1779018825107,"traceId":"a3ec1a90b8371a41"},{"name":"load-dotenv","duration":59,"timestamp":210852874049,"id":111,"parentId":110,"tags":{},"startTime":1779018825120,"traceId":"a3ec1a90b8371a41"},{"name":"run-export-path-map","duration":505,"timestamp":210852877051,"id":112,"parentId":110,"tags":{},"startTime":1779018825123,"traceId":"a3ec1a90b8371a41"},{"name":"next-export","duration":579581,"timestamp":210852872410,"id":110,"parentId":1,"tags":{},"startTime":1779018825119,"traceId":"a3ec1a90b8371a41"},{"name":"move-exported-app-not-found-","duration":544,"timestamp":210853455266,"id":113,"parentId":109,"tags":{},"startTime":1779018825702,"traceId":"a3ec1a90b8371a41"},{"name":"move-exported-app-global-error-","duration":430,"timestamp":210853455896,"id":114,"parentId":109,"tags":{},"startTime":1779018825702,"traceId":"a3ec1a90b8371a41"},{"name":"static-generation","duration":592074,"timestamp":210852866080,"id":109,"parentId":1,"tags":{},"startTime":1779018825112,"traceId":"a3ec1a90b8371a41"},{"name":"write-routes-manifest","duration":390,"timestamp":210853458368,"id":115,"parentId":1,"tags":{},"startTime":1779018825705,"traceId":"a3ec1a90b8371a41"},{"name":"print-tree-view","duration":5223,"timestamp":210853467694,"id":116,"parentId":1,"tags":{},"startTime":1779018825714,"traceId":"a3ec1a90b8371a41"},{"name":"write-route-bundle-stats","duration":17095,"timestamp":210853472945,"id":117,"parentId":1,"tags":{},"startTime":1779018825719,"traceId":"a3ec1a90b8371a41"},{"name":"telemetry-flush","duration":20340,"timestamp":210853490073,"id":118,"parentId":1,"tags":{},"startTime":1779018825736,"traceId":"a3ec1a90b8371a41"},{"name":"next-build","duration":17892348,"timestamp":210835618088,"id":1,"tags":{"buildMode":"default","version":"16.2.3","bundler":"turbopack","has-custom-webpack-config":"false","use-build-worker":"true"},"startTime":1779018807864,"traceId":"a3ec1a90b8371a41"}]
package/.next/trace-build CHANGED
@@ -1 +1 @@
1
- [{"name":"run-turbopack","duration":6214202,"timestamp":210067986775,"id":14,"parentId":1,"tags":{},"startTime":1779018040233,"traceId":"6d53ec940d922686"},{"name":"turbopack-build-events","duration":70,"timestamp":210068287838,"id":15,"parentId":1,"tags":{},"startTime":1779018040534,"traceId":"6d53ec940d922686"},{"name":"run-typescript","duration":9839701,"timestamp":210074210822,"id":16,"parentId":1,"tags":{},"startTime":1779018046457,"traceId":"6d53ec940d922686"},{"name":"static-check","duration":1142382,"timestamp":210084272126,"id":19,"parentId":1,"tags":{},"startTime":1779018056518,"traceId":"6d53ec940d922686"},{"name":"static-generation","duration":659233,"timestamp":210085431283,"id":109,"parentId":1,"tags":{},"startTime":1779018057678,"traceId":"6d53ec940d922686"},{"name":"telemetry-flush","duration":24220,"timestamp":210086129413,"id":118,"parentId":1,"tags":{},"startTime":1779018058376,"traceId":"6d53ec940d922686"},{"name":"next-build","duration":18399257,"timestamp":210067754416,"id":1,"tags":{"buildMode":"default","version":"16.2.3","bundler":"turbopack","has-custom-webpack-config":"false","use-build-worker":"true"},"startTime":1779018040001,"traceId":"6d53ec940d922686"}]
1
+ [{"name":"run-turbopack","duration":6208453,"timestamp":210835878628,"id":14,"parentId":1,"tags":{},"startTime":1779018808125,"traceId":"a3ec1a90b8371a41"},{"name":"turbopack-build-events","duration":92,"timestamp":210836221353,"id":15,"parentId":1,"tags":{},"startTime":1779018808468,"traceId":"a3ec1a90b8371a41"},{"name":"run-typescript","duration":9786601,"timestamp":210842095160,"id":16,"parentId":1,"tags":{},"startTime":1779018814341,"traceId":"a3ec1a90b8371a41"},{"name":"static-check","duration":800412,"timestamp":210852050856,"id":19,"parentId":1,"tags":{},"startTime":1779018824297,"traceId":"a3ec1a90b8371a41"},{"name":"static-generation","duration":592074,"timestamp":210852866080,"id":109,"parentId":1,"tags":{},"startTime":1779018825112,"traceId":"a3ec1a90b8371a41"},{"name":"telemetry-flush","duration":20340,"timestamp":210853490073,"id":118,"parentId":1,"tags":{},"startTime":1779018825736,"traceId":"a3ec1a90b8371a41"},{"name":"next-build","duration":17892348,"timestamp":210835618088,"id":1,"tags":{"buildMode":"default","version":"16.2.3","bundler":"turbopack","has-custom-webpack-config":"false","use-build-worker":"true"},"startTime":1779018807864,"traceId":"a3ec1a90b8371a41"}]
@@ -6877,6 +6877,35 @@ export function TopoGraph({ sessions, sseSessions, renameSignal }: TopoGraphProp
6877
6877
  (hoveredAlias || hoveredEdgeKey || hoveredGroupLabel ||
6878
6878
  hoveredStatus || hoveredVendor) && !hoveredHub ? 'true' : 'false'
6879
6879
  }
6880
+ /* Round 527 / Loop — focal-amplify family extension to a
6881
+ 2nd anchor. R511 introduced focal-amplify at the hub-
6882
+ highlight disc (base opacity 0.95 → 1.0 on hover); R527
6883
+ extends to the hub-center workingCount digit with a
6884
+ letter-spacing tween 0 → 0.3px on hub-hover.
6885
+ Composes with existing 3-axis hub-hover signature on
6886
+ this element:
6887
+ R209 transform scale(1.08) geometry
6888
+ R425 fontWeight 700 → 800 typography weight
6889
+ R476 filter drop-shadow glow paint
6890
+ R527 letter-spacing 0 → 0.3px typography kerning ← this round
6891
+ tabular-nums (R225) preserved — each digit cell keeps
6892
+ fixed width; the inter-digit advance grows by 0.3px
6893
+ per gap. Single-digit counts (1-9) show no kerning
6894
+ effect; multi-digit counts (10+) show the spread as
6895
+ info-density signaling. Sibling to R427/R431/R432/
6896
+ R433/R434 (hover-letter-spacing family at panel-text
6897
+ scope) — R527 brings the same idiom to the canvas's
6898
+ most-read scalar.
6899
+ Reduced-motion gate matches R209 scale, R425 fw, R476
6900
+ filter — !reducedMotion gates the lift; reducedMotion
6901
+ users see static digit baseline regardless of hover.
6902
+ Focal-amplify family extension (2 anchors): R511 hub-
6903
+ highlight opacity / R527 hub-digit letter-spacing.
6904
+ transition list extends to include `letter-spacing
6905
+ 200ms ease-out`, matching the cadence of the other
6906
+ hub-hover axes. data-topo-hub-working-count-letter-
6907
+ spacing attr exposes the resolved value for tests. */
6908
+ data-topo-hub-working-count-letter-spacing={!reducedMotion && hoveredHub ? '0.3px' : '0px'}
6880
6909
  style={{
6881
6910
  pointerEvents: 'none',
6882
6911
  transform: !reducedMotion && hoveredHub ? 'scale(1.08)' : 'scale(1)',
@@ -6891,14 +6920,18 @@ export function TopoGraph({ sessions, sseSessions, renameSignal }: TopoGraphProp
6891
6920
  ? 'drop-shadow(0 0 2px rgba(16, 185, 129, 0.6))'
6892
6921
  : 'drop-shadow(0 0 3px rgba(52, 211, 153, 0.6))')
6893
6922
  : undefined,
6923
+ letterSpacing: !reducedMotion && hoveredHub ? '0.3px' : '0px',
6894
6924
  /* R425: font-weight 200ms appended so the hover fw
6895
6925
  bump 700 → 800 eases under the same cadence as
6896
6926
  R209 scale + R253 fill + R213 opacity.
6897
6927
  R476: filter 200ms appended so the new drop-
6898
6928
  shadow glow eases at the same cadence.
6899
6929
  R507: opacity 300ms (existing in list) covers
6900
- the new focal-recede fade. */
6901
- transition: 'transform 200ms ease-out, opacity 300ms ease-out, fill 200ms ease-out, font-weight 200ms ease-out, filter 200ms ease-out',
6930
+ the new focal-recede fade.
6931
+ R527: letter-spacing 200ms appended so the new
6932
+ hover-kerning bump eases at the same cadence
6933
+ as the other axes. */
6934
+ transition: 'transform 200ms ease-out, opacity 300ms ease-out, fill 200ms ease-out, font-weight 200ms ease-out, filter 200ms ease-out, letter-spacing 200ms ease-out',
6902
6935
  fontVariantNumeric: 'tabular-nums',
6903
6936
  }}
6904
6937
  >
@@ -11265,6 +11298,7 @@ export function TopoGraph({ sessions, sseSessions, renameSignal }: TopoGraphProp
11265
11298
  (hoveredAlias || hoveredEdgeKey || hoveredGroupLabel ||
11266
11299
  hoveredStatus || hoveredVendor) && !hoveredHub ? 'true' : 'false'
11267
11300
  }
11301
+ data-topo-brand-canvas-mark-breath={reducedMotion ? 'false' : 'true'}
11268
11302
  style={{ pointerEvents: 'none', transition: 'opacity 300ms ease-out, fill 200ms ease-out' }}
11269
11303
  >
11270
11304
  <defs>
@@ -11274,11 +11308,44 @@ export function TopoGraph({ sessions, sseSessions, renameSignal }: TopoGraphProp
11274
11308
  <circle cx="17.5" cy="13" r="10" fill="black" />
11275
11309
  </mask>
11276
11310
  </defs>
11311
+ {/* Round 528 / Loop — 呼吸感 family 4th anchor. Symmetric
11312
+ polish to R519 watermark ambient breath. The brand
11313
+ crescent at canvas top-left is the second decorative
11314
+ canvas brand surface; pre-R528 it stayed at the static
11315
+ composed opacity (wrapper 0.35 × no inner anim = flat).
11316
+ Post-R528 the inner <rect>'s fill-opacity breathes
11317
+ 0.8 ↔ 1.0 on a 7s cycle, composing multiplicatively
11318
+ with the wrapper's recede gate:
11319
+ normal visible: 0.35 × (0.8-1.0) = 0.280-0.350
11320
+ recede visible: 0.245 × (0.8-1.0) = 0.196-0.245
11321
+ invisible: 0 × any = 0
11322
+ 7s cadence intentionally OUT OF PHASE with R519
11323
+ watermark's 6s — the two ambient anchors never beat
11324
+ together visibly when both visible. R497 hub idle
11325
+ breath (4s) is the loudest; R498 recent-row hot pulse
11326
+ (~3s) is the most-active; R519 watermark (6s) +
11327
+ R528 crescent (7s) are the quietest ambient pair.
11328
+ 呼吸感 family extension (4 anchors):
11329
+ R497 hub idle digit 4s active-idle register
11330
+ R498 recent-row hot pulse 3s active-fresh register
11331
+ R519 watermark ambient 6s ambient (always-on)
11332
+ R528 crescent ambient 7s ambient (quiet-only) ← this round
11333
+ SMIL <animate> on fill-opacity (not parent opacity) so
11334
+ the wrapper's React-controlled gate compositions stay
11335
+ intact. Gated on !reducedMotion at JSX level —
11336
+ reducedMotion users see the inner rect at default
11337
+ fill-opacity=1.0 (no SMIL mounted, wrapper's static
11338
+ composed opacity wins). data-topo-brand-canvas-mark-
11339
+ breath attr exposes the gate state. */}
11277
11340
  <rect
11278
11341
  x="16" y="16" width="28" height="28"
11279
11342
  fill={pal.legendText}
11280
11343
  mask="url(#s2a-canvas-corner-mask)"
11281
- />
11344
+ >
11345
+ {!reducedMotion && (
11346
+ <animate attributeName="fill-opacity" values="0.8;1;0.8" dur="7s" repeatCount="indefinite" />
11347
+ )}
11348
+ </rect>
11282
11349
  </g>
11283
11350
  </svg>
11284
11351
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sleep2agi/agent-network-dashboard",
3
- "version": "0.5.3-preview.40",
3
+ "version": "0.5.3-preview.42",
4
4
  "description": "Agent Network Dashboard \u2014 Web UI for managing AI Agent networks",
5
5
  "scripts": {
6
6
  "dev": "next dev",
@@ -0,0 +1,104 @@
1
+ /* Round 528 verification: brand crescent gains ambient SMIL breath
2
+ * (0.8↔1.0 fill-opacity, 7s, repeat indefinite). 呼吸感 family 4th
3
+ * anchor — symmetric to R519 watermark breath but at 7s vs 6s cadence
4
+ * so the two ambient anchors don't beat together visibly.
5
+ *
6
+ * Test phases:
7
+ * 1. motion enabled: data-topo-brand-canvas-mark-breath='true'
8
+ * + <animate> child mounted on inner <rect>
9
+ * + values='0.8;1;0.8', dur='7s', repeatCount='indefinite'
10
+ * + attributeName='fill-opacity' (NOT 'opacity')
11
+ * 2. reduced-motion: breath attr='false', NO <animate> child
12
+ * 3. wrapper recede + visibility still works (regression check)
13
+ * 4. source-side regex confirms wiring
14
+ */
15
+ import { chromium } from 'playwright';
16
+ import { readFileSync } from 'node:fs';
17
+
18
+ const TOKEN = JSON.parse(readFileSync('/home/vansin/.anet/config.json', 'utf8')).token;
19
+ const fresh = new Date(Date.now() - 60 * 1000).toISOString();
20
+
21
+ async function probe(reducedMotion) {
22
+ const browser = await chromium.launch({ headless: true });
23
+ const ctx = await browser.newContext({
24
+ viewport: { width: 1500, height: 1200 },
25
+ reducedMotion: reducedMotion ? 'reduce' : 'no-preference',
26
+ });
27
+ await ctx.addCookies([{ name: 'anet_dashboard_session', value: `v3:${TOKEN}`, domain: '127.0.0.1', path: '/' }]);
28
+ await ctx.addInitScript(() => {
29
+ try {
30
+ localStorage.setItem('anet-theme', 'cyber');
31
+ localStorage.setItem('anet-topo-layout', 'ring');
32
+ sessionStorage.setItem('anet_v3_auth', '1');
33
+ } catch {}
34
+ });
35
+ await ctx.route('**/api/hub/status*', async (route) => {
36
+ const r = await route.fetch();
37
+ const b = await r.json();
38
+ const nid = (b.sessions || [])[0]?.network_id || 'default';
39
+ const mk = (alias) => ({
40
+ alias, status: 'idle', model: 'claude-opus-4', runtime: 'claude-code-cli',
41
+ network_id: nid, project_dir: null,
42
+ created_at: fresh, updated_at: fresh, last_seen_at: fresh,
43
+ });
44
+ await route.fulfill({ response: r, json: { ...b, sessions: [
45
+ mk('alpha·1'), mk('alpha·2'),
46
+ ] } });
47
+ });
48
+ // NO messages → flowLinks=0 → crescent visible
49
+ await ctx.route('**/api/hub/messages*', (r) => r.fulfill({ json: { messages: [] } }));
50
+ await ctx.route('**/api/hub/tasks*', (r) => r.fulfill({ json: { tasks: [] } }));
51
+ const page = await ctx.newPage();
52
+ await page.goto('http://127.0.0.1:3000/', { waitUntil: 'networkidle' });
53
+ await page.waitForSelector('[data-topo-brand-canvas-mark]', { timeout: 15000 });
54
+ await page.waitForTimeout(800);
55
+ const data = await page.evaluate(() => {
56
+ const wrap = document.querySelector('[data-topo-brand-canvas-mark]');
57
+ const rect = wrap?.querySelector('rect[mask*="canvas-corner-mask"]');
58
+ const animate = rect?.querySelector('animate');
59
+ return {
60
+ breathAttr: wrap?.getAttribute('data-topo-brand-canvas-mark-breath'),
61
+ visibleAttr: wrap?.getAttribute('data-topo-brand-canvas-mark-visible'),
62
+ hasAnimate: !!animate,
63
+ attrName: animate?.getAttribute('attributeName') || null,
64
+ values: animate?.getAttribute('values') || null,
65
+ dur: animate?.getAttribute('dur') || null,
66
+ repeatCount: animate?.getAttribute('repeatCount') || null,
67
+ };
68
+ });
69
+ await browser.close();
70
+ return data;
71
+ }
72
+
73
+ const normal = await probe(false);
74
+ const reduced = await probe(true);
75
+
76
+ const src = readFileSync('/home/vansin/agent-network-dashboard/app/components/TopoGraph.tsx', 'utf8');
77
+ const sourceAnimateGated =
78
+ /\{!reducedMotion && \(\s*<animate attributeName="fill-opacity" values="0\.8;1;0\.8" dur="7s" repeatCount="indefinite" \/>\s*\)\}/.test(src);
79
+ const sourceAttrWired =
80
+ /data-topo-brand-canvas-mark-breath=\{reducedMotion \? 'false' : 'true'\}/.test(src);
81
+
82
+ const results = {
83
+ // motion enabled
84
+ normal_breath_true: normal?.breathAttr === 'true',
85
+ normal_visible_true: normal?.visibleAttr === 'true',
86
+ normal_has_animate: normal?.hasAnimate === true,
87
+ normal_attr_fill_op: normal?.attrName === 'fill-opacity',
88
+ normal_values_correct: normal?.values === '0.8;1;0.8',
89
+ normal_dur_7s: normal?.dur === '7s',
90
+ normal_repeat_indef: normal?.repeatCount === 'indefinite',
91
+ // prefers-reduced-motion
92
+ reduced_breath_false: reduced?.breathAttr === 'false',
93
+ reduced_no_animate: reduced?.hasAnimate === false,
94
+ reduced_visible_true: reduced?.visibleAttr === 'true', // crescent still visible, just no breath
95
+ // source
96
+ source_animate_gated: sourceAnimateGated,
97
+ source_attr_wired: sourceAttrWired,
98
+ };
99
+ const ok = Object.values(results).every(Boolean);
100
+ console.log(`${ok ? '✅' : '❌'} R528 crescent ambient breath:`,
101
+ JSON.stringify(results, null, 2),
102
+ '\n normal:', JSON.stringify(normal),
103
+ '\n reduced:', JSON.stringify(reduced));
104
+ process.exit(ok ? 0 : 1);
@@ -0,0 +1,119 @@
1
+ /* Round 527 verification: hub-center workingCount digit gains letter-
2
+ * spacing 0 → 0.3px on hub-hover — focal-amplify family 2nd anchor.
3
+ *
4
+ * Test phases (workingCount > 0 so hub-digit renders):
5
+ * 1. rest: computed letter-spacing=0px (or 'normal'),
6
+ * attr = '0px'
7
+ * 2. hover hub: computed letter-spacing=0.3px, attr='0.3px'
8
+ * 3. mouseleave: returns to 0px / normal
9
+ * 4. transition list includes 'letter-spacing 200ms'
10
+ * 5. source-side regex confirms ternary + transition wiring
11
+ */
12
+ import { chromium } from 'playwright';
13
+ import { readFileSync } from 'node:fs';
14
+
15
+ const TOKEN = JSON.parse(readFileSync('/home/vansin/.anet/config.json', 'utf8')).token;
16
+ const fresh = new Date(Date.now() - 60 * 1000).toISOString();
17
+
18
+ const browser = await chromium.launch({ headless: true });
19
+ const ctx = await browser.newContext({ viewport: { width: 1500, height: 1200 } });
20
+ await ctx.addCookies([{ name: 'anet_dashboard_session', value: `v3:${TOKEN}`, domain: '127.0.0.1', path: '/' }]);
21
+ await ctx.addInitScript(() => {
22
+ try {
23
+ localStorage.setItem('anet-theme', 'cyber');
24
+ localStorage.setItem('anet-topo-layout', 'ring');
25
+ sessionStorage.setItem('anet_v3_auth', '1');
26
+ } catch {}
27
+ });
28
+ await ctx.route('**/api/hub/status*', async (route) => {
29
+ const r = await route.fetch();
30
+ const b = await r.json();
31
+ const nid = (b.sessions || [])[0]?.network_id || 'default';
32
+ const mk = (alias, status) => ({
33
+ alias, status, model: 'claude-opus-4', runtime: 'claude-code-cli',
34
+ network_id: nid, project_dir: null,
35
+ created_at: fresh, updated_at: fresh, last_seen_at: fresh,
36
+ });
37
+ // 2 working so digit shows "2" (visible) — but we test the css
38
+ // letter-spacing regardless of digit count
39
+ await route.fulfill({ response: r, json: { ...b, sessions: [
40
+ mk('a·1', 'working'), mk('a·2', 'working'), mk('a·3', 'idle'),
41
+ ] } });
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-hub-working-count]', { timeout: 15000 });
48
+ await page.waitForTimeout(800);
49
+
50
+ const restRead = async () => page.evaluate(() => {
51
+ const el = document.querySelector('[data-topo-hub-working-count]');
52
+ if (!el) return null;
53
+ const cs = getComputedStyle(el);
54
+ return {
55
+ attrLS: el.getAttribute('data-topo-hub-working-count-letter-spacing'),
56
+ attrHovered: el.getAttribute('data-topo-hub-working-count-hovered'),
57
+ letterSpacing: cs.letterSpacing,
58
+ transition: cs.transition,
59
+ };
60
+ });
61
+
62
+ // Phase 1: rest
63
+ const rest = await restRead();
64
+
65
+ // Phase 2: hover the hub — find a hub-related interactive element.
66
+ // hoveredHub is set when the user hovers the hub (R52/R177 family).
67
+ // The hub spoke chip-style group has the onPointerEnter. Search for
68
+ // data-topo-hub-spoke or hub center clickable.
69
+ // Simpler: find the hub container element that triggers hoveredHub.
70
+ // From source, hoveredHub is set somewhere — let me try clicking the
71
+ // hub center area near (cx, cy) = (500, 340) per VIEWBOX 1000×680.
72
+ // But viewport is 1500×1200, so SVG width depends on container.
73
+ // Use locator on the hub digit element itself and walk up to find
74
+ // a hoverable ancestor — the digit's parent <g> typically has the
75
+ // pointer-enter.
76
+ const hubBbox = await page.locator('[data-topo-hub-working-count]').first().boundingBox();
77
+ if (hubBbox) {
78
+ // Hover slightly off-center to ensure we hit the hub group, not just the digit
79
+ await page.mouse.move(hubBbox.x + hubBbox.width / 2, hubBbox.y + hubBbox.height / 2);
80
+ }
81
+ await page.waitForTimeout(400);
82
+ const hover = await restRead();
83
+
84
+ // Phase 3: mouseleave
85
+ await page.mouse.move(50, 50);
86
+ await page.waitForTimeout(400);
87
+ const leave = await restRead();
88
+
89
+ await browser.close();
90
+
91
+ // Source regex
92
+ const src = readFileSync('/home/vansin/agent-network-dashboard/app/components/TopoGraph.tsx', 'utf8');
93
+ const sourceLsTernary =
94
+ /letterSpacing: !reducedMotion && hoveredHub \? '0\.3px' : '0px',/.test(src);
95
+ const sourceAttrWired =
96
+ /data-topo-hub-working-count-letter-spacing=\{!reducedMotion && hoveredHub \? '0\.3px' : '0px'\}/.test(src);
97
+ const sourceTransitionExt =
98
+ /transition: 'transform 200ms ease-out, opacity 300ms ease-out, fill 200ms ease-out, font-weight 200ms ease-out, filter 200ms ease-out, letter-spacing 200ms ease-out'/.test(src);
99
+
100
+ const results = {
101
+ rest_attr_0: rest?.attrLS === '0px',
102
+ rest_hovered_false: rest?.attrHovered === 'false',
103
+ rest_ls_0: rest?.letterSpacing === '0px' || rest?.letterSpacing === 'normal',
104
+ rest_transition_has_ls: /letter-spacing/.test(rest?.transition || ''),
105
+ hover_attr_03: hover?.attrLS === '0.3px',
106
+ hover_hovered_true: hover?.attrHovered === 'true',
107
+ hover_ls_03: hover?.letterSpacing === '0.3px',
108
+ leave_attr_0: leave?.attrLS === '0px',
109
+ source_ls_ternary: sourceLsTernary,
110
+ source_attr_wired: sourceAttrWired,
111
+ source_transition_ext: sourceTransitionExt,
112
+ };
113
+ const ok = Object.values(results).every(Boolean);
114
+ console.log(`${ok ? '✅' : '❌'} R527 hub-digit hover letter-spacing:`,
115
+ JSON.stringify(results, null, 2),
116
+ '\n rest:', JSON.stringify(rest),
117
+ '\n hover:', JSON.stringify(hover),
118
+ '\n leave:', JSON.stringify(leave));
119
+ process.exit(ok ? 0 : 1);