@sleep2agi/agent-network-dashboard 0.6.3-preview.22 → 0.6.3-preview.23

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 (191) 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 +13 -13
  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.html +1 -1
  14. package/.next/server/app/_not-found.rsc +1 -1
  15. package/.next/server/app/_not-found.segments/_full.segment.rsc +1 -1
  16. package/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  17. package/.next/server/app/_not-found.segments/_index.segment.rsc +1 -1
  18. package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  19. package/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  20. package/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
  21. package/.next/server/app/admin.html +1 -1
  22. package/.next/server/app/admin.rsc +1 -1
  23. package/.next/server/app/admin.segments/_full.segment.rsc +1 -1
  24. package/.next/server/app/admin.segments/_head.segment.rsc +1 -1
  25. package/.next/server/app/admin.segments/_index.segment.rsc +1 -1
  26. package/.next/server/app/admin.segments/_tree.segment.rsc +1 -1
  27. package/.next/server/app/admin.segments/admin/__PAGE__.segment.rsc +1 -1
  28. package/.next/server/app/admin.segments/admin.segment.rsc +1 -1
  29. package/.next/server/app/index.html +2 -2
  30. package/.next/server/app/index.rsc +2 -2
  31. package/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
  32. package/.next/server/app/index.segments/_full.segment.rsc +2 -2
  33. package/.next/server/app/index.segments/_head.segment.rsc +1 -1
  34. package/.next/server/app/index.segments/_index.segment.rsc +1 -1
  35. package/.next/server/app/index.segments/_tree.segment.rsc +1 -1
  36. package/.next/server/app/login/page_client-reference-manifest.js +1 -1
  37. package/.next/server/app/login.html +2 -2
  38. package/.next/server/app/login.rsc +2 -2
  39. package/.next/server/app/login.segments/_full.segment.rsc +2 -2
  40. package/.next/server/app/login.segments/_head.segment.rsc +1 -1
  41. package/.next/server/app/login.segments/_index.segment.rsc +1 -1
  42. package/.next/server/app/login.segments/_tree.segment.rsc +1 -1
  43. package/.next/server/app/login.segments/login/__PAGE__.segment.rsc +2 -2
  44. package/.next/server/app/login.segments/login.segment.rsc +1 -1
  45. package/.next/server/app/logs.html +1 -1
  46. package/.next/server/app/logs.rsc +1 -1
  47. package/.next/server/app/logs.segments/_full.segment.rsc +1 -1
  48. package/.next/server/app/logs.segments/_head.segment.rsc +1 -1
  49. package/.next/server/app/logs.segments/_index.segment.rsc +1 -1
  50. package/.next/server/app/logs.segments/_tree.segment.rsc +1 -1
  51. package/.next/server/app/logs.segments/logs/__PAGE__.segment.rsc +1 -1
  52. package/.next/server/app/logs.segments/logs.segment.rsc +1 -1
  53. package/.next/server/app/messages/page.js.nft.json +1 -1
  54. package/.next/server/app/messages/page_client-reference-manifest.js +1 -1
  55. package/.next/server/app/messages.html +2 -2
  56. package/.next/server/app/messages.rsc +2 -2
  57. package/.next/server/app/messages.segments/_full.segment.rsc +2 -2
  58. package/.next/server/app/messages.segments/_head.segment.rsc +1 -1
  59. package/.next/server/app/messages.segments/_index.segment.rsc +1 -1
  60. package/.next/server/app/messages.segments/_tree.segment.rsc +1 -1
  61. package/.next/server/app/messages.segments/messages/__PAGE__.segment.rsc +2 -2
  62. package/.next/server/app/messages.segments/messages.segment.rsc +1 -1
  63. package/.next/server/app/node/page.js.nft.json +1 -1
  64. package/.next/server/app/node/page_client-reference-manifest.js +1 -1
  65. package/.next/server/app/node.html +2 -2
  66. package/.next/server/app/node.rsc +2 -2
  67. package/.next/server/app/node.segments/_full.segment.rsc +2 -2
  68. package/.next/server/app/node.segments/_head.segment.rsc +1 -1
  69. package/.next/server/app/node.segments/_index.segment.rsc +1 -1
  70. package/.next/server/app/node.segments/_tree.segment.rsc +1 -1
  71. package/.next/server/app/node.segments/node/__PAGE__.segment.rsc +2 -2
  72. package/.next/server/app/node.segments/node.segment.rsc +1 -1
  73. package/.next/server/app/nodes/page.js.nft.json +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 +1 -1
  80. package/.next/server/app/nodes.segments/_tree.segment.rsc +1 -1
  81. package/.next/server/app/nodes.segments/nodes/__PAGE__.segment.rsc +2 -2
  82. package/.next/server/app/nodes.segments/nodes.segment.rsc +1 -1
  83. package/.next/server/app/page.js.nft.json +1 -1
  84. package/.next/server/app/page_client-reference-manifest.js +1 -1
  85. package/.next/server/app/providers.html +1 -1
  86. package/.next/server/app/providers.rsc +1 -1
  87. package/.next/server/app/providers.segments/_full.segment.rsc +1 -1
  88. package/.next/server/app/providers.segments/_head.segment.rsc +1 -1
  89. package/.next/server/app/providers.segments/_index.segment.rsc +1 -1
  90. package/.next/server/app/providers.segments/_tree.segment.rsc +1 -1
  91. package/.next/server/app/providers.segments/providers/__PAGE__.segment.rsc +1 -1
  92. package/.next/server/app/providers.segments/providers.segment.rsc +1 -1
  93. package/.next/server/app/server-logs.html +1 -1
  94. package/.next/server/app/server-logs.rsc +1 -1
  95. package/.next/server/app/server-logs.segments/_full.segment.rsc +1 -1
  96. package/.next/server/app/server-logs.segments/_head.segment.rsc +1 -1
  97. package/.next/server/app/server-logs.segments/_index.segment.rsc +1 -1
  98. package/.next/server/app/server-logs.segments/_tree.segment.rsc +1 -1
  99. package/.next/server/app/server-logs.segments/server-logs/__PAGE__.segment.rsc +1 -1
  100. package/.next/server/app/server-logs.segments/server-logs.segment.rsc +1 -1
  101. package/.next/server/app/servers.html +1 -1
  102. package/.next/server/app/servers.rsc +1 -1
  103. package/.next/server/app/servers.segments/_full.segment.rsc +1 -1
  104. package/.next/server/app/servers.segments/_head.segment.rsc +1 -1
  105. package/.next/server/app/servers.segments/_index.segment.rsc +1 -1
  106. package/.next/server/app/servers.segments/_tree.segment.rsc +1 -1
  107. package/.next/server/app/servers.segments/servers/__PAGE__.segment.rsc +1 -1
  108. package/.next/server/app/servers.segments/servers.segment.rsc +1 -1
  109. package/.next/server/app/settings/networks.html +1 -1
  110. package/.next/server/app/settings/networks.rsc +1 -1
  111. package/.next/server/app/settings/networks.segments/_full.segment.rsc +1 -1
  112. package/.next/server/app/settings/networks.segments/_head.segment.rsc +1 -1
  113. package/.next/server/app/settings/networks.segments/_index.segment.rsc +1 -1
  114. package/.next/server/app/settings/networks.segments/_tree.segment.rsc +1 -1
  115. package/.next/server/app/settings/networks.segments/settings/networks/__PAGE__.segment.rsc +1 -1
  116. package/.next/server/app/settings/networks.segments/settings/networks.segment.rsc +1 -1
  117. package/.next/server/app/settings/networks.segments/settings.segment.rsc +1 -1
  118. package/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  119. package/.next/server/app/settings/tokens.html +1 -1
  120. package/.next/server/app/settings/tokens.rsc +1 -1
  121. package/.next/server/app/settings/tokens.segments/_full.segment.rsc +1 -1
  122. package/.next/server/app/settings/tokens.segments/_head.segment.rsc +1 -1
  123. package/.next/server/app/settings/tokens.segments/_index.segment.rsc +1 -1
  124. package/.next/server/app/settings/tokens.segments/_tree.segment.rsc +1 -1
  125. package/.next/server/app/settings/tokens.segments/settings/tokens/__PAGE__.segment.rsc +1 -1
  126. package/.next/server/app/settings/tokens.segments/settings/tokens.segment.rsc +1 -1
  127. package/.next/server/app/settings/tokens.segments/settings.segment.rsc +1 -1
  128. package/.next/server/app/settings.html +2 -2
  129. package/.next/server/app/settings.rsc +2 -2
  130. package/.next/server/app/settings.segments/_full.segment.rsc +2 -2
  131. package/.next/server/app/settings.segments/_head.segment.rsc +1 -1
  132. package/.next/server/app/settings.segments/_index.segment.rsc +1 -1
  133. package/.next/server/app/settings.segments/_tree.segment.rsc +1 -1
  134. package/.next/server/app/settings.segments/settings/__PAGE__.segment.rsc +2 -2
  135. package/.next/server/app/settings.segments/settings.segment.rsc +1 -1
  136. package/.next/server/app/tasks.html +1 -1
  137. package/.next/server/app/tasks.rsc +1 -1
  138. package/.next/server/app/tasks.segments/_full.segment.rsc +1 -1
  139. package/.next/server/app/tasks.segments/_head.segment.rsc +1 -1
  140. package/.next/server/app/tasks.segments/_index.segment.rsc +1 -1
  141. package/.next/server/app/tasks.segments/_tree.segment.rsc +1 -1
  142. package/.next/server/app/tasks.segments/tasks/__PAGE__.segment.rsc +1 -1
  143. package/.next/server/app/tasks.segments/tasks.segment.rsc +1 -1
  144. package/.next/server/chunks/ssr/{[root-of-the-server]__0-tk.iv._.js → [root-of-the-server]__01ba829._.js} +2 -2
  145. package/.next/server/chunks/ssr/[root-of-the-server]__01ba829._.js.map +1 -0
  146. package/.next/server/chunks/ssr/[root-of-the-server]__091su60._.js +2 -2
  147. package/.next/server/chunks/ssr/[root-of-the-server]__091su60._.js.map +1 -1
  148. package/.next/server/chunks/ssr/{[root-of-the-server]__0v2rgdn._.js → [root-of-the-server]__0nv_nrz._.js} +2 -2
  149. package/.next/server/chunks/ssr/[root-of-the-server]__0nv_nrz._.js.map +1 -0
  150. package/.next/server/chunks/ssr/[root-of-the-server]__10ftc2m._.js +3 -0
  151. package/.next/server/chunks/ssr/[root-of-the-server]__10ftc2m._.js.map +1 -0
  152. package/.next/server/chunks/ssr/{dash-loop-wt_app_0mxr2l9._.js → dash-loop-wt_app_0wd4n_v._.js} +3 -3
  153. package/.next/server/chunks/ssr/dash-loop-wt_app_0wd4n_v._.js.map +1 -0
  154. package/.next/server/chunks/ssr/dash-loop-wt_app_0~.1~ew._.js +1 -1
  155. package/.next/server/chunks/ssr/dash-loop-wt_app_0~.1~ew._.js.map +1 -1
  156. package/.next/server/chunks/ssr/dash-loop-wt_app_13k3-ai._.js +1 -1
  157. package/.next/server/chunks/ssr/dash-loop-wt_app_13k3-ai._.js.map +1 -1
  158. package/.next/server/chunks/ssr/dash-loop-wt_app_nodes_page_tsx_0ma3oqt._.js +1 -1
  159. package/.next/server/chunks/ssr/dash-loop-wt_app_nodes_page_tsx_0ma3oqt._.js.map +1 -1
  160. package/.next/server/middleware-build-manifest.js +3 -3
  161. package/.next/server/pages/404.html +1 -1
  162. package/.next/server/pages/500.html +1 -1
  163. package/.next/server/server-reference-manifest.js +1 -1
  164. package/.next/server/server-reference-manifest.json +1 -1
  165. package/.next/static/chunks/{0q-cs_6ry76lh.js → 0dps36.3y7gza.js} +1 -1
  166. package/.next/static/chunks/0gb2ors2y4b9y.js +4 -0
  167. package/.next/static/chunks/0o10t1_.zj7i~.js +2 -0
  168. package/.next/static/chunks/{0a0xa8~ux8yj2.js → 0s_xxm.p5vvcc.js} +1 -1
  169. package/.next/static/chunks/{0b9n013t4o.m7.js → 0u-jpeh.fk9hi.js} +2 -2
  170. package/.next/static/chunks/13ukzzga18_q8.js +1 -0
  171. package/.next/static/chunks/{0a9ilbebmnl47.js → 16cel_wagxg29.js} +1 -1
  172. package/.next/trace +2 -2
  173. package/.next/trace-build +1 -1
  174. package/app/components/TaskChatPanel.tsx +12 -27
  175. package/app/lib/pinyin-match.ts +54 -0
  176. package/app/messages/page.tsx +10 -5
  177. package/app/nodes/page.tsx +5 -2
  178. package/package.json +1 -1
  179. package/.next/server/chunks/ssr/0zg~_pinyin-pro_dist_index_mjs_0fj60.q._.js +0 -3
  180. package/.next/server/chunks/ssr/0zg~_pinyin-pro_dist_index_mjs_0fj60.q._.js.map +0 -1
  181. package/.next/server/chunks/ssr/[root-of-the-server]__0-tk.iv._.js.map +0 -1
  182. package/.next/server/chunks/ssr/[root-of-the-server]__0k~m-.b._.js +0 -3
  183. package/.next/server/chunks/ssr/[root-of-the-server]__0k~m-.b._.js.map +0 -1
  184. package/.next/server/chunks/ssr/[root-of-the-server]__0v2rgdn._.js.map +0 -1
  185. package/.next/server/chunks/ssr/dash-loop-wt_app_0mxr2l9._.js.map +0 -1
  186. package/.next/static/chunks/0-g~4q8j8mxm4.js +0 -2
  187. package/.next/static/chunks/016h47ls_.eb3.js +0 -1
  188. package/.next/static/chunks/0z31ajz1sgl21.js +0 -4
  189. /package/.next/static/{Wh2iA_9c_IGG1Gq1ludnh → n1mt2Eo3--_wlWCJ1fY86}/_buildManifest.js +0 -0
  190. /package/.next/static/{Wh2iA_9c_IGG1Gq1ludnh → n1mt2Eo3--_wlWCJ1fY86}/_clientMiddlewareManifest.js +0 -0
  191. /package/.next/static/{Wh2iA_9c_IGG1Gq1ludnh → n1mt2Eo3--_wlWCJ1fY86}/_ssgManifest.js +0 -0
@@ -1 +1 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,38888,e=>{"use strict";e.s(["DASHBOARD_VERSION",0,"0.6.3-preview.22"],38888)},71104,e=>{"use strict";var t=e.i(66239),r=e.i(91723),s=e.i(38888);e.s(["default",0,function(){let[e,a]=(0,r.useState)("login"),[n,o]=(0,r.useState)(""),[i,l]=(0,r.useState)(""),[c,d]=(0,r.useState)(!1),[x,m]=(0,r.useState)(""),[g,h]=(0,r.useState)(!1),u=async t=>{t.preventDefault(),h(!0),m("");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}m(r.error||"Login failed")}catch{m("Connection failed")}h(!1)};return(0,t.jsxs)("main",{className:"min-h-screen bg-[#0b0b0d] text-gray-100 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-[#161618] border border-[#26262b] 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-[#26262b] bg-[#161618] p-1 mb-4",children:["login","register"].map(r=>(0,t.jsx)("button",{type:"button",onClick:()=>{a(r),m("")},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-[#26262b] bg-[#161618]/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-[#0e0e10] border border-[#26262b] rounded-lg px-4 py-3 text-base sm: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-[#0e0e10] border border-[#26262b] rounded-lg px-4 pr-11 py-3 text-base sm: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 justify-center min-w-[44px] 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:g||!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:[g&&(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:g?"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",s.DASHBOARD_VERSION]})]})]})]})}])}]);
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,38888,e=>{"use strict";e.s(["DASHBOARD_VERSION",0,"0.6.3-preview.23"],38888)},71104,e=>{"use strict";var t=e.i(66239),r=e.i(91723),s=e.i(38888);e.s(["default",0,function(){let[e,a]=(0,r.useState)("login"),[n,o]=(0,r.useState)(""),[i,l]=(0,r.useState)(""),[c,d]=(0,r.useState)(!1),[x,m]=(0,r.useState)(""),[g,h]=(0,r.useState)(!1),u=async t=>{t.preventDefault(),h(!0),m("");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}m(r.error||"Login failed")}catch{m("Connection failed")}h(!1)};return(0,t.jsxs)("main",{className:"min-h-screen bg-[#0b0b0d] text-gray-100 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-[#161618] border border-[#26262b] 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-[#26262b] bg-[#161618] p-1 mb-4",children:["login","register"].map(r=>(0,t.jsx)("button",{type:"button",onClick:()=>{a(r),m("")},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-[#26262b] bg-[#161618]/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-[#0e0e10] border border-[#26262b] rounded-lg px-4 py-3 text-base sm: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-[#0e0e10] border border-[#26262b] rounded-lg px-4 pr-11 py-3 text-base sm: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 justify-center min-w-[44px] 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:g||!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:[g&&(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:g?"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",s.DASHBOARD_VERSION]})]})]})]})}])}]);
package/.next/trace CHANGED
@@ -1,2 +1,2 @@
1
- [{"name":"generate-buildid","duration":395,"timestamp":5791254407375,"id":4,"parentId":1,"tags":{},"startTime":1784599226654,"traceId":"c660bb1185959f0c"},{"name":"load-custom-routes","duration":706,"timestamp":5791254407972,"id":5,"parentId":1,"tags":{},"startTime":1784599226654,"traceId":"c660bb1185959f0c"},{"name":"create-dist-dir","duration":948,"timestamp":5791254408746,"id":6,"parentId":1,"tags":{},"startTime":1784599226655,"traceId":"c660bb1185959f0c"},{"name":"clean","duration":45043,"timestamp":5791254410551,"id":7,"parentId":1,"tags":{},"startTime":1784599226657,"traceId":"c660bb1185959f0c"},{"name":"discover-routes","duration":11889,"timestamp":5791254556641,"id":8,"parentId":1,"tags":{},"startTime":1784599226803,"traceId":"c660bb1185959f0c"},{"name":"create-root-mapping","duration":117,"timestamp":5791254568591,"id":9,"parentId":1,"tags":{},"startTime":1784599226815,"traceId":"c660bb1185959f0c"},{"name":"generate-route-types","duration":41683,"timestamp":5791254571393,"id":10,"parentId":1,"tags":{},"startTime":1784599226818,"traceId":"c660bb1185959f0c"},{"name":"public-dir-conflict-check","duration":156,"timestamp":5791254613323,"id":11,"parentId":1,"tags":{},"startTime":1784599226860,"traceId":"c660bb1185959f0c"},{"name":"generate-routes-manifest","duration":6168,"timestamp":5791254613661,"id":12,"parentId":1,"tags":{},"startTime":1784599226860,"traceId":"c660bb1185959f0c"},{"name":"run-turbopack","duration":8740568,"timestamp":5791254627705,"id":14,"parentId":1,"tags":{},"startTime":1784599226874,"traceId":"c660bb1185959f0c"},{"name":"turbopack-build-events","duration":120,"timestamp":5791255036108,"id":15,"parentId":1,"tags":{},"startTime":1784599227282,"traceId":"c660bb1185959f0c"},{"name":"run-typescript","duration":12741740,"timestamp":5791263405485,"id":16,"parentId":1,"tags":{},"startTime":1784599235652,"traceId":"c660bb1185959f0c"},{"name":"generate-required-server-files","duration":3266,"timestamp":5791276148459,"id":18,"parentId":1,"tags":{},"startTime":1784599248395,"traceId":"c660bb1185959f0c"},{"name":"check-static-error-page","duration":20837,"timestamp":5791276443237,"id":20,"parentId":19,"tags":{},"startTime":1784599248690,"traceId":"c660bb1185959f0c"},{"name":"is-page-static","duration":602155,"timestamp":5791276467650,"id":75,"parentId":22,"tags":{},"startTime":1784599248714,"traceId":"c660bb1185959f0c"},{"name":"check-page","duration":623826,"timestamp":5791276446160,"id":22,"parentId":19,"tags":{"page":"/_global-error"},"startTime":1784599248692,"traceId":"c660bb1185959f0c"},{"name":"is-page-static","duration":633938,"timestamp":5791276467999,"id":78,"parentId":32,"tags":{},"startTime":1784599248714,"traceId":"c660bb1185959f0c"},{"name":"check-page","duration":650221,"timestamp":5791276451873,"id":32,"parentId":19,"tags":{"page":"/api/auth/login"},"startTime":1784599248698,"traceId":"c660bb1185959f0c"},{"name":"is-page-static","duration":686919,"timestamp":5791276468852,"id":82,"parentId":36,"tags":{},"startTime":1784599248715,"traceId":"c660bb1185959f0c"},{"name":"check-page","duration":702867,"timestamp":5791276452992,"id":36,"parentId":19,"tags":{"page":"/api/hub/auth"},"startTime":1784599248699,"traceId":"c660bb1185959f0c"},{"name":"is-page-static","duration":704741,"timestamp":5791276468924,"id":83,"parentId":37,"tags":{},"startTime":1784599248715,"traceId":"c660bb1185959f0c"},{"name":"check-page","duration":720525,"timestamp":5791276453225,"id":37,"parentId":19,"tags":{"page":"/api/hub/broadcast"},"startTime":1784599248699,"traceId":"c660bb1185959f0c"},{"name":"is-page-static","duration":705434,"timestamp":5791276472906,"id":84,"parentId":39,"tags":{},"startTime":1784599248719,"traceId":"c660bb1185959f0c"},{"name":"check-page","duration":723239,"timestamp":5791276455190,"id":39,"parentId":19,"tags":{"page":"/api/hub/health"},"startTime":1784599248701,"traceId":"c660bb1185959f0c"},{"name":"is-page-static","duration":713101,"timestamp":5791276472960,"id":85,"parentId":40,"tags":{},"startTime":1784599248719,"traceId":"c660bb1185959f0c"},{"name":"check-page","duration":730817,"timestamp":5791276455331,"id":40,"parentId":19,"tags":{"page":"/api/hub/inbox"},"startTime":1784599248702,"traceId":"c660bb1185959f0c"},{"name":"is-page-static","duration":722878,"timestamp":5791276467195,"id":74,"parentId":21,"tags":{},"startTime":1784599248713,"traceId":"c660bb1185959f0c"},{"name":"check-page","duration":745226,"timestamp":5791276444925,"id":21,"parentId":19,"tags":{"page":"/_not-found"},"startTime":1784599248691,"traceId":"c660bb1185959f0c"},{"name":"is-page-static","duration":717226,"timestamp":5791276473145,"id":86,"parentId":41,"tags":{},"startTime":1784599248719,"traceId":"c660bb1185959f0c"},{"name":"check-page","duration":734885,"timestamp":5791276455527,"id":41,"parentId":19,"tags":{"page":"/api/hub/messages"},"startTime":1784599248702,"traceId":"c660bb1185959f0c"},{"name":"is-page-static","duration":738648,"timestamp":5791276473212,"id":88,"parentId":43,"tags":{},"startTime":1784599248719,"traceId":"c660bb1185959f0c"},{"name":"check-page","duration":756190,"timestamp":5791276455755,"id":43,"parentId":19,"tags":{"page":"/api/hub/nodes"},"startTime":1784599248702,"traceId":"c660bb1185959f0c"},{"name":"is-page-static","duration":744273,"timestamp":5791276473223,"id":89,"parentId":44,"tags":{},"startTime":1784599248719,"traceId":"c660bb1185959f0c"},{"name":"check-page","duration":761725,"timestamp":5791276455848,"id":44,"parentId":19,"tags":{"page":"/api/hub/register"},"startTime":1784599248702,"traceId":"c660bb1185959f0c"},{"name":"is-page-static","duration":749396,"timestamp":5791276473236,"id":90,"parentId":45,"tags":{},"startTime":1784599248720,"traceId":"c660bb1185959f0c"},{"name":"check-page","duration":766790,"timestamp":5791276455918,"id":45,"parentId":19,"tags":{"page":"/api/hub/send"},"startTime":1784599248702,"traceId":"c660bb1185959f0c"},{"name":"is-page-static","duration":754936,"timestamp":5791276473249,"id":91,"parentId":46,"tags":{},"startTime":1784599248720,"traceId":"c660bb1185959f0c"},{"name":"check-page","duration":772211,"timestamp":5791276456050,"id":46,"parentId":19,"tags":{"page":"/api/hub/server-logs"},"startTime":1784599248702,"traceId":"c660bb1185959f0c"},{"name":"is-page-static","duration":784761,"timestamp":5791276468669,"id":81,"parentId":35,"tags":{},"startTime":1784599248715,"traceId":"c660bb1185959f0c"},{"name":"check-page","duration":801124,"timestamp":5791276452401,"id":35,"parentId":19,"tags":{"page":"/api/hub/audit-log"},"startTime":1784599248699,"traceId":"c660bb1185959f0c"},{"name":"is-page-static","duration":780538,"timestamp":5791276473259,"id":92,"parentId":48,"tags":{},"startTime":1784599248720,"traceId":"c660bb1185959f0c"},{"name":"check-page","duration":797447,"timestamp":5791276456407,"id":48,"parentId":19,"tags":{"page":"/api/hub/server/[hostname]/health"},"startTime":1784599248703,"traceId":"c660bb1185959f0c"},{"name":"is-page-static","duration":786269,"timestamp":5791276468305,"id":79,"parentId":33,"tags":{},"startTime":1784599248715,"traceId":"c660bb1185959f0c"},{"name":"check-page","duration":802541,"timestamp":5791276452082,"id":33,"parentId":19,"tags":{"page":"/api/auth/logout"},"startTime":1784599248698,"traceId":"c660bb1185959f0c"},{"name":"is-page-static","duration":792083,"timestamp":5791276468500,"id":80,"parentId":34,"tags":{},"startTime":1784599248715,"traceId":"c660bb1185959f0c"},{"name":"check-page","duration":808388,"timestamp":5791276452256,"id":34,"parentId":19,"tags":{"page":"/api/auth/v3"},"startTime":1784599248699,"traceId":"c660bb1185959f0c"},{"name":"is-page-static","duration":787609,"timestamp":5791276473301,"id":95,"parentId":52,"tags":{},"startTime":1784599248720,"traceId":"c660bb1185959f0c"},{"name":"check-page","duration":803649,"timestamp":5791276457323,"id":52,"parentId":19,"tags":{"page":"/api/hub/status"},"startTime":1784599248704,"traceId":"c660bb1185959f0c"},{"name":"is-page-static","duration":794432,"timestamp":5791276473273,"id":93,"parentId":50,"tags":{},"startTime":1784599248720,"traceId":"c660bb1185959f0c"},{"name":"check-page","duration":810653,"timestamp":5791276457120,"id":50,"parentId":19,"tags":{"page":"/api/hub/session"},"startTime":1784599248703,"traceId":"c660bb1185959f0c"},{"name":"is-page-static","duration":798003,"timestamp":5791276473289,"id":94,"parentId":51,"tags":{},"startTime":1784599248720,"traceId":"c660bb1185959f0c"},{"name":"check-page","duration":814110,"timestamp":5791276457243,"id":51,"parentId":19,"tags":{"page":"/api/hub/stats"},"startTime":1784599248704,"traceId":"c660bb1185959f0c"},{"name":"is-page-static","duration":798171,"timestamp":5791276473311,"id":96,"parentId":53,"tags":{},"startTime":1784599248720,"traceId":"c660bb1185959f0c"},{"name":"check-page","duration":814125,"timestamp":5791276457387,"id":53,"parentId":19,"tags":{"page":"/api/hub/task-events"},"startTime":1784599248704,"traceId":"c660bb1185959f0c"},{"name":"is-page-static","duration":811294,"timestamp":5791276473358,"id":98,"parentId":55,"tags":{},"startTime":1784599248720,"traceId":"c660bb1185959f0c"},{"name":"check-page","duration":827187,"timestamp":5791276457538,"id":55,"parentId":19,"tags":{"page":"/api/hub/tmux"},"startTime":1784599248704,"traceId":"c660bb1185959f0c"},{"name":"is-page-static","duration":811512,"timestamp":5791276473376,"id":99,"parentId":56,"tags":{},"startTime":1784599248720,"traceId":"c660bb1185959f0c"},{"name":"check-page","duration":827334,"timestamp":5791276457590,"id":56,"parentId":19,"tags":{"page":"/api/hub/tokens"},"startTime":1784599248704,"traceId":"c660bb1185959f0c"},{"name":"is-page-static","duration":830937,"timestamp":5791276473340,"id":97,"parentId":54,"tags":{},"startTime":1784599248720,"traceId":"c660bb1185959f0c"},{"name":"check-page","duration":846912,"timestamp":5791276457455,"id":54,"parentId":19,"tags":{"page":"/api/hub/tasks"},"startTime":1784599248704,"traceId":"c660bb1185959f0c"},{"name":"is-page-static","duration":836142,"timestamp":5791276473415,"id":102,"parentId":61,"tags":{},"startTime":1784599248720,"traceId":"c660bb1185959f0c"},{"name":"check-page","duration":851297,"timestamp":5791276458350,"id":61,"parentId":19,"tags":{"page":"/manifest.webmanifest"},"startTime":1784599248705,"traceId":"c660bb1185959f0c"},{"name":"is-page-static","duration":832803,"timestamp":5791276497580,"id":104,"parentId":27,"tags":{},"startTime":1784599248744,"traceId":"c660bb1185959f0c"},{"name":"check-page","duration":880331,"timestamp":5791276450138,"id":27,"parentId":19,"tags":{"page":"/api/anet/node-create"},"startTime":1784599248696,"traceId":"c660bb1185959f0c"},{"name":"is-page-static","duration":836457,"timestamp":5791276494218,"id":103,"parentId":24,"tags":{},"startTime":1784599248741,"traceId":"c660bb1185959f0c"},{"name":"check-page","duration":884103,"timestamp":5791276446620,"id":24,"parentId":19,"tags":{"page":"/api/anet/config"},"startTime":1784599248693,"traceId":"c660bb1185959f0c"},{"name":"is-page-static","duration":860254,"timestamp":5791276473390,"id":100,"parentId":57,"tags":{},"startTime":1784599248720,"traceId":"c660bb1185959f0c"},{"name":"check-page","duration":876062,"timestamp":5791276457637,"id":57,"parentId":19,"tags":{"page":"/api/hub/upload"},"startTime":1784599248704,"traceId":"c660bb1185959f0c"},{"name":"is-page-static","duration":867927,"timestamp":5791276473403,"id":101,"parentId":58,"tags":{},"startTime":1784599248720,"traceId":"c660bb1185959f0c"},{"name":"check-page","duration":883702,"timestamp":5791276457705,"id":58,"parentId":19,"tags":{"page":"/favicon.ico"},"startTime":1784599248704,"traceId":"c660bb1185959f0c"},{"name":"is-page-static","duration":873792,"timestamp":5791276467780,"id":76,"parentId":29,"tags":{},"startTime":1784599248714,"traceId":"c660bb1185959f0c"},{"name":"check-page","duration":890708,"timestamp":5791276450969,"id":29,"parentId":19,"tags":{"page":"/api/anet/providers/probe-results"},"startTime":1784599248697,"traceId":"c660bb1185959f0c"},{"name":"is-page-static","duration":827113,"timestamp":5791276514926,"id":107,"parentId":28,"tags":{},"startTime":1784599248761,"traceId":"c660bb1185959f0c"},{"name":"check-page","duration":891562,"timestamp":5791276450546,"id":28,"parentId":19,"tags":{"page":"/api/anet/node-lifecycle"},"startTime":1784599248697,"traceId":"c660bb1185959f0c"},{"name":"is-page-static","duration":844314,"timestamp":5791276502271,"id":106,"parentId":26,"tags":{},"startTime":1784599248749,"traceId":"c660bb1185959f0c"},{"name":"check-page","duration":896920,"timestamp":5791276449720,"id":26,"parentId":19,"tags":{"page":"/api/anet/node-config"},"startTime":1784599248696,"traceId":"c660bb1185959f0c"},{"name":"is-page-static","duration":849073,"timestamp":5791276498977,"id":105,"parentId":25,"tags":{},"startTime":1784599248745,"traceId":"c660bb1185959f0c"},{"name":"check-page","duration":898781,"timestamp":5791276449331,"id":25,"parentId":19,"tags":{"page":"/api/anet/host-supervisors"},"startTime":1784599248696,"traceId":"c660bb1185959f0c"},{"name":"is-page-static","duration":885140,"timestamp":5791276473193,"id":87,"parentId":42,"tags":{},"startTime":1784599248719,"traceId":"c660bb1185959f0c"},{"name":"check-page","duration":902776,"timestamp":5791276455653,"id":42,"parentId":19,"tags":{"page":"/api/hub/networks"},"startTime":1784599248702,"traceId":"c660bb1185959f0c"},{"name":"is-page-static","duration":837521,"timestamp":5791276527366,"id":109,"parentId":38,"tags":{},"startTime":1784599248774,"traceId":"c660bb1185959f0c"},{"name":"check-page","duration":910136,"timestamp":5791276454840,"id":38,"parentId":19,"tags":{"page":"/api/hub/events"},"startTime":1784599248701,"traceId":"c660bb1185959f0c"},{"name":"is-page-static","duration":837370,"timestamp":5791276528400,"id":110,"parentId":47,"tags":{},"startTime":1784599248775,"traceId":"c660bb1185959f0c"},{"name":"check-page","duration":909666,"timestamp":5791276456173,"id":47,"parentId":19,"tags":{"page":"/api/hub/server/[hostname]/agents"},"startTime":1784599248702,"traceId":"c660bb1185959f0c"},{"name":"is-page-static","duration":837445,"timestamp":5791276529622,"id":111,"parentId":49,"tags":{},"startTime":1784599248776,"traceId":"c660bb1185959f0c"},{"name":"check-page","duration":910595,"timestamp":5791276456550,"id":49,"parentId":19,"tags":{"page":"/api/hub/servers"},"startTime":1784599248703,"traceId":"c660bb1185959f0c"},{"name":"is-page-static","duration":843551,"timestamp":5791276525776,"id":108,"parentId":31,"tags":{},"startTime":1784599248772,"traceId":"c660bb1185959f0c"},{"name":"check-page","duration":917965,"timestamp":5791276451411,"id":31,"parentId":19,"tags":{"page":"/api/anet/providers"},"startTime":1784599248698,"traceId":"c660bb1185959f0c"},{"name":"is-page-static","duration":834167,"timestamp":5791276541416,"id":113,"parentId":59,"tags":{},"startTime":1784599248788,"traceId":"c660bb1185959f0c"},{"name":"check-page","duration":917602,"timestamp":5791276458050,"id":59,"parentId":19,"tags":{"page":"/login"},"startTime":1784599248704,"traceId":"c660bb1185959f0c"},{"name":"is-page-static","duration":843440,"timestamp":5791276541480,"id":118,"parentId":66,"tags":{},"startTime":1784599248788,"traceId":"c660bb1185959f0c"},{"name":"check-page","duration":923879,"timestamp":5791276461112,"id":66,"parentId":19,"tags":{"page":"/providers"},"startTime":1784599248707,"traceId":"c660bb1185959f0c"},{"name":"is-page-static","duration":856656,"timestamp":5791276541491,"id":119,"parentId":67,"tags":{},"startTime":1784599248788,"traceId":"c660bb1185959f0c"},{"name":"check-page","duration":936819,"timestamp":5791276461415,"id":67,"parentId":19,"tags":{"page":"/server-logs"},"startTime":1784599248708,"traceId":"c660bb1185959f0c"},{"name":"is-page-static","duration":862001,"timestamp":5791276541503,"id":120,"parentId":68,"tags":{},"startTime":1784599248788,"traceId":"c660bb1185959f0c"},{"name":"check-page","duration":941888,"timestamp":5791276461701,"id":68,"parentId":19,"tags":{"page":"/servers"},"startTime":1784599248708,"traceId":"c660bb1185959f0c"},{"name":"is-page-static","duration":871164,"timestamp":5791276541514,"id":121,"parentId":69,"tags":{},"startTime":1784599248788,"traceId":"c660bb1185959f0c"},{"name":"check-page","duration":950888,"timestamp":5791276461876,"id":69,"parentId":19,"tags":{"page":"/settings/networks"},"startTime":1784599248708,"traceId":"c660bb1185959f0c"},{"name":"is-page-static","duration":948600,"timestamp":5791276467882,"id":77,"parentId":30,"tags":{},"startTime":1784599248714,"traceId":"c660bb1185959f0c"},{"name":"check-page","duration":965331,"timestamp":5791276451218,"id":30,"parentId":19,"tags":{"page":"/api/anet/providers/probe"},"startTime":1784599248697,"traceId":"c660bb1185959f0c"},{"name":"is-page-static","duration":880580,"timestamp":5791276541526,"id":122,"parentId":71,"tags":{},"startTime":1784599248788,"traceId":"c660bb1185959f0c"}]
2
- [{"name":"check-page","duration":959562,"timestamp":5791276462940,"id":71,"parentId":19,"tags":{"page":"/settings/tokens"},"startTime":1784599248709,"traceId":"c660bb1185959f0c"},{"name":"is-page-static","duration":895592,"timestamp":5791276541549,"id":124,"parentId":73,"tags":{},"startTime":1784599248788,"traceId":"c660bb1185959f0c"},{"name":"check-page","duration":973641,"timestamp":5791276463597,"id":73,"parentId":19,"tags":{"page":"/tasks"},"startTime":1784599248710,"traceId":"c660bb1185959f0c"},{"name":"is-page-static","duration":900172,"timestamp":5791276541442,"id":115,"parentId":62,"tags":{},"startTime":1784599248788,"traceId":"c660bb1185959f0c"},{"name":"check-page","duration":983285,"timestamp":5791276458413,"id":62,"parentId":19,"tags":{"page":"/messages"},"startTime":1784599248705,"traceId":"c660bb1185959f0c"},{"name":"is-page-static","duration":906323,"timestamp":5791276541560,"id":125,"parentId":65,"tags":{},"startTime":1784599248788,"traceId":"c660bb1185959f0c"},{"name":"check-page","duration":988641,"timestamp":5791276459345,"id":65,"parentId":19,"tags":{"page":"/"},"startTime":1784599248706,"traceId":"c660bb1185959f0c"},{"name":"is-page-static","duration":900361,"timestamp":5791276548040,"id":126,"parentId":70,"tags":{},"startTime":1784599248794,"traceId":"c660bb1185959f0c"},{"name":"check-page","duration":986293,"timestamp":5791276462162,"id":70,"parentId":19,"tags":{"page":"/settings"},"startTime":1784599248708,"traceId":"c660bb1185959f0c"},{"name":"is-page-static","duration":922355,"timestamp":5791276541356,"id":112,"parentId":23,"tags":{},"startTime":1784599248788,"traceId":"c660bb1185959f0c"},{"name":"check-page","duration":1017381,"timestamp":5791276446413,"id":23,"parentId":19,"tags":{"page":"/admin"},"startTime":1784599248693,"traceId":"c660bb1185959f0c"},{"name":"is-page-static","duration":926945,"timestamp":5791276541430,"id":114,"parentId":60,"tags":{},"startTime":1784599248788,"traceId":"c660bb1185959f0c"},{"name":"check-page","duration":1010246,"timestamp":5791276458218,"id":60,"parentId":19,"tags":{"page":"/logs"},"startTime":1784599248704,"traceId":"c660bb1185959f0c"},{"name":"is-page-static","duration":938037,"timestamp":5791276541456,"id":116,"parentId":63,"tags":{},"startTime":1784599248788,"traceId":"c660bb1185959f0c"},{"name":"check-page","duration":1020980,"timestamp":5791276458588,"id":63,"parentId":19,"tags":{"page":"/node"},"startTime":1784599248705,"traceId":"c660bb1185959f0c"},{"name":"is-page-static","duration":939083,"timestamp":5791276541467,"id":117,"parentId":64,"tags":{},"startTime":1784599248788,"traceId":"c660bb1185959f0c"},{"name":"check-page","duration":1021457,"timestamp":5791276459128,"id":64,"parentId":19,"tags":{"page":"/nodes"},"startTime":1784599248705,"traceId":"c660bb1185959f0c"},{"name":"is-page-static","duration":973732,"timestamp":5791276541538,"id":123,"parentId":72,"tags":{},"startTime":1784599248788,"traceId":"c660bb1185959f0c"},{"name":"check-page","duration":1052170,"timestamp":5791276463196,"id":72,"parentId":19,"tags":{"page":"/tasks/[id]"},"startTime":1784599248709,"traceId":"c660bb1185959f0c"},{"name":"static-check","duration":1073491,"timestamp":5791276441954,"id":19,"parentId":1,"tags":{},"startTime":1784599248688,"traceId":"c660bb1185959f0c"},{"name":"write-routes-manifest","duration":653,"timestamp":5791277528603,"id":128,"parentId":1,"tags":{},"startTime":1784599249775,"traceId":"c660bb1185959f0c"},{"name":"load-dotenv","duration":86,"timestamp":5791277547661,"id":131,"parentId":130,"tags":{},"startTime":1784599249794,"traceId":"c660bb1185959f0c"},{"name":"run-export-path-map","duration":1128,"timestamp":5791277551588,"id":132,"parentId":130,"tags":{},"startTime":1784599249798,"traceId":"c660bb1185959f0c"},{"name":"next-export","duration":789011,"timestamp":5791277545457,"id":130,"parentId":1,"tags":{},"startTime":1784599249792,"traceId":"c660bb1185959f0c"},{"name":"move-exported-app-not-found-","duration":799,"timestamp":5791278339451,"id":133,"parentId":129,"tags":{},"startTime":1784599250586,"traceId":"c660bb1185959f0c"},{"name":"move-exported-app-global-error-","duration":558,"timestamp":5791278340387,"id":134,"parentId":129,"tags":{},"startTime":1784599250587,"traceId":"c660bb1185959f0c"},{"name":"static-generation","duration":808163,"timestamp":5791277535324,"id":129,"parentId":1,"tags":{},"startTime":1784599249782,"traceId":"c660bb1185959f0c"},{"name":"write-routes-manifest","duration":707,"timestamp":5791278343974,"id":135,"parentId":1,"tags":{},"startTime":1784599250590,"traceId":"c660bb1185959f0c"},{"name":"print-tree-view","duration":4809,"timestamp":5791278359576,"id":136,"parentId":1,"tags":{},"startTime":1784599250606,"traceId":"c660bb1185959f0c"},{"name":"write-route-bundle-stats","duration":27801,"timestamp":5791278364431,"id":137,"parentId":1,"tags":{},"startTime":1784599250611,"traceId":"c660bb1185959f0c"},{"name":"telemetry-flush","duration":18147,"timestamp":5791278392291,"id":138,"parentId":1,"tags":{},"startTime":1784599250639,"traceId":"c660bb1185959f0c"},{"name":"next-build","duration":24062971,"timestamp":5791254347510,"id":1,"tags":{"buildMode":"default","version":"16.2.3","bundler":"turbopack","has-custom-webpack-config":"false","use-build-worker":"true"},"startTime":1784599226594,"traceId":"c660bb1185959f0c"}]
1
+ [{"name":"generate-buildid","duration":369,"timestamp":5793107307162,"id":4,"parentId":1,"tags":{},"startTime":1784601079553,"traceId":"466ecd0140fea933"},{"name":"load-custom-routes","duration":549,"timestamp":5793107307730,"id":5,"parentId":1,"tags":{},"startTime":1784601079554,"traceId":"466ecd0140fea933"},{"name":"create-dist-dir","duration":916,"timestamp":5793107308330,"id":6,"parentId":1,"tags":{},"startTime":1784601079555,"traceId":"466ecd0140fea933"},{"name":"clean","duration":52752,"timestamp":5793107310565,"id":7,"parentId":1,"tags":{},"startTime":1784601079557,"traceId":"466ecd0140fea933"},{"name":"discover-routes","duration":31650,"timestamp":5793107476906,"id":8,"parentId":1,"tags":{},"startTime":1784601079723,"traceId":"466ecd0140fea933"},{"name":"create-root-mapping","duration":167,"timestamp":5793107508645,"id":9,"parentId":1,"tags":{},"startTime":1784601079755,"traceId":"466ecd0140fea933"},{"name":"generate-route-types","duration":24964,"timestamp":5793107512330,"id":10,"parentId":1,"tags":{},"startTime":1784601079759,"traceId":"466ecd0140fea933"},{"name":"public-dir-conflict-check","duration":139,"timestamp":5793107537518,"id":11,"parentId":1,"tags":{},"startTime":1784601079784,"traceId":"466ecd0140fea933"},{"name":"generate-routes-manifest","duration":5701,"timestamp":5793107537823,"id":12,"parentId":1,"tags":{},"startTime":1784601079784,"traceId":"466ecd0140fea933"},{"name":"run-turbopack","duration":10583953,"timestamp":5793107552440,"id":14,"parentId":1,"tags":{},"startTime":1784601079799,"traceId":"466ecd0140fea933"},{"name":"turbopack-build-events","duration":134,"timestamp":5793107938804,"id":15,"parentId":1,"tags":{},"startTime":1784601080185,"traceId":"466ecd0140fea933"},{"name":"run-typescript","duration":14329668,"timestamp":5793118149779,"id":16,"parentId":1,"tags":{},"startTime":1784601090396,"traceId":"466ecd0140fea933"},{"name":"generate-required-server-files","duration":3260,"timestamp":5793132483608,"id":18,"parentId":1,"tags":{},"startTime":1784601104730,"traceId":"466ecd0140fea933"},{"name":"check-static-error-page","duration":21593,"timestamp":5793132762606,"id":20,"parentId":19,"tags":{},"startTime":1784601105009,"traceId":"466ecd0140fea933"},{"name":"is-page-static","duration":713089,"timestamp":5793132788862,"id":74,"parentId":21,"tags":{},"startTime":1784601105035,"traceId":"466ecd0140fea933"},{"name":"check-page","duration":737880,"timestamp":5793132764280,"id":21,"parentId":19,"tags":{"page":"/_not-found"},"startTime":1784601105011,"traceId":"466ecd0140fea933"},{"name":"is-page-static","duration":801097,"timestamp":5793132790513,"id":81,"parentId":35,"tags":{},"startTime":1784601105037,"traceId":"466ecd0140fea933"},{"name":"check-page","duration":818054,"timestamp":5793132773639,"id":35,"parentId":19,"tags":{"page":"/api/hub/audit-log"},"startTime":1784601105020,"traceId":"466ecd0140fea933"},{"name":"is-page-static","duration":821550,"timestamp":5793132790713,"id":82,"parentId":36,"tags":{},"startTime":1784601105037,"traceId":"466ecd0140fea933"},{"name":"check-page","duration":838170,"timestamp":5793132774169,"id":36,"parentId":19,"tags":{"page":"/api/hub/auth"},"startTime":1784601105020,"traceId":"466ecd0140fea933"},{"name":"is-page-static","duration":828338,"timestamp":5793132789865,"id":78,"parentId":32,"tags":{},"startTime":1784601105036,"traceId":"466ecd0140fea933"},{"name":"check-page","duration":845051,"timestamp":5793132773229,"id":32,"parentId":19,"tags":{"page":"/api/auth/login"},"startTime":1784601105020,"traceId":"466ecd0140fea933"},{"name":"is-page-static","duration":827691,"timestamp":5793132790783,"id":83,"parentId":37,"tags":{},"startTime":1784601105037,"traceId":"466ecd0140fea933"},{"name":"check-page","duration":844149,"timestamp":5793132774372,"id":37,"parentId":19,"tags":{"page":"/api/hub/broadcast"},"startTime":1784601105021,"traceId":"466ecd0140fea933"},{"name":"is-page-static","duration":833256,"timestamp":5793132789484,"id":75,"parentId":22,"tags":{},"startTime":1784601105036,"traceId":"466ecd0140fea933"},{"name":"check-page","duration":856858,"timestamp":5793132765979,"id":22,"parentId":19,"tags":{"page":"/_global-error"},"startTime":1784601105012,"traceId":"466ecd0140fea933"},{"name":"is-page-static","duration":833358,"timestamp":5793132790910,"id":85,"parentId":40,"tags":{},"startTime":1784601105037,"traceId":"466ecd0140fea933"},{"name":"check-page","duration":847454,"timestamp":5793132776869,"id":40,"parentId":19,"tags":{"page":"/api/hub/inbox"},"startTime":1784601105023,"traceId":"466ecd0140fea933"},{"name":"is-page-static","duration":839099,"timestamp":5793132791087,"id":87,"parentId":42,"tags":{},"startTime":1784601105037,"traceId":"466ecd0140fea933"},{"name":"check-page","duration":853158,"timestamp":5793132777082,"id":42,"parentId":19,"tags":{"page":"/api/hub/networks"},"startTime":1784601105023,"traceId":"466ecd0140fea933"},{"name":"is-page-static","duration":844380,"timestamp":5793132790179,"id":79,"parentId":33,"tags":{},"startTime":1784601105036,"traceId":"466ecd0140fea933"},{"name":"check-page","duration":861225,"timestamp":5793132773396,"id":33,"parentId":19,"tags":{"page":"/api/auth/logout"},"startTime":1784601105020,"traceId":"466ecd0140fea933"},{"name":"is-page-static","duration":844391,"timestamp":5793132791124,"id":88,"parentId":43,"tags":{},"startTime":1784601105037,"traceId":"466ecd0140fea933"},{"name":"check-page","duration":858375,"timestamp":5793132777182,"id":43,"parentId":19,"tags":{"page":"/api/hub/nodes"},"startTime":1784601105023,"traceId":"466ecd0140fea933"},{"name":"is-page-static","duration":874782,"timestamp":5793132791152,"id":90,"parentId":45,"tags":{},"startTime":1784601105037,"traceId":"466ecd0140fea933"},{"name":"check-page","duration":888665,"timestamp":5793132777364,"id":45,"parentId":19,"tags":{"page":"/api/hub/send"},"startTime":1784601105024,"traceId":"466ecd0140fea933"},{"name":"is-page-static","duration":882780,"timestamp":5793132791167,"id":91,"parentId":46,"tags":{},"startTime":1784601105037,"traceId":"466ecd0140fea933"},{"name":"check-page","duration":896562,"timestamp":5793132777480,"id":46,"parentId":19,"tags":{"page":"/api/hub/server-logs"},"startTime":1784601105024,"traceId":"466ecd0140fea933"},{"name":"is-page-static","duration":891365,"timestamp":5793132791141,"id":89,"parentId":44,"tags":{},"startTime":1784601105037,"traceId":"466ecd0140fea933"},{"name":"check-page","duration":905299,"timestamp":5793132777280,"id":44,"parentId":19,"tags":{"page":"/api/hub/register"},"startTime":1784601105024,"traceId":"466ecd0140fea933"},{"name":"is-page-static","duration":895758,"timestamp":5793132791183,"id":92,"parentId":48,"tags":{},"startTime":1784601105047,"traceId":"466ecd0140fea933"},{"name":"check-page","duration":909033,"timestamp":5793132778020,"id":48,"parentId":19,"tags":{"page":"/api/hub/server/[hostname]/health"},"startTime":1784601105024,"traceId":"466ecd0140fea933"},{"name":"is-page-static","duration":901576,"timestamp":5793132790873,"id":84,"parentId":39,"tags":{},"startTime":1784601105037,"traceId":"466ecd0140fea933"},{"name":"check-page","duration":915783,"timestamp":5793132776742,"id":39,"parentId":19,"tags":{"page":"/api/hub/health"},"startTime":1784601105023,"traceId":"466ecd0140fea933"},{"name":"is-page-static","duration":892039,"timestamp":5793132801223,"id":94,"parentId":51,"tags":{},"startTime":1784601105047,"traceId":"466ecd0140fea933"},{"name":"check-page","duration":914637,"timestamp":5793132778687,"id":51,"parentId":19,"tags":{"page":"/api/hub/stats"},"startTime":1784601105025,"traceId":"466ecd0140fea933"},{"name":"is-page-static","duration":897845,"timestamp":5793132801259,"id":96,"parentId":53,"tags":{},"startTime":1784601105048,"traceId":"466ecd0140fea933"},{"name":"check-page","duration":920285,"timestamp":5793132778906,"id":53,"parentId":19,"tags":{"page":"/api/hub/task-events"},"startTime":1784601105025,"traceId":"466ecd0140fea933"},{"name":"is-page-static","duration":902347,"timestamp":5793132801276,"id":97,"parentId":54,"tags":{},"startTime":1784601105048,"traceId":"466ecd0140fea933"},{"name":"check-page","duration":924717,"timestamp":5793132778968,"id":54,"parentId":19,"tags":{"page":"/api/hub/tasks"},"startTime":1784601105025,"traceId":"466ecd0140fea933"},{"name":"is-page-static","duration":914998,"timestamp":5793132801291,"id":98,"parentId":55,"tags":{},"startTime":1784601105048,"traceId":"466ecd0140fea933"},{"name":"check-page","duration":937247,"timestamp":5793132779106,"id":55,"parentId":19,"tags":{"page":"/api/hub/tmux"},"startTime":1784601105025,"traceId":"466ecd0140fea933"},{"name":"is-page-static","duration":921816,"timestamp":5793132801303,"id":99,"parentId":56,"tags":{},"startTime":1784601105048,"traceId":"466ecd0140fea933"},{"name":"check-page","duration":944017,"timestamp":5793132779174,"id":56,"parentId":19,"tags":{"page":"/api/hub/tokens"},"startTime":1784601105025,"traceId":"466ecd0140fea933"},{"name":"is-page-static","duration":922181,"timestamp":5793132801208,"id":93,"parentId":50,"tags":{},"startTime":1784601105047,"traceId":"466ecd0140fea933"},{"name":"check-page","duration":944879,"timestamp":5793132778553,"id":50,"parentId":19,"tags":{"page":"/api/hub/session"},"startTime":1784601105025,"traceId":"466ecd0140fea933"},{"name":"is-page-static","duration":952514,"timestamp":5793132789750,"id":77,"parentId":30,"tags":{},"startTime":1784601105036,"traceId":"466ecd0140fea933"},{"name":"check-page","duration":971021,"timestamp":5793132771330,"id":30,"parentId":19,"tags":{"page":"/api/anet/providers/probe"},"startTime":1784601105018,"traceId":"466ecd0140fea933"},{"name":"is-page-static","duration":954334,"timestamp":5793132801246,"id":95,"parentId":52,"tags":{},"startTime":1784601105048,"traceId":"466ecd0140fea933"},{"name":"check-page","duration":976856,"timestamp":5793132778801,"id":52,"parentId":19,"tags":{"page":"/api/hub/status"},"startTime":1784601105025,"traceId":"466ecd0140fea933"},{"name":"is-page-static","duration":962130,"timestamp":5793132801323,"id":101,"parentId":58,"tags":{},"startTime":1784601105048,"traceId":"466ecd0140fea933"},{"name":"check-page","duration":984227,"timestamp":5793132779301,"id":58,"parentId":19,"tags":{"page":"/favicon.ico"},"startTime":1784601105026,"traceId":"466ecd0140fea933"},{"name":"is-page-static","duration":962372,"timestamp":5793132801315,"id":100,"parentId":57,"tags":{},"startTime":1784601105048,"traceId":"466ecd0140fea933"},{"name":"check-page","duration":984480,"timestamp":5793132779240,"id":57,"parentId":19,"tags":{"page":"/api/hub/upload"},"startTime":1784601105026,"traceId":"466ecd0140fea933"},{"name":"is-page-static","duration":962508,"timestamp":5793132801335,"id":102,"parentId":61,"tags":{},"startTime":1784601105048,"traceId":"466ecd0140fea933"},{"name":"check-page","duration":984095,"timestamp":5793132779776,"id":61,"parentId":19,"tags":{"page":"/manifest.webmanifest"},"startTime":1784601105026,"traceId":"466ecd0140fea933"},{"name":"is-page-static","duration":954170,"timestamp":5793132819588,"id":104,"parentId":25,"tags":{},"startTime":1784601105066,"traceId":"466ecd0140fea933"},{"name":"check-page","duration":1004379,"timestamp":5793132769443,"id":25,"parentId":19,"tags":{"page":"/api/anet/host-supervisors"},"startTime":1784601105016,"traceId":"466ecd0140fea933"},{"name":"is-page-static","duration":955012,"timestamp":5793132822172,"id":105,"parentId":27,"tags":{},"startTime":1784601105068,"traceId":"466ecd0140fea933"},{"name":"check-page","duration":1006924,"timestamp":5793132770328,"id":27,"parentId":19,"tags":{"page":"/api/anet/node-create"},"startTime":1784601105017,"traceId":"466ecd0140fea933"},{"name":"is-page-static","duration":948469,"timestamp":5793132831130,"id":107,"parentId":28,"tags":{},"startTime":1784601105077,"traceId":"466ecd0140fea933"},{"name":"check-page","duration":1009029,"timestamp":5793132770710,"id":28,"parentId":19,"tags":{"page":"/api/anet/node-lifecycle"},"startTime":1784601105017,"traceId":"466ecd0140fea933"},{"name":"is-page-static","duration":965225,"timestamp":5793132814701,"id":103,"parentId":24,"tags":{},"startTime":1784601105061,"traceId":"466ecd0140fea933"},{"name":"check-page","duration":1013358,"timestamp":5793132766606,"id":24,"parentId":19,"tags":{"page":"/api/anet/config"},"startTime":1784601105013,"traceId":"466ecd0140fea933"},{"name":"is-page-static","duration":942249,"timestamp":5793132853523,"id":109,"parentId":38,"tags":{},"startTime":1784601105100,"traceId":"466ecd0140fea933"},{"name":"check-page","duration":1019539,"timestamp":5793132776309,"id":38,"parentId":19,"tags":{"page":"/api/hub/events"},"startTime":1784601105023,"traceId":"466ecd0140fea933"},{"name":"is-page-static","duration":955781,"timestamp":5793132840266,"id":108,"parentId":31,"tags":{},"startTime":1784601105087,"traceId":"466ecd0140fea933"},{"name":"check-page","duration":1024569,"timestamp":5793132771518,"id":31,"parentId":19,"tags":{"page":"/api/anet/providers"},"startTime":1784601105018,"traceId":"466ecd0140fea933"},{"name":"is-page-static","duration":941581,"timestamp":5793132854647,"id":110,"parentId":47,"tags":{},"startTime":1784601105101,"traceId":"466ecd0140fea933"},{"name":"check-page","duration":1018590,"timestamp":5793132777697,"id":47,"parentId":19,"tags":{"page":"/api/hub/server/[hostname]/agents"},"startTime":1784601105024,"traceId":"466ecd0140fea933"},{"name":"is-page-static","duration":945111,"timestamp":5793132857577,"id":111,"parentId":49,"tags":{},"startTime":1784601105104,"traceId":"466ecd0140fea933"},{"name":"check-page","duration":1024591,"timestamp":5793132778163,"id":49,"parentId":19,"tags":{"page":"/api/hub/servers"},"startTime":1784601105024,"traceId":"466ecd0140fea933"},{"name":"is-page-static","duration":898170,"timestamp":5793132918956,"id":112,"parentId":23,"tags":{},"startTime":1784601105165,"traceId":"466ecd0140fea933"},{"name":"check-page","duration":1050896,"timestamp":5793132766328,"id":23,"parentId":19,"tags":{"page":"/admin"},"startTime":1784601105013,"traceId":"466ecd0140fea933"},{"name":"is-page-static","duration":998437,"timestamp":5793132825693,"id":106,"parentId":26,"tags":{},"startTime":1784601105072,"traceId":"466ecd0140fea933"},{"name":"check-page","duration":1054334,"timestamp":5793132769866,"id":26,"parentId":19,"tags":{"page":"/api/anet/node-config"},"startTime":1784601105016,"traceId":"466ecd0140fea933"},{"name":"is-page-static","duration":910388,"timestamp":5793132919065,"id":115,"parentId":62,"tags":{},"startTime":1784601105165,"traceId":"466ecd0140fea933"},{"name":"check-page","duration":1049679,"timestamp":5793132779837,"id":62,"parentId":19,"tags":{"page":"/messages"},"startTime":1784601105026,"traceId":"466ecd0140fea933"},{"name":"is-page-static","duration":925264,"timestamp":5793132919098,"id":117,"parentId":64,"tags":{},"startTime":1784601105165,"traceId":"466ecd0140fea933"},{"name":"check-page","duration":1064234,"timestamp":5793132780202,"id":64,"parentId":19,"tags":{"page":"/nodes"},"startTime":1784601105026,"traceId":"466ecd0140fea933"},{"name":"is-page-static","duration":935781,"timestamp":5793132919112,"id":118,"parentId":66,"tags":{},"startTime":1784601105165,"traceId":"466ecd0140fea933"},{"name":"check-page","duration":1073245,"timestamp":5793132781718,"id":66,"parentId":19,"tags":{"page":"/providers"},"startTime":1784601105028,"traceId":"466ecd0140fea933"},{"name":"is-page-static","duration":1076640,"timestamp":5793132789627,"id":76,"parentId":29,"tags":{},"startTime":1784601105036,"traceId":"466ecd0140fea933"},{"name":"check-page","duration":1095220,"timestamp":5793132771119,"id":29,"parentId":19,"tags":{"page":"/api/anet/providers/probe-results"},"startTime":1784601105017,"traceId":"466ecd0140fea933"},{"name":"is-page-static","duration":959230,"timestamp":5793132919124,"id":119,"parentId":67,"tags":{},"startTime":1784601105165,"traceId":"466ecd0140fea933"},{"name":"check-page","duration":1096447,"timestamp":5793132781984,"id":67,"parentId":19,"tags":{"page":"/server-logs"},"startTime":1784601105028,"traceId":"466ecd0140fea933"},{"name":"is-page-static","duration":959552,"timestamp":5793132919035,"id":113,"parentId":59,"tags":{},"startTime":1784601105165,"traceId":"466ecd0140fea933"},{"name":"check-page","duration":1099041,"timestamp":5793132779574,"id":59,"parentId":19,"tags":{"page":"/login"},"startTime":1784601105026,"traceId":"466ecd0140fea933"},{"name":"is-page-static","duration":970635,"timestamp":5793132919153,"id":121,"parentId":69,"tags":{},"startTime":1784601105165,"traceId":"466ecd0140fea933"},{"name":"check-page","duration":1107426,"timestamp":5793132782434,"id":69,"parentId":19,"tags":{"page":"/settings/networks"},"startTime":1784601105029,"traceId":"466ecd0140fea933"},{"name":"is-page-static","duration":975593,"timestamp":5793132919164,"id":122,"parentId":71,"tags":{},"startTime":1784601105165,"traceId":"466ecd0140fea933"}]
2
+ [{"name":"check-page","duration":1113817,"timestamp":5793132783224,"id":71,"parentId":19,"tags":{"page":"/settings/tokens"},"startTime":1784601105029,"traceId":"466ecd0140fea933"},{"name":"is-page-static","duration":997917,"timestamp":5793132919190,"id":124,"parentId":73,"tags":{},"startTime":1784601105165,"traceId":"466ecd0140fea933"},{"name":"check-page","duration":1133427,"timestamp":5793132783767,"id":73,"parentId":19,"tags":{"page":"/tasks"},"startTime":1784601105030,"traceId":"466ecd0140fea933"},{"name":"is-page-static","duration":998248,"timestamp":5793132919177,"id":123,"parentId":72,"tags":{},"startTime":1784601105165,"traceId":"466ecd0140fea933"},{"name":"check-page","duration":1134055,"timestamp":5793132783416,"id":72,"parentId":19,"tags":{"page":"/tasks/[id]"},"startTime":1784601105030,"traceId":"466ecd0140fea933"},{"name":"is-page-static","duration":1006384,"timestamp":5793132919202,"id":125,"parentId":65,"tags":{},"startTime":1784601105165,"traceId":"466ecd0140fea933"},{"name":"check-page","duration":1145276,"timestamp":5793132780376,"id":65,"parentId":19,"tags":{"page":"/"},"startTime":1784601105027,"traceId":"466ecd0140fea933"},{"name":"is-page-static","duration":1011491,"timestamp":5793132919214,"id":126,"parentId":70,"tags":{},"startTime":1784601105165,"traceId":"466ecd0140fea933"},{"name":"check-page","duration":1148122,"timestamp":5793132782652,"id":70,"parentId":19,"tags":{"page":"/settings"},"startTime":1784601105029,"traceId":"466ecd0140fea933"},{"name":"is-page-static","duration":1016448,"timestamp":5793132919078,"id":116,"parentId":63,"tags":{},"startTime":1784601105165,"traceId":"466ecd0140fea933"},{"name":"check-page","duration":1155582,"timestamp":5793132780025,"id":63,"parentId":19,"tags":{"page":"/node"},"startTime":1784601105026,"traceId":"466ecd0140fea933"},{"name":"is-page-static","duration":1173008,"timestamp":5793132791051,"id":86,"parentId":41,"tags":{},"startTime":1784601105037,"traceId":"466ecd0140fea933"},{"name":"check-page","duration":1187224,"timestamp":5793132776963,"id":41,"parentId":19,"tags":{"page":"/api/hub/messages"},"startTime":1784601105023,"traceId":"466ecd0140fea933"},{"name":"is-page-static","duration":1051057,"timestamp":5793132919052,"id":114,"parentId":60,"tags":{},"startTime":1784601105165,"traceId":"466ecd0140fea933"},{"name":"check-page","duration":1190515,"timestamp":5793132779671,"id":60,"parentId":19,"tags":{"page":"/logs"},"startTime":1784601105026,"traceId":"466ecd0140fea933"},{"name":"is-page-static","duration":1062834,"timestamp":5793132919137,"id":120,"parentId":68,"tags":{},"startTime":1784601105165,"traceId":"466ecd0140fea933"},{"name":"check-page","duration":1199791,"timestamp":5793132782286,"id":68,"parentId":19,"tags":{"page":"/servers"},"startTime":1784601105029,"traceId":"466ecd0140fea933"},{"name":"is-page-static","duration":1227931,"timestamp":5793132790367,"id":80,"parentId":34,"tags":{},"startTime":1784601105037,"traceId":"466ecd0140fea933"},{"name":"check-page","duration":1244860,"timestamp":5793132773517,"id":34,"parentId":19,"tags":{"page":"/api/auth/v3"},"startTime":1784601105020,"traceId":"466ecd0140fea933"},{"name":"static-check","duration":1257035,"timestamp":5793132761395,"id":19,"parentId":1,"tags":{},"startTime":1784601105008,"traceId":"466ecd0140fea933"},{"name":"write-routes-manifest","duration":608,"timestamp":5793134030297,"id":128,"parentId":1,"tags":{},"startTime":1784601106277,"traceId":"466ecd0140fea933"},{"name":"load-dotenv","duration":54,"timestamp":5793134043604,"id":131,"parentId":130,"tags":{},"startTime":1784601106290,"traceId":"466ecd0140fea933"},{"name":"run-export-path-map","duration":686,"timestamp":5793134047946,"id":132,"parentId":130,"tags":{},"startTime":1784601106294,"traceId":"466ecd0140fea933"},{"name":"next-export","duration":953419,"timestamp":5793134042367,"id":130,"parentId":1,"tags":{},"startTime":1784601106289,"traceId":"466ecd0140fea933"},{"name":"move-exported-app-not-found-","duration":1060,"timestamp":5793135001925,"id":133,"parentId":129,"tags":{},"startTime":1784601107248,"traceId":"466ecd0140fea933"},{"name":"move-exported-app-global-error-","duration":538,"timestamp":5793135003175,"id":134,"parentId":129,"tags":{},"startTime":1784601107249,"traceId":"466ecd0140fea933"},{"name":"static-generation","duration":970766,"timestamp":5793134035673,"id":129,"parentId":1,"tags":{},"startTime":1784601106282,"traceId":"466ecd0140fea933"},{"name":"write-routes-manifest","duration":568,"timestamp":5793135006687,"id":135,"parentId":1,"tags":{},"startTime":1784601107253,"traceId":"466ecd0140fea933"},{"name":"print-tree-view","duration":8301,"timestamp":5793135028972,"id":136,"parentId":1,"tags":{},"startTime":1784601107275,"traceId":"466ecd0140fea933"},{"name":"write-route-bundle-stats","duration":19035,"timestamp":5793135037334,"id":137,"parentId":1,"tags":{},"startTime":1784601107284,"traceId":"466ecd0140fea933"},{"name":"telemetry-flush","duration":8279,"timestamp":5793135056417,"id":138,"parentId":1,"tags":{},"startTime":1784601107303,"traceId":"466ecd0140fea933"},{"name":"next-build","duration":27817843,"timestamp":5793107246897,"id":1,"tags":{"buildMode":"default","version":"16.2.3","bundler":"turbopack","has-custom-webpack-config":"false","use-build-worker":"true"},"startTime":1784601079493,"traceId":"466ecd0140fea933"}]
package/.next/trace-build CHANGED
@@ -1 +1 @@
1
- [{"name":"run-turbopack","duration":8740568,"timestamp":5791254627705,"id":14,"parentId":1,"tags":{},"startTime":1784599226874,"traceId":"c660bb1185959f0c"},{"name":"turbopack-build-events","duration":120,"timestamp":5791255036108,"id":15,"parentId":1,"tags":{},"startTime":1784599227282,"traceId":"c660bb1185959f0c"},{"name":"run-typescript","duration":12741740,"timestamp":5791263405485,"id":16,"parentId":1,"tags":{},"startTime":1784599235652,"traceId":"c660bb1185959f0c"},{"name":"static-check","duration":1073491,"timestamp":5791276441954,"id":19,"parentId":1,"tags":{},"startTime":1784599248688,"traceId":"c660bb1185959f0c"},{"name":"static-generation","duration":808163,"timestamp":5791277535324,"id":129,"parentId":1,"tags":{},"startTime":1784599249782,"traceId":"c660bb1185959f0c"},{"name":"telemetry-flush","duration":18147,"timestamp":5791278392291,"id":138,"parentId":1,"tags":{},"startTime":1784599250639,"traceId":"c660bb1185959f0c"},{"name":"next-build","duration":24062971,"timestamp":5791254347510,"id":1,"tags":{"buildMode":"default","version":"16.2.3","bundler":"turbopack","has-custom-webpack-config":"false","use-build-worker":"true"},"startTime":1784599226594,"traceId":"c660bb1185959f0c"}]
1
+ [{"name":"run-turbopack","duration":10583953,"timestamp":5793107552440,"id":14,"parentId":1,"tags":{},"startTime":1784601079799,"traceId":"466ecd0140fea933"},{"name":"turbopack-build-events","duration":134,"timestamp":5793107938804,"id":15,"parentId":1,"tags":{},"startTime":1784601080185,"traceId":"466ecd0140fea933"},{"name":"run-typescript","duration":14329668,"timestamp":5793118149779,"id":16,"parentId":1,"tags":{},"startTime":1784601090396,"traceId":"466ecd0140fea933"},{"name":"static-check","duration":1257035,"timestamp":5793132761395,"id":19,"parentId":1,"tags":{},"startTime":1784601105008,"traceId":"466ecd0140fea933"},{"name":"static-generation","duration":970766,"timestamp":5793134035673,"id":129,"parentId":1,"tags":{},"startTime":1784601106282,"traceId":"466ecd0140fea933"},{"name":"telemetry-flush","duration":8279,"timestamp":5793135056417,"id":138,"parentId":1,"tags":{},"startTime":1784601107303,"traceId":"466ecd0140fea933"},{"name":"next-build","duration":27817843,"timestamp":5793107246897,"id":1,"tags":{"buildMode":"default","version":"16.2.3","bundler":"turbopack","has-custom-webpack-config":"false","use-build-worker":"true"},"startTime":1784601079493,"traceId":"466ecd0140fea933"}]
@@ -288,6 +288,7 @@ import { useSSE } from '../lib/useSSE';
288
288
  import { useNetworkId } from '../lib/network-context';
289
289
  import { markChatRead } from '../lib/chat-unread';
290
290
  import { readDraft, writeDraft } from '../lib/chat-drafts';
291
+ import { pinyinMatch, usePinyinReady } from '../lib/pinyin-match';
291
292
  import { formatWeChatTime } from '../lib/time';
292
293
  import { t } from '../lib/ui-lang';
293
294
 
@@ -435,31 +436,10 @@ export function TaskChatPanel({ alias, onClose, inline, availableNodes, active }
435
436
  const [targetAlias, setTargetAlias] = useState(alias);
436
437
  const [showMentions, setShowMentions] = useState(false);
437
438
  const [mentionIndex, setMentionIndex] = useState(0);
438
- // R23 (拼音债): Chinese aliases are unreachable by typing pinyin — load
439
- // pinyin-pro lazily the FIRST time the @ dropdown opens (own chunk;
440
- // zero cost to first paint) and match against full pinyin + initials.
441
- const pinyinRef = useRef<((text: string) => [string, string]) | null>(null);
442
- const pinyinCacheRef = useRef<Map<string, [string, string]>>(new Map());
443
- const [, bumpPinyin] = useState(0);
444
- useEffect(() => {
445
- if (!showMentions || pinyinRef.current) return;
446
- import('pinyin-pro').then((m) => {
447
- pinyinRef.current = (text: string) => [
448
- m.pinyin(text, { toneType: 'none', type: 'array' }).join('').toLowerCase(),
449
- m.pinyin(text, { pattern: 'first', toneType: 'none', type: 'array' }).join('').toLowerCase(),
450
- ];
451
- bumpPinyin((v) => v + 1);
452
- }).catch(() => {});
453
- }, [showMentions]);
454
- const mentionMatches = useCallback((alias: string, filter: string) => {
455
- if (!filter) return true;
456
- if (alias.toLowerCase().includes(filter)) return true;
457
- const py = pinyinRef.current;
458
- if (!py) return false;
459
- let entry = pinyinCacheRef.current.get(alias);
460
- if (!entry) { entry = py(alias); pinyinCacheRef.current.set(alias, entry); }
461
- return entry[0].includes(filter) || entry[1].includes(filter);
462
- }, []);
439
+ // R23→R25: pinyin matching moved to the shared lib (also powers /nodes
440
+ // and /messages search). Lazy chunk semantics unchanged.
441
+ const pinyinReady = usePinyinReady();
442
+ void pinyinReady; // render trigger when the lazy dict lands mid-typing
463
443
  const [attachLimitHit, setAttachLimitHit] = useState(false);
464
444
  const [mentionFilter, setMentionFilter] = useState('');
465
445
  const [mentionNodes, setMentionNodes] = useState<string[]>([]);
@@ -782,7 +762,12 @@ export function TaskChatPanel({ alias, onClose, inline, availableNodes, active }
782
762
  wasActiveRef.current = isActive;
783
763
  return;
784
764
  }
785
- if (!wasActiveRef.current) runFetch(histLimitRef.current, 12_000);
765
+ if (!wasActiveRef.current) {
766
+ runFetch(histLimitRef.current, 12_000);
767
+ // R27 (微信手感): switching back to a tab refocuses the composer —
768
+ // desktop only (focusing on touch pops the soft keyboard uninvited).
769
+ if (!coarsePointerRef.current) textareaRef.current?.focus();
770
+ }
786
771
  wasActiveRef.current = true;
787
772
  const id = setInterval(() => {
788
773
  if (document.visibilityState === 'hidden') return;
@@ -1025,7 +1010,7 @@ export function TaskChatPanel({ alias, onClose, inline, availableNodes, active }
1025
1010
  };
1026
1011
 
1027
1012
  const filteredMentions = mentionNodes.filter(n =>
1028
- n !== alias && mentionMatches(n, mentionFilter)
1013
+ n !== alias && pinyinMatch(n, mentionFilter)
1029
1014
  ).slice(0, 8);
1030
1015
 
1031
1016
  const autoResize = (el: HTMLTextAreaElement) => {
@@ -0,0 +1,54 @@
1
+ 'use client';
2
+
3
+ import { useEffect, useState } from 'react';
4
+
5
+ /* Loop R25: one pinyin matcher for every search surface (chat @-mentions,
6
+ * /nodes, /messages). pinyin-pro stays a LAZY chunk — the dict loads on the
7
+ * first non-empty filter, never on page load. Matching = substring OR full
8
+ * pinyin OR initials, cached per string. Callers pair pinyinMatch() with
9
+ * usePinyinReady() so results upgrade in place once the dict arrives. */
10
+
11
+ type PinyinFn = (text: string) => [string, string];
12
+
13
+ let py: PinyinFn | null = null;
14
+ let loadStarted = false;
15
+ const listeners = new Set<() => void>();
16
+ const cache = new Map<string, [string, string]>();
17
+
18
+ function ensureLoaded() {
19
+ if (py || loadStarted || typeof window === 'undefined') return;
20
+ loadStarted = true;
21
+ import('pinyin-pro')
22
+ .then((m) => {
23
+ py = (text: string) => [
24
+ m.pinyin(text, { toneType: 'none', type: 'array' }).join('').toLowerCase(),
25
+ m.pinyin(text, { pattern: 'first', toneType: 'none', type: 'array' }).join('').toLowerCase(),
26
+ ];
27
+ listeners.forEach((l) => l());
28
+ })
29
+ .catch(() => { loadStarted = false; });
30
+ }
31
+
32
+ export function pinyinMatch(text: string, filter: string): boolean {
33
+ const f = filter.trim().toLowerCase();
34
+ if (!f) return true;
35
+ if (text.toLowerCase().includes(f)) return true;
36
+ ensureLoaded();
37
+ if (!py) return false;
38
+ let entry = cache.get(text);
39
+ if (!entry) { entry = py(text); cache.set(text, entry); }
40
+ return entry[0].includes(f) || entry[1].includes(f);
41
+ }
42
+
43
+ /** True once the pinyin dict is loaded — subscribe so the component
44
+ * re-filters when lazy loading completes mid-typing. */
45
+ export function usePinyinReady(): boolean {
46
+ const [ready, setReady] = useState(() => Boolean(py));
47
+ useEffect(() => {
48
+ if (py) { setReady(true); return; }
49
+ const l = () => setReady(true);
50
+ listeners.add(l);
51
+ return () => void listeners.delete(l);
52
+ }, []);
53
+ return ready;
54
+ }
@@ -7,6 +7,8 @@ import { formatWeChatTime } from '../lib/time';
7
7
  import { EmptyState } from '../components/EmptyState';
8
8
  import { AliasAvatar } from '../components/AliasAvatar';
9
9
  import { useCollapsibleSearch } from '../components/CollapsibleSearch';
10
+ import { pinyinMatch, usePinyinReady } from '../lib/pinyin-match';
11
+ import { t } from '../lib/ui-lang';
10
12
 
11
13
  interface MessageItem {
12
14
  id: string;
@@ -68,6 +70,7 @@ export default function MessagesPage() {
68
70
  const loadingOlder = isLoading && messages.length > 0;
69
71
  const [filterType, setFilterType] = useState('');
70
72
  const [search, setSearch] = useState('');
73
+ const pinyinReady = usePinyinReady();
71
74
  const [debug, setDebug] = useState(false);
72
75
  const [viewMode, setViewMode] = useState<'timeline' | 'grouped'>('timeline');
73
76
  // M5: the timeline runs oldest→newest top-to-bottom, so land the first
@@ -85,7 +88,7 @@ export default function MessagesPage() {
85
88
  const searchCtl = useCollapsibleSearch({
86
89
  value: search,
87
90
  onChange: setSearch,
88
- placeholder: 'Search from/to/content or use from:alias…',
91
+ placeholder: t('搜 别名(支持拼音)/内容,或 from:别名…', 'Search from/to (pinyin ok)/content, or from:alias…'),
89
92
  label: 'Search messages',
90
93
  enabled: messages.length > 0,
91
94
  });
@@ -107,17 +110,19 @@ export default function MessagesPage() {
107
110
  .filter((m: MessageItem) => {
108
111
  if (filterType && m.type !== filterType) return false;
109
112
  if (fromFilter) {
110
- return (m.from_alias || '').toLowerCase().includes(fromFilter);
113
+ return pinyinMatch(m.from_alias || '', fromFilter);
111
114
  }
112
115
  if (query) {
113
- return (m.from_alias || '').toLowerCase().includes(query)
114
- || (m.to_alias || '').toLowerCase().includes(query)
116
+ // R25: aliases match by pinyin too; content stays substring-only
117
+ // (pinyin over long message bodies is cost without benefit).
118
+ return pinyinMatch(m.from_alias || '', query)
119
+ || pinyinMatch(m.to_alias || '', query)
115
120
  || (m.content || '').toLowerCase().includes(query);
116
121
  }
117
122
  return true;
118
123
  })
119
124
  .sort((a: MessageItem, b: MessageItem) => normalizeDate(a.created_at) - normalizeDate(b.created_at));
120
- }, [filterType, messages, search]);
125
+ }, [filterType, messages, search, pinyinReady]);
121
126
 
122
127
  // Group messages by conversation pair
123
128
  const conversations = useMemo(() => {
@@ -10,6 +10,7 @@ import { NodeLifecycleMenu } from '../components/NodeLifecycleMenu';
10
10
  import { EmptyState, NodesEmptyState } from '../components/EmptyState';
11
11
  import { AliasAvatar } from '../components/AliasAvatar';
12
12
  import { useHasDraft } from '../lib/chat-drafts';
13
+ import { pinyinMatch, usePinyinReady } from '../lib/pinyin-match';
13
14
  import { useCollapsibleSearch } from '../components/CollapsibleSearch';
14
15
  import type { Session } from '../components/types';
15
16
  import { SESSION_STATUS_CHIP_CLASS as STATUS_COLORS } from '../lib/status';
@@ -54,6 +55,8 @@ export default function NodesPage() {
54
55
  (s.network_id ? sseMap[`${s.network_id}:${s.alias}`] : undefined) ?? sseMap[s.alias];
55
56
  const [filterStatus, setFilterStatus] = useState('');
56
57
  const [search, setSearch] = useState('');
58
+ const pinyinReady = usePinyinReady();
59
+ void pinyinReady; // R25: re-filter once the lazy pinyin dict lands
57
60
  const [viewMode, setViewMode] = useState<ViewMode>('list');
58
61
  const [chatAlias, setChatAlias] = useState<string | null>(null);
59
62
  const [showCreate, setShowCreate] = useState(false);
@@ -64,7 +67,7 @@ export default function NodesPage() {
64
67
  const searchCtl = useCollapsibleSearch({
65
68
  value: search,
66
69
  onChange: setSearch,
67
- placeholder: 'Search nodes…',
70
+ placeholder: t('搜索节点(支持拼音/首字母)…', 'Search nodes (pinyin ok)…'),
68
71
  label: 'Search nodes',
69
72
  enabled: sessions.length > 0,
70
73
  });
@@ -77,7 +80,7 @@ export default function NodesPage() {
77
80
  if (filterStatus && filterStatus !== s.status) return false;
78
81
  return true;
79
82
  })
80
- .filter(s => !search || s.alias.toLowerCase().includes(search.toLowerCase()) || (s.agent || '').toLowerCase().includes(search.toLowerCase()))
83
+ .filter(s => !search || pinyinMatch(s.alias, search) || pinyinMatch(s.agent || '', search))
81
84
  .sort((a, b) => (b.online ? 1 : 0) - (a.online ? 1 : 0) || (b.status === 'working' ? 1 : 0) - (a.status === 'working' ? 1 : 0));
82
85
 
83
86
  const onlineCount = sessions.filter(s => sseFor(s)).length;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sleep2agi/agent-network-dashboard",
3
- "version": "0.6.3-preview.22",
3
+ "version": "0.6.3-preview.23",
4
4
  "description": "Agent Network Dashboard — Web UI for managing AI Agent networks",
5
5
  "main": "apps/desktop/electron/main.cjs",
6
6
  "scripts": {