@sleep2agi/agent-network-dashboard 0.5.3-preview.250 → 0.5.3-preview.252

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 (144) 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/{0nqpzd1cr4r.o.js → 0f6r4cjf~k7~j.js} +1 -1
  132. package/.next/static/chunks/{0vwtd01emh18f.js → 0g84jw2-4ete9.js} +1 -1
  133. package/.next/static/chunks/{08ji.uwuoarfk.js → 0jpw62w_o0evv.js} +1 -1
  134. package/.next/static/chunks/{0_xgl9bojufz_.js → 0x-5lk.0kyort.js} +1 -1
  135. package/.next/trace +2 -2
  136. package/.next/trace-build +1 -1
  137. package/app/components/TopoGraph.tsx +47 -1
  138. package/package.json +1 -1
  139. package/scripts/topo-r717-scan-beam-pair-pattern-test.mjs +100 -0
  140. package/scripts/topo-respiratory-axis-count-stats-test.mjs +24 -1
  141. package/scripts/topo-respiratory-patterns-catalog-test.mjs +20 -14
  142. /package/.next/static/{6qR4_SAKJUTsF7Nxr9Rvr → cJtkfCMBFbZcSau6IWC8T}/_buildManifest.js +0 -0
  143. /package/.next/static/{6qR4_SAKJUTsF7Nxr9Rvr → cJtkfCMBFbZcSau6IWC8T}/_clientMiddlewareManifest.js +0 -0
  144. /package/.next/static/{6qR4_SAKJUTsF7Nxr9Rvr → cJtkfCMBFbZcSau6IWC8T}/_ssgManifest.js +0 -0
@@ -1 +1 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,59276,e=>{"use strict";var s=e.i(12629),a=e.i(11449);let t=async e=>{let s=await fetch(e);if(401===s.status)throw window.location.assign("/login"),Error("unauthorized");return s.json()},r={refreshInterval:5e3,dedupingInterval:3e3};function n(e,s){if(!s)return e;let a=e.includes("?")?"&":"?";return`${e}${a}network_id=${encodeURIComponent(s)}`}e.s(["useAnetConfig",0,function(){let{data:e}=(0,s.default)("/api/anet/config",t,{refreshInterval:3e4});return{config:e||null}},"useHealth",0,function(){let{data:e,error:a}=(0,s.default)("/api/hub/health",t,r);return{health:e||null,error:a}},"useLicense",0,function(){let{data:e,error:a}=(0,s.default)("/api/hub/license",t,{refreshInterval:6e4});return{license:e?.ok?e:null,error:a}},"useMessages",0,function(e=100){let{networkId:l}=(0,a.useNetworkId)(),{data:i,error:c,isLoading:d}=(0,s.default)(n(`/api/hub/messages?limit=${e}`,l),t,r);return{messages:i?.messages||[],error:c,isLoading:d}},"useSessions",0,function(){let{networkId:e}=(0,a.useNetworkId)(),{data:l,error:i,isLoading:c}=(0,s.default)(n("/api/hub/status",e),t,r);return{sessions:l?.sessions||[],hint:l?._hint,error:i,isLoading:c}},"useStats",0,function(){let{networkId:e}=(0,a.useNetworkId)(),{data:l,error:i}=(0,s.default)(n("/api/hub/stats",e),t,r);return{stats:l?.ok?l:null,error:i}},"useTasks",0,function(e){let{networkId:l}=(0,a.useNetworkId)(),i=new URLSearchParams({limit:"100",...e}).toString(),{data:c,error:d,isLoading:o}=(0,s.default)(n(`/api/hub/tasks?${i}`,l),t,r);return{tasks:c?.tasks||[],count:c?.count??0,source:c?.source,error:d,isLoading:o}}])},70286,e=>{"use strict";e.s(["DASHBOARD_VERSION",0,"0.5.3-preview.249"],70286)},65610,e=>{"use strict";var s=e.i(22381),a=e.i(23910),t=e.i(56839),r=e.i(59276),n=e.i(70286);e.s(["default",0,function(){let{config:e}=(0,r.useAnetConfig)(),{health:l}=(0,r.useHealth)(),{license:i}=(0,r.useLicense)(),[c,d]=(0,a.useState)(""),[o,x]=(0,a.useState)(""),[m,h]=(0,a.useState)(""),[g,u]=(0,a.useState)(""),[p,N]=(0,a.useState)(""),b="flex flex-col gap-1 sm:flex-row sm:items-start sm:justify-between",j="break-all sm:max-w-[320px] sm:text-right";return(0,s.jsxs)("div",{className:"min-h-screen bg-[#0a0a1a] text-gray-100 p-4 sm:p-6 font-mono",children:[(0,s.jsx)("h1",{className:"text-2xl font-bold text-white mb-3 lg:ml-0 ml-10",children:"Settings"}),(0,s.jsx)("nav",{className:"mb-8 flex flex-wrap gap-1 text-xs",children:[{href:"#connection",label:"Connection"},{href:"#account",label:"Account"},{href:"#resources",label:"Resources"}].map(e=>(0,s.jsx)("a",{href:e.href,className:"rounded-md px-2.5 py-1 text-gray-500 hover:text-cyan-300 hover:bg-cyan-500/10 transition-colors",children:e.label},e.href))}),(0,s.jsxs)("div",{className:"max-w-2xl space-y-10",children:[(0,s.jsxs)("div",{id:"connection",className:"space-y-4 scroll-mt-6",children:[(0,s.jsxs)("div",{className:"flex items-center gap-2 px-1",children:[(0,s.jsx)("div",{className:"text-[11px] uppercase tracking-[0.14em] text-gray-400 font-semibold",children:"Connection"}),(0,s.jsx)("div",{className:"flex-1 h-px bg-[#2a2a4a]"})]}),(0,s.jsxs)("section",{className:"bg-[#111128] border border-[#2a2a4a] rounded-xl p-5",children:[(0,s.jsx)("h2",{className:"text-sm font-semibold text-gray-300 mb-4",children:"CommHub Connection"}),(0,s.jsxs)("div",{className:"space-y-3 text-sm",children:[(0,s.jsxs)("div",{className:b,children:[(0,s.jsx)("span",{className:"text-gray-500 shrink-0",children:"Hub URL"}),(0,s.jsx)("span",{className:`text-cyan-300 ${j}`,children:e?.hub||"not configured"})]}),(0,s.jsxs)("div",{className:b,children:[(0,s.jsx)("span",{className:"text-gray-500",children:"Config Source"}),(0,s.jsx)("span",{className:`text-gray-300 ${j}`,children:e?.source==="file"?"Local file (~/.anet/config.json)":e?.source==="runtime-env"?"Vercel env vars":"Missing"})]}),(0,s.jsxs)("div",{className:b,children:[(0,s.jsx)("span",{className:"text-gray-500",children:"Auth Token"}),(0,s.jsx)("span",{className:`${e?.tokenConfigured?"text-green-400":"text-red-400"} ${j}`,children:e?.tokenConfigured?`Configured (${e.tokenPreview})`:"Not configured"})]}),(0,s.jsxs)("div",{className:b,children:[(0,s.jsx)("span",{className:"text-gray-500",children:"Server Auth"}),(0,s.jsx)("span",{className:`${l?.auth==="enabled"?"text-green-400":"text-yellow-400"} sm:text-right`,children:l?.auth||"--"})]}),e?.error&&(0,s.jsx)("div",{className:"border-t border-[#2a2a4a] pt-3 text-xs text-gray-600",children:e.error})]})]}),(0,s.jsxs)("section",{className:"bg-[#111128] border border-[#2a2a4a] rounded-xl p-5",children:[(0,s.jsx)("h2",{className:"text-sm font-semibold text-gray-300 mb-4",children:"Server Info"}),(0,s.jsxs)("div",{className:"space-y-3 text-sm",children:[(0,s.jsxs)("div",{className:b,children:[(0,s.jsx)("span",{className:"text-gray-500",children:"Version"}),(0,s.jsx)("span",{className:`text-gray-300 ${j}`,children:l?.version||"--"})]}),(0,s.jsxs)("div",{className:b,children:[(0,s.jsx)("span",{className:"text-gray-500",children:"Sessions"}),(0,s.jsx)("span",{className:`text-gray-300 ${j}`,children:l?.sessions??"--"})]}),(0,s.jsxs)("div",{className:b,children:[(0,s.jsxs)("span",{className:"text-gray-500",children:["SSE streams ",(0,s.jsx)("span",{className:"text-gray-600",children:"· server"})]}),(0,s.jsx)("span",{className:`text-gray-300 ${j}`,children:l?.sse_connections??"--"})]}),(0,s.jsxs)("div",{className:b,children:[(0,s.jsx)("span",{className:"text-gray-500",children:"Uptime"}),(0,s.jsx)("span",{className:`text-gray-300 ${j}`,children:l?.uptime?`${Math.floor(l.uptime/3600)}h ${Math.floor(l.uptime%3600/60)}m`:"--"})]})]})]}),(0,s.jsxs)("section",{className:"bg-[#111128] border border-[#2a2a4a] rounded-xl p-5",children:[(0,s.jsx)("h2",{className:"text-sm font-semibold text-gray-300 mb-4",children:"Dashboard"}),(0,s.jsxs)("div",{className:"space-y-3 text-sm",children:[(0,s.jsxs)("div",{className:b,children:[(0,s.jsx)("span",{className:"text-gray-500",children:"Version"}),(0,s.jsx)("span",{className:`text-gray-300 font-mono ${j}`,title:"From package.json @sleep2agi/agent-network-dashboard",children:n.DASHBOARD_VERSION})]}),(0,s.jsxs)("div",{className:b,children:[(0,s.jsx)("span",{className:"text-gray-500",children:"Data Layer"}),(0,s.jsx)("span",{className:`text-gray-300 ${j}`,children:"SWR (5s refresh, 3s dedup)"})]}),(0,s.jsxs)("div",{className:b,children:[(0,s.jsx)("span",{className:"text-gray-500",children:"Pages"}),(0,s.jsx)("span",{className:`text-gray-300 ${j}`,children:"Overview, Tasks, Nodes, Messages, Networks, Audit, Server Logs, Admin, Settings"})]})]})]})]}),(0,s.jsxs)("div",{id:"account",className:"space-y-4 scroll-mt-6",children:[(0,s.jsxs)("div",{className:"flex items-center gap-2 px-1",children:[(0,s.jsx)("div",{className:"text-[11px] uppercase tracking-[0.14em] text-gray-400 font-semibold",children:"Account"}),(0,s.jsx)("div",{className:"flex-1 h-px bg-[#2a2a4a]"})]}),(0,s.jsxs)("section",{className:"bg-[#111128] border border-[#2a2a4a] rounded-xl p-5",children:[(0,s.jsxs)("h2",{className:"text-sm font-semibold text-gray-300 mb-4 flex items-center gap-2",children:["License",i?.license&&(0,s.jsxs)("span",{className:`inline-flex items-center gap-1.5 text-[10px] font-medium px-2 py-0.5 rounded-full border ${"pro"===i.license.type?"text-green-300 bg-green-500/10 border-green-500/30":i.license.days_left<=7?"text-red-300 bg-red-500/10 border-red-500/30":"text-amber-300 bg-amber-500/10 border-amber-500/30"}`,children:[(0,s.jsx)("span",{"aria-hidden":!0,className:"w-1.5 h-1.5 rounded-full bg-current"}),i.license.type,i.license.days_left?` \xb7 ${i.license.days_left}d left`:""]})]}),i?.license?(0,s.jsxs)("div",{className:"space-y-3 text-sm",children:[i.license.days_left<=7&&(0,s.jsxs)("div",{className:b,children:[(0,s.jsx)("span",{className:"text-red-400 font-medium",children:"⚠ Expiring soon"}),(0,s.jsxs)("span",{className:"text-red-400",children:[i.license.days_left," days left"]})]}),(0,s.jsxs)("div",{className:b,children:[(0,s.jsx)("span",{className:"text-gray-500",children:"Expires"}),(0,s.jsx)("span",{className:`text-gray-300 ${j}`,children:i.license.expires_at})]}),i.limits&&(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)("div",{className:b,children:[(0,s.jsx)("span",{className:"text-gray-500",children:"Max Agents"}),(0,s.jsx)("span",{className:`text-gray-300 ${j}`,children:i.limits.max_agents})]}),(0,s.jsxs)("div",{className:b,children:[(0,s.jsx)("span",{className:"text-gray-500",children:"Max Networks"}),(0,s.jsx)("span",{className:`text-gray-300 ${j}`,children:i.limits.max_networks})]}),(0,s.jsxs)("div",{className:b,children:[(0,s.jsx)("span",{className:"text-gray-500",children:"Tasks/Day"}),(0,s.jsx)("span",{className:`text-gray-300 ${j}`,children:i.limits.max_tasks_day})]})]}),(0,s.jsxs)("div",{className:"pt-3 border-t border-[#2a2a4a]",children:[(0,s.jsxs)("div",{className:"flex gap-2",children:[(0,s.jsx)("input",{type:"text",value:c,onChange:e=>d(e.target.value),placeholder:"anet-XXXX-XXXX-XXXX-XXXX",className:"flex-1 bg-[#0a0a15] border border-[#2a2a4a] rounded px-3 py-2 text-xs text-white placeholder-gray-600 focus:outline-none"}),(0,s.jsx)("button",{onClick:async()=>{if(!c.trim())return;let e=await fetch("/api/hub/license",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({key:c})}),s=await e.json();x(s.ok?`Activated: ${s.type}`:`Failed: ${s.error}`),s.ok&&d(""),setTimeout(()=>x(""),5e3)},className:"px-3 py-2 bg-cyan-600 hover:bg-cyan-500 text-white text-xs rounded transition-colors",children:"Activate"})]}),o&&(0,s.jsx)("div",{className:`mt-2 text-xs ${o.startsWith("Failed")?"text-red-400":"text-green-400"}`,children:o})]})]}):(0,s.jsx)("div",{className:"text-xs text-gray-600",children:"License info not available"})]}),(0,s.jsxs)("section",{className:"bg-[#111128] border border-[#2a2a4a] rounded-xl p-5",children:[(0,s.jsx)("h2",{className:"text-sm font-semibold text-gray-300 mb-4",children:"Change Password"}),(0,s.jsxs)("div",{className:"space-y-3",children:[(0,s.jsx)("input",{type:"password",value:m,onChange:e=>h(e.target.value),placeholder:"Current password",className:"w-full bg-[#0a0a15] border border-[#2a2a4a] rounded-lg px-3 py-2 text-sm text-white placeholder-gray-600 focus:border-cyan-500/50 focus:outline-none"}),(0,s.jsx)("input",{type:"password",value:g,onChange:e=>u(e.target.value),placeholder:"New password",className:"w-full bg-[#0a0a15] border border-[#2a2a4a] rounded-lg px-3 py-2 text-sm text-white placeholder-gray-600 focus:border-cyan-500/50 focus:outline-none"}),(0,s.jsx)("button",{onClick:async()=>{if(!m||!g)return;let e=sessionStorage.getItem("anet_v3_auth");if(!e)return void N("Not logged in with V3 auth");let{token:s}=JSON.parse(e),a=await fetch("/api/hub/auth",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"change_password",token:s,current_password:m,new_password:g})}),t=await a.json();if(N(t.ok?"Password changed":`Failed: ${t.error}`),t.ok){if(t.token){let s=JSON.parse(e);sessionStorage.setItem("anet_v3_auth",JSON.stringify({...s,token:t.token}))}h(""),u("")}setTimeout(()=>N(""),5e3)},disabled:!m||!g,className:"px-4 py-2 bg-cyan-600 hover:bg-cyan-500 disabled:bg-gray-800 disabled:text-gray-600 text-white text-sm rounded-lg transition-colors",children:"Change Password"})]}),p&&(0,s.jsx)("div",{className:`mt-2 text-xs ${p.startsWith("Failed")?"text-red-400":"text-green-400"}`,children:p})]}),(0,s.jsxs)("section",{className:"bg-[#111128] border border-[#2a2a4a] rounded-xl p-5",children:[(0,s.jsx)("h2",{className:"text-sm font-semibold text-gray-300 mb-4",children:"Sign out"}),(0,s.jsx)("p",{className:"text-xs text-gray-500 mb-3",children:"Signing out clears your dashboard session cookie. You'll return to the login page."}),(0,s.jsx)("button",{onClick:async()=>{await fetch("/api/auth/logout",{method:"POST"}).catch(()=>{}),window.location.assign("/login")},className:"px-4 py-2 bg-transparent hover:bg-[#1a1a2a] text-gray-300 text-sm rounded-lg border border-[#2a2a4a] hover:border-[#3a3a5a] transition-colors",children:"Sign out"})]})]}),(0,s.jsxs)("div",{id:"resources",className:"space-y-4 scroll-mt-6",children:[(0,s.jsxs)("div",{className:"flex items-center gap-2 px-1",children:[(0,s.jsx)("div",{className:"text-[11px] uppercase tracking-[0.14em] text-gray-400 font-semibold",children:"Resources"}),(0,s.jsx)("div",{className:"flex-1 h-px bg-[#2a2a4a]"})]}),(0,s.jsxs)("div",{className:"grid grid-cols-1 sm:grid-cols-2 gap-4",children:[(0,s.jsxs)(t.default,{href:"/settings/tokens",className:"bg-[#111128] border border-[#2a2a4a] rounded-xl p-5 hover:border-cyan-500/30 transition-colors",children:[(0,s.jsx)("h2",{className:"text-sm font-semibold text-gray-300",children:"API Tokens"}),(0,s.jsx)("p",{className:"text-xs text-gray-500 mt-2",children:"Create and manage tokens for CLI access."}),(0,s.jsx)("span",{className:"text-xs text-cyan-400 mt-3 inline-block",children:"Manage →"})]}),(0,s.jsxs)(t.default,{href:"/settings/networks",className:"bg-[#111128] border border-[#2a2a4a] rounded-xl p-5 hover:border-cyan-500/30 transition-colors",children:[(0,s.jsx)("h2",{className:"text-sm font-semibold text-gray-300",children:"Networks"}),(0,s.jsx)("p",{className:"text-xs text-gray-500 mt-2",children:"Create, manage, and delete agent networks."}),(0,s.jsx)("span",{className:"text-xs text-cyan-400 mt-3 inline-block",children:"Manage →"})]})]})]})]})]})}])}]);
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,59276,e=>{"use strict";var s=e.i(12629),a=e.i(11449);let t=async e=>{let s=await fetch(e);if(401===s.status)throw window.location.assign("/login"),Error("unauthorized");return s.json()},r={refreshInterval:5e3,dedupingInterval:3e3};function n(e,s){if(!s)return e;let a=e.includes("?")?"&":"?";return`${e}${a}network_id=${encodeURIComponent(s)}`}e.s(["useAnetConfig",0,function(){let{data:e}=(0,s.default)("/api/anet/config",t,{refreshInterval:3e4});return{config:e||null}},"useHealth",0,function(){let{data:e,error:a}=(0,s.default)("/api/hub/health",t,r);return{health:e||null,error:a}},"useLicense",0,function(){let{data:e,error:a}=(0,s.default)("/api/hub/license",t,{refreshInterval:6e4});return{license:e?.ok?e:null,error:a}},"useMessages",0,function(e=100){let{networkId:l}=(0,a.useNetworkId)(),{data:i,error:c,isLoading:d}=(0,s.default)(n(`/api/hub/messages?limit=${e}`,l),t,r);return{messages:i?.messages||[],error:c,isLoading:d}},"useSessions",0,function(){let{networkId:e}=(0,a.useNetworkId)(),{data:l,error:i,isLoading:c}=(0,s.default)(n("/api/hub/status",e),t,r);return{sessions:l?.sessions||[],hint:l?._hint,error:i,isLoading:c}},"useStats",0,function(){let{networkId:e}=(0,a.useNetworkId)(),{data:l,error:i}=(0,s.default)(n("/api/hub/stats",e),t,r);return{stats:l?.ok?l:null,error:i}},"useTasks",0,function(e){let{networkId:l}=(0,a.useNetworkId)(),i=new URLSearchParams({limit:"100",...e}).toString(),{data:c,error:d,isLoading:o}=(0,s.default)(n(`/api/hub/tasks?${i}`,l),t,r);return{tasks:c?.tasks||[],count:c?.count??0,source:c?.source,error:d,isLoading:o}}])},70286,e=>{"use strict";e.s(["DASHBOARD_VERSION",0,"0.5.3-preview.251"],70286)},65610,e=>{"use strict";var s=e.i(22381),a=e.i(23910),t=e.i(56839),r=e.i(59276),n=e.i(70286);e.s(["default",0,function(){let{config:e}=(0,r.useAnetConfig)(),{health:l}=(0,r.useHealth)(),{license:i}=(0,r.useLicense)(),[c,d]=(0,a.useState)(""),[o,x]=(0,a.useState)(""),[m,h]=(0,a.useState)(""),[g,u]=(0,a.useState)(""),[p,N]=(0,a.useState)(""),b="flex flex-col gap-1 sm:flex-row sm:items-start sm:justify-between",j="break-all sm:max-w-[320px] sm:text-right";return(0,s.jsxs)("div",{className:"min-h-screen bg-[#0a0a1a] text-gray-100 p-4 sm:p-6 font-mono",children:[(0,s.jsx)("h1",{className:"text-2xl font-bold text-white mb-3 lg:ml-0 ml-10",children:"Settings"}),(0,s.jsx)("nav",{className:"mb-8 flex flex-wrap gap-1 text-xs",children:[{href:"#connection",label:"Connection"},{href:"#account",label:"Account"},{href:"#resources",label:"Resources"}].map(e=>(0,s.jsx)("a",{href:e.href,className:"rounded-md px-2.5 py-1 text-gray-500 hover:text-cyan-300 hover:bg-cyan-500/10 transition-colors",children:e.label},e.href))}),(0,s.jsxs)("div",{className:"max-w-2xl space-y-10",children:[(0,s.jsxs)("div",{id:"connection",className:"space-y-4 scroll-mt-6",children:[(0,s.jsxs)("div",{className:"flex items-center gap-2 px-1",children:[(0,s.jsx)("div",{className:"text-[11px] uppercase tracking-[0.14em] text-gray-400 font-semibold",children:"Connection"}),(0,s.jsx)("div",{className:"flex-1 h-px bg-[#2a2a4a]"})]}),(0,s.jsxs)("section",{className:"bg-[#111128] border border-[#2a2a4a] rounded-xl p-5",children:[(0,s.jsx)("h2",{className:"text-sm font-semibold text-gray-300 mb-4",children:"CommHub Connection"}),(0,s.jsxs)("div",{className:"space-y-3 text-sm",children:[(0,s.jsxs)("div",{className:b,children:[(0,s.jsx)("span",{className:"text-gray-500 shrink-0",children:"Hub URL"}),(0,s.jsx)("span",{className:`text-cyan-300 ${j}`,children:e?.hub||"not configured"})]}),(0,s.jsxs)("div",{className:b,children:[(0,s.jsx)("span",{className:"text-gray-500",children:"Config Source"}),(0,s.jsx)("span",{className:`text-gray-300 ${j}`,children:e?.source==="file"?"Local file (~/.anet/config.json)":e?.source==="runtime-env"?"Vercel env vars":"Missing"})]}),(0,s.jsxs)("div",{className:b,children:[(0,s.jsx)("span",{className:"text-gray-500",children:"Auth Token"}),(0,s.jsx)("span",{className:`${e?.tokenConfigured?"text-green-400":"text-red-400"} ${j}`,children:e?.tokenConfigured?`Configured (${e.tokenPreview})`:"Not configured"})]}),(0,s.jsxs)("div",{className:b,children:[(0,s.jsx)("span",{className:"text-gray-500",children:"Server Auth"}),(0,s.jsx)("span",{className:`${l?.auth==="enabled"?"text-green-400":"text-yellow-400"} sm:text-right`,children:l?.auth||"--"})]}),e?.error&&(0,s.jsx)("div",{className:"border-t border-[#2a2a4a] pt-3 text-xs text-gray-600",children:e.error})]})]}),(0,s.jsxs)("section",{className:"bg-[#111128] border border-[#2a2a4a] rounded-xl p-5",children:[(0,s.jsx)("h2",{className:"text-sm font-semibold text-gray-300 mb-4",children:"Server Info"}),(0,s.jsxs)("div",{className:"space-y-3 text-sm",children:[(0,s.jsxs)("div",{className:b,children:[(0,s.jsx)("span",{className:"text-gray-500",children:"Version"}),(0,s.jsx)("span",{className:`text-gray-300 ${j}`,children:l?.version||"--"})]}),(0,s.jsxs)("div",{className:b,children:[(0,s.jsx)("span",{className:"text-gray-500",children:"Sessions"}),(0,s.jsx)("span",{className:`text-gray-300 ${j}`,children:l?.sessions??"--"})]}),(0,s.jsxs)("div",{className:b,children:[(0,s.jsxs)("span",{className:"text-gray-500",children:["SSE streams ",(0,s.jsx)("span",{className:"text-gray-600",children:"· server"})]}),(0,s.jsx)("span",{className:`text-gray-300 ${j}`,children:l?.sse_connections??"--"})]}),(0,s.jsxs)("div",{className:b,children:[(0,s.jsx)("span",{className:"text-gray-500",children:"Uptime"}),(0,s.jsx)("span",{className:`text-gray-300 ${j}`,children:l?.uptime?`${Math.floor(l.uptime/3600)}h ${Math.floor(l.uptime%3600/60)}m`:"--"})]})]})]}),(0,s.jsxs)("section",{className:"bg-[#111128] border border-[#2a2a4a] rounded-xl p-5",children:[(0,s.jsx)("h2",{className:"text-sm font-semibold text-gray-300 mb-4",children:"Dashboard"}),(0,s.jsxs)("div",{className:"space-y-3 text-sm",children:[(0,s.jsxs)("div",{className:b,children:[(0,s.jsx)("span",{className:"text-gray-500",children:"Version"}),(0,s.jsx)("span",{className:`text-gray-300 font-mono ${j}`,title:"From package.json @sleep2agi/agent-network-dashboard",children:n.DASHBOARD_VERSION})]}),(0,s.jsxs)("div",{className:b,children:[(0,s.jsx)("span",{className:"text-gray-500",children:"Data Layer"}),(0,s.jsx)("span",{className:`text-gray-300 ${j}`,children:"SWR (5s refresh, 3s dedup)"})]}),(0,s.jsxs)("div",{className:b,children:[(0,s.jsx)("span",{className:"text-gray-500",children:"Pages"}),(0,s.jsx)("span",{className:`text-gray-300 ${j}`,children:"Overview, Tasks, Nodes, Messages, Networks, Audit, Server Logs, Admin, Settings"})]})]})]})]}),(0,s.jsxs)("div",{id:"account",className:"space-y-4 scroll-mt-6",children:[(0,s.jsxs)("div",{className:"flex items-center gap-2 px-1",children:[(0,s.jsx)("div",{className:"text-[11px] uppercase tracking-[0.14em] text-gray-400 font-semibold",children:"Account"}),(0,s.jsx)("div",{className:"flex-1 h-px bg-[#2a2a4a]"})]}),(0,s.jsxs)("section",{className:"bg-[#111128] border border-[#2a2a4a] rounded-xl p-5",children:[(0,s.jsxs)("h2",{className:"text-sm font-semibold text-gray-300 mb-4 flex items-center gap-2",children:["License",i?.license&&(0,s.jsxs)("span",{className:`inline-flex items-center gap-1.5 text-[10px] font-medium px-2 py-0.5 rounded-full border ${"pro"===i.license.type?"text-green-300 bg-green-500/10 border-green-500/30":i.license.days_left<=7?"text-red-300 bg-red-500/10 border-red-500/30":"text-amber-300 bg-amber-500/10 border-amber-500/30"}`,children:[(0,s.jsx)("span",{"aria-hidden":!0,className:"w-1.5 h-1.5 rounded-full bg-current"}),i.license.type,i.license.days_left?` \xb7 ${i.license.days_left}d left`:""]})]}),i?.license?(0,s.jsxs)("div",{className:"space-y-3 text-sm",children:[i.license.days_left<=7&&(0,s.jsxs)("div",{className:b,children:[(0,s.jsx)("span",{className:"text-red-400 font-medium",children:"⚠ Expiring soon"}),(0,s.jsxs)("span",{className:"text-red-400",children:[i.license.days_left," days left"]})]}),(0,s.jsxs)("div",{className:b,children:[(0,s.jsx)("span",{className:"text-gray-500",children:"Expires"}),(0,s.jsx)("span",{className:`text-gray-300 ${j}`,children:i.license.expires_at})]}),i.limits&&(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)("div",{className:b,children:[(0,s.jsx)("span",{className:"text-gray-500",children:"Max Agents"}),(0,s.jsx)("span",{className:`text-gray-300 ${j}`,children:i.limits.max_agents})]}),(0,s.jsxs)("div",{className:b,children:[(0,s.jsx)("span",{className:"text-gray-500",children:"Max Networks"}),(0,s.jsx)("span",{className:`text-gray-300 ${j}`,children:i.limits.max_networks})]}),(0,s.jsxs)("div",{className:b,children:[(0,s.jsx)("span",{className:"text-gray-500",children:"Tasks/Day"}),(0,s.jsx)("span",{className:`text-gray-300 ${j}`,children:i.limits.max_tasks_day})]})]}),(0,s.jsxs)("div",{className:"pt-3 border-t border-[#2a2a4a]",children:[(0,s.jsxs)("div",{className:"flex gap-2",children:[(0,s.jsx)("input",{type:"text",value:c,onChange:e=>d(e.target.value),placeholder:"anet-XXXX-XXXX-XXXX-XXXX",className:"flex-1 bg-[#0a0a15] border border-[#2a2a4a] rounded px-3 py-2 text-xs text-white placeholder-gray-600 focus:outline-none"}),(0,s.jsx)("button",{onClick:async()=>{if(!c.trim())return;let e=await fetch("/api/hub/license",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({key:c})}),s=await e.json();x(s.ok?`Activated: ${s.type}`:`Failed: ${s.error}`),s.ok&&d(""),setTimeout(()=>x(""),5e3)},className:"px-3 py-2 bg-cyan-600 hover:bg-cyan-500 text-white text-xs rounded transition-colors",children:"Activate"})]}),o&&(0,s.jsx)("div",{className:`mt-2 text-xs ${o.startsWith("Failed")?"text-red-400":"text-green-400"}`,children:o})]})]}):(0,s.jsx)("div",{className:"text-xs text-gray-600",children:"License info not available"})]}),(0,s.jsxs)("section",{className:"bg-[#111128] border border-[#2a2a4a] rounded-xl p-5",children:[(0,s.jsx)("h2",{className:"text-sm font-semibold text-gray-300 mb-4",children:"Change Password"}),(0,s.jsxs)("div",{className:"space-y-3",children:[(0,s.jsx)("input",{type:"password",value:m,onChange:e=>h(e.target.value),placeholder:"Current password",className:"w-full bg-[#0a0a15] border border-[#2a2a4a] rounded-lg px-3 py-2 text-sm text-white placeholder-gray-600 focus:border-cyan-500/50 focus:outline-none"}),(0,s.jsx)("input",{type:"password",value:g,onChange:e=>u(e.target.value),placeholder:"New password",className:"w-full bg-[#0a0a15] border border-[#2a2a4a] rounded-lg px-3 py-2 text-sm text-white placeholder-gray-600 focus:border-cyan-500/50 focus:outline-none"}),(0,s.jsx)("button",{onClick:async()=>{if(!m||!g)return;let e=sessionStorage.getItem("anet_v3_auth");if(!e)return void N("Not logged in with V3 auth");let{token:s}=JSON.parse(e),a=await fetch("/api/hub/auth",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"change_password",token:s,current_password:m,new_password:g})}),t=await a.json();if(N(t.ok?"Password changed":`Failed: ${t.error}`),t.ok){if(t.token){let s=JSON.parse(e);sessionStorage.setItem("anet_v3_auth",JSON.stringify({...s,token:t.token}))}h(""),u("")}setTimeout(()=>N(""),5e3)},disabled:!m||!g,className:"px-4 py-2 bg-cyan-600 hover:bg-cyan-500 disabled:bg-gray-800 disabled:text-gray-600 text-white text-sm rounded-lg transition-colors",children:"Change Password"})]}),p&&(0,s.jsx)("div",{className:`mt-2 text-xs ${p.startsWith("Failed")?"text-red-400":"text-green-400"}`,children:p})]}),(0,s.jsxs)("section",{className:"bg-[#111128] border border-[#2a2a4a] rounded-xl p-5",children:[(0,s.jsx)("h2",{className:"text-sm font-semibold text-gray-300 mb-4",children:"Sign out"}),(0,s.jsx)("p",{className:"text-xs text-gray-500 mb-3",children:"Signing out clears your dashboard session cookie. You'll return to the login page."}),(0,s.jsx)("button",{onClick:async()=>{await fetch("/api/auth/logout",{method:"POST"}).catch(()=>{}),window.location.assign("/login")},className:"px-4 py-2 bg-transparent hover:bg-[#1a1a2a] text-gray-300 text-sm rounded-lg border border-[#2a2a4a] hover:border-[#3a3a5a] transition-colors",children:"Sign out"})]})]}),(0,s.jsxs)("div",{id:"resources",className:"space-y-4 scroll-mt-6",children:[(0,s.jsxs)("div",{className:"flex items-center gap-2 px-1",children:[(0,s.jsx)("div",{className:"text-[11px] uppercase tracking-[0.14em] text-gray-400 font-semibold",children:"Resources"}),(0,s.jsx)("div",{className:"flex-1 h-px bg-[#2a2a4a]"})]}),(0,s.jsxs)("div",{className:"grid grid-cols-1 sm:grid-cols-2 gap-4",children:[(0,s.jsxs)(t.default,{href:"/settings/tokens",className:"bg-[#111128] border border-[#2a2a4a] rounded-xl p-5 hover:border-cyan-500/30 transition-colors",children:[(0,s.jsx)("h2",{className:"text-sm font-semibold text-gray-300",children:"API Tokens"}),(0,s.jsx)("p",{className:"text-xs text-gray-500 mt-2",children:"Create and manage tokens for CLI access."}),(0,s.jsx)("span",{className:"text-xs text-cyan-400 mt-3 inline-block",children:"Manage →"})]}),(0,s.jsxs)(t.default,{href:"/settings/networks",className:"bg-[#111128] border border-[#2a2a4a] rounded-xl p-5 hover:border-cyan-500/30 transition-colors",children:[(0,s.jsx)("h2",{className:"text-sm font-semibold text-gray-300",children:"Networks"}),(0,s.jsx)("p",{className:"text-xs text-gray-500 mt-2",children:"Create, manage, and delete agent networks."}),(0,s.jsx)("span",{className:"text-xs text-cyan-400 mt-3 inline-block",children:"Manage →"})]})]})]})]})]})}])}]);
@@ -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.249"],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.251"],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 +1 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,98025,e=>{"use strict";e.s(["SESSION_STATUS_CHIP_CLASS",0,{working:"bg-green-500/10 text-green-300 border-green-500/20",idle:"bg-blue-500/10 text-blue-300 border-blue-500/20",blocked:"bg-yellow-500/10 text-yellow-300 border-yellow-500/20",error:"bg-red-500/10 text-red-300 border-red-500/20",offline:"bg-gray-500/10 text-gray-500 border-gray-500/20"},"SESSION_STATUS_TEXT_CLASS",0,{working:"text-green-400",idle:"text-blue-400",blocked:"text-yellow-400",error:"text-red-400",offline:"text-gray-500"},"STATUS_BAR_CLASS",0,{created:"bg-gray-500",delivered:"bg-blue-500",acked:"bg-cyan-500",running:"bg-green-500",replied:"bg-purple-500",closed:"bg-gray-600",failed:"bg-red-500",cancelled:"bg-yellow-500",expired:"bg-orange-500"},"STATUS_CHIP_CLASS",0,{created:"bg-gray-500/10 text-gray-400 border-gray-500/20",delivered:"bg-blue-500/10 text-blue-300 border-blue-500/20",acked:"bg-cyan-500/10 text-cyan-300 border-cyan-500/20",running:"bg-green-500/10 text-green-300 border-green-500/20",replied:"bg-purple-500/10 text-purple-300 border-purple-500/20",closed:"bg-gray-500/10 text-gray-500 border-gray-500/20",failed:"bg-red-500/10 text-red-300 border-red-500/20",cancelled:"bg-yellow-500/10 text-yellow-300 border-yellow-500/20",expired:"bg-orange-500/10 text-orange-300 border-orange-500/20"},"STATUS_DOT_HEX",0,{created:"#9ca3af",delivered:"#60a5fa",acked:"#22d3ee",running:"#4ade80",replied:"#a78bfa",closed:"#6b7280",failed:"#f87171",cancelled:"#facc15",expired:"#fb923c"},"TASK_STATUSES",0,["created","delivered","acked","running","replied","closed","failed","cancelled","expired"]])},3479,59746,e=>{"use strict";function t(e){if(!e)return null;let t=Date.parse(e.includes("T")?e:e.replace(" ","T")+"Z");return Number.isFinite(t)?t:null}function r(e){let r=t(e);if(null===r)return null;let s=Math.floor((Date.now()-r)/1e3);return s<0?"just now":s<60?`${s}s ago`:s<3600?`${Math.floor(s/60)}m ago`:s<86400?`${Math.floor(s/3600)}h ago`:`${Math.floor(s/86400)}d ago`}e.s(["parseHubTime",0,t,"relativeAgo",0,r],59746),e.s(["formatUptime",0,function(e){let t=Math.floor(e/3600),r=Math.floor(e%3600/60);return t>0?`${t}h ${r}m`:`${r}m`},"previewContent",0,function(e){return e&&e.replace(/!\[([^\]]*)\]\([^)]*\)/g,"$1").replace(/\[([^\]]+)\]\([^)]*\)/g,"$1").replace(/`([^`]+)`/g,"$1").replace(/\s+/g," ").trim()||"--"},"timeAgo",0,function(e){return r(e)??"--"}],3479)},46228,e=>{"use strict";var t=e.i(22381);let r=[180,200,220,270,300,330,30,90];function s(e){let t=0;for(let r=0;r<e.length;r++)t=31*t+e.charCodeAt(r)>>>0;let s=r[t%r.length];return{bg:`hsl(${s} 55% 22%)`,ring:`hsl(${s} 60% 45%)`,text:`hsl(${s} 80% 78%)`}}function n(e){return e?(e.trim().match(/[\p{L}\p{N}]/u)?.[0]||e.trim()[0]||"·").toUpperCase():"·"}e.s(["AliasAvatar",0,function({alias:e,size:r=28,className:i=""}){let a=s(e),l=Math.max(9,Math.round(.42*r));return(0,t.jsx)("span",{className:`anet-alias-avatar inline-flex items-center justify-center rounded-full border shrink-0 font-semibold ${i}`,style:{width:r,height:r,fontSize:l,backgroundColor:a.bg,borderColor:a.ring,color:a.text},title:e,"aria-hidden":!0,children:n(e)})},"aliasAvatarColors",0,s,"aliasInitial",0,n])},76161,e=>{"use strict";var t=e.i(22381),r=e.i(23910),s=e.i(56839);let n={nodes:{title:"No agents in this network",sub:"Agent sessions will appear here once they connect to the CommHub."},tasks:{title:"No tasks yet",sub:"Tasks will appear here when agents send them via CommHub."},messages:{title:"No messages",sub:"Messages between agents will appear here."},logs:{title:"No audit logs",sub:"Events will appear here when users register, login, or perform actions."},tokens:{title:"No API tokens",sub:"Create one to authenticate CLI tools and external integrations."},networks:{title:"No networks found",sub:"Create one or sign in with V3 auth to see your networks."},generic:{title:"Nothing here yet",sub:"Data will appear here once available."}};function i({variant:e,size:r}){let s={width:r,height:r},n={fill:"none",stroke:"currentColor",strokeWidth:1.25,strokeLinecap:"round",strokeLinejoin:"round"};switch(e){case"nodes":return(0,t.jsx)("svg",{viewBox:"0 0 64 64",...s,children:(0,t.jsxs)("g",{...n,children:[(0,t.jsx)("circle",{cx:"32",cy:"14",r:"4"}),(0,t.jsx)("circle",{cx:"14",cy:"44",r:"4"}),(0,t.jsx)("circle",{cx:"50",cy:"44",r:"4"}),(0,t.jsx)("line",{x1:"32",y1:"18",x2:"14",y2:"40",strokeDasharray:"3 3",opacity:"0.6"}),(0,t.jsx)("line",{x1:"32",y1:"18",x2:"50",y2:"40",strokeDasharray:"3 3",opacity:"0.6"}),(0,t.jsx)("line",{x1:"18",y1:"44",x2:"46",y2:"44",strokeDasharray:"3 3",opacity:"0.6"})]})});case"tasks":return(0,t.jsx)("svg",{viewBox:"0 0 64 64",...s,children:(0,t.jsxs)("g",{...n,children:[(0,t.jsx)("rect",{x:"14",y:"14",width:"36",height:"6",rx:"1.5"}),(0,t.jsx)("rect",{x:"14",y:"26",width:"36",height:"6",rx:"1.5",opacity:"0.6"}),(0,t.jsx)("rect",{x:"14",y:"38",width:"36",height:"6",rx:"1.5",opacity:"0.35"})]})});case"messages":return(0,t.jsx)("svg",{viewBox:"0 0 64 64",...s,children:(0,t.jsxs)("g",{...n,children:[(0,t.jsx)("path",{d:"M14 18 h36 a3 3 0 0 1 3 3 v18 a3 3 0 0 1 -3 3 h-18 l-8 6 v-6 h-10 a3 3 0 0 1 -3 -3 v-18 a3 3 0 0 1 3 -3 z"}),(0,t.jsx)("line",{x1:"22",y1:"28",x2:"42",y2:"28",opacity:"0.5"}),(0,t.jsx)("line",{x1:"22",y1:"34",x2:"36",y2:"34",opacity:"0.5"})]})});case"logs":return(0,t.jsx)("svg",{viewBox:"0 0 64 64",...s,children:(0,t.jsxs)("g",{...n,children:[(0,t.jsx)("path",{d:"M18 12 h22 l8 8 v32 a2 2 0 0 1 -2 2 h-28 a2 2 0 0 1 -2 -2 v-38 a2 2 0 0 1 2 -2 z"}),(0,t.jsx)("path",{d:"M40 12 v8 h8",opacity:"0.6"}),(0,t.jsx)("line",{x1:"24",y1:"32",x2:"40",y2:"32",opacity:"0.55"}),(0,t.jsx)("line",{x1:"24",y1:"38",x2:"40",y2:"38",opacity:"0.4"}),(0,t.jsx)("line",{x1:"24",y1:"44",x2:"34",y2:"44",opacity:"0.25"})]})});case"tokens":return(0,t.jsx)("svg",{viewBox:"0 0 64 64",...s,children:(0,t.jsxs)("g",{...n,children:[(0,t.jsx)("circle",{cx:"22",cy:"32",r:"8"}),(0,t.jsx)("line",{x1:"30",y1:"32",x2:"54",y2:"32"}),(0,t.jsx)("line",{x1:"44",y1:"32",x2:"44",y2:"38"}),(0,t.jsx)("line",{x1:"50",y1:"32",x2:"50",y2:"40"})]})});case"networks":return(0,t.jsx)("svg",{viewBox:"0 0 64 64",...s,children:(0,t.jsxs)("g",{...n,children:[(0,t.jsx)("circle",{cx:"32",cy:"32",r:"18"}),(0,t.jsx)("ellipse",{cx:"32",cy:"32",rx:"18",ry:"9",opacity:"0.55"}),(0,t.jsx)("line",{x1:"14",y1:"32",x2:"50",y2:"32",opacity:"0.55"}),(0,t.jsx)("line",{x1:"32",y1:"14",x2:"32",y2:"50",opacity:"0.55"})]})});default:return(0,t.jsx)("svg",{viewBox:"0 0 64 64",...s,children:(0,t.jsxs)("g",{...n,children:[(0,t.jsx)("circle",{cx:"32",cy:"32",r:"14",strokeDasharray:"3 3",opacity:"0.6"}),(0,t.jsx)("circle",{cx:"32",cy:"32",r:"3"})]})})}}function a({variant:e="generic",title:r,sub:l,cta:o,compact:c=!1}){let d=n[e],x=r??d.title,h=l??d.sub;return(0,t.jsxs)("div",{className:`text-center ${c?"py-8":"py-16"} px-4`,role:"status",children:[(0,t.jsx)("div",{className:"anet-empty-glyph inline-flex items-center justify-center mb-4 text-gray-500","aria-hidden":!0,children:(0,t.jsx)(i,{variant:e,size:c?40:56})}),(0,t.jsx)("h3",{className:`font-medium text-gray-300 ${c?"text-sm":"text-base"}`,children:x}),h&&(0,t.jsx)("p",{className:`text-gray-500 ${c?"text-xs mt-1.5":"text-sm mt-2"} max-w-md mx-auto leading-relaxed`,children:h}),o&&(0,t.jsx)("div",{className:"mt-4",children:o.href?(0,t.jsxs)(s.default,{href:o.href,className:"inline-flex items-center gap-1.5 text-sm font-medium text-cyan-400 hover:text-cyan-300",children:[o.label,(0,t.jsx)("span",{"aria-hidden":!0,children:"→"})]}):(0,t.jsxs)("button",{onClick:o.onClick,className:"inline-flex items-center gap-1.5 text-sm font-medium text-cyan-400 hover:text-cyan-300",children:[o.label,(0,t.jsx)("span",{"aria-hidden":!0,children:"→"})]})})]})}function l({children:e}){return(0,t.jsx)("div",{className:"max-w-2xl mx-auto rounded-xl border border-[#2a2a4a] bg-[#111128] shadow-lg shadow-black/20",children:e})}function o({cmd:e}){let[s,n]=(0,r.useState)(!1),i=async()=>{try{await navigator.clipboard.writeText(e),n(!0),setTimeout(()=>n(!1),1800)}catch{}};return(0,t.jsxs)("div",{className:"anet-empty-cmd flex items-center gap-2 bg-[#0a0a15] border border-[#2a2a4a] rounded-lg pl-4 pr-1.5 py-1.5 text-xs sm:text-sm",children:[(0,t.jsx)("code",{className:"text-cyan-300 font-mono select-all",children:e}),(0,t.jsx)("button",{type:"button",onClick:i,"aria-label":s?"Copied":"Copy command",className:"shrink-0 rounded-md px-2 py-1.5 text-[11px] text-gray-500 hover:text-gray-200 hover:bg-[#1a1a2a] transition-colors",children:s?(0,t.jsxs)("span",{className:"flex items-center gap-1 text-green-400",children:[(0,t.jsx)("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:(0,t.jsx)("path",{d:"M20 6 9 17l-5-5"})}),"Copied"]}):(0,t.jsxs)("span",{className:"flex items-center gap-1",children:[(0,t.jsxs)("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,t.jsx)("rect",{x:"9",y:"9",width:"13",height:"13",rx:"2",ry:"2"}),(0,t.jsx)("path",{d:"M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"})]}),"Copy"]})})]})}e.s(["EmptyState",0,a,"NodesEmptyState",0,function({hint:e,taskHistoryCount:r=0}){return e?.global_count?(0,t.jsx)(l,{children:(0,t.jsx)(a,{variant:"nodes",title:"No agents in this network",sub:`Server has ${e.global_count} nodes globally, but none are registered to the current network. Switch network or contact admin.`})}):r>0?(0,t.jsx)(l,{children:(0,t.jsx)(a,{variant:"nodes",title:"No agents online",sub:`Every agent in this network is currently offline. ${r.toLocaleString()} task${1===r?"":"s"} in history — they may have finished their work or disconnected.`,cta:{label:"View task history",href:"/tasks"}})}):(0,t.jsx)(l,{children:(0,t.jsxs)("div",{className:"text-center py-16 px-4",role:"status",children:[(0,t.jsx)("div",{className:"anet-empty-glyph inline-flex items-center justify-center mb-4 text-gray-500","aria-hidden":!0,children:(0,t.jsx)("svg",{viewBox:"0 0 64 64",width:56,height:56,children:(0,t.jsxs)("g",{stroke:"currentColor",strokeWidth:"1.5",fill:"none",children:[(0,t.jsx)("rect",{x:"10",y:"20",width:"44",height:"28",rx:"2"}),(0,t.jsx)("rect",{x:"20",y:"32",width:"6",height:"8",opacity:"0.5"}),(0,t.jsx)("rect",{x:"32",y:"32",width:"6",height:"8",opacity:"0.5"}),(0,t.jsx)("rect",{x:"44",y:"32",width:"4",height:"8",opacity:"0.5"}),(0,t.jsx)("line",{x1:"10",y1:"26",x2:"54",y2:"26",opacity:"0.4"}),(0,t.jsx)("circle",{cx:"14",cy:"23",r:"0.8",fill:"currentColor"})]})})}),(0,t.jsx)("h3",{className:"font-medium text-gray-300 text-base",children:"Spin up your first agent"}),(0,t.jsx)("p",{className:"text-gray-500 text-sm mt-2 max-w-md mx-auto leading-relaxed",children:"Run this in a fresh terminal to register an agent with this CommHub:"}),(0,t.jsx)("div",{className:"mt-4 inline-block",children:(0,t.jsx)(o,{cmd:"npx --yes @sleep2agi/agent-network init"})}),(0,t.jsx)("div",{className:"mt-3",children:(0,t.jsxs)("a",{href:"https://anet.sh",target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center gap-1.5 text-xs font-medium text-gray-500 hover:text-cyan-300",children:["Full quickstart guide",(0,t.jsx)("span",{"aria-hidden":!0,children:"→"})]})})]})})}])},59276,e=>{"use strict";var t=e.i(12629),r=e.i(11449);let s=async e=>{let t=await fetch(e);if(401===t.status)throw window.location.assign("/login"),Error("unauthorized");return t.json()},n={refreshInterval:5e3,dedupingInterval:3e3};function i(e,t){if(!t)return e;let r=e.includes("?")?"&":"?";return`${e}${r}network_id=${encodeURIComponent(t)}`}e.s(["useAnetConfig",0,function(){let{data:e}=(0,t.default)("/api/anet/config",s,{refreshInterval:3e4});return{config:e||null}},"useHealth",0,function(){let{data:e,error:r}=(0,t.default)("/api/hub/health",s,n);return{health:e||null,error:r}},"useLicense",0,function(){let{data:e,error:r}=(0,t.default)("/api/hub/license",s,{refreshInterval:6e4});return{license:e?.ok?e:null,error:r}},"useMessages",0,function(e=100){let{networkId:a}=(0,r.useNetworkId)(),{data:l,error:o,isLoading:c}=(0,t.default)(i(`/api/hub/messages?limit=${e}`,a),s,n);return{messages:l?.messages||[],error:o,isLoading:c}},"useSessions",0,function(){let{networkId:e}=(0,r.useNetworkId)(),{data:a,error:l,isLoading:o}=(0,t.default)(i("/api/hub/status",e),s,n);return{sessions:a?.sessions||[],hint:a?._hint,error:l,isLoading:o}},"useStats",0,function(){let{networkId:e}=(0,r.useNetworkId)(),{data:a,error:l}=(0,t.default)(i("/api/hub/stats",e),s,n);return{stats:a?.ok?a:null,error:l}},"useTasks",0,function(e){let{networkId:a}=(0,r.useNetworkId)(),l=new URLSearchParams({limit:"100",...e}).toString(),{data:o,error:c,isLoading:d}=(0,t.default)(i(`/api/hub/tasks?${l}`,a),s,n);return{tasks:o?.tasks||[],count:o?.count??0,source:o?.source,error:c,isLoading:d}}])},70286,e=>{"use strict";e.s(["DASHBOARD_VERSION",0,"0.5.3-preview.249"],70286)}]);
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,98025,e=>{"use strict";e.s(["SESSION_STATUS_CHIP_CLASS",0,{working:"bg-green-500/10 text-green-300 border-green-500/20",idle:"bg-blue-500/10 text-blue-300 border-blue-500/20",blocked:"bg-yellow-500/10 text-yellow-300 border-yellow-500/20",error:"bg-red-500/10 text-red-300 border-red-500/20",offline:"bg-gray-500/10 text-gray-500 border-gray-500/20"},"SESSION_STATUS_TEXT_CLASS",0,{working:"text-green-400",idle:"text-blue-400",blocked:"text-yellow-400",error:"text-red-400",offline:"text-gray-500"},"STATUS_BAR_CLASS",0,{created:"bg-gray-500",delivered:"bg-blue-500",acked:"bg-cyan-500",running:"bg-green-500",replied:"bg-purple-500",closed:"bg-gray-600",failed:"bg-red-500",cancelled:"bg-yellow-500",expired:"bg-orange-500"},"STATUS_CHIP_CLASS",0,{created:"bg-gray-500/10 text-gray-400 border-gray-500/20",delivered:"bg-blue-500/10 text-blue-300 border-blue-500/20",acked:"bg-cyan-500/10 text-cyan-300 border-cyan-500/20",running:"bg-green-500/10 text-green-300 border-green-500/20",replied:"bg-purple-500/10 text-purple-300 border-purple-500/20",closed:"bg-gray-500/10 text-gray-500 border-gray-500/20",failed:"bg-red-500/10 text-red-300 border-red-500/20",cancelled:"bg-yellow-500/10 text-yellow-300 border-yellow-500/20",expired:"bg-orange-500/10 text-orange-300 border-orange-500/20"},"STATUS_DOT_HEX",0,{created:"#9ca3af",delivered:"#60a5fa",acked:"#22d3ee",running:"#4ade80",replied:"#a78bfa",closed:"#6b7280",failed:"#f87171",cancelled:"#facc15",expired:"#fb923c"},"TASK_STATUSES",0,["created","delivered","acked","running","replied","closed","failed","cancelled","expired"]])},3479,59746,e=>{"use strict";function t(e){if(!e)return null;let t=Date.parse(e.includes("T")?e:e.replace(" ","T")+"Z");return Number.isFinite(t)?t:null}function r(e){let r=t(e);if(null===r)return null;let s=Math.floor((Date.now()-r)/1e3);return s<0?"just now":s<60?`${s}s ago`:s<3600?`${Math.floor(s/60)}m ago`:s<86400?`${Math.floor(s/3600)}h ago`:`${Math.floor(s/86400)}d ago`}e.s(["parseHubTime",0,t,"relativeAgo",0,r],59746),e.s(["formatUptime",0,function(e){let t=Math.floor(e/3600),r=Math.floor(e%3600/60);return t>0?`${t}h ${r}m`:`${r}m`},"previewContent",0,function(e){return e&&e.replace(/!\[([^\]]*)\]\([^)]*\)/g,"$1").replace(/\[([^\]]+)\]\([^)]*\)/g,"$1").replace(/`([^`]+)`/g,"$1").replace(/\s+/g," ").trim()||"--"},"timeAgo",0,function(e){return r(e)??"--"}],3479)},46228,e=>{"use strict";var t=e.i(22381);let r=[180,200,220,270,300,330,30,90];function s(e){let t=0;for(let r=0;r<e.length;r++)t=31*t+e.charCodeAt(r)>>>0;let s=r[t%r.length];return{bg:`hsl(${s} 55% 22%)`,ring:`hsl(${s} 60% 45%)`,text:`hsl(${s} 80% 78%)`}}function n(e){return e?(e.trim().match(/[\p{L}\p{N}]/u)?.[0]||e.trim()[0]||"·").toUpperCase():"·"}e.s(["AliasAvatar",0,function({alias:e,size:r=28,className:i=""}){let a=s(e),l=Math.max(9,Math.round(.42*r));return(0,t.jsx)("span",{className:`anet-alias-avatar inline-flex items-center justify-center rounded-full border shrink-0 font-semibold ${i}`,style:{width:r,height:r,fontSize:l,backgroundColor:a.bg,borderColor:a.ring,color:a.text},title:e,"aria-hidden":!0,children:n(e)})},"aliasAvatarColors",0,s,"aliasInitial",0,n])},76161,e=>{"use strict";var t=e.i(22381),r=e.i(23910),s=e.i(56839);let n={nodes:{title:"No agents in this network",sub:"Agent sessions will appear here once they connect to the CommHub."},tasks:{title:"No tasks yet",sub:"Tasks will appear here when agents send them via CommHub."},messages:{title:"No messages",sub:"Messages between agents will appear here."},logs:{title:"No audit logs",sub:"Events will appear here when users register, login, or perform actions."},tokens:{title:"No API tokens",sub:"Create one to authenticate CLI tools and external integrations."},networks:{title:"No networks found",sub:"Create one or sign in with V3 auth to see your networks."},generic:{title:"Nothing here yet",sub:"Data will appear here once available."}};function i({variant:e,size:r}){let s={width:r,height:r},n={fill:"none",stroke:"currentColor",strokeWidth:1.25,strokeLinecap:"round",strokeLinejoin:"round"};switch(e){case"nodes":return(0,t.jsx)("svg",{viewBox:"0 0 64 64",...s,children:(0,t.jsxs)("g",{...n,children:[(0,t.jsx)("circle",{cx:"32",cy:"14",r:"4"}),(0,t.jsx)("circle",{cx:"14",cy:"44",r:"4"}),(0,t.jsx)("circle",{cx:"50",cy:"44",r:"4"}),(0,t.jsx)("line",{x1:"32",y1:"18",x2:"14",y2:"40",strokeDasharray:"3 3",opacity:"0.6"}),(0,t.jsx)("line",{x1:"32",y1:"18",x2:"50",y2:"40",strokeDasharray:"3 3",opacity:"0.6"}),(0,t.jsx)("line",{x1:"18",y1:"44",x2:"46",y2:"44",strokeDasharray:"3 3",opacity:"0.6"})]})});case"tasks":return(0,t.jsx)("svg",{viewBox:"0 0 64 64",...s,children:(0,t.jsxs)("g",{...n,children:[(0,t.jsx)("rect",{x:"14",y:"14",width:"36",height:"6",rx:"1.5"}),(0,t.jsx)("rect",{x:"14",y:"26",width:"36",height:"6",rx:"1.5",opacity:"0.6"}),(0,t.jsx)("rect",{x:"14",y:"38",width:"36",height:"6",rx:"1.5",opacity:"0.35"})]})});case"messages":return(0,t.jsx)("svg",{viewBox:"0 0 64 64",...s,children:(0,t.jsxs)("g",{...n,children:[(0,t.jsx)("path",{d:"M14 18 h36 a3 3 0 0 1 3 3 v18 a3 3 0 0 1 -3 3 h-18 l-8 6 v-6 h-10 a3 3 0 0 1 -3 -3 v-18 a3 3 0 0 1 3 -3 z"}),(0,t.jsx)("line",{x1:"22",y1:"28",x2:"42",y2:"28",opacity:"0.5"}),(0,t.jsx)("line",{x1:"22",y1:"34",x2:"36",y2:"34",opacity:"0.5"})]})});case"logs":return(0,t.jsx)("svg",{viewBox:"0 0 64 64",...s,children:(0,t.jsxs)("g",{...n,children:[(0,t.jsx)("path",{d:"M18 12 h22 l8 8 v32 a2 2 0 0 1 -2 2 h-28 a2 2 0 0 1 -2 -2 v-38 a2 2 0 0 1 2 -2 z"}),(0,t.jsx)("path",{d:"M40 12 v8 h8",opacity:"0.6"}),(0,t.jsx)("line",{x1:"24",y1:"32",x2:"40",y2:"32",opacity:"0.55"}),(0,t.jsx)("line",{x1:"24",y1:"38",x2:"40",y2:"38",opacity:"0.4"}),(0,t.jsx)("line",{x1:"24",y1:"44",x2:"34",y2:"44",opacity:"0.25"})]})});case"tokens":return(0,t.jsx)("svg",{viewBox:"0 0 64 64",...s,children:(0,t.jsxs)("g",{...n,children:[(0,t.jsx)("circle",{cx:"22",cy:"32",r:"8"}),(0,t.jsx)("line",{x1:"30",y1:"32",x2:"54",y2:"32"}),(0,t.jsx)("line",{x1:"44",y1:"32",x2:"44",y2:"38"}),(0,t.jsx)("line",{x1:"50",y1:"32",x2:"50",y2:"40"})]})});case"networks":return(0,t.jsx)("svg",{viewBox:"0 0 64 64",...s,children:(0,t.jsxs)("g",{...n,children:[(0,t.jsx)("circle",{cx:"32",cy:"32",r:"18"}),(0,t.jsx)("ellipse",{cx:"32",cy:"32",rx:"18",ry:"9",opacity:"0.55"}),(0,t.jsx)("line",{x1:"14",y1:"32",x2:"50",y2:"32",opacity:"0.55"}),(0,t.jsx)("line",{x1:"32",y1:"14",x2:"32",y2:"50",opacity:"0.55"})]})});default:return(0,t.jsx)("svg",{viewBox:"0 0 64 64",...s,children:(0,t.jsxs)("g",{...n,children:[(0,t.jsx)("circle",{cx:"32",cy:"32",r:"14",strokeDasharray:"3 3",opacity:"0.6"}),(0,t.jsx)("circle",{cx:"32",cy:"32",r:"3"})]})})}}function a({variant:e="generic",title:r,sub:l,cta:o,compact:c=!1}){let d=n[e],x=r??d.title,h=l??d.sub;return(0,t.jsxs)("div",{className:`text-center ${c?"py-8":"py-16"} px-4`,role:"status",children:[(0,t.jsx)("div",{className:"anet-empty-glyph inline-flex items-center justify-center mb-4 text-gray-500","aria-hidden":!0,children:(0,t.jsx)(i,{variant:e,size:c?40:56})}),(0,t.jsx)("h3",{className:`font-medium text-gray-300 ${c?"text-sm":"text-base"}`,children:x}),h&&(0,t.jsx)("p",{className:`text-gray-500 ${c?"text-xs mt-1.5":"text-sm mt-2"} max-w-md mx-auto leading-relaxed`,children:h}),o&&(0,t.jsx)("div",{className:"mt-4",children:o.href?(0,t.jsxs)(s.default,{href:o.href,className:"inline-flex items-center gap-1.5 text-sm font-medium text-cyan-400 hover:text-cyan-300",children:[o.label,(0,t.jsx)("span",{"aria-hidden":!0,children:"→"})]}):(0,t.jsxs)("button",{onClick:o.onClick,className:"inline-flex items-center gap-1.5 text-sm font-medium text-cyan-400 hover:text-cyan-300",children:[o.label,(0,t.jsx)("span",{"aria-hidden":!0,children:"→"})]})})]})}function l({children:e}){return(0,t.jsx)("div",{className:"max-w-2xl mx-auto rounded-xl border border-[#2a2a4a] bg-[#111128] shadow-lg shadow-black/20",children:e})}function o({cmd:e}){let[s,n]=(0,r.useState)(!1),i=async()=>{try{await navigator.clipboard.writeText(e),n(!0),setTimeout(()=>n(!1),1800)}catch{}};return(0,t.jsxs)("div",{className:"anet-empty-cmd flex items-center gap-2 bg-[#0a0a15] border border-[#2a2a4a] rounded-lg pl-4 pr-1.5 py-1.5 text-xs sm:text-sm",children:[(0,t.jsx)("code",{className:"text-cyan-300 font-mono select-all",children:e}),(0,t.jsx)("button",{type:"button",onClick:i,"aria-label":s?"Copied":"Copy command",className:"shrink-0 rounded-md px-2 py-1.5 text-[11px] text-gray-500 hover:text-gray-200 hover:bg-[#1a1a2a] transition-colors",children:s?(0,t.jsxs)("span",{className:"flex items-center gap-1 text-green-400",children:[(0,t.jsx)("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:(0,t.jsx)("path",{d:"M20 6 9 17l-5-5"})}),"Copied"]}):(0,t.jsxs)("span",{className:"flex items-center gap-1",children:[(0,t.jsxs)("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,t.jsx)("rect",{x:"9",y:"9",width:"13",height:"13",rx:"2",ry:"2"}),(0,t.jsx)("path",{d:"M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"})]}),"Copy"]})})]})}e.s(["EmptyState",0,a,"NodesEmptyState",0,function({hint:e,taskHistoryCount:r=0}){return e?.global_count?(0,t.jsx)(l,{children:(0,t.jsx)(a,{variant:"nodes",title:"No agents in this network",sub:`Server has ${e.global_count} nodes globally, but none are registered to the current network. Switch network or contact admin.`})}):r>0?(0,t.jsx)(l,{children:(0,t.jsx)(a,{variant:"nodes",title:"No agents online",sub:`Every agent in this network is currently offline. ${r.toLocaleString()} task${1===r?"":"s"} in history — they may have finished their work or disconnected.`,cta:{label:"View task history",href:"/tasks"}})}):(0,t.jsx)(l,{children:(0,t.jsxs)("div",{className:"text-center py-16 px-4",role:"status",children:[(0,t.jsx)("div",{className:"anet-empty-glyph inline-flex items-center justify-center mb-4 text-gray-500","aria-hidden":!0,children:(0,t.jsx)("svg",{viewBox:"0 0 64 64",width:56,height:56,children:(0,t.jsxs)("g",{stroke:"currentColor",strokeWidth:"1.5",fill:"none",children:[(0,t.jsx)("rect",{x:"10",y:"20",width:"44",height:"28",rx:"2"}),(0,t.jsx)("rect",{x:"20",y:"32",width:"6",height:"8",opacity:"0.5"}),(0,t.jsx)("rect",{x:"32",y:"32",width:"6",height:"8",opacity:"0.5"}),(0,t.jsx)("rect",{x:"44",y:"32",width:"4",height:"8",opacity:"0.5"}),(0,t.jsx)("line",{x1:"10",y1:"26",x2:"54",y2:"26",opacity:"0.4"}),(0,t.jsx)("circle",{cx:"14",cy:"23",r:"0.8",fill:"currentColor"})]})})}),(0,t.jsx)("h3",{className:"font-medium text-gray-300 text-base",children:"Spin up your first agent"}),(0,t.jsx)("p",{className:"text-gray-500 text-sm mt-2 max-w-md mx-auto leading-relaxed",children:"Run this in a fresh terminal to register an agent with this CommHub:"}),(0,t.jsx)("div",{className:"mt-4 inline-block",children:(0,t.jsx)(o,{cmd:"npx --yes @sleep2agi/agent-network init"})}),(0,t.jsx)("div",{className:"mt-3",children:(0,t.jsxs)("a",{href:"https://anet.sh",target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center gap-1.5 text-xs font-medium text-gray-500 hover:text-cyan-300",children:["Full quickstart guide",(0,t.jsx)("span",{"aria-hidden":!0,children:"→"})]})})]})})}])},59276,e=>{"use strict";var t=e.i(12629),r=e.i(11449);let s=async e=>{let t=await fetch(e);if(401===t.status)throw window.location.assign("/login"),Error("unauthorized");return t.json()},n={refreshInterval:5e3,dedupingInterval:3e3};function i(e,t){if(!t)return e;let r=e.includes("?")?"&":"?";return`${e}${r}network_id=${encodeURIComponent(t)}`}e.s(["useAnetConfig",0,function(){let{data:e}=(0,t.default)("/api/anet/config",s,{refreshInterval:3e4});return{config:e||null}},"useHealth",0,function(){let{data:e,error:r}=(0,t.default)("/api/hub/health",s,n);return{health:e||null,error:r}},"useLicense",0,function(){let{data:e,error:r}=(0,t.default)("/api/hub/license",s,{refreshInterval:6e4});return{license:e?.ok?e:null,error:r}},"useMessages",0,function(e=100){let{networkId:a}=(0,r.useNetworkId)(),{data:l,error:o,isLoading:c}=(0,t.default)(i(`/api/hub/messages?limit=${e}`,a),s,n);return{messages:l?.messages||[],error:o,isLoading:c}},"useSessions",0,function(){let{networkId:e}=(0,r.useNetworkId)(),{data:a,error:l,isLoading:o}=(0,t.default)(i("/api/hub/status",e),s,n);return{sessions:a?.sessions||[],hint:a?._hint,error:l,isLoading:o}},"useStats",0,function(){let{networkId:e}=(0,r.useNetworkId)(),{data:a,error:l}=(0,t.default)(i("/api/hub/stats",e),s,n);return{stats:a?.ok?a:null,error:l}},"useTasks",0,function(e){let{networkId:a}=(0,r.useNetworkId)(),l=new URLSearchParams({limit:"100",...e}).toString(),{data:o,error:c,isLoading:d}=(0,t.default)(i(`/api/hub/tasks?${l}`,a),s,n);return{tasks:o?.tasks||[],count:o?.count??0,source:o?.source,error:c,isLoading:d}}])},70286,e=>{"use strict";e.s(["DASHBOARD_VERSION",0,"0.5.3-preview.251"],70286)}]);
package/.next/trace CHANGED
@@ -1,2 +1,2 @@
1
- [{"name":"generate-buildid","duration":301,"timestamp":415876944961,"id":4,"parentId":1,"tags":{},"startTime":1779223849191,"traceId":"912c13d76cb327e2"},{"name":"load-custom-routes","duration":475,"timestamp":415876945416,"id":5,"parentId":1,"tags":{},"startTime":1779223849192,"traceId":"912c13d76cb327e2"},{"name":"create-dist-dir","duration":695,"timestamp":415876945937,"id":6,"parentId":1,"tags":{},"startTime":1779223849192,"traceId":"912c13d76cb327e2"},{"name":"clean","duration":33084,"timestamp":415876947311,"id":7,"parentId":1,"tags":{},"startTime":1779223849194,"traceId":"912c13d76cb327e2"},{"name":"discover-routes","duration":11155,"timestamp":415877064523,"id":8,"parentId":1,"tags":{},"startTime":1779223849311,"traceId":"912c13d76cb327e2"},{"name":"create-root-mapping","duration":169,"timestamp":415877075767,"id":9,"parentId":1,"tags":{},"startTime":1779223849322,"traceId":"912c13d76cb327e2"},{"name":"generate-route-types","duration":42071,"timestamp":415877078707,"id":10,"parentId":1,"tags":{},"startTime":1779223849325,"traceId":"912c13d76cb327e2"},{"name":"public-dir-conflict-check","duration":103,"timestamp":415877120873,"id":11,"parentId":1,"tags":{},"startTime":1779223849367,"traceId":"912c13d76cb327e2"},{"name":"generate-routes-manifest","duration":5626,"timestamp":415877121126,"id":12,"parentId":1,"tags":{},"startTime":1779223849367,"traceId":"912c13d76cb327e2"},{"name":"run-turbopack","duration":6894141,"timestamp":415877131807,"id":14,"parentId":1,"tags":{},"startTime":1779223849378,"traceId":"912c13d76cb327e2"},{"name":"turbopack-build-events","duration":71,"timestamp":415877448855,"id":15,"parentId":1,"tags":{},"startTime":1779223849695,"traceId":"912c13d76cb327e2"},{"name":"run-typescript","duration":10403660,"timestamp":415884037886,"id":16,"parentId":1,"tags":{},"startTime":1779223856284,"traceId":"912c13d76cb327e2"},{"name":"generate-required-server-files","duration":3676,"timestamp":415894443039,"id":18,"parentId":1,"tags":{},"startTime":1779223866689,"traceId":"912c13d76cb327e2"},{"name":"check-static-error-page","duration":13900,"timestamp":415894655489,"id":20,"parentId":19,"tags":{},"startTime":1779223866902,"traceId":"912c13d76cb327e2"},{"name":"is-page-static","duration":532856,"timestamp":415894673426,"id":65,"parentId":22,"tags":{},"startTime":1779223866920,"traceId":"912c13d76cb327e2"},{"name":"check-page","duration":548665,"timestamp":415894657808,"id":22,"parentId":19,"tags":{"page":"/_global-error"},"startTime":1779223866904,"traceId":"912c13d76cb327e2"},{"name":"is-page-static","duration":576773,"timestamp":415894673524,"id":66,"parentId":25,"tags":{},"startTime":1779223866920,"traceId":"912c13d76cb327e2"},{"name":"check-page","duration":589869,"timestamp":415894660537,"id":25,"parentId":19,"tags":{"page":"/api/auth/login"},"startTime":1779223866907,"traceId":"912c13d76cb327e2"},{"name":"is-page-static","duration":589612,"timestamp":415894674048,"id":70,"parentId":29,"tags":{},"startTime":1779223866920,"traceId":"912c13d76cb327e2"},{"name":"check-page","duration":602447,"timestamp":415894661301,"id":29,"parentId":19,"tags":{"page":"/api/hub/auth"},"startTime":1779223866908,"traceId":"912c13d76cb327e2"},{"name":"is-page-static","duration":598260,"timestamp":415894674281,"id":72,"parentId":32,"tags":{},"startTime":1779223866921,"traceId":"912c13d76cb327e2"},{"name":"check-page","duration":610911,"timestamp":415894661883,"id":32,"parentId":19,"tags":{"page":"/api/hub/health"},"startTime":1779223866908,"traceId":"912c13d76cb327e2"},{"name":"is-page-static","duration":598693,"timestamp":415894674463,"id":73,"parentId":33,"tags":{},"startTime":1779223866921,"traceId":"912c13d76cb327e2"},{"name":"check-page","duration":611155,"timestamp":415894662058,"id":33,"parentId":19,"tags":{"page":"/api/hub/inbox"},"startTime":1779223866908,"traceId":"912c13d76cb327e2"},{"name":"is-page-static","duration":606690,"timestamp":415894674544,"id":74,"parentId":34,"tags":{},"startTime":1779223866921,"traceId":"912c13d76cb327e2"},{"name":"check-page","duration":619118,"timestamp":415894662181,"id":34,"parentId":19,"tags":{"page":"/api/hub/license"},"startTime":1779223866908,"traceId":"912c13d76cb327e2"},{"name":"is-page-static","duration":616116,"timestamp":415894674602,"id":76,"parentId":36,"tags":{},"startTime":1779223866921,"traceId":"912c13d76cb327e2"},{"name":"check-page","duration":628036,"timestamp":415894662740,"id":36,"parentId":19,"tags":{"page":"/api/hub/networks"},"startTime":1779223866909,"traceId":"912c13d76cb327e2"},{"name":"is-page-static","duration":633250,"timestamp":415894674629,"id":77,"parentId":37,"tags":{},"startTime":1779223866921,"traceId":"912c13d76cb327e2"},{"name":"check-page","duration":645082,"timestamp":415894662871,"id":37,"parentId":19,"tags":{"page":"/api/hub/nodes"},"startTime":1779223866909,"traceId":"912c13d76cb327e2"},{"name":"is-page-static","duration":640832,"timestamp":415894674649,"id":78,"parentId":38,"tags":{},"startTime":1779223866921,"traceId":"912c13d76cb327e2"},{"name":"check-page","duration":652595,"timestamp":415894662964,"id":38,"parentId":19,"tags":{"page":"/api/hub/register"},"startTime":1779223866909,"traceId":"912c13d76cb327e2"},{"name":"is-page-static","duration":641180,"timestamp":415894674576,"id":75,"parentId":35,"tags":{},"startTime":1779223866921,"traceId":"912c13d76cb327e2"},{"name":"check-page","duration":653494,"timestamp":415894662297,"id":35,"parentId":19,"tags":{"page":"/api/hub/messages"},"startTime":1779223866909,"traceId":"912c13d76cb327e2"},{"name":"is-page-static","duration":644569,"timestamp":415894674666,"id":79,"parentId":39,"tags":{},"startTime":1779223866921,"traceId":"912c13d76cb327e2"},{"name":"check-page","duration":656215,"timestamp":415894663065,"id":39,"parentId":19,"tags":{"page":"/api/hub/send"},"startTime":1779223866909,"traceId":"912c13d76cb327e2"},{"name":"is-page-static","duration":656761,"timestamp":415894674693,"id":81,"parentId":42,"tags":{},"startTime":1779223866921,"traceId":"912c13d76cb327e2"},{"name":"check-page","duration":667996,"timestamp":415894663534,"id":42,"parentId":19,"tags":{"page":"/api/hub/server/[hostname]/health"},"startTime":1779223866910,"traceId":"912c13d76cb327e2"},{"name":"is-page-static","duration":661149,"timestamp":415894673126,"id":64,"parentId":21,"tags":{},"startTime":1779223866919,"traceId":"912c13d76cb327e2"},{"name":"check-page","duration":677628,"timestamp":415894656692,"id":21,"parentId":19,"tags":{"page":"/_not-found"},"startTime":1779223866903,"traceId":"912c13d76cb327e2"},{"name":"is-page-static","duration":665335,"timestamp":415894674706,"id":82,"parentId":44,"tags":{},"startTime":1779223866921,"traceId":"912c13d76cb327e2"},{"name":"check-page","duration":676116,"timestamp":415894663976,"id":44,"parentId":19,"tags":{"page":"/api/hub/session"},"startTime":1779223866910,"traceId":"912c13d76cb327e2"},{"name":"is-page-static","duration":666678,"timestamp":415894674730,"id":84,"parentId":46,"tags":{},"startTime":1779223866921,"traceId":"912c13d76cb327e2"},{"name":"check-page","duration":677195,"timestamp":415894664261,"id":46,"parentId":19,"tags":{"page":"/api/hub/status"},"startTime":1779223866911,"traceId":"912c13d76cb327e2"},{"name":"is-page-static","duration":670207,"timestamp":415894673599,"id":67,"parentId":26,"tags":{},"startTime":1779223866920,"traceId":"912c13d76cb327e2"},{"name":"check-page","duration":682983,"timestamp":415894660868,"id":26,"parentId":19,"tags":{"page":"/api/auth/logout"},"startTime":1779223866907,"traceId":"912c13d76cb327e2"},{"name":"is-page-static","duration":671192,"timestamp":415894674745,"id":85,"parentId":47,"tags":{},"startTime":1779223866921,"traceId":"912c13d76cb327e2"},{"name":"check-page","duration":681596,"timestamp":415894664394,"id":47,"parentId":19,"tags":{"page":"/api/hub/task-events"},"startTime":1779223866911,"traceId":"912c13d76cb327e2"},{"name":"is-page-static","duration":674586,"timestamp":415894674683,"id":80,"parentId":40,"tags":{},"startTime":1779223866921,"traceId":"912c13d76cb327e2"},{"name":"check-page","duration":686277,"timestamp":415894663160,"id":40,"parentId":19,"tags":{"page":"/api/hub/server-logs"},"startTime":1779223866909,"traceId":"912c13d76cb327e2"},{"name":"is-page-static","duration":675810,"timestamp":415894674773,"id":87,"parentId":49,"tags":{},"startTime":1779223866921,"traceId":"912c13d76cb327e2"},{"name":"check-page","duration":684570,"timestamp":415894666054,"id":49,"parentId":19,"tags":{"page":"/api/hub/tmux"},"startTime":1779223866912,"traceId":"912c13d76cb327e2"},{"name":"is-page-static","duration":679728,"timestamp":415894673675,"id":68,"parentId":27,"tags":{},"startTime":1779223866920,"traceId":"912c13d76cb327e2"},{"name":"check-page","duration":692424,"timestamp":415894661028,"id":27,"parentId":19,"tags":{"page":"/api/auth/v3"},"startTime":1779223866907,"traceId":"912c13d76cb327e2"},{"name":"is-page-static","duration":679595,"timestamp":415894674796,"id":89,"parentId":51,"tags":{},"startTime":1779223866921,"traceId":"912c13d76cb327e2"},{"name":"check-page","duration":688258,"timestamp":415894666181,"id":51,"parentId":19,"tags":{"page":"/favicon.ico"},"startTime":1779223866912,"traceId":"912c13d76cb327e2"},{"name":"is-page-static","duration":676520,"timestamp":415894682693,"id":91,"parentId":31,"tags":{},"startTime":1779223866929,"traceId":"912c13d76cb327e2"},{"name":"check-page","duration":697637,"timestamp":415894661622,"id":31,"parentId":19,"tags":{"page":"/api/hub/events"},"startTime":1779223866908,"traceId":"912c13d76cb327e2"},{"name":"is-page-static","duration":679078,"timestamp":415894681506,"id":90,"parentId":24,"tags":{},"startTime":1779223866928,"traceId":"912c13d76cb327e2"},{"name":"check-page","duration":702428,"timestamp":415894658209,"id":24,"parentId":19,"tags":{"page":"/api/anet/config"},"startTime":1779223866904,"traceId":"912c13d76cb327e2"},{"name":"is-page-static","duration":687310,"timestamp":415894674782,"id":88,"parentId":50,"tags":{},"startTime":1779223866921,"traceId":"912c13d76cb327e2"},{"name":"check-page","duration":696510,"timestamp":415894666128,"id":50,"parentId":19,"tags":{"page":"/api/hub/tokens"},"startTime":1779223866912,"traceId":"912c13d76cb327e2"},{"name":"is-page-static","duration":690103,"timestamp":415894673779,"id":69,"parentId":28,"tags":{},"startTime":1779223866920,"traceId":"912c13d76cb327e2"},{"name":"check-page","duration":702749,"timestamp":415894661179,"id":28,"parentId":19,"tags":{"page":"/api/hub/audit-log"},"startTime":1779223866907,"traceId":"912c13d76cb327e2"},{"name":"is-page-static","duration":673551,"timestamp":415894690997,"id":92,"parentId":41,"tags":{},"startTime":1779223866937,"traceId":"912c13d76cb327e2"},{"name":"check-page","duration":701344,"timestamp":415894663246,"id":41,"parentId":19,"tags":{"page":"/api/hub/server/[hostname]/agents"},"startTime":1779223866910,"traceId":"912c13d76cb327e2"},{"name":"is-page-static","duration":717271,"timestamp":415894674760,"id":86,"parentId":48,"tags":{},"startTime":1779223866921,"traceId":"912c13d76cb327e2"},{"name":"check-page","duration":726211,"timestamp":415894665899,"id":48,"parentId":19,"tags":{"page":"/api/hub/tasks"},"startTime":1779223866912,"traceId":"912c13d76cb327e2"},{"name":"is-page-static","duration":708892,"timestamp":415894692406,"id":93,"parentId":43,"tags":{},"startTime":1779223866939,"traceId":"912c13d76cb327e2"},{"name":"check-page","duration":737715,"timestamp":415894663681,"id":43,"parentId":19,"tags":{"page":"/api/hub/servers"},"startTime":1779223866910,"traceId":"912c13d76cb327e2"},{"name":"is-page-static","duration":736149,"timestamp":415894674214,"id":71,"parentId":30,"tags":{},"startTime":1779223866920,"traceId":"912c13d76cb327e2"},{"name":"check-page","duration":748965,"timestamp":415894661497,"id":30,"parentId":19,"tags":{"page":"/api/hub/broadcast"},"startTime":1779223866908,"traceId":"912c13d76cb327e2"},{"name":"is-page-static","duration":744920,"timestamp":415894704816,"id":94,"parentId":23,"tags":{},"startTime":1779223866951,"traceId":"912c13d76cb327e2"},{"name":"check-page","duration":791787,"timestamp":415894658025,"id":23,"parentId":19,"tags":{"page":"/admin"},"startTime":1779223866904,"traceId":"912c13d76cb327e2"},{"name":"is-page-static","duration":753111,"timestamp":415894704927,"id":100,"parentId":58,"tags":{},"startTime":1779223866951,"traceId":"912c13d76cb327e2"},{"name":"check-page","duration":790402,"timestamp":415894667705,"id":58,"parentId":19,"tags":{"page":"/server-logs"},"startTime":1779223866914,"traceId":"912c13d76cb327e2"},{"name":"is-page-static","duration":783552,"timestamp":415894674720,"id":83,"parentId":45,"tags":{},"startTime":1779223866921,"traceId":"912c13d76cb327e2"},{"name":"check-page","duration":794168,"timestamp":415894664142,"id":45,"parentId":19,"tags":{"page":"/api/hub/stats"},"startTime":1779223866910,"traceId":"912c13d76cb327e2"},{"name":"is-page-static","duration":763837,"timestamp":415894705069,"id":101,"parentId":59,"tags":{},"startTime":1779223866951,"traceId":"912c13d76cb327e2"},{"name":"check-page","duration":801104,"timestamp":415894667914,"id":59,"parentId":19,"tags":{"page":"/settings/networks"},"startTime":1779223866914,"traceId":"912c13d76cb327e2"},{"name":"is-page-static","duration":764174,"timestamp":415894705092,"id":102,"parentId":61,"tags":{},"startTime":1779223866951,"traceId":"912c13d76cb327e2"},{"name":"check-page","duration":800715,"timestamp":415894668590,"id":61,"parentId":19,"tags":{"page":"/settings/tokens"},"startTime":1779223866915,"traceId":"912c13d76cb327e2"},{"name":"is-page-static","duration":772530,"timestamp":415894705123,"id":104,"parentId":63,"tags":{},"startTime":1779223866951,"traceId":"912c13d76cb327e2"},{"name":"check-page","duration":809304,"timestamp":415894668933,"id":63,"parentId":19,"tags":{"page":"/tasks"},"startTime":1779223866915,"traceId":"912c13d76cb327e2"},{"name":"is-page-static","duration":774021,"timestamp":415894704874,"id":96,"parentId":53,"tags":{},"startTime":1779223866951,"traceId":"912c13d76cb327e2"},{"name":"check-page","duration":812383,"timestamp":415894666568,"id":53,"parentId":19,"tags":{"page":"/logs"},"startTime":1779223866913,"traceId":"912c13d76cb327e2"},{"name":"is-page-static","duration":776645,"timestamp":415894704861,"id":95,"parentId":52,"tags":{},"startTime":1779223866951,"traceId":"912c13d76cb327e2"},{"name":"check-page","duration":815082,"timestamp":415894666469,"id":52,"parentId":19,"tags":{"page":"/login"},"startTime":1779223866913,"traceId":"912c13d76cb327e2"},{"name":"is-page-static","duration":780158,"timestamp":415894705109,"id":103,"parentId":62,"tags":{},"startTime":1779223866951,"traceId":"912c13d76cb327e2"},{"name":"check-page","duration":816560,"timestamp":415894668750,"id":62,"parentId":19,"tags":{"page":"/tasks/[id]"},"startTime":1779223866915,"traceId":"912c13d76cb327e2"},{"name":"is-page-static","duration":763577,"timestamp":415894721828,"id":105,"parentId":60,"tags":{},"startTime":1779223866968,"traceId":"912c13d76cb327e2"},{"name":"check-page","duration":817304,"timestamp":415894668125,"id":60,"parentId":19,"tags":{"page":"/settings"},"startTime":1779223866914,"traceId":"912c13d76cb327e2"},{"name":"is-page-static","duration":783181,"timestamp":415894704913,"id":99,"parentId":56,"tags":{},"startTime":1779223866951,"traceId":"912c13d76cb327e2"},{"name":"check-page","duration":821202,"timestamp":415894666939,"id":56,"parentId":19,"tags":{"page":"/nodes"},"startTime":1779223866913,"traceId":"912c13d76cb327e2"},{"name":"is-page-static","duration":743109,"timestamp":415894745834,"id":106,"parentId":57,"tags":{},"startTime":1779223866992,"traceId":"912c13d76cb327e2"},{"name":"check-page","duration":821822,"timestamp":415894667157,"id":57,"parentId":19,"tags":{"page":"/"},"startTime":1779223866913,"traceId":"912c13d76cb327e2"},{"name":"is-page-static","duration":786443,"timestamp":415894704903,"id":98,"parentId":55,"tags":{},"startTime":1779223866951,"traceId":"912c13d76cb327e2"},{"name":"check-page","duration":824596,"timestamp":415894666801,"id":55,"parentId":19,"tags":{"page":"/node"},"startTime":1779223866913,"traceId":"912c13d76cb327e2"},{"name":"is-page-static","duration":796851,"timestamp":415894704888,"id":97,"parentId":54,"tags":{},"startTime":1779223866951,"traceId":"912c13d76cb327e2"},{"name":"check-page","duration":835101,"timestamp":415894666669,"id":54,"parentId":19,"tags":{"page":"/messages"},"startTime":1779223866913,"traceId":"912c13d76cb327e2"},{"name":"static-check","duration":847181,"timestamp":415894654638,"id":19,"parentId":1,"tags":{},"startTime":1779223866901,"traceId":"912c13d76cb327e2"}]
2
- [{"name":"write-routes-manifest","duration":612,"timestamp":415895511987,"id":108,"parentId":1,"tags":{},"startTime":1779223867758,"traceId":"912c13d76cb327e2"},{"name":"load-dotenv","duration":43,"timestamp":415895523240,"id":111,"parentId":110,"tags":{},"startTime":1779223867770,"traceId":"912c13d76cb327e2"},{"name":"run-export-path-map","duration":581,"timestamp":415895525588,"id":112,"parentId":110,"tags":{},"startTime":1779223867772,"traceId":"912c13d76cb327e2"},{"name":"next-export","duration":626455,"timestamp":415895522049,"id":110,"parentId":1,"tags":{},"startTime":1779223867768,"traceId":"912c13d76cb327e2"},{"name":"move-exported-app-not-found-","duration":653,"timestamp":415896152575,"id":113,"parentId":109,"tags":{},"startTime":1779223868399,"traceId":"912c13d76cb327e2"},{"name":"move-exported-app-global-error-","duration":416,"timestamp":415896153321,"id":114,"parentId":109,"tags":{},"startTime":1779223868400,"traceId":"912c13d76cb327e2"},{"name":"static-generation","duration":638946,"timestamp":415895516683,"id":109,"parentId":1,"tags":{},"startTime":1779223867763,"traceId":"912c13d76cb327e2"},{"name":"write-routes-manifest","duration":451,"timestamp":415896155861,"id":115,"parentId":1,"tags":{},"startTime":1779223868402,"traceId":"912c13d76cb327e2"},{"name":"print-tree-view","duration":4692,"timestamp":415896168868,"id":116,"parentId":1,"tags":{},"startTime":1779223868415,"traceId":"912c13d76cb327e2"},{"name":"write-route-bundle-stats","duration":15219,"timestamp":415896173592,"id":117,"parentId":1,"tags":{},"startTime":1779223868420,"traceId":"912c13d76cb327e2"},{"name":"telemetry-flush","duration":24978,"timestamp":415896188842,"id":118,"parentId":1,"tags":{},"startTime":1779223868435,"traceId":"912c13d76cb327e2"},{"name":"next-build","duration":19321215,"timestamp":415876892636,"id":1,"tags":{"buildMode":"default","version":"16.2.3","bundler":"turbopack","has-custom-webpack-config":"false","use-build-worker":"true"},"startTime":1779223849139,"traceId":"912c13d76cb327e2"}]
1
+ [{"name":"generate-buildid","duration":355,"timestamp":416542595116,"id":4,"parentId":1,"tags":{},"startTime":1779224514841,"traceId":"e359de374d751faa"},{"name":"load-custom-routes","duration":733,"timestamp":416542595691,"id":5,"parentId":1,"tags":{},"startTime":1779224514842,"traceId":"e359de374d751faa"},{"name":"create-dist-dir","duration":753,"timestamp":416542596492,"id":6,"parentId":1,"tags":{},"startTime":1779224514843,"traceId":"e359de374d751faa"},{"name":"clean","duration":35886,"timestamp":416542597987,"id":7,"parentId":1,"tags":{},"startTime":1779224514844,"traceId":"e359de374d751faa"},{"name":"discover-routes","duration":27108,"timestamp":416542717133,"id":8,"parentId":1,"tags":{},"startTime":1779224514963,"traceId":"e359de374d751faa"},{"name":"create-root-mapping","duration":204,"timestamp":416542744310,"id":9,"parentId":1,"tags":{},"startTime":1779224514991,"traceId":"e359de374d751faa"},{"name":"generate-route-types","duration":21639,"timestamp":416542747264,"id":10,"parentId":1,"tags":{},"startTime":1779224514994,"traceId":"e359de374d751faa"},{"name":"public-dir-conflict-check","duration":110,"timestamp":416542769036,"id":11,"parentId":1,"tags":{},"startTime":1779224515015,"traceId":"e359de374d751faa"},{"name":"generate-routes-manifest","duration":7367,"timestamp":416542769361,"id":12,"parentId":1,"tags":{},"startTime":1779224515016,"traceId":"e359de374d751faa"},{"name":"run-turbopack","duration":6239139,"timestamp":416542791613,"id":14,"parentId":1,"tags":{},"startTime":1779224515038,"traceId":"e359de374d751faa"},{"name":"turbopack-build-events","duration":100,"timestamp":416543097879,"id":15,"parentId":1,"tags":{},"startTime":1779224515344,"traceId":"e359de374d751faa"},{"name":"run-typescript","duration":10257958,"timestamp":416549041426,"id":16,"parentId":1,"tags":{},"startTime":1779224521288,"traceId":"e359de374d751faa"},{"name":"generate-required-server-files","duration":3488,"timestamp":416559300796,"id":18,"parentId":1,"tags":{},"startTime":1779224531547,"traceId":"e359de374d751faa"},{"name":"check-static-error-page","duration":16900,"timestamp":416559486804,"id":20,"parentId":19,"tags":{},"startTime":1779224531733,"traceId":"e359de374d751faa"},{"name":"is-page-static","duration":437593,"timestamp":416559507709,"id":65,"parentId":22,"tags":{},"startTime":1779224531754,"traceId":"e359de374d751faa"},{"name":"check-page","duration":455416,"timestamp":416559490094,"id":22,"parentId":19,"tags":{"page":"/_global-error"},"startTime":1779224531736,"traceId":"e359de374d751faa"},{"name":"is-page-static","duration":556862,"timestamp":416559508579,"id":71,"parentId":30,"tags":{},"startTime":1779224531755,"traceId":"e359de374d751faa"},{"name":"check-page","duration":571405,"timestamp":416559494158,"id":30,"parentId":19,"tags":{"page":"/api/hub/broadcast"},"startTime":1779224531740,"traceId":"e359de374d751faa"},{"name":"is-page-static","duration":569337,"timestamp":416559507856,"id":66,"parentId":25,"tags":{},"startTime":1779224531754,"traceId":"e359de374d751faa"},{"name":"check-page","duration":583874,"timestamp":416559493405,"id":25,"parentId":19,"tags":{"page":"/api/auth/login"},"startTime":1779224531740,"traceId":"e359de374d751faa"},{"name":"is-page-static","duration":570283,"timestamp":416559508138,"id":69,"parentId":28,"tags":{},"startTime":1779224531754,"traceId":"e359de374d751faa"},{"name":"check-page","duration":584648,"timestamp":416559493850,"id":28,"parentId":19,"tags":{"page":"/api/hub/audit-log"},"startTime":1779224531740,"traceId":"e359de374d751faa"},{"name":"is-page-static","duration":572956,"timestamp":416559508649,"id":72,"parentId":32,"tags":{},"startTime":1779224531755,"traceId":"e359de374d751faa"},{"name":"check-page","duration":587070,"timestamp":416559494599,"id":32,"parentId":19,"tags":{"page":"/api/hub/health"},"startTime":1779224531741,"traceId":"e359de374d751faa"},{"name":"is-page-static","duration":578550,"timestamp":416559508898,"id":74,"parentId":34,"tags":{},"startTime":1779224531755,"traceId":"e359de374d751faa"},{"name":"check-page","duration":592596,"timestamp":416559494919,"id":34,"parentId":19,"tags":{"page":"/api/hub/license"},"startTime":1779224531741,"traceId":"e359de374d751faa"},{"name":"is-page-static","duration":610670,"timestamp":416559508931,"id":75,"parentId":35,"tags":{},"startTime":1779224531755,"traceId":"e359de374d751faa"},{"name":"check-page","duration":624590,"timestamp":416559495088,"id":35,"parentId":19,"tags":{"page":"/api/hub/messages"},"startTime":1779224531741,"traceId":"e359de374d751faa"},{"name":"is-page-static","duration":617580,"timestamp":416559508982,"id":77,"parentId":37,"tags":{},"startTime":1779224531755,"traceId":"e359de374d751faa"},{"name":"check-page","duration":630808,"timestamp":416559495828,"id":37,"parentId":19,"tags":{"page":"/api/hub/nodes"},"startTime":1779224531742,"traceId":"e359de374d751faa"},{"name":"is-page-static","duration":620160,"timestamp":416559508038,"id":68,"parentId":27,"tags":{},"startTime":1779224531754,"traceId":"e359de374d751faa"},{"name":"check-page","duration":634591,"timestamp":416559493708,"id":27,"parentId":19,"tags":{"page":"/api/auth/v3"},"startTime":1779224531740,"traceId":"e359de374d751faa"},{"name":"is-page-static","duration":625904,"timestamp":416559509019,"id":78,"parentId":38,"tags":{},"startTime":1779224531755,"traceId":"e359de374d751faa"},{"name":"check-page","duration":638999,"timestamp":416559495982,"id":38,"parentId":19,"tags":{"page":"/api/hub/register"},"startTime":1779224531742,"traceId":"e359de374d751faa"},{"name":"is-page-static","duration":634284,"timestamp":416559509048,"id":80,"parentId":40,"tags":{},"startTime":1779224531755,"traceId":"e359de374d751faa"},{"name":"check-page","duration":647156,"timestamp":416559496249,"id":40,"parentId":19,"tags":{"page":"/api/hub/server-logs"},"startTime":1779224531743,"traceId":"e359de374d751faa"},{"name":"is-page-static","duration":638739,"timestamp":416559507361,"id":64,"parentId":21,"tags":{},"startTime":1779224531754,"traceId":"e359de374d751faa"},{"name":"check-page","duration":657688,"timestamp":416559488461,"id":21,"parentId":19,"tags":{"page":"/_not-found"},"startTime":1779224531735,"traceId":"e359de374d751faa"},{"name":"is-page-static","duration":647913,"timestamp":416559507946,"id":67,"parentId":26,"tags":{},"startTime":1779224531754,"traceId":"e359de374d751faa"},{"name":"check-page","duration":662337,"timestamp":416559493578,"id":26,"parentId":19,"tags":{"page":"/api/auth/logout"},"startTime":1779224531740,"traceId":"e359de374d751faa"},{"name":"is-page-static","duration":660907,"timestamp":416559509058,"id":81,"parentId":42,"tags":{},"startTime":1779224531755,"traceId":"e359de374d751faa"},{"name":"check-page","duration":673411,"timestamp":416559496650,"id":42,"parentId":19,"tags":{"page":"/api/hub/server/[hostname]/health"},"startTime":1779224531743,"traceId":"e359de374d751faa"},{"name":"is-page-static","duration":662369,"timestamp":416559509034,"id":79,"parentId":39,"tags":{},"startTime":1779224531755,"traceId":"e359de374d751faa"},{"name":"check-page","duration":675319,"timestamp":416559496135,"id":39,"parentId":19,"tags":{"page":"/api/hub/send"},"startTime":1779224531742,"traceId":"e359de374d751faa"},{"name":"is-page-static","duration":671400,"timestamp":416559509085,"id":83,"parentId":45,"tags":{},"startTime":1779224531755,"traceId":"e359de374d751faa"},{"name":"check-page","duration":681605,"timestamp":416559498936,"id":45,"parentId":19,"tags":{"page":"/api/hub/stats"},"startTime":1779224531745,"traceId":"e359de374d751faa"},{"name":"is-page-static","duration":671741,"timestamp":416559508956,"id":76,"parentId":36,"tags":{},"startTime":1779224531755,"traceId":"e359de374d751faa"},{"name":"check-page","duration":685097,"timestamp":416559495637,"id":36,"parentId":19,"tags":{"page":"/api/hub/networks"},"startTime":1779224531742,"traceId":"e359de374d751faa"},{"name":"is-page-static","duration":671781,"timestamp":416559509094,"id":84,"parentId":46,"tags":{},"startTime":1779224531755,"traceId":"e359de374d751faa"},{"name":"check-page","duration":681841,"timestamp":416559499075,"id":46,"parentId":19,"tags":{"page":"/api/hub/status"},"startTime":1779224531745,"traceId":"e359de374d751faa"},{"name":"is-page-static","duration":672311,"timestamp":416559508818,"id":73,"parentId":33,"tags":{},"startTime":1779224531755,"traceId":"e359de374d751faa"},{"name":"check-page","duration":686411,"timestamp":416559494764,"id":33,"parentId":19,"tags":{"page":"/api/hub/inbox"},"startTime":1779224531741,"traceId":"e359de374d751faa"},{"name":"is-page-static","duration":672217,"timestamp":416559509108,"id":85,"parentId":47,"tags":{},"startTime":1779224531755,"traceId":"e359de374d751faa"},{"name":"check-page","duration":682164,"timestamp":416559499197,"id":47,"parentId":19,"tags":{"page":"/api/hub/task-events"},"startTime":1779224531745,"traceId":"e359de374d751faa"},{"name":"is-page-static","duration":675819,"timestamp":416559508413,"id":70,"parentId":29,"tags":{},"startTime":1779224531755,"traceId":"e359de374d751faa"},{"name":"check-page","duration":690293,"timestamp":416559493985,"id":29,"parentId":19,"tags":{"page":"/api/hub/auth"},"startTime":1779224531740,"traceId":"e359de374d751faa"},{"name":"is-page-static","duration":675728,"timestamp":416559514302,"id":91,"parentId":31,"tags":{},"startTime":1779224531761,"traceId":"e359de374d751faa"},{"name":"check-page","duration":695772,"timestamp":416559494304,"id":31,"parentId":19,"tags":{"page":"/api/hub/events"},"startTime":1779224531741,"traceId":"e359de374d751faa"},{"name":"is-page-static","duration":678051,"timestamp":416559513208,"id":90,"parentId":24,"tags":{},"startTime":1779224531759,"traceId":"e359de374d751faa"},{"name":"check-page","duration":700586,"timestamp":416559490721,"id":24,"parentId":19,"tags":{"page":"/api/anet/config"},"startTime":1779224531737,"traceId":"e359de374d751faa"},{"name":"is-page-static","duration":682697,"timestamp":416559509157,"id":89,"parentId":51,"tags":{},"startTime":1779224531755,"traceId":"e359de374d751faa"},{"name":"check-page","duration":692211,"timestamp":416559499688,"id":51,"parentId":19,"tags":{"page":"/favicon.ico"},"startTime":1779224531746,"traceId":"e359de374d751faa"},{"name":"is-page-static","duration":704964,"timestamp":416559509145,"id":88,"parentId":50,"tags":{},"startTime":1779224531755,"traceId":"e359de374d751faa"},{"name":"check-page","duration":714599,"timestamp":416559499583,"id":50,"parentId":19,"tags":{"page":"/api/hub/tokens"},"startTime":1779224531746,"traceId":"e359de374d751faa"},{"name":"is-page-static","duration":698001,"timestamp":416559516459,"id":93,"parentId":43,"tags":{},"startTime":1779224531763,"traceId":"e359de374d751faa"},{"name":"check-page","duration":717712,"timestamp":416559496802,"id":43,"parentId":19,"tags":{"page":"/api/hub/servers"},"startTime":1779224531743,"traceId":"e359de374d751faa"},{"name":"is-page-static","duration":705536,"timestamp":416559509130,"id":87,"parentId":49,"tags":{},"startTime":1779224531755,"traceId":"e359de374d751faa"},{"name":"check-page","duration":715235,"timestamp":416559499464,"id":49,"parentId":19,"tags":{"page":"/api/hub/tmux"},"startTime":1779224531746,"traceId":"e359de374d751faa"},{"name":"is-page-static","duration":732693,"timestamp":416559509121,"id":86,"parentId":48,"tags":{},"startTime":1779224531755,"traceId":"e359de374d751faa"},{"name":"check-page","duration":742580,"timestamp":416559499308,"id":48,"parentId":19,"tags":{"page":"/api/hub/tasks"},"startTime":1779224531746,"traceId":"e359de374d751faa"},{"name":"is-page-static","duration":738195,"timestamp":416559515065,"id":92,"parentId":41,"tags":{},"startTime":1779224531761,"traceId":"e359de374d751faa"},{"name":"check-page","duration":757024,"timestamp":416559496367,"id":41,"parentId":19,"tags":{"page":"/api/hub/server/[hostname]/agents"},"startTime":1779224531743,"traceId":"e359de374d751faa"},{"name":"is-page-static","duration":742881,"timestamp":416559518457,"id":94,"parentId":23,"tags":{},"startTime":1779224531765,"traceId":"e359de374d751faa"},{"name":"check-page","duration":770986,"timestamp":416559490427,"id":23,"parentId":19,"tags":{"page":"/admin"},"startTime":1779224531737,"traceId":"e359de374d751faa"},{"name":"is-page-static","duration":752382,"timestamp":416559518542,"id":100,"parentId":58,"tags":{},"startTime":1779224531765,"traceId":"e359de374d751faa"},{"name":"check-page","duration":768900,"timestamp":416559502085,"id":58,"parentId":19,"tags":{"page":"/server-logs"},"startTime":1779224531748,"traceId":"e359de374d751faa"},{"name":"is-page-static","duration":764599,"timestamp":416559518656,"id":101,"parentId":59,"tags":{},"startTime":1779224531765,"traceId":"e359de374d751faa"},{"name":"check-page","duration":781009,"timestamp":416559502315,"id":59,"parentId":19,"tags":{"page":"/settings/networks"},"startTime":1779224531749,"traceId":"e359de374d751faa"},{"name":"is-page-static","duration":769761,"timestamp":416559518677,"id":102,"parentId":61,"tags":{},"startTime":1779224531765,"traceId":"e359de374d751faa"},{"name":"check-page","duration":785450,"timestamp":416559503067,"id":61,"parentId":19,"tags":{"page":"/settings/tokens"},"startTime":1779224531749,"traceId":"e359de374d751faa"},{"name":"is-page-static","duration":796223,"timestamp":416559509071,"id":82,"parentId":44,"tags":{},"startTime":1779224531755,"traceId":"e359de374d751faa"},{"name":"check-page","duration":806596,"timestamp":416559498762,"id":44,"parentId":19,"tags":{"page":"/api/hub/session"},"startTime":1779224531745,"traceId":"e359de374d751faa"},{"name":"is-page-static","duration":787290,"timestamp":416559518690,"id":103,"parentId":62,"tags":{},"startTime":1779224531765,"traceId":"e359de374d751faa"},{"name":"check-page","duration":802809,"timestamp":416559503234,"id":62,"parentId":19,"tags":{"page":"/tasks/[id]"},"startTime":1779224531750,"traceId":"e359de374d751faa"},{"name":"is-page-static","duration":789484,"timestamp":416559518502,"id":96,"parentId":53,"tags":{},"startTime":1779224531765,"traceId":"e359de374d751faa"},{"name":"check-page","duration":807773,"timestamp":416559500295,"id":53,"parentId":19,"tags":{"page":"/logs"},"startTime":1779224531747,"traceId":"e359de374d751faa"},{"name":"is-page-static","duration":795791,"timestamp":416559518487,"id":95,"parentId":52,"tags":{},"startTime":1779224531765,"traceId":"e359de374d751faa"},{"name":"check-page","duration":814217,"timestamp":416559500107,"id":52,"parentId":19,"tags":{"page":"/login"},"startTime":1779224531746,"traceId":"e359de374d751faa"},{"name":"is-page-static","duration":796507,"timestamp":416559518698,"id":104,"parentId":63,"tags":{},"startTime":1779224531765,"traceId":"e359de374d751faa"},{"name":"check-page","duration":811836,"timestamp":416559503416,"id":63,"parentId":19,"tags":{"page":"/tasks"},"startTime":1779224531750,"traceId":"e359de374d751faa"},{"name":"is-page-static","duration":797158,"timestamp":416559518511,"id":97,"parentId":54,"tags":{},"startTime":1779224531765,"traceId":"e359de374d751faa"},{"name":"check-page","duration":815226,"timestamp":416559500497,"id":54,"parentId":19,"tags":{"page":"/messages"},"startTime":1779224531747,"traceId":"e359de374d751faa"},{"name":"is-page-static","duration":787695,"timestamp":416559529613,"id":105,"parentId":60,"tags":{},"startTime":1779224531776,"traceId":"e359de374d751faa"},{"name":"check-page","duration":814823,"timestamp":416559502539,"id":60,"parentId":19,"tags":{"page":"/settings"},"startTime":1779224531749,"traceId":"e359de374d751faa"},{"name":"is-page-static","duration":774793,"timestamp":416559543801,"id":106,"parentId":57,"tags":{},"startTime":1779224531790,"traceId":"e359de374d751faa"},{"name":"check-page","duration":817371,"timestamp":416559501263,"id":57,"parentId":19,"tags":{"page":"/"},"startTime":1779224531748,"traceId":"e359de374d751faa"},{"name":"is-page-static","duration":815986,"timestamp":416559518522,"id":98,"parentId":55,"tags":{},"startTime":1779224531765,"traceId":"e359de374d751faa"},{"name":"check-page","duration":833836,"timestamp":416559500733,"id":55,"parentId":19,"tags":{"page":"/node"},"startTime":1779224531747,"traceId":"e359de374d751faa"},{"name":"is-page-static","duration":835951,"timestamp":416559518534,"id":99,"parentId":56,"tags":{},"startTime":1779224531765,"traceId":"e359de374d751faa"},{"name":"check-page","duration":853565,"timestamp":416559500970,"id":56,"parentId":19,"tags":{"page":"/nodes"},"startTime":1779224531747,"traceId":"e359de374d751faa"},{"name":"static-check","duration":868960,"timestamp":416559485614,"id":19,"parentId":1,"tags":{},"startTime":1779224531732,"traceId":"e359de374d751faa"}]
2
+ [{"name":"write-routes-manifest","duration":686,"timestamp":416560370163,"id":108,"parentId":1,"tags":{},"startTime":1779224532616,"traceId":"e359de374d751faa"},{"name":"load-dotenv","duration":74,"timestamp":416560389163,"id":111,"parentId":110,"tags":{},"startTime":1779224532635,"traceId":"e359de374d751faa"},{"name":"run-export-path-map","duration":912,"timestamp":416560392680,"id":112,"parentId":110,"tags":{},"startTime":1779224532639,"traceId":"e359de374d751faa"},{"name":"next-export","duration":653636,"timestamp":416560387220,"id":110,"parentId":1,"tags":{},"startTime":1779224532634,"traceId":"e359de374d751faa"},{"name":"move-exported-app-not-found-","duration":483,"timestamp":416561044022,"id":113,"parentId":109,"tags":{},"startTime":1779224533290,"traceId":"e359de374d751faa"},{"name":"move-exported-app-global-error-","duration":366,"timestamp":416561044595,"id":114,"parentId":109,"tags":{},"startTime":1779224533291,"traceId":"e359de374d751faa"},{"name":"static-generation","duration":670361,"timestamp":416560376289,"id":109,"parentId":1,"tags":{},"startTime":1779224532623,"traceId":"e359de374d751faa"},{"name":"write-routes-manifest","duration":378,"timestamp":416561046882,"id":115,"parentId":1,"tags":{},"startTime":1779224533293,"traceId":"e359de374d751faa"},{"name":"print-tree-view","duration":5928,"timestamp":416561054913,"id":116,"parentId":1,"tags":{},"startTime":1779224533301,"traceId":"e359de374d751faa"},{"name":"write-route-bundle-stats","duration":17998,"timestamp":416561060869,"id":117,"parentId":1,"tags":{},"startTime":1779224533307,"traceId":"e359de374d751faa"},{"name":"telemetry-flush","duration":21669,"timestamp":416561078906,"id":118,"parentId":1,"tags":{},"startTime":1779224533325,"traceId":"e359de374d751faa"},{"name":"next-build","duration":18560158,"timestamp":416542540473,"id":1,"tags":{"buildMode":"default","version":"16.2.3","bundler":"turbopack","has-custom-webpack-config":"false","use-build-worker":"true"},"startTime":1779224514787,"traceId":"e359de374d751faa"}]
package/.next/trace-build CHANGED
@@ -1 +1 @@
1
- [{"name":"run-turbopack","duration":6894141,"timestamp":415877131807,"id":14,"parentId":1,"tags":{},"startTime":1779223849378,"traceId":"912c13d76cb327e2"},{"name":"turbopack-build-events","duration":71,"timestamp":415877448855,"id":15,"parentId":1,"tags":{},"startTime":1779223849695,"traceId":"912c13d76cb327e2"},{"name":"run-typescript","duration":10403660,"timestamp":415884037886,"id":16,"parentId":1,"tags":{},"startTime":1779223856284,"traceId":"912c13d76cb327e2"},{"name":"static-check","duration":847181,"timestamp":415894654638,"id":19,"parentId":1,"tags":{},"startTime":1779223866901,"traceId":"912c13d76cb327e2"},{"name":"static-generation","duration":638946,"timestamp":415895516683,"id":109,"parentId":1,"tags":{},"startTime":1779223867763,"traceId":"912c13d76cb327e2"},{"name":"telemetry-flush","duration":24978,"timestamp":415896188842,"id":118,"parentId":1,"tags":{},"startTime":1779223868435,"traceId":"912c13d76cb327e2"},{"name":"next-build","duration":19321215,"timestamp":415876892636,"id":1,"tags":{"buildMode":"default","version":"16.2.3","bundler":"turbopack","has-custom-webpack-config":"false","use-build-worker":"true"},"startTime":1779223849139,"traceId":"912c13d76cb327e2"}]
1
+ [{"name":"run-turbopack","duration":6239139,"timestamp":416542791613,"id":14,"parentId":1,"tags":{},"startTime":1779224515038,"traceId":"e359de374d751faa"},{"name":"turbopack-build-events","duration":100,"timestamp":416543097879,"id":15,"parentId":1,"tags":{},"startTime":1779224515344,"traceId":"e359de374d751faa"},{"name":"run-typescript","duration":10257958,"timestamp":416549041426,"id":16,"parentId":1,"tags":{},"startTime":1779224521288,"traceId":"e359de374d751faa"},{"name":"static-check","duration":868960,"timestamp":416559485614,"id":19,"parentId":1,"tags":{},"startTime":1779224531732,"traceId":"e359de374d751faa"},{"name":"static-generation","duration":670361,"timestamp":416560376289,"id":109,"parentId":1,"tags":{},"startTime":1779224532623,"traceId":"e359de374d751faa"},{"name":"telemetry-flush","duration":21669,"timestamp":416561078906,"id":118,"parentId":1,"tags":{},"startTime":1779224533325,"traceId":"e359de374d751faa"},{"name":"next-build","duration":18560158,"timestamp":416542540473,"id":1,"tags":{"buildMode":"default","version":"16.2.3","bundler":"turbopack","has-custom-webpack-config":"false","use-build-worker":"true"},"startTime":1779224514787,"traceId":"e359de374d751faa"}]
@@ -5036,6 +5036,27 @@ export function TopoGraph({ sessions, sseSessions, renameSignal }: TopoGraphProp
5036
5036
  at runtime. Future triple-axis surfaces append HERE (the
5037
5037
  tier) and conditionally to the pair (only if at 6 s). */
5038
5038
  { name: "triple-axis-tier", cadences: [6, 8, 9, 10], anchors: ["kicker", "watermark text", "recent title", "legend title", "zoom-level readout", "H2 section title"], shape: "tier-multi-cadence" },
5039
+ /* Round 737 / Loop — 9TH pattern entry formalizes the
5040
+ R735/R736 scan beam ambient pair. CROSS-FAMILY entry:
5041
+ prior 8 patterns are all in the respiratory (breath)
5042
+ family; this one lives in the AMBIENT family but uses
5043
+ the same R717 "pattern axis" introspection vocabulary.
5044
+
5045
+ Cadences [23, 30] are coprime (gcd = 1) — the beams
5046
+ never phase-lock; over time the visual rhythm reads as
5047
+ "ambient crosshair drift". Shape "coprime-crosshair":
5048
+ - "coprime" captures the cadence pair property
5049
+ - "crosshair" captures the spatial geometry
5050
+ (orthogonal sweep directions intersecting at moving
5051
+ canvas points each cycle)
5052
+
5053
+ Anchors use the SVG element data-attr names rather
5054
+ than rolodex anchor keys (the breath family's pattern
5055
+ entries use rolodex names; ambient family pattern
5056
+ entries use element names since rolodex is breath-
5057
+ scoped). R737 test verifies anchor presence in the
5058
+ catalog regardless of the naming convention. */
5059
+ { name: "scan-beam-pair", cadences: [23, 30], anchors: ["scan beam horizontal", "scan beam vertical"], shape: "coprime-crosshair" },
5039
5060
  ])}
5040
5061
  /* Round 720 / Loop — 4TH orthogonal meta-doc catalog: tiers.
5041
5062
  Joins R710 (cadences) + R716 (axes) + R717 (patterns) to
@@ -5158,10 +5179,35 @@ export function TopoGraph({ sessions, sseSessions, renameSignal }: TopoGraphProp
5158
5179
  cadence_range_s: { min: 3, max: 25 },
5159
5180
  cadence_arc_s: 22,
5160
5181
  axis_counts: { single: 12, dual: 0, triple: 6 },
5161
- patterns_count: 8,
5182
+ /* R737 — patterns_count bumped 8 → 9 to admit the new
5183
+ cross-family `scan-beam-pair` entry. triple_axis_pairs
5184
+ and triple_axis_solos stay unchanged (the new pattern
5185
+ isn't triple-axis). */
5186
+ patterns_count: 9,
5162
5187
  tiers_count: 7,
5163
5188
  triple_axis_pairs: 2,
5164
5189
  triple_axis_solos: 2,
5190
+ /* Round 738 / Loop — cross-family awareness fields.
5191
+ R737 made R717 patterns catalog cross-family for the
5192
+ first time (8 breath + 1 ambient = 9 entries). R738
5193
+ surfaces that split as queryable stats:
5194
+ breath_patterns 8 entries (R717 minus scan-beam-pair)
5195
+ ambient_patterns 1 entry (just scan-beam-pair today)
5196
+ pattern_families 2 (breath ∪ ambient)
5197
+ scan_beam_pairs 1 (R735 + R736 = 1 pair instance)
5198
+ ambient_cadences 2 (23 + 30 — the scan-beam coprime pair)
5199
+ Cross-check invariant (R738 test):
5200
+ breath_patterns + ambient_patterns === patterns_count
5201
+ pattern_families === |distinct families in R717 entries|
5202
+ scan_beam_pairs maps to (R717 entries named "scan-beam-*").length
5203
+ Each new field is derivable from existing catalogs but
5204
+ surfaced here for tooling that wants a single stats
5205
+ snapshot of the cross-family layer. */
5206
+ breath_patterns: 8,
5207
+ ambient_patterns: 1,
5208
+ pattern_families: 2,
5209
+ scan_beam_pairs: 1,
5210
+ ambient_cadences: 2,
5165
5211
  })}
5166
5212
  /* Round 732 / Loop — 7TH orthogonal meta-doc catalog: a11y
5167
5213
  titles. R730/R731 added SVG <title> children to 5 decorative
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sleep2agi/agent-network-dashboard",
3
- "version": "0.5.3-preview.250",
3
+ "version": "0.5.3-preview.252",
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,100 @@
1
+ /* Round 737 — formalize the R735/R736 scan beam ambient pair as the
2
+ * 9TH entry in R717 patterns catalog. CROSS-FAMILY pattern entry:
3
+ * prior 8 patterns are all in the respiratory (breath) family;
4
+ * scan-beam-pair lives in the AMBIENT family but uses the same
5
+ * R717 "pattern axis" introspection vocabulary.
6
+ *
7
+ * Mirrors R724's pattern-formalization round (which added the
8
+ * triple-axis-pair entry after R721/R722 established the surfaces).
9
+ *
10
+ * Assertions:
11
+ * - R717 patterns has exactly 9 entries
12
+ * - `scan-beam-pair` entry exists with:
13
+ * - cadences [23, 30]
14
+ * - anchors ["scan beam horizontal", "scan beam vertical"]
15
+ * - shape "coprime-crosshair"
16
+ * - Coprime invariant: gcd(23, 30) === 1
17
+ * - Pattern cadences match the actual SMIL animate durs on the
18
+ * two beams (regression: R735 y-anim dur === 30s, R736 x-anim
19
+ * dur === 23s)
20
+ * - Pattern anchors map to actual data-attr selectors that resolve
21
+ * to live DOM elements (semantic anchor-to-element correspondence)
22
+ * - All other 8 R717 entries preserved (regression)
23
+ */
24
+ import { chromium } from 'playwright';
25
+ import { readFileSync } from 'node:fs';
26
+
27
+ const TOKEN = JSON.parse(readFileSync('/home/vansin/.anet/config.json', 'utf8')).token;
28
+ const fresh = new Date(Date.now() - 60 * 1000).toISOString();
29
+
30
+ const browser = await chromium.launch({ headless: true });
31
+ const ctx = await browser.newContext({ viewport: { width: 1500, height: 1200 } });
32
+ await ctx.addCookies([{ name: 'anet_dashboard_session', value: `v3:${TOKEN}`, domain: '127.0.0.1', path: '/' }]);
33
+ await ctx.addInitScript(() => {
34
+ try {
35
+ localStorage.setItem('anet-theme', 'cyber');
36
+ localStorage.setItem('anet-topo-layout', 'ring');
37
+ sessionStorage.setItem('anet_v3_auth', '1');
38
+ } catch {}
39
+ });
40
+ await ctx.route('**/api/hub/status*', async (route) => {
41
+ const r = await route.fetch();
42
+ const b = await r.json();
43
+ const nid = (b.sessions || [])[0]?.network_id || 'default';
44
+ const mk = (alias) => ({
45
+ alias, status: 'idle', model: 'claude-opus-4', runtime: 'claude-code-cli',
46
+ network_id: nid, project_dir: null,
47
+ created_at: fresh, updated_at: fresh, last_seen_at: fresh,
48
+ });
49
+ await route.fulfill({ response: r, json: { ...b, sessions: [mk('a·1'), mk('a·2')] } });
50
+ });
51
+ await ctx.route('**/api/hub/messages*', (r) => r.fulfill({ json: { messages: [] } }));
52
+ await ctx.route('**/api/hub/tasks*', (r) => r.fulfill({ json: { tasks: [] } }));
53
+ const page = await ctx.newPage();
54
+ await page.goto('http://127.0.0.1:3000/', { waitUntil: 'networkidle' });
55
+ await page.waitForSelector('[data-topo-canvas-aria]', { timeout: 15000, state: 'attached' });
56
+ await page.waitForTimeout(300);
57
+
58
+ const state = await page.evaluate(() => {
59
+ const svg = document.querySelector('[data-topo-canvas-aria]');
60
+ const patternsAttr = svg?.getAttribute('data-topo-respiratory-patterns') ?? null;
61
+ const hbeam = document.querySelector('[data-topo-canvas-scan-beam]');
62
+ const vbeam = document.querySelector('[data-topo-canvas-scan-beam-vertical]');
63
+ return {
64
+ patterns_attr: patternsAttr,
65
+ hbeam_y_dur: hbeam?.querySelector('animate[attributeName="y"]')?.getAttribute('dur') ?? null,
66
+ vbeam_x_dur: vbeam?.querySelector('animate[attributeName="x"]')?.getAttribute('dur') ?? null,
67
+ hbeam_present: !!hbeam,
68
+ vbeam_present: !!vbeam,
69
+ };
70
+ });
71
+
72
+ await browser.close();
73
+
74
+ let patterns = null;
75
+ try { patterns = JSON.parse(state.patterns_attr ?? ''); } catch {}
76
+
77
+ const sbpEntry = Array.isArray(patterns) ? patterns.find(p => p.name === 'scan-beam-pair') : null;
78
+ const gcd = (a, b) => (b === 0 ? a : gcd(b, a % b));
79
+
80
+ const expectedNames = ['background', 'canvas-brand-pair', 'chrome-strip', 'panel-pair', 'scan-beam-pair', 'title-block', 'triple-axis-pair', 'triple-axis-pair-8s', 'triple-axis-tier'];
81
+ const actualNames = Array.isArray(patterns) ? patterns.map(p => p.name).sort() : [];
82
+
83
+ const results = {
84
+ patterns_has_9_entries: Array.isArray(patterns) && patterns.length === 9,
85
+ pattern_names_complete: JSON.stringify(actualNames) === JSON.stringify(expectedNames),
86
+ scan_beam_pair_entry_present: !!sbpEntry,
87
+ cadences_23_30: !!sbpEntry && JSON.stringify(sbpEntry.cadences) === JSON.stringify([23, 30]),
88
+ anchors_horizontal_vertical: !!sbpEntry && JSON.stringify(sbpEntry.anchors) === JSON.stringify(['scan beam horizontal', 'scan beam vertical']),
89
+ shape_coprime_crosshair: sbpEntry?.shape === 'coprime-crosshair',
90
+ coprime_invariant_holds: gcd(23, 30) === 1,
91
+ pattern_matches_hbeam_dur: state.hbeam_y_dur === '30s' && Array.isArray(sbpEntry?.cadences) && sbpEntry.cadences.includes(30),
92
+ pattern_matches_vbeam_dur: state.vbeam_x_dur === '23s' && Array.isArray(sbpEntry?.cadences) && sbpEntry.cadences.includes(23),
93
+ both_beams_in_dom: state.hbeam_present && state.vbeam_present,
94
+ };
95
+ const ok = Object.values(results).every(Boolean);
96
+ console.log(`${ok ? '✅' : '❌'} R737 R717 patterns +1: scan-beam-pair (9th entry, first cross-family pattern from the ambient layer):`,
97
+ JSON.stringify(results, null, 2),
98
+ `\n sbp entry: ${JSON.stringify(sbpEntry)}`,
99
+ `\n gcd(23, 30) = ${gcd(23, 30)}`);
100
+ process.exit(ok ? 0 : 1);
@@ -89,7 +89,9 @@ try {
89
89
  parseError = String(e);
90
90
  }
91
91
 
92
- const expectedKeys = ['total_anchors', 'cadences', 'cadence_range_s', 'cadence_arc_s', 'axis_counts', 'patterns_count', 'tiers_count', 'triple_axis_pairs', 'triple_axis_solos'];
92
+ const expectedKeys = ['total_anchors', 'cadences', 'cadence_range_s', 'cadence_arc_s', 'axis_counts', 'patterns_count', 'tiers_count', 'triple_axis_pairs', 'triple_axis_solos',
93
+ /* R738 cross-family awareness fields */
94
+ 'breath_patterns', 'ambient_patterns', 'pattern_families', 'scan_beam_pairs', 'ambient_cadences'];
93
95
  const hasAllKeys = stats && expectedKeys.every(k => k in stats);
94
96
 
95
97
  const rolodexAnchorCount = rolodex && typeof rolodex === 'object'
@@ -103,6 +105,20 @@ const r717TriplePairCount = Array.isArray(patterns)
103
105
  ? patterns.filter(p => typeof p?.name === 'string' && p.name.startsWith('triple-axis-pair')).length
104
106
  : -1;
105
107
 
108
+ /* R738 — cross-family aware derivations from R717 patterns. The
109
+ * scan-beam-pair entry is the only ambient-family pattern today;
110
+ * everything else is breath. */
111
+ const ambientPatternNames = new Set(['scan-beam-pair']);
112
+ const breathPatternCount = Array.isArray(patterns)
113
+ ? patterns.filter(p => !ambientPatternNames.has(p?.name)).length : -1;
114
+ const ambientPatternCount = Array.isArray(patterns)
115
+ ? patterns.filter(p => ambientPatternNames.has(p?.name)).length : -1;
116
+ const scanBeamPairCount = Array.isArray(patterns)
117
+ ? patterns.filter(p => typeof p?.name === 'string' && p.name.startsWith('scan-beam-pair')).length : -1;
118
+ const ambientPatterns = Array.isArray(patterns)
119
+ ? patterns.filter(p => ambientPatternNames.has(p?.name)) : [];
120
+ const distinctAmbientCadences = new Set(ambientPatterns.flatMap(p => Array.isArray(p?.cadences) ? p.cadences : []));
121
+
106
122
  const axisCountSum = stats?.axis_counts
107
123
  ? (stats.axis_counts.single ?? 0) + (stats.axis_counts.dual ?? 0) + (stats.axis_counts.triple ?? 0)
108
124
  : -1;
@@ -122,6 +138,13 @@ const results = {
122
138
  tiers_count_matches_r720: stats?.tiers_count === (Array.isArray(tiers) ? tiers.length : -1),
123
139
  triple_axis_pairs_matches: stats?.triple_axis_pairs === r717TriplePairCount,
124
140
  dual_axis_tier_empty: stats?.axis_counts?.dual === 0,
141
+ /* R738 cross-family invariants */
142
+ breath_patterns_match_r717: stats?.breath_patterns === breathPatternCount,
143
+ ambient_patterns_match_r717: stats?.ambient_patterns === ambientPatternCount,
144
+ breath_plus_ambient_eq_total: (stats?.breath_patterns ?? -1) + (stats?.ambient_patterns ?? -2) === stats?.patterns_count,
145
+ pattern_families_eq_2: stats?.pattern_families === 2,
146
+ scan_beam_pairs_match_r717: stats?.scan_beam_pairs === scanBeamPairCount,
147
+ ambient_cadences_match_r717: stats?.ambient_cadences === distinctAmbientCadences.size,
125
148
  };
126
149
  const ok = Object.values(results).every(Boolean);
127
150
  console.log(`${ok ? '✅' : '❌'} R729 axis-count stats catalog (6th meta-doc — breath family hexagon):`,