@sleep2agi/agent-network-dashboard 0.6.1-preview.3 → 0.6.3-preview.0

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 (733) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/build/chunks/{0fay_0r~8dsa._.js → 0eys_0hzxj57._.js} +167 -167
  3. package/.next/build/chunks/{0fay_0r~8dsa._.js.map → 0eys_0hzxj57._.js.map} +42 -42
  4. package/.next/build/chunks/{[root-of-the-server]__0x4oi4u._.js → [root-of-the-server]__02~~60i._.js} +3 -3
  5. package/.next/build/chunks/{[root-of-the-server]__0n_4g0t._.js → [root-of-the-server]__0jzknqm._.js} +7 -7
  6. package/.next/build/chunks/{[root-of-the-server]__0n_4g0t._.js.map → [root-of-the-server]__0jzknqm._.js.map} +1 -1
  7. package/.next/build/chunks/{[turbopack-node]_transforms_postcss_ts_0jl7kg7._.js → [turbopack-node]_transforms_postcss_ts_0f_tr7e._.js} +4 -4
  8. package/.next/build/postcss.js +4 -4
  9. package/.next/build-manifest.json +8 -8
  10. package/.next/cache/.previewinfo +1 -1
  11. package/.next/cache/.rscinfo +1 -1
  12. package/.next/diagnostics/route-bundle-stats.json +168 -168
  13. package/.next/fallback-build-manifest.json +3 -3
  14. package/.next/prerender-manifest.json +3 -3
  15. package/.next/required-server-files.js +2 -2
  16. package/.next/required-server-files.json +2 -2
  17. package/.next/server/app/_global-error/page/build-manifest.json +5 -5
  18. package/.next/server/app/_global-error/page.js +9 -9
  19. package/.next/server/app/_global-error/page.js.nft.json +1 -1
  20. package/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  21. package/.next/server/app/_global-error.html +1 -1
  22. package/.next/server/app/_global-error.rsc +8 -8
  23. package/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +2 -2
  24. package/.next/server/app/_global-error.segments/_full.segment.rsc +8 -8
  25. package/.next/server/app/_global-error.segments/_head.segment.rsc +4 -4
  26. package/.next/server/app/_global-error.segments/_index.segment.rsc +3 -3
  27. package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  28. package/.next/server/app/_not-found/page/build-manifest.json +5 -5
  29. package/.next/server/app/_not-found/page/next-font-manifest.json +1 -1
  30. package/.next/server/app/_not-found/page.js +12 -12
  31. package/.next/server/app/_not-found/page.js.nft.json +1 -1
  32. package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  33. package/.next/server/app/_not-found.html +2 -2
  34. package/.next/server/app/_not-found.rsc +12 -12
  35. package/.next/server/app/_not-found.segments/_full.segment.rsc +12 -12
  36. package/.next/server/app/_not-found.segments/_head.segment.rsc +4 -4
  37. package/.next/server/app/_not-found.segments/_index.segment.rsc +7 -7
  38. package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +2 -2
  39. package/.next/server/app/_not-found.segments/_not-found.segment.rsc +3 -3
  40. package/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
  41. package/.next/server/app/admin/page/build-manifest.json +5 -5
  42. package/.next/server/app/admin/page/next-font-manifest.json +1 -1
  43. package/.next/server/app/admin/page.js +13 -13
  44. package/.next/server/app/admin/page.js.nft.json +1 -1
  45. package/.next/server/app/admin/page_client-reference-manifest.js +1 -1
  46. package/.next/server/app/admin.html +2 -2
  47. package/.next/server/app/admin.rsc +14 -14
  48. package/.next/server/app/admin.segments/_full.segment.rsc +14 -14
  49. package/.next/server/app/admin.segments/_head.segment.rsc +4 -4
  50. package/.next/server/app/admin.segments/_index.segment.rsc +7 -7
  51. package/.next/server/app/admin.segments/_tree.segment.rsc +1 -1
  52. package/.next/server/app/admin.segments/admin/__PAGE__.segment.rsc +4 -4
  53. package/.next/server/app/admin.segments/admin.segment.rsc +3 -3
  54. package/.next/server/app/api/anet/config/route.js +6 -6
  55. package/.next/server/app/api/anet/config/route.js.nft.json +1 -1
  56. package/.next/server/app/api/auth/login/route.js +7 -7
  57. package/.next/server/app/api/auth/login/route.js.nft.json +1 -1
  58. package/.next/server/app/api/auth/logout/route.js +7 -7
  59. package/.next/server/app/api/auth/logout/route.js.nft.json +1 -1
  60. package/.next/server/app/api/auth/v3/route.js +7 -7
  61. package/.next/server/app/api/auth/v3/route.js.nft.json +1 -1
  62. package/.next/server/app/api/hub/audit-log/route.js +6 -6
  63. package/.next/server/app/api/hub/audit-log/route.js.nft.json +1 -1
  64. package/.next/server/app/api/hub/auth/route.js +7 -7
  65. package/.next/server/app/api/hub/auth/route.js.nft.json +1 -1
  66. package/.next/server/app/api/hub/broadcast/route.js +6 -6
  67. package/.next/server/app/api/hub/broadcast/route.js.nft.json +1 -1
  68. package/.next/server/app/api/hub/events/route.js +6 -6
  69. package/.next/server/app/api/hub/events/route.js.nft.json +1 -1
  70. package/.next/server/app/api/hub/health/route.js +6 -6
  71. package/.next/server/app/api/hub/health/route.js.nft.json +1 -1
  72. package/.next/server/app/api/hub/inbox/route.js +6 -6
  73. package/.next/server/app/api/hub/inbox/route.js.nft.json +1 -1
  74. package/.next/server/app/api/hub/messages/route.js +6 -6
  75. package/.next/server/app/api/hub/messages/route.js.nft.json +1 -1
  76. package/.next/server/app/api/hub/networks/route.js +6 -6
  77. package/.next/server/app/api/hub/networks/route.js.nft.json +1 -1
  78. package/.next/server/app/api/hub/nodes/route.js +6 -6
  79. package/.next/server/app/api/hub/nodes/route.js.nft.json +1 -1
  80. package/.next/server/app/api/hub/register/route.js +6 -6
  81. package/.next/server/app/api/hub/register/route.js.nft.json +1 -1
  82. package/.next/server/app/api/hub/send/route.js +6 -6
  83. package/.next/server/app/api/hub/send/route.js.nft.json +1 -1
  84. package/.next/server/app/api/hub/server/[hostname]/agents/route.js +6 -6
  85. package/.next/server/app/api/hub/server/[hostname]/agents/route.js.nft.json +1 -1
  86. package/.next/server/app/api/hub/server/[hostname]/health/route.js +6 -6
  87. package/.next/server/app/api/hub/server/[hostname]/health/route.js.nft.json +1 -1
  88. package/.next/server/app/api/hub/server-logs/route.js +6 -6
  89. package/.next/server/app/api/hub/server-logs/route.js.nft.json +1 -1
  90. package/.next/server/app/api/hub/servers/route.js +6 -6
  91. package/.next/server/app/api/hub/servers/route.js.nft.json +1 -1
  92. package/.next/server/app/api/hub/session/route.js +6 -6
  93. package/.next/server/app/api/hub/session/route.js.nft.json +1 -1
  94. package/.next/server/app/api/hub/stats/route.js +6 -6
  95. package/.next/server/app/api/hub/stats/route.js.nft.json +1 -1
  96. package/.next/server/app/api/hub/status/route.js +6 -6
  97. package/.next/server/app/api/hub/status/route.js.nft.json +1 -1
  98. package/.next/server/app/api/hub/task-events/route.js +6 -6
  99. package/.next/server/app/api/hub/task-events/route.js.nft.json +1 -1
  100. package/.next/server/app/api/hub/tasks/route.js +6 -6
  101. package/.next/server/app/api/hub/tasks/route.js.nft.json +1 -1
  102. package/.next/server/app/api/hub/tmux/route.js +6 -6
  103. package/.next/server/app/api/hub/tmux/route.js.nft.json +1 -1
  104. package/.next/server/app/api/hub/tokens/route.js +6 -6
  105. package/.next/server/app/api/hub/tokens/route.js.nft.json +1 -1
  106. package/.next/server/app/api/hub/upload/route.js +6 -6
  107. package/.next/server/app/api/hub/upload/route.js.nft.json +1 -1
  108. package/.next/server/app/favicon.ico/route.js +6 -6
  109. package/.next/server/app/favicon.ico/route.js.nft.json +1 -1
  110. package/.next/server/app/index.html +2 -2
  111. package/.next/server/app/index.rsc +14 -14
  112. package/.next/server/app/index.segments/__PAGE__.segment.rsc +4 -4
  113. package/.next/server/app/index.segments/_full.segment.rsc +14 -14
  114. package/.next/server/app/index.segments/_head.segment.rsc +4 -4
  115. package/.next/server/app/index.segments/_index.segment.rsc +7 -7
  116. package/.next/server/app/index.segments/_tree.segment.rsc +1 -1
  117. package/.next/server/app/login/page/build-manifest.json +5 -5
  118. package/.next/server/app/login/page/next-font-manifest.json +1 -1
  119. package/.next/server/app/login/page.js +13 -13
  120. package/.next/server/app/login/page.js.nft.json +1 -1
  121. package/.next/server/app/login/page_client-reference-manifest.js +1 -1
  122. package/.next/server/app/login.html +2 -2
  123. package/.next/server/app/login.rsc +14 -14
  124. package/.next/server/app/login.segments/_full.segment.rsc +14 -14
  125. package/.next/server/app/login.segments/_head.segment.rsc +4 -4
  126. package/.next/server/app/login.segments/_index.segment.rsc +7 -7
  127. package/.next/server/app/login.segments/_tree.segment.rsc +1 -1
  128. package/.next/server/app/login.segments/login/__PAGE__.segment.rsc +4 -4
  129. package/.next/server/app/login.segments/login.segment.rsc +3 -3
  130. package/.next/server/app/logs/page/build-manifest.json +5 -5
  131. package/.next/server/app/logs/page/next-font-manifest.json +1 -1
  132. package/.next/server/app/logs/page.js +13 -13
  133. package/.next/server/app/logs/page.js.nft.json +1 -1
  134. package/.next/server/app/logs/page_client-reference-manifest.js +1 -1
  135. package/.next/server/app/logs.html +2 -2
  136. package/.next/server/app/logs.rsc +14 -14
  137. package/.next/server/app/logs.segments/_full.segment.rsc +14 -14
  138. package/.next/server/app/logs.segments/_head.segment.rsc +4 -4
  139. package/.next/server/app/logs.segments/_index.segment.rsc +7 -7
  140. package/.next/server/app/logs.segments/_tree.segment.rsc +1 -1
  141. package/.next/server/app/logs.segments/logs/__PAGE__.segment.rsc +4 -4
  142. package/.next/server/app/logs.segments/logs.segment.rsc +3 -3
  143. package/.next/server/app/manifest.webmanifest/route.js +6 -6
  144. package/.next/server/app/manifest.webmanifest/route.js.nft.json +1 -1
  145. package/.next/server/app/messages/page/build-manifest.json +5 -5
  146. package/.next/server/app/messages/page/next-font-manifest.json +1 -1
  147. package/.next/server/app/messages/page.js +13 -13
  148. package/.next/server/app/messages/page.js.nft.json +1 -1
  149. package/.next/server/app/messages/page_client-reference-manifest.js +1 -1
  150. package/.next/server/app/messages.html +2 -2
  151. package/.next/server/app/messages.rsc +14 -14
  152. package/.next/server/app/messages.segments/_full.segment.rsc +14 -14
  153. package/.next/server/app/messages.segments/_head.segment.rsc +4 -4
  154. package/.next/server/app/messages.segments/_index.segment.rsc +7 -7
  155. package/.next/server/app/messages.segments/_tree.segment.rsc +1 -1
  156. package/.next/server/app/messages.segments/messages/__PAGE__.segment.rsc +4 -4
  157. package/.next/server/app/messages.segments/messages.segment.rsc +3 -3
  158. package/.next/server/app/node/page/build-manifest.json +5 -5
  159. package/.next/server/app/node/page/next-font-manifest.json +1 -1
  160. package/.next/server/app/node/page.js +13 -13
  161. package/.next/server/app/node/page.js.nft.json +1 -1
  162. package/.next/server/app/node/page_client-reference-manifest.js +1 -1
  163. package/.next/server/app/node.html +2 -2
  164. package/.next/server/app/node.rsc +14 -14
  165. package/.next/server/app/node.segments/_full.segment.rsc +14 -14
  166. package/.next/server/app/node.segments/_head.segment.rsc +4 -4
  167. package/.next/server/app/node.segments/_index.segment.rsc +7 -7
  168. package/.next/server/app/node.segments/_tree.segment.rsc +1 -1
  169. package/.next/server/app/node.segments/node/__PAGE__.segment.rsc +4 -4
  170. package/.next/server/app/node.segments/node.segment.rsc +3 -3
  171. package/.next/server/app/nodes/page/build-manifest.json +5 -5
  172. package/.next/server/app/nodes/page/next-font-manifest.json +1 -1
  173. package/.next/server/app/nodes/page.js +13 -13
  174. package/.next/server/app/nodes/page.js.nft.json +1 -1
  175. package/.next/server/app/nodes/page_client-reference-manifest.js +1 -1
  176. package/.next/server/app/nodes.html +2 -2
  177. package/.next/server/app/nodes.rsc +14 -14
  178. package/.next/server/app/nodes.segments/_full.segment.rsc +14 -14
  179. package/.next/server/app/nodes.segments/_head.segment.rsc +4 -4
  180. package/.next/server/app/nodes.segments/_index.segment.rsc +7 -7
  181. package/.next/server/app/nodes.segments/_tree.segment.rsc +1 -1
  182. package/.next/server/app/nodes.segments/nodes/__PAGE__.segment.rsc +4 -4
  183. package/.next/server/app/nodes.segments/nodes.segment.rsc +3 -3
  184. package/.next/server/app/page/build-manifest.json +5 -5
  185. package/.next/server/app/page/next-font-manifest.json +1 -1
  186. package/.next/server/app/page.js +13 -13
  187. package/.next/server/app/page.js.nft.json +1 -1
  188. package/.next/server/app/page_client-reference-manifest.js +1 -1
  189. package/.next/server/app/server-logs/page/build-manifest.json +5 -5
  190. package/.next/server/app/server-logs/page/next-font-manifest.json +1 -1
  191. package/.next/server/app/server-logs/page.js +13 -13
  192. package/.next/server/app/server-logs/page.js.nft.json +1 -1
  193. package/.next/server/app/server-logs/page_client-reference-manifest.js +1 -1
  194. package/.next/server/app/server-logs.html +2 -2
  195. package/.next/server/app/server-logs.rsc +14 -14
  196. package/.next/server/app/server-logs.segments/_full.segment.rsc +14 -14
  197. package/.next/server/app/server-logs.segments/_head.segment.rsc +4 -4
  198. package/.next/server/app/server-logs.segments/_index.segment.rsc +7 -7
  199. package/.next/server/app/server-logs.segments/_tree.segment.rsc +1 -1
  200. package/.next/server/app/server-logs.segments/server-logs/__PAGE__.segment.rsc +4 -4
  201. package/.next/server/app/server-logs.segments/server-logs.segment.rsc +3 -3
  202. package/.next/server/app/servers/page/build-manifest.json +5 -5
  203. package/.next/server/app/servers/page/next-font-manifest.json +1 -1
  204. package/.next/server/app/servers/page.js +13 -13
  205. package/.next/server/app/servers/page.js.nft.json +1 -1
  206. package/.next/server/app/servers/page_client-reference-manifest.js +1 -1
  207. package/.next/server/app/servers.html +2 -2
  208. package/.next/server/app/servers.rsc +14 -14
  209. package/.next/server/app/servers.segments/_full.segment.rsc +14 -14
  210. package/.next/server/app/servers.segments/_head.segment.rsc +4 -4
  211. package/.next/server/app/servers.segments/_index.segment.rsc +7 -7
  212. package/.next/server/app/servers.segments/_tree.segment.rsc +1 -1
  213. package/.next/server/app/servers.segments/servers/__PAGE__.segment.rsc +4 -4
  214. package/.next/server/app/servers.segments/servers.segment.rsc +3 -3
  215. package/.next/server/app/settings/networks/page/build-manifest.json +5 -5
  216. package/.next/server/app/settings/networks/page/next-font-manifest.json +1 -1
  217. package/.next/server/app/settings/networks/page.js +13 -13
  218. package/.next/server/app/settings/networks/page.js.nft.json +1 -1
  219. package/.next/server/app/settings/networks/page_client-reference-manifest.js +1 -1
  220. package/.next/server/app/settings/networks.html +2 -2
  221. package/.next/server/app/settings/networks.rsc +14 -14
  222. package/.next/server/app/settings/networks.segments/_full.segment.rsc +14 -14
  223. package/.next/server/app/settings/networks.segments/_head.segment.rsc +4 -4
  224. package/.next/server/app/settings/networks.segments/_index.segment.rsc +7 -7
  225. package/.next/server/app/settings/networks.segments/_tree.segment.rsc +1 -1
  226. package/.next/server/app/settings/networks.segments/settings/networks/__PAGE__.segment.rsc +4 -4
  227. package/.next/server/app/settings/networks.segments/settings/networks.segment.rsc +3 -3
  228. package/.next/server/app/settings/networks.segments/settings.segment.rsc +3 -3
  229. package/.next/server/app/settings/page/build-manifest.json +5 -5
  230. package/.next/server/app/settings/page/next-font-manifest.json +1 -1
  231. package/.next/server/app/settings/page.js +13 -13
  232. package/.next/server/app/settings/page.js.nft.json +1 -1
  233. package/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  234. package/.next/server/app/settings/tokens/page/build-manifest.json +5 -5
  235. package/.next/server/app/settings/tokens/page/next-font-manifest.json +1 -1
  236. package/.next/server/app/settings/tokens/page.js +13 -13
  237. package/.next/server/app/settings/tokens/page.js.nft.json +1 -1
  238. package/.next/server/app/settings/tokens/page_client-reference-manifest.js +1 -1
  239. package/.next/server/app/settings/tokens.html +2 -2
  240. package/.next/server/app/settings/tokens.rsc +14 -14
  241. package/.next/server/app/settings/tokens.segments/_full.segment.rsc +14 -14
  242. package/.next/server/app/settings/tokens.segments/_head.segment.rsc +4 -4
  243. package/.next/server/app/settings/tokens.segments/_index.segment.rsc +7 -7
  244. package/.next/server/app/settings/tokens.segments/_tree.segment.rsc +1 -1
  245. package/.next/server/app/settings/tokens.segments/settings/tokens/__PAGE__.segment.rsc +4 -4
  246. package/.next/server/app/settings/tokens.segments/settings/tokens.segment.rsc +3 -3
  247. package/.next/server/app/settings/tokens.segments/settings.segment.rsc +3 -3
  248. package/.next/server/app/settings.html +2 -2
  249. package/.next/server/app/settings.rsc +14 -14
  250. package/.next/server/app/settings.segments/_full.segment.rsc +14 -14
  251. package/.next/server/app/settings.segments/_head.segment.rsc +4 -4
  252. package/.next/server/app/settings.segments/_index.segment.rsc +7 -7
  253. package/.next/server/app/settings.segments/_tree.segment.rsc +1 -1
  254. package/.next/server/app/settings.segments/settings/__PAGE__.segment.rsc +4 -4
  255. package/.next/server/app/settings.segments/settings.segment.rsc +3 -3
  256. package/.next/server/app/tasks/[id]/page/build-manifest.json +5 -5
  257. package/.next/server/app/tasks/[id]/page/next-font-manifest.json +1 -1
  258. package/.next/server/app/tasks/[id]/page.js +13 -13
  259. package/.next/server/app/tasks/[id]/page.js.nft.json +1 -1
  260. package/.next/server/app/tasks/[id]/page_client-reference-manifest.js +1 -1
  261. package/.next/server/app/tasks/page/build-manifest.json +5 -5
  262. package/.next/server/app/tasks/page/next-font-manifest.json +1 -1
  263. package/.next/server/app/tasks/page.js +13 -13
  264. package/.next/server/app/tasks/page.js.nft.json +1 -1
  265. package/.next/server/app/tasks/page_client-reference-manifest.js +1 -1
  266. package/.next/server/app/tasks.html +2 -2
  267. package/.next/server/app/tasks.rsc +14 -14
  268. package/.next/server/app/tasks.segments/_full.segment.rsc +14 -14
  269. package/.next/server/app/tasks.segments/_head.segment.rsc +4 -4
  270. package/.next/server/app/tasks.segments/_index.segment.rsc +7 -7
  271. package/.next/server/app/tasks.segments/_tree.segment.rsc +1 -1
  272. package/.next/server/app/tasks.segments/tasks/__PAGE__.segment.rsc +4 -4
  273. package/.next/server/app/tasks.segments/tasks.segment.rsc +3 -3
  274. package/.next/server/chunks/0ctr__next-internal_server_app_api_anet_config_route_actions_0vfnpq~.js +3 -0
  275. package/.next/server/chunks/0ctr__next-internal_server_app_api_auth_logout_route_actions_0mnkdb1.js +3 -0
  276. package/.next/server/chunks/0ctr__next-internal_server_app_api_hub_audit-log_route_actions_01da9km.js +3 -0
  277. package/.next/server/chunks/0ctr__next-internal_server_app_api_hub_broadcast_route_actions_0-mzp~m.js +3 -0
  278. package/.next/server/chunks/0ctr__next-internal_server_app_api_hub_messages_route_actions_0yqdey-.js +3 -0
  279. package/.next/server/chunks/0ctr__next-internal_server_app_api_hub_networks_route_actions_08zwxgz.js +3 -0
  280. package/.next/server/chunks/0ctr__next-internal_server_app_api_hub_register_route_actions_059ib7..js +3 -0
  281. package/.next/server/chunks/0ctr__next-internal_server_app_api_hub_server-logs_route_actions_0.lpvmu.js +3 -0
  282. package/.next/server/chunks/0ctr__next-internal_server_app_api_hub_servers_route_actions_0n9er6w.js +3 -0
  283. package/.next/server/chunks/0ctr__next-internal_server_app_api_hub_session_route_actions_0clahzh.js +3 -0
  284. package/.next/server/chunks/0ctr__next-internal_server_app_api_hub_task-events_route_actions_0eupv~7.js +3 -0
  285. package/.next/server/chunks/0ctr__next-internal_server_app_manifest_webmanifest_route_actions_0zwabxo.js +3 -0
  286. package/.next/server/chunks/0eys_next_0qdv7h5._.js +10 -0
  287. package/.next/server/chunks/{0fay_next_0~gi6t-._.js.map → 0eys_next_0qdv7h5._.js.map} +1 -1
  288. package/.next/server/chunks/0eys_next_dist_0k3eipb._.js +18 -0
  289. package/.next/server/chunks/{0fay_next_dist_11-6gau._.js.map → 0eys_next_dist_0k3eipb._.js.map} +1 -1
  290. package/.next/server/chunks/0eys_next_dist_esm_build_templates_app-route_0squ2oo.js +3 -0
  291. package/.next/server/chunks/{0fay_next_dist_esm_build_templates_app-route_0qdjyrf.js.map → 0eys_next_dist_esm_build_templates_app-route_0squ2oo.js.map} +1 -1
  292. package/.next/server/chunks/0n8__next-internal_server_app_api_hub_server_[hostname]_agents_route_actions_0td~w-3.js +3 -0
  293. package/.next/server/chunks/0n8__next-internal_server_app_api_hub_server_[hostname]_health_route_actions_0-cx2k4.js +3 -0
  294. package/.next/server/chunks/{[root-of-the-server]__0tagex-._.js → [root-of-the-server]__0030c3d._.js} +2 -2
  295. package/.next/server/chunks/{[root-of-the-server]__0tagex-._.js.map → [root-of-the-server]__0030c3d._.js.map} +1 -1
  296. package/.next/server/chunks/[root-of-the-server]__006ofg~._.js +3 -0
  297. package/.next/server/chunks/{[root-of-the-server]__0pexus1._.js.map → [root-of-the-server]__006ofg~._.js.map} +1 -1
  298. package/.next/server/chunks/[root-of-the-server]__00hv4s.._.js +3 -0
  299. package/.next/server/chunks/{[root-of-the-server]__08ujkqu._.js.map → [root-of-the-server]__00hv4s.._.js.map} +1 -1
  300. package/.next/server/chunks/{[root-of-the-server]__0-sofms._.js → [root-of-the-server]__01cxv~5._.js} +2 -2
  301. package/.next/server/chunks/{[root-of-the-server]__0-sofms._.js.map → [root-of-the-server]__01cxv~5._.js.map} +1 -1
  302. package/.next/server/chunks/[root-of-the-server]__03kos9q._.js +3 -0
  303. package/.next/server/chunks/{[root-of-the-server]__0eo1nu1._.js.map → [root-of-the-server]__03kos9q._.js.map} +1 -1
  304. package/.next/server/chunks/[root-of-the-server]__03oze7j._.js +3 -0
  305. package/.next/server/chunks/{[root-of-the-server]__08~3zxb._.js.map → [root-of-the-server]__03oze7j._.js.map} +1 -1
  306. package/.next/server/chunks/[root-of-the-server]__04cd_-f._.js +3 -0
  307. package/.next/server/chunks/{[root-of-the-server]__0fhk9i~._.js.map → [root-of-the-server]__04cd_-f._.js.map} +1 -1
  308. package/.next/server/chunks/[root-of-the-server]__04g4e2s._.js +3 -0
  309. package/.next/server/chunks/{[root-of-the-server]__0ueawsc._.js.map → [root-of-the-server]__04g4e2s._.js.map} +1 -1
  310. package/.next/server/chunks/[root-of-the-server]__06gsfmz._.js +3 -0
  311. package/.next/server/chunks/{[root-of-the-server]__05svc~b._.js.map → [root-of-the-server]__06gsfmz._.js.map} +1 -1
  312. package/.next/server/chunks/[root-of-the-server]__06ze71n._.js +6 -0
  313. package/.next/server/chunks/{[root-of-the-server]__0zdtu2z._.js.map → [root-of-the-server]__06ze71n._.js.map} +1 -1
  314. package/.next/server/chunks/[root-of-the-server]__0afgpqa._.js +3 -0
  315. package/.next/server/chunks/{[root-of-the-server]__117rkf4._.js.map → [root-of-the-server]__0afgpqa._.js.map} +1 -1
  316. package/.next/server/chunks/[root-of-the-server]__0c36sc~._.js +3 -0
  317. package/.next/server/chunks/{[root-of-the-server]__0nv9cka._.js.map → [root-of-the-server]__0c36sc~._.js.map} +1 -1
  318. package/.next/server/chunks/[root-of-the-server]__0ef15nv._.js +3 -0
  319. package/.next/server/chunks/{[root-of-the-server]__09k42_1._.js.map → [root-of-the-server]__0ef15nv._.js.map} +1 -1
  320. package/.next/server/chunks/[root-of-the-server]__0fk~j-f._.js +3 -0
  321. package/.next/server/chunks/{[root-of-the-server]__10h2vss._.js.map → [root-of-the-server]__0fk~j-f._.js.map} +1 -1
  322. package/.next/server/chunks/[root-of-the-server]__0jd4sw5._.js +3 -0
  323. package/.next/server/chunks/{[root-of-the-server]__0u9k36p._.js.map → [root-of-the-server]__0jd4sw5._.js.map} +1 -1
  324. package/.next/server/chunks/[root-of-the-server]__0kp05ch._.js +3 -0
  325. package/.next/server/chunks/{[root-of-the-server]__0gv71_4._.js.map → [root-of-the-server]__0kp05ch._.js.map} +1 -1
  326. package/.next/server/chunks/[root-of-the-server]__0ncl1y5._.js +3 -0
  327. package/.next/server/chunks/{[root-of-the-server]__082myf4._.js.map → [root-of-the-server]__0ncl1y5._.js.map} +1 -1
  328. package/.next/server/chunks/[root-of-the-server]__0p77uu0._.js +3 -0
  329. package/.next/server/chunks/{[root-of-the-server]__020re6k._.js.map → [root-of-the-server]__0p77uu0._.js.map} +1 -1
  330. package/.next/server/chunks/[root-of-the-server]__0q5wxvv._.js +3 -0
  331. package/.next/server/chunks/{[root-of-the-server]__07y6z3i._.js.map → [root-of-the-server]__0q5wxvv._.js.map} +1 -1
  332. package/.next/server/chunks/[root-of-the-server]__0q9lm4b._.js +3 -0
  333. package/.next/server/chunks/{[root-of-the-server]__0x-1-0p._.js.map → [root-of-the-server]__0q9lm4b._.js.map} +1 -1
  334. package/.next/server/chunks/[root-of-the-server]__0qygdtt._.js +20 -0
  335. package/.next/server/chunks/{[root-of-the-server]__0qk0gp0._.js.map → [root-of-the-server]__0qygdtt._.js.map} +1 -1
  336. package/.next/server/chunks/{[root-of-the-server]__0ynw8_y._.js → [root-of-the-server]__0r.6ku0._.js} +2 -2
  337. package/.next/server/chunks/{[root-of-the-server]__0ynw8_y._.js.map → [root-of-the-server]__0r.6ku0._.js.map} +1 -1
  338. package/.next/server/chunks/[root-of-the-server]__0r9rxeu._.js +3 -0
  339. package/.next/server/chunks/{[root-of-the-server]__02ul5s6._.js.map → [root-of-the-server]__0r9rxeu._.js.map} +1 -1
  340. package/.next/server/chunks/[root-of-the-server]__0sk08ba._.js +3 -0
  341. package/.next/server/chunks/{[root-of-the-server]__12v7u~.._.js.map → [root-of-the-server]__0sk08ba._.js.map} +1 -1
  342. package/.next/server/chunks/{[root-of-the-server]__082myf4._.js → [root-of-the-server]__0t-zv8i._.js} +2 -2
  343. package/.next/server/chunks/{[root-of-the-server]__029ul6s._.js.map → [root-of-the-server]__0t-zv8i._.js.map} +1 -1
  344. package/.next/server/chunks/[root-of-the-server]__0ucvqha._.js +3 -0
  345. package/.next/server/chunks/{[root-of-the-server]__0xtidm7._.js.map → [root-of-the-server]__0ucvqha._.js.map} +1 -1
  346. package/.next/server/chunks/[root-of-the-server]__0wrd5yg._.js +3 -0
  347. package/.next/server/chunks/{[root-of-the-server]__0jq16g2._.js.map → [root-of-the-server]__0wrd5yg._.js.map} +1 -1
  348. package/.next/server/chunks/{[root-of-the-server]__0s21lce._.js → [root-of-the-server]__0xyksgx._.js} +2 -2
  349. package/.next/server/chunks/{[root-of-the-server]__0s21lce._.js.map → [root-of-the-server]__0xyksgx._.js.map} +1 -1
  350. package/.next/server/chunks/[root-of-the-server]__0zy55xw._.js +3 -0
  351. package/.next/server/chunks/{[root-of-the-server]__07jm_~x._.js.map → [root-of-the-server]__0zy55xw._.js.map} +1 -1
  352. package/.next/server/chunks/[root-of-the-server]__0~7jz1t._.js +3 -0
  353. package/.next/server/chunks/{[root-of-the-server]__00b~z8u._.js.map → [root-of-the-server]__0~7jz1t._.js.map} +1 -1
  354. package/.next/server/chunks/[root-of-the-server]__117_h7d._.js +3 -0
  355. package/.next/server/chunks/{[root-of-the-server]__03v_zkf._.js.map → [root-of-the-server]__117_h7d._.js.map} +1 -1
  356. package/.next/server/chunks/p248-dash-release__next-internal_server_app_api_auth_login_route_actions_0p0o8hb.js +3 -0
  357. package/.next/server/chunks/p248-dash-release__next-internal_server_app_api_auth_v3_route_actions_0gygcdb.js +3 -0
  358. package/.next/server/chunks/p248-dash-release__next-internal_server_app_api_hub_auth_route_actions_0qldbc..js +3 -0
  359. package/.next/server/chunks/p248-dash-release__next-internal_server_app_api_hub_events_route_actions_0dif~y4.js +3 -0
  360. package/.next/server/chunks/p248-dash-release__next-internal_server_app_api_hub_health_route_actions_006d2v..js +3 -0
  361. package/.next/server/chunks/p248-dash-release__next-internal_server_app_api_hub_inbox_route_actions_0hzbelp.js +3 -0
  362. package/.next/server/chunks/p248-dash-release__next-internal_server_app_api_hub_nodes_route_actions_0.v335w.js +3 -0
  363. package/.next/server/chunks/p248-dash-release__next-internal_server_app_api_hub_send_route_actions_0-c6c80.js +3 -0
  364. package/.next/server/chunks/p248-dash-release__next-internal_server_app_api_hub_stats_route_actions_10r2dnb.js +3 -0
  365. package/.next/server/chunks/p248-dash-release__next-internal_server_app_api_hub_status_route_actions_029-bam.js +3 -0
  366. package/.next/server/chunks/p248-dash-release__next-internal_server_app_api_hub_tasks_route_actions_03j_ebz.js +3 -0
  367. package/.next/server/chunks/p248-dash-release__next-internal_server_app_api_hub_tmux_route_actions_0w~1rqo.js +3 -0
  368. package/.next/server/chunks/p248-dash-release__next-internal_server_app_api_hub_tokens_route_actions_0u1pfzb.js +3 -0
  369. package/.next/server/chunks/p248-dash-release__next-internal_server_app_api_hub_upload_route_actions_0n4mpaq.js +3 -0
  370. package/.next/server/chunks/p248-dash-release__next-internal_server_app_favicon_ico_route_actions_0upntbn.js +3 -0
  371. package/.next/server/chunks/ssr/0ctr__next-internal_server_app_settings_networks_page_actions_0722nti.js +3 -0
  372. package/.next/server/chunks/ssr/0eys_0.9fypy._.js +3 -0
  373. package/.next/server/chunks/ssr/{0fay_0i0k_78._.js.map → 0eys_0.9fypy._.js.map} +1 -1
  374. package/.next/server/chunks/ssr/0eys_0cilv2n._.js +3 -0
  375. package/.next/server/chunks/ssr/{0fay_0lnmf7_._.js.map → 0eys_0cilv2n._.js.map} +1 -1
  376. package/.next/server/chunks/ssr/0eys_0o_uhv8._.js +33 -0
  377. package/.next/server/chunks/ssr/{0fay_11~wl50._.js.map → 0eys_0o_uhv8._.js.map} +1 -1
  378. package/.next/server/chunks/ssr/0eys_0v03z7d._.js +3 -0
  379. package/.next/server/chunks/ssr/{0fay_08pxk8x._.js.map → 0eys_0v03z7d._.js.map} +1 -1
  380. package/.next/server/chunks/ssr/0eys_next_0_~e226._.js +6 -0
  381. package/.next/server/chunks/ssr/{0fay_next_0z8zhin._.js.map → 0eys_next_0_~e226._.js.map} +1 -1
  382. package/.next/server/chunks/ssr/0eys_next_dist_0temmfx._.js +6 -0
  383. package/.next/server/chunks/ssr/{0fay_next_dist_0r2x3gv._.js.map → 0eys_next_dist_0temmfx._.js.map} +1 -1
  384. package/.next/server/chunks/ssr/0eys_next_dist_client_components_0j3h5if._.js +3 -0
  385. package/.next/server/chunks/ssr/{0fay_next_dist_client_components_13wn._w._.js.map → 0eys_next_dist_client_components_0j3h5if._.js.map} +1 -1
  386. package/.next/server/chunks/ssr/0eys_next_dist_client_components_builtin_forbidden_0h3lxo-.js +3 -0
  387. package/.next/server/chunks/ssr/{0fay_next_dist_client_components_builtin_forbidden_05adsb4.js.map → 0eys_next_dist_client_components_builtin_forbidden_0h3lxo-.js.map} +1 -1
  388. package/.next/server/chunks/ssr/0eys_next_dist_client_components_builtin_global-error_05on~t..js +3 -0
  389. package/.next/server/chunks/ssr/{0fay_next_dist_client_components_builtin_global-error_0tra....js.map → 0eys_next_dist_client_components_builtin_global-error_05on~t..js.map} +1 -1
  390. package/.next/server/chunks/ssr/0eys_next_dist_client_components_builtin_unauthorized_0jjp4gf.js +3 -0
  391. package/.next/server/chunks/ssr/{0fay_next_dist_client_components_builtin_unauthorized_02h58.1.js.map → 0eys_next_dist_client_components_builtin_unauthorized_0jjp4gf.js.map} +1 -1
  392. package/.next/server/chunks/ssr/{0fay_next_dist_esm_build_templates_app-page_0235~_p.js → 0eys_next_dist_esm_build_templates_app-page_0-rhsex.js} +3 -3
  393. package/.next/server/chunks/ssr/{0fay_next_dist_esm_build_templates_app-page_08qwtei.js.map → 0eys_next_dist_esm_build_templates_app-page_0-rhsex.js.map} +1 -1
  394. package/.next/server/chunks/ssr/0eys_next_dist_esm_build_templates_app-page_038w~o4.js +4 -0
  395. package/.next/server/chunks/ssr/{0fay_next_dist_esm_build_templates_app-page_0nb2zlr.js.map → 0eys_next_dist_esm_build_templates_app-page_038w~o4.js.map} +1 -1
  396. package/.next/server/chunks/ssr/{0fay_next_dist_esm_build_templates_app-page_0sve_5e.js → 0eys_next_dist_esm_build_templates_app-page_097i4vb.js} +3 -3
  397. package/.next/server/chunks/ssr/{0fay_next_dist_esm_build_templates_app-page_0vu1zub.js.map → 0eys_next_dist_esm_build_templates_app-page_097i4vb.js.map} +1 -1
  398. package/.next/server/chunks/ssr/{0fay_next_dist_esm_build_templates_app-page_0ho4v57.js → 0eys_next_dist_esm_build_templates_app-page_0fy2_ot.js} +3 -3
  399. package/.next/server/chunks/ssr/{0fay_next_dist_esm_build_templates_app-page_0hj40rc.js.map → 0eys_next_dist_esm_build_templates_app-page_0fy2_ot.js.map} +1 -1
  400. package/.next/server/chunks/ssr/0eys_next_dist_esm_build_templates_app-page_0g0ea16.js +4 -0
  401. package/.next/server/chunks/ssr/{0fay_next_dist_esm_build_templates_app-page_0sve_5e.js.map → 0eys_next_dist_esm_build_templates_app-page_0g0ea16.js.map} +1 -1
  402. package/.next/server/chunks/ssr/{0fay_next_dist_esm_build_templates_app-page_08qwtei.js → 0eys_next_dist_esm_build_templates_app-page_0gg19s6.js} +3 -3
  403. package/.next/server/chunks/ssr/{0fay_next_dist_esm_build_templates_app-page_06u6.wi.js.map → 0eys_next_dist_esm_build_templates_app-page_0gg19s6.js.map} +1 -1
  404. package/.next/server/chunks/ssr/{0fay_next_dist_esm_build_templates_app-page_0zfnn2b.js → 0eys_next_dist_esm_build_templates_app-page_0ikgf-7.js} +3 -3
  405. package/.next/server/chunks/ssr/{0fay_next_dist_esm_build_templates_app-page_0235~_p.js.map → 0eys_next_dist_esm_build_templates_app-page_0ikgf-7.js.map} +1 -1
  406. package/.next/server/chunks/ssr/{0fay_next_dist_esm_build_templates_app-page_0j~7-kh.js → 0eys_next_dist_esm_build_templates_app-page_0otan.0.js} +3 -3
  407. package/.next/server/chunks/ssr/{0fay_next_dist_esm_build_templates_app-page_0zfnn2b.js.map → 0eys_next_dist_esm_build_templates_app-page_0otan.0.js.map} +1 -1
  408. package/.next/server/chunks/ssr/{0fay_next_dist_esm_build_templates_app-page_06u6.wi.js → 0eys_next_dist_esm_build_templates_app-page_0q4gvif.js} +3 -3
  409. package/.next/server/chunks/ssr/{0fay_next_dist_esm_build_templates_app-page_0ho4v57.js.map → 0eys_next_dist_esm_build_templates_app-page_0q4gvif.js.map} +1 -1
  410. package/.next/server/chunks/ssr/{0fay_next_dist_esm_build_templates_app-page_0ne9uvr.js → 0eys_next_dist_esm_build_templates_app-page_0s.as54.js} +3 -3
  411. package/.next/server/chunks/ssr/{0fay_next_dist_esm_build_templates_app-page_0j~7-kh.js.map → 0eys_next_dist_esm_build_templates_app-page_0s.as54.js.map} +1 -1
  412. package/.next/server/chunks/ssr/0eys_next_dist_esm_build_templates_app-page_0t88_uc.js +4 -0
  413. package/.next/server/chunks/ssr/{0fay_next_dist_esm_build_templates_app-page_0asltaw.js.map → 0eys_next_dist_esm_build_templates_app-page_0t88_uc.js.map} +1 -1
  414. package/.next/server/chunks/ssr/{0fay_next_dist_esm_build_templates_app-page_11j8_84.js → 0eys_next_dist_esm_build_templates_app-page_0unqv4v.js} +3 -3
  415. package/.next/server/chunks/ssr/{0fay_next_dist_esm_build_templates_app-page_11j8_84.js.map → 0eys_next_dist_esm_build_templates_app-page_0unqv4v.js.map} +1 -1
  416. package/.next/server/chunks/ssr/{0fay_next_dist_esm_build_templates_app-page_0nb2zlr.js → 0eys_next_dist_esm_build_templates_app-page_0vrz6hg.js} +3 -3
  417. package/.next/server/chunks/ssr/{0fay_next_dist_esm_build_templates_app-page_0lweaht.js.map → 0eys_next_dist_esm_build_templates_app-page_0vrz6hg.js.map} +1 -1
  418. package/.next/server/chunks/ssr/{0fay_next_dist_esm_build_templates_app-page_0hj40rc.js → 0eys_next_dist_esm_build_templates_app-page_0xb3.u..js} +3 -3
  419. package/.next/server/chunks/ssr/{0fay_next_dist_esm_build_templates_app-page_05.gnxv.js.map → 0eys_next_dist_esm_build_templates_app-page_0xb3.u..js.map} +1 -1
  420. package/.next/server/chunks/ssr/{0fay_next_dist_esm_build_templates_app-page_0asltaw.js → 0eys_next_dist_esm_build_templates_app-page_0xry76m.js} +3 -3
  421. package/.next/server/chunks/ssr/{0fay_next_dist_esm_build_templates_app-page_0ne9uvr.js.map → 0eys_next_dist_esm_build_templates_app-page_0xry76m.js.map} +1 -1
  422. package/.next/server/chunks/ssr/0eys_next_dist_esm_build_templates_app-page_10~-.q1.js +4 -0
  423. package/.next/server/chunks/ssr/{0fay_next_dist_esm_build_templates_app-page_11wsajh.js.map → 0eys_next_dist_esm_build_templates_app-page_10~-.q1.js.map} +1 -1
  424. package/.next/server/chunks/ssr/{[root-of-the-server]__0~yeykb._.js → [root-of-the-server]__0.bq9qd._.js} +2 -2
  425. package/.next/server/chunks/ssr/{[root-of-the-server]__0~yeykb._.js.map → [root-of-the-server]__0.bq9qd._.js.map} +1 -1
  426. package/.next/server/chunks/ssr/[root-of-the-server]__0.p4.9p._.js +3 -0
  427. package/.next/server/chunks/ssr/{[root-of-the-server]__0z4wpzq._.js.map → [root-of-the-server]__0.p4.9p._.js.map} +1 -1
  428. package/.next/server/chunks/ssr/[root-of-the-server]__02e2~_p._.js +3 -0
  429. package/.next/server/chunks/ssr/{[root-of-the-server]__09baxp3._.js.map → [root-of-the-server]__02e2~_p._.js.map} +1 -1
  430. package/.next/server/chunks/ssr/[root-of-the-server]__07iv~-v._.js +3 -0
  431. package/.next/server/chunks/ssr/{[root-of-the-server]__0xas9cj._.js.map → [root-of-the-server]__07iv~-v._.js.map} +1 -1
  432. package/.next/server/chunks/ssr/[root-of-the-server]__08c1l7e._.js +3 -0
  433. package/.next/server/chunks/ssr/{[root-of-the-server]__10m~nwd._.js.map → [root-of-the-server]__08c1l7e._.js.map} +1 -1
  434. package/.next/server/chunks/ssr/[root-of-the-server]__09tg-yx._.js +3 -0
  435. package/.next/server/chunks/ssr/{[root-of-the-server]__0p90vs0._.js.map → [root-of-the-server]__09tg-yx._.js.map} +1 -1
  436. package/.next/server/chunks/ssr/[root-of-the-server]__09wz11l._.js +19 -0
  437. package/.next/server/chunks/ssr/{[root-of-the-server]__0nyast4._.js.map → [root-of-the-server]__09wz11l._.js.map} +1 -1
  438. package/.next/server/chunks/ssr/[root-of-the-server]__0c0po7z._.js +3 -0
  439. package/.next/server/chunks/ssr/{[root-of-the-server]__085...8._.js.map → [root-of-the-server]__0c0po7z._.js.map} +1 -1
  440. package/.next/server/chunks/ssr/{[root-of-the-server]__10soduf._.js → [root-of-the-server]__0c~slby._.js} +2 -2
  441. package/.next/server/chunks/ssr/{[root-of-the-server]__10soduf._.js.map → [root-of-the-server]__0c~slby._.js.map} +1 -1
  442. package/.next/server/chunks/ssr/[root-of-the-server]__0dhdbz9._.js +3 -0
  443. package/.next/server/chunks/ssr/{[root-of-the-server]__0agh5-l._.js.map → [root-of-the-server]__0dhdbz9._.js.map} +1 -1
  444. package/.next/server/chunks/ssr/{[root-of-the-server]__10y5exc._.js → [root-of-the-server]__0j_fyz7._.js} +3 -3
  445. package/.next/server/chunks/ssr/{[root-of-the-server]__10y5exc._.js.map → [root-of-the-server]__0j_fyz7._.js.map} +1 -1
  446. package/.next/server/chunks/ssr/{[root-of-the-server]__103xiz4._.js → [root-of-the-server]__0jsgoje._.js} +3 -3
  447. package/.next/server/chunks/ssr/{[root-of-the-server]__103xiz4._.js.map → [root-of-the-server]__0jsgoje._.js.map} +1 -1
  448. package/.next/server/chunks/ssr/[root-of-the-server]__0k2x-ou._.js +3 -0
  449. package/.next/server/chunks/ssr/{[root-of-the-server]__12kl9c~._.js.map → [root-of-the-server]__0k2x-ou._.js.map} +1 -1
  450. package/.next/server/chunks/ssr/[root-of-the-server]__0mwy~nq._.js +3 -0
  451. package/.next/server/chunks/ssr/{[root-of-the-server]__0xu803y._.js.map → [root-of-the-server]__0mwy~nq._.js.map} +1 -1
  452. package/.next/server/chunks/ssr/[root-of-the-server]__0ni6cq0._.js +3 -0
  453. package/.next/server/chunks/ssr/{[root-of-the-server]__13g4e1y._.js.map → [root-of-the-server]__0ni6cq0._.js.map} +1 -1
  454. package/.next/server/chunks/ssr/{[root-of-the-server]__0xhye11._.js → [root-of-the-server]__0ny5rkb._.js} +3 -3
  455. package/.next/server/chunks/ssr/{[root-of-the-server]__0xhye11._.js.map → [root-of-the-server]__0ny5rkb._.js.map} +1 -1
  456. package/.next/server/chunks/ssr/[root-of-the-server]__0oj.su5._.js +3 -0
  457. package/.next/server/chunks/ssr/{[root-of-the-server]__06dvgzk._.js.map → [root-of-the-server]__0oj.su5._.js.map} +1 -1
  458. package/.next/server/chunks/ssr/[root-of-the-server]__0q0h5.4._.js +3 -0
  459. package/.next/server/chunks/ssr/{[root-of-the-server]__0se25_b._.js.map → [root-of-the-server]__0q0h5.4._.js.map} +1 -1
  460. package/.next/server/chunks/ssr/[root-of-the-server]__0se0pbf._.js +3 -0
  461. package/.next/server/chunks/ssr/{[root-of-the-server]__0dej9c4._.js.map → [root-of-the-server]__0se0pbf._.js.map} +1 -1
  462. package/.next/server/chunks/ssr/[root-of-the-server]__0tb8onm._.js +3 -0
  463. package/.next/server/chunks/ssr/{[root-of-the-server]__0sdxdt3._.js.map → [root-of-the-server]__0tb8onm._.js.map} +1 -1
  464. package/.next/server/chunks/ssr/[root-of-the-server]__0wm_kxh._.js +3 -0
  465. package/.next/server/chunks/ssr/{[root-of-the-server]__0lqvecf._.js.map → [root-of-the-server]__0wm_kxh._.js.map} +1 -1
  466. package/.next/server/chunks/ssr/[root-of-the-server]__0wt_.5g._.js +3 -0
  467. package/.next/server/chunks/ssr/{[root-of-the-server]__0h25kn5._.js.map → [root-of-the-server]__0wt_.5g._.js.map} +1 -1
  468. package/.next/server/chunks/ssr/[root-of-the-server]__0xmwsru._.js +3 -0
  469. package/.next/server/chunks/ssr/{[root-of-the-server]__0o.~ds~._.js.map → [root-of-the-server]__0xmwsru._.js.map} +1 -1
  470. package/.next/server/chunks/ssr/[root-of-the-server]__0xsrxaq._.js +6 -0
  471. package/.next/server/chunks/ssr/[root-of-the-server]__0xsrxaq._.js.map +1 -0
  472. package/.next/server/chunks/ssr/[root-of-the-server]__0z12w52._.js +3 -0
  473. package/.next/server/chunks/ssr/{[root-of-the-server]__0~~8535._.js.map → [root-of-the-server]__0z12w52._.js.map} +1 -1
  474. package/.next/server/chunks/ssr/{p247-dash-release_0f74eyl._.js → p248-dash-release_03jozqe._.js} +3 -3
  475. package/.next/server/chunks/ssr/{p247-dash-release_0f74eyl._.js.map → p248-dash-release_03jozqe._.js.map} +1 -1
  476. package/.next/server/chunks/ssr/p248-dash-release__next-internal_server_app__global-error_page_actions_0-_psx0.js +3 -0
  477. package/.next/server/chunks/ssr/p248-dash-release__next-internal_server_app__not-found_page_actions_0ab90fb.js +3 -0
  478. package/.next/server/chunks/ssr/p248-dash-release__next-internal_server_app_admin_page_actions_0-3dd6g.js +3 -0
  479. package/.next/server/chunks/ssr/p248-dash-release__next-internal_server_app_login_page_actions_0cxgr5r.js +3 -0
  480. package/.next/server/chunks/ssr/p248-dash-release__next-internal_server_app_logs_page_actions_13ncn5w.js +3 -0
  481. package/.next/server/chunks/ssr/p248-dash-release__next-internal_server_app_messages_page_actions_03eny7a.js +3 -0
  482. package/.next/server/chunks/ssr/p248-dash-release__next-internal_server_app_node_page_actions_01g~v8e.js +3 -0
  483. package/.next/server/chunks/ssr/p248-dash-release__next-internal_server_app_nodes_page_actions_0rp9d.z.js +3 -0
  484. package/.next/server/chunks/ssr/p248-dash-release__next-internal_server_app_page_actions_12.zc2x.js +3 -0
  485. package/.next/server/chunks/ssr/p248-dash-release__next-internal_server_app_server-logs_page_actions_12.~xmh.js +3 -0
  486. package/.next/server/chunks/ssr/p248-dash-release__next-internal_server_app_servers_page_actions_01fbube.js +3 -0
  487. package/.next/server/chunks/ssr/p248-dash-release__next-internal_server_app_settings_page_actions_049o_zl.js +3 -0
  488. package/.next/server/chunks/ssr/p248-dash-release__next-internal_server_app_settings_tokens_page_actions_0kwlo85.js +3 -0
  489. package/.next/server/chunks/ssr/p248-dash-release__next-internal_server_app_tasks_[id]_page_actions_0gaayz2.js +3 -0
  490. package/.next/server/chunks/ssr/p248-dash-release__next-internal_server_app_tasks_page_actions_05-6rq9.js +3 -0
  491. package/.next/server/chunks/ssr/p248-dash-release_app_0.xbj-j._.js +3 -0
  492. package/.next/server/chunks/ssr/{p247-dash-release_app_0y-fa3n._.js.map → p248-dash-release_app_0.xbj-j._.js.map} +1 -1
  493. package/.next/server/chunks/ssr/{p247-dash-release_app_0h-2i0m._.js → p248-dash-release_app_01r5cp-._.js} +2 -2
  494. package/.next/server/chunks/ssr/{p247-dash-release_app_0h-2i0m._.js.map → p248-dash-release_app_01r5cp-._.js.map} +1 -1
  495. package/.next/server/chunks/ssr/{p247-dash-release_app_057gq2u._.js → p248-dash-release_app_0415ugh._.js} +2 -2
  496. package/.next/server/chunks/ssr/{p247-dash-release_app_057gq2u._.js.map → p248-dash-release_app_0415ugh._.js.map} +1 -1
  497. package/.next/server/chunks/ssr/{p247-dash-release_app_0n1.l-z._.js → p248-dash-release_app_07ks..b._.js} +2 -2
  498. package/.next/server/chunks/ssr/{p247-dash-release_app_0n1.l-z._.js.map → p248-dash-release_app_07ks..b._.js.map} +1 -1
  499. package/.next/server/chunks/ssr/p248-dash-release_app_08-_z~z._.js +3 -0
  500. package/.next/server/chunks/ssr/{p247-dash-release_app_0~d5sb9._.js.map → p248-dash-release_app_08-_z~z._.js.map} +1 -1
  501. package/.next/server/chunks/ssr/{p247-dash-release_app_11p0_zr._.js → p248-dash-release_app_0heiqx4._.js} +2 -2
  502. package/.next/server/chunks/ssr/{p247-dash-release_app_11p0_zr._.js.map → p248-dash-release_app_0heiqx4._.js.map} +1 -1
  503. package/.next/server/chunks/ssr/{p247-dash-release_app_04tiatl._.js → p248-dash-release_app_0ict6f_._.js} +2 -2
  504. package/.next/server/chunks/ssr/{p247-dash-release_app_04tiatl._.js.map → p248-dash-release_app_0ict6f_._.js.map} +1 -1
  505. package/.next/server/chunks/ssr/p248-dash-release_app_0m1nag5._.js +3 -0
  506. package/.next/server/chunks/ssr/{p247-dash-release_app_0m_~1iq._.js.map → p248-dash-release_app_0m1nag5._.js.map} +1 -1
  507. package/.next/server/chunks/ssr/p248-dash-release_app_0me0gyz._.js +3 -0
  508. package/.next/server/chunks/ssr/{p247-dash-release_app_0va683w._.js.map → p248-dash-release_app_0me0gyz._.js.map} +1 -1
  509. package/.next/server/chunks/ssr/{p247-dash-release_app_00gm~86._.js → p248-dash-release_app_0r.6wo3._.js} +2 -2
  510. package/.next/server/chunks/ssr/{p247-dash-release_app_00gm~86._.js.map → p248-dash-release_app_0r.6wo3._.js.map} +1 -1
  511. package/.next/server/chunks/ssr/{p247-dash-release_app_components_0-lfk-.._.js → p248-dash-release_app_components_0l8tz~8._.js} +3 -3
  512. package/.next/server/chunks/ssr/{p247-dash-release_app_components_0-lfk-.._.js.map → p248-dash-release_app_components_0l8tz~8._.js.map} +1 -1
  513. package/.next/server/chunks/ssr/{p247-dash-release_app_servers_page_tsx_0hvavqt._.js → p248-dash-release_app_servers_page_tsx_0gjg_-r._.js} +2 -2
  514. package/.next/server/chunks/ssr/{p247-dash-release_app_servers_page_tsx_0hvavqt._.js.map → p248-dash-release_app_servers_page_tsx_0gjg_-r._.js.map} +1 -1
  515. package/.next/server/chunks/ssr/p248-dash-release_app_tasks_page_tsx_0qdyj8l._.js +3 -0
  516. package/.next/server/chunks/ssr/{p247-dash-release_app_tasks_page_tsx_0e98nxz._.js.map → p248-dash-release_app_tasks_page_tsx_0qdyj8l._.js.map} +1 -1
  517. package/.next/server/middleware-build-manifest.js +8 -8
  518. package/.next/server/middleware.js +3 -3
  519. package/.next/server/middleware.js.nft.json +1 -1
  520. package/.next/server/next-font-manifest.js +1 -1
  521. package/.next/server/next-font-manifest.json +15 -15
  522. package/.next/server/pages/404.html +2 -2
  523. package/.next/server/pages/500.html +1 -1
  524. package/.next/server/server-reference-manifest.js +1 -1
  525. package/.next/server/server-reference-manifest.json +1 -1
  526. package/.next/static/chunks/0-.8ljnci668r.js +4 -0
  527. package/.next/static/chunks/{0ilts6hn1.snl.js → 0-wn37qh25iv8.js} +3 -3
  528. package/.next/static/chunks/01rl0zgit9fpi.js +1 -0
  529. package/.next/static/chunks/{04l9mfs.gv4jl.js → 03hid7at2hts9.js} +1 -1
  530. package/.next/static/chunks/04z~zcny7e-hu.js +1 -0
  531. package/.next/static/chunks/0655qv_ed4zqk.js +1 -0
  532. package/.next/static/chunks/097dcrj-frket.js +1 -0
  533. package/.next/static/chunks/0_b1~xhhddi_..js +2 -0
  534. package/.next/static/chunks/{05e_xky6b242g.js → 0cip10~ax7ih8.js} +1 -1
  535. package/.next/static/chunks/0e~mf5-e4dl_e.js +1 -0
  536. package/.next/static/chunks/{17_1htsu~pzdp.js → 0f1nxmo-ba2au.js} +1 -1
  537. package/.next/static/chunks/0fgpa9eurf21a.js +4 -0
  538. package/.next/static/chunks/{0ku4gh.-e779t.js → 0fjr78ak.7m7k.js} +1 -1
  539. package/.next/static/chunks/{0u-gc._w7euyd.js → 0hy~u-wxdvw2u.js} +1 -1
  540. package/.next/static/chunks/{0mdl.keibdlsh.js → 0i_zf1gx2iz9e.js} +1 -1
  541. package/.next/static/chunks/0kgcx1x2p~.3f.js +31 -0
  542. package/.next/static/chunks/{07gpx8_-h3r2j.js → 0my4koa~eoc3m.js} +1 -1
  543. package/.next/static/chunks/{0f1ea5-oez1nt.js → 0oa_op0qrdcyz.js} +1 -1
  544. package/.next/static/chunks/0po5q8_1xmof_.js +1 -0
  545. package/.next/static/chunks/{0gbtyh90tm~ih.js → 0td.dx.r1h_nl.js} +2 -2
  546. package/.next/static/chunks/0u6y82jjwp2k_.js +1 -0
  547. package/.next/static/chunks/{0o6vo9egfarhe.js → 105_kfixakoke.js} +1 -1
  548. package/.next/static/chunks/{01s3gjux6q.b8.js → 11c-24vhb~5d5.js} +1 -1
  549. package/.next/static/chunks/137i49j2u~mpw.js +1 -0
  550. package/.next/static/chunks/1529ngs_24ts..js +1 -0
  551. package/.next/static/chunks/{turbopack-13tjmxtfn9sa7.js → turbopack-0yv4qlj-3gvbg.js} +1 -1
  552. package/.next/trace +2 -2
  553. package/.next/trace-build +1 -1
  554. package/app/api/hub/tasks/route.ts +20 -0
  555. package/app/components/TaskChatPanel.tsx +32 -3
  556. package/package.json +1 -1
  557. package/.next/server/chunks/0fay_next_0~gi6t-._.js +0 -10
  558. package/.next/server/chunks/0fay_next_dist_11-6gau._.js +0 -18
  559. package/.next/server/chunks/0fay_next_dist_esm_build_templates_app-route_0qdjyrf.js +0 -3
  560. package/.next/server/chunks/0lda__next-internal_server_app_api_anet_config_route_actions_0gmqx2c.js +0 -3
  561. package/.next/server/chunks/0lda__next-internal_server_app_api_auth_logout_route_actions_0jbvop1.js +0 -3
  562. package/.next/server/chunks/0lda__next-internal_server_app_api_hub_audit-log_route_actions_0qpfsyn.js +0 -3
  563. package/.next/server/chunks/0lda__next-internal_server_app_api_hub_broadcast_route_actions_01ypir_.js +0 -3
  564. package/.next/server/chunks/0lda__next-internal_server_app_api_hub_messages_route_actions_10yqp7t.js +0 -3
  565. package/.next/server/chunks/0lda__next-internal_server_app_api_hub_networks_route_actions_0daz6sm.js +0 -3
  566. package/.next/server/chunks/0lda__next-internal_server_app_api_hub_register_route_actions_0iake6z.js +0 -3
  567. package/.next/server/chunks/0lda__next-internal_server_app_api_hub_server-logs_route_actions_0wwja50.js +0 -3
  568. package/.next/server/chunks/0lda__next-internal_server_app_api_hub_servers_route_actions_0kcfqtd.js +0 -3
  569. package/.next/server/chunks/0lda__next-internal_server_app_api_hub_session_route_actions_0.2sqto.js +0 -3
  570. package/.next/server/chunks/0lda__next-internal_server_app_api_hub_task-events_route_actions_0a95ddd.js +0 -3
  571. package/.next/server/chunks/0lda__next-internal_server_app_manifest_webmanifest_route_actions_13oy6oe.js +0 -3
  572. package/.next/server/chunks/0z7x_next-internal_server_app_api_hub_server_[hostname]_agents_route_actions_0mdgq8x.js +0 -3
  573. package/.next/server/chunks/0z7x_next-internal_server_app_api_hub_server_[hostname]_health_route_actions_0~s8oum.js +0 -3
  574. package/.next/server/chunks/[root-of-the-server]__00b~z8u._.js +0 -3
  575. package/.next/server/chunks/[root-of-the-server]__020re6k._.js +0 -3
  576. package/.next/server/chunks/[root-of-the-server]__029ul6s._.js +0 -3
  577. package/.next/server/chunks/[root-of-the-server]__02ul5s6._.js +0 -3
  578. package/.next/server/chunks/[root-of-the-server]__03v_zkf._.js +0 -3
  579. package/.next/server/chunks/[root-of-the-server]__05svc~b._.js +0 -3
  580. package/.next/server/chunks/[root-of-the-server]__07jm_~x._.js +0 -3
  581. package/.next/server/chunks/[root-of-the-server]__07y6z3i._.js +0 -3
  582. package/.next/server/chunks/[root-of-the-server]__08ujkqu._.js +0 -3
  583. package/.next/server/chunks/[root-of-the-server]__08~3zxb._.js +0 -3
  584. package/.next/server/chunks/[root-of-the-server]__09k42_1._.js +0 -3
  585. package/.next/server/chunks/[root-of-the-server]__0eo1nu1._.js +0 -3
  586. package/.next/server/chunks/[root-of-the-server]__0fhk9i~._.js +0 -3
  587. package/.next/server/chunks/[root-of-the-server]__0gv71_4._.js +0 -3
  588. package/.next/server/chunks/[root-of-the-server]__0jq16g2._.js +0 -3
  589. package/.next/server/chunks/[root-of-the-server]__0nv9cka._.js +0 -3
  590. package/.next/server/chunks/[root-of-the-server]__0pexus1._.js +0 -3
  591. package/.next/server/chunks/[root-of-the-server]__0qk0gp0._.js +0 -20
  592. package/.next/server/chunks/[root-of-the-server]__0u9k36p._.js +0 -3
  593. package/.next/server/chunks/[root-of-the-server]__0ueawsc._.js +0 -3
  594. package/.next/server/chunks/[root-of-the-server]__0x-1-0p._.js +0 -3
  595. package/.next/server/chunks/[root-of-the-server]__0xtidm7._.js +0 -3
  596. package/.next/server/chunks/[root-of-the-server]__0zdtu2z._.js +0 -6
  597. package/.next/server/chunks/[root-of-the-server]__10h2vss._.js +0 -3
  598. package/.next/server/chunks/[root-of-the-server]__117rkf4._.js +0 -3
  599. package/.next/server/chunks/[root-of-the-server]__12v7u~.._.js +0 -3
  600. package/.next/server/chunks/p247-dash-release__next-internal_server_app_api_auth_login_route_actions_0fxmvg0.js +0 -3
  601. package/.next/server/chunks/p247-dash-release__next-internal_server_app_api_auth_v3_route_actions_0bwl6h6.js +0 -3
  602. package/.next/server/chunks/p247-dash-release__next-internal_server_app_api_hub_auth_route_actions_13dcssq.js +0 -3
  603. package/.next/server/chunks/p247-dash-release__next-internal_server_app_api_hub_events_route_actions_12x1mhb.js +0 -3
  604. package/.next/server/chunks/p247-dash-release__next-internal_server_app_api_hub_health_route_actions_0c3_3_q.js +0 -3
  605. package/.next/server/chunks/p247-dash-release__next-internal_server_app_api_hub_inbox_route_actions_0qf5g1_.js +0 -3
  606. package/.next/server/chunks/p247-dash-release__next-internal_server_app_api_hub_nodes_route_actions_0kes_7g.js +0 -3
  607. package/.next/server/chunks/p247-dash-release__next-internal_server_app_api_hub_send_route_actions_0s.u7du.js +0 -3
  608. package/.next/server/chunks/p247-dash-release__next-internal_server_app_api_hub_stats_route_actions_0z7de6g.js +0 -3
  609. package/.next/server/chunks/p247-dash-release__next-internal_server_app_api_hub_status_route_actions_008au3j.js +0 -3
  610. package/.next/server/chunks/p247-dash-release__next-internal_server_app_api_hub_tasks_route_actions_0n681s~.js +0 -3
  611. package/.next/server/chunks/p247-dash-release__next-internal_server_app_api_hub_tmux_route_actions_0rymz0w.js +0 -3
  612. package/.next/server/chunks/p247-dash-release__next-internal_server_app_api_hub_tokens_route_actions_045.ys_.js +0 -3
  613. package/.next/server/chunks/p247-dash-release__next-internal_server_app_api_hub_upload_route_actions_0swzii4.js +0 -3
  614. package/.next/server/chunks/p247-dash-release__next-internal_server_app_favicon_ico_route_actions_12ij3o4.js +0 -3
  615. package/.next/server/chunks/ssr/0fay_08pxk8x._.js +0 -3
  616. package/.next/server/chunks/ssr/0fay_0i0k_78._.js +0 -3
  617. package/.next/server/chunks/ssr/0fay_0lnmf7_._.js +0 -3
  618. package/.next/server/chunks/ssr/0fay_11~wl50._.js +0 -33
  619. package/.next/server/chunks/ssr/0fay_next_0z8zhin._.js +0 -6
  620. package/.next/server/chunks/ssr/0fay_next_dist_0r2x3gv._.js +0 -6
  621. package/.next/server/chunks/ssr/0fay_next_dist_client_components_13wn._w._.js +0 -3
  622. package/.next/server/chunks/ssr/0fay_next_dist_client_components_builtin_forbidden_05adsb4.js +0 -3
  623. package/.next/server/chunks/ssr/0fay_next_dist_client_components_builtin_global-error_0tra....js +0 -3
  624. package/.next/server/chunks/ssr/0fay_next_dist_client_components_builtin_unauthorized_02h58.1.js +0 -3
  625. package/.next/server/chunks/ssr/0fay_next_dist_esm_build_templates_app-page_05.gnxv.js +0 -4
  626. package/.next/server/chunks/ssr/0fay_next_dist_esm_build_templates_app-page_0lweaht.js +0 -4
  627. package/.next/server/chunks/ssr/0fay_next_dist_esm_build_templates_app-page_0vu1zub.js +0 -4
  628. package/.next/server/chunks/ssr/0fay_next_dist_esm_build_templates_app-page_11wsajh.js +0 -4
  629. package/.next/server/chunks/ssr/0lda__next-internal_server_app_settings_networks_page_actions_00vszaf.js +0 -3
  630. package/.next/server/chunks/ssr/[root-of-the-server]__06dvgzk._.js +0 -3
  631. package/.next/server/chunks/ssr/[root-of-the-server]__085...8._.js +0 -3
  632. package/.next/server/chunks/ssr/[root-of-the-server]__09baxp3._.js +0 -3
  633. package/.next/server/chunks/ssr/[root-of-the-server]__0_-51_g._.js +0 -6
  634. package/.next/server/chunks/ssr/[root-of-the-server]__0_-51_g._.js.map +0 -1
  635. package/.next/server/chunks/ssr/[root-of-the-server]__0agh5-l._.js +0 -3
  636. package/.next/server/chunks/ssr/[root-of-the-server]__0dej9c4._.js +0 -3
  637. package/.next/server/chunks/ssr/[root-of-the-server]__0h25kn5._.js +0 -3
  638. package/.next/server/chunks/ssr/[root-of-the-server]__0lqvecf._.js +0 -3
  639. package/.next/server/chunks/ssr/[root-of-the-server]__0nyast4._.js +0 -19
  640. package/.next/server/chunks/ssr/[root-of-the-server]__0o.~ds~._.js +0 -3
  641. package/.next/server/chunks/ssr/[root-of-the-server]__0p90vs0._.js +0 -3
  642. package/.next/server/chunks/ssr/[root-of-the-server]__0sdxdt3._.js +0 -3
  643. package/.next/server/chunks/ssr/[root-of-the-server]__0se25_b._.js +0 -3
  644. package/.next/server/chunks/ssr/[root-of-the-server]__0xas9cj._.js +0 -3
  645. package/.next/server/chunks/ssr/[root-of-the-server]__0xu803y._.js +0 -3
  646. package/.next/server/chunks/ssr/[root-of-the-server]__0z4wpzq._.js +0 -3
  647. package/.next/server/chunks/ssr/[root-of-the-server]__0~~8535._.js +0 -3
  648. package/.next/server/chunks/ssr/[root-of-the-server]__10m~nwd._.js +0 -3
  649. package/.next/server/chunks/ssr/[root-of-the-server]__12kl9c~._.js +0 -3
  650. package/.next/server/chunks/ssr/[root-of-the-server]__13g4e1y._.js +0 -3
  651. package/.next/server/chunks/ssr/p247-dash-release__next-internal_server_app__global-error_page_actions_0358rz_.js +0 -3
  652. package/.next/server/chunks/ssr/p247-dash-release__next-internal_server_app__not-found_page_actions_0abcn9i.js +0 -3
  653. package/.next/server/chunks/ssr/p247-dash-release__next-internal_server_app_admin_page_actions_0e_dpt5.js +0 -3
  654. package/.next/server/chunks/ssr/p247-dash-release__next-internal_server_app_login_page_actions_0bno11t.js +0 -3
  655. package/.next/server/chunks/ssr/p247-dash-release__next-internal_server_app_logs_page_actions_0.9oj54.js +0 -3
  656. package/.next/server/chunks/ssr/p247-dash-release__next-internal_server_app_messages_page_actions_0yxy1xy.js +0 -3
  657. package/.next/server/chunks/ssr/p247-dash-release__next-internal_server_app_node_page_actions_0_t6-lt.js +0 -3
  658. package/.next/server/chunks/ssr/p247-dash-release__next-internal_server_app_nodes_page_actions_0-bifo5.js +0 -3
  659. package/.next/server/chunks/ssr/p247-dash-release__next-internal_server_app_page_actions_0o.odii.js +0 -3
  660. package/.next/server/chunks/ssr/p247-dash-release__next-internal_server_app_server-logs_page_actions_11-61a5.js +0 -3
  661. package/.next/server/chunks/ssr/p247-dash-release__next-internal_server_app_servers_page_actions_0l4rplc.js +0 -3
  662. package/.next/server/chunks/ssr/p247-dash-release__next-internal_server_app_settings_page_actions_0tmtegy.js +0 -3
  663. package/.next/server/chunks/ssr/p247-dash-release__next-internal_server_app_settings_tokens_page_actions_0mz.8so.js +0 -3
  664. package/.next/server/chunks/ssr/p247-dash-release__next-internal_server_app_tasks_[id]_page_actions_0av4~1j.js +0 -3
  665. package/.next/server/chunks/ssr/p247-dash-release__next-internal_server_app_tasks_page_actions_0dxudeg.js +0 -3
  666. package/.next/server/chunks/ssr/p247-dash-release_app_0m_~1iq._.js +0 -3
  667. package/.next/server/chunks/ssr/p247-dash-release_app_0va683w._.js +0 -3
  668. package/.next/server/chunks/ssr/p247-dash-release_app_0y-fa3n._.js +0 -3
  669. package/.next/server/chunks/ssr/p247-dash-release_app_0~d5sb9._.js +0 -3
  670. package/.next/server/chunks/ssr/p247-dash-release_app_tasks_page_tsx_0e98nxz._.js +0 -3
  671. package/.next/static/chunks/005fo49.qji8x.js +0 -1
  672. package/.next/static/chunks/01iy2phnldl0-.js +0 -1
  673. package/.next/static/chunks/02t--r~nv.c6n.js +0 -1
  674. package/.next/static/chunks/03c2d6g2u_gnu.js +0 -1
  675. package/.next/static/chunks/0660o4gkafw8a.js +0 -1
  676. package/.next/static/chunks/0ex_mfboz03_l.js +0 -2
  677. package/.next/static/chunks/0jvjwyu5gb48p.js +0 -1
  678. package/.next/static/chunks/0mi1hn6-.upjq.js +0 -1
  679. package/.next/static/chunks/0nab6897qv856.js +0 -4
  680. package/.next/static/chunks/0rm4qsi26_ggp.js +0 -31
  681. package/.next/static/chunks/0sj2.mn5cpjxb.js +0 -1
  682. package/.next/static/chunks/1060akg~g81lz.js +0 -1
  683. package/.next/static/chunks/14qazrry05_lb.js +0 -4
  684. /package/.next/build/chunks/{[root-of-the-server]__0x4oi4u._.js.map → [root-of-the-server]__02~~60i._.js.map} +0 -0
  685. /package/.next/build/chunks/{[turbopack-node]_transforms_postcss_ts_0jl7kg7._.js.map → [turbopack-node]_transforms_postcss_ts_0f_tr7e._.js.map} +0 -0
  686. /package/.next/server/chunks/{0lda__next-internal_server_app_api_anet_config_route_actions_0gmqx2c.js.map → 0ctr__next-internal_server_app_api_anet_config_route_actions_0vfnpq~.js.map} +0 -0
  687. /package/.next/server/chunks/{0lda__next-internal_server_app_api_auth_logout_route_actions_0jbvop1.js.map → 0ctr__next-internal_server_app_api_auth_logout_route_actions_0mnkdb1.js.map} +0 -0
  688. /package/.next/server/chunks/{0lda__next-internal_server_app_api_hub_audit-log_route_actions_0qpfsyn.js.map → 0ctr__next-internal_server_app_api_hub_audit-log_route_actions_01da9km.js.map} +0 -0
  689. /package/.next/server/chunks/{0lda__next-internal_server_app_api_hub_broadcast_route_actions_01ypir_.js.map → 0ctr__next-internal_server_app_api_hub_broadcast_route_actions_0-mzp~m.js.map} +0 -0
  690. /package/.next/server/chunks/{0lda__next-internal_server_app_api_hub_messages_route_actions_10yqp7t.js.map → 0ctr__next-internal_server_app_api_hub_messages_route_actions_0yqdey-.js.map} +0 -0
  691. /package/.next/server/chunks/{0lda__next-internal_server_app_api_hub_networks_route_actions_0daz6sm.js.map → 0ctr__next-internal_server_app_api_hub_networks_route_actions_08zwxgz.js.map} +0 -0
  692. /package/.next/server/chunks/{0lda__next-internal_server_app_api_hub_register_route_actions_0iake6z.js.map → 0ctr__next-internal_server_app_api_hub_register_route_actions_059ib7..js.map} +0 -0
  693. /package/.next/server/chunks/{0lda__next-internal_server_app_api_hub_server-logs_route_actions_0wwja50.js.map → 0ctr__next-internal_server_app_api_hub_server-logs_route_actions_0.lpvmu.js.map} +0 -0
  694. /package/.next/server/chunks/{0lda__next-internal_server_app_api_hub_servers_route_actions_0kcfqtd.js.map → 0ctr__next-internal_server_app_api_hub_servers_route_actions_0n9er6w.js.map} +0 -0
  695. /package/.next/server/chunks/{0lda__next-internal_server_app_api_hub_session_route_actions_0.2sqto.js.map → 0ctr__next-internal_server_app_api_hub_session_route_actions_0clahzh.js.map} +0 -0
  696. /package/.next/server/chunks/{0lda__next-internal_server_app_api_hub_task-events_route_actions_0a95ddd.js.map → 0ctr__next-internal_server_app_api_hub_task-events_route_actions_0eupv~7.js.map} +0 -0
  697. /package/.next/server/chunks/{0lda__next-internal_server_app_manifest_webmanifest_route_actions_13oy6oe.js.map → 0ctr__next-internal_server_app_manifest_webmanifest_route_actions_0zwabxo.js.map} +0 -0
  698. /package/.next/server/chunks/{0z7x_next-internal_server_app_api_hub_server_[hostname]_agents_route_actions_0mdgq8x.js.map → 0n8__next-internal_server_app_api_hub_server_[hostname]_agents_route_actions_0td~w-3.js.map} +0 -0
  699. /package/.next/server/chunks/{0z7x_next-internal_server_app_api_hub_server_[hostname]_health_route_actions_0~s8oum.js.map → 0n8__next-internal_server_app_api_hub_server_[hostname]_health_route_actions_0-cx2k4.js.map} +0 -0
  700. /package/.next/server/chunks/{p247-dash-release__next-internal_server_app_api_auth_login_route_actions_0fxmvg0.js.map → p248-dash-release__next-internal_server_app_api_auth_login_route_actions_0p0o8hb.js.map} +0 -0
  701. /package/.next/server/chunks/{p247-dash-release__next-internal_server_app_api_auth_v3_route_actions_0bwl6h6.js.map → p248-dash-release__next-internal_server_app_api_auth_v3_route_actions_0gygcdb.js.map} +0 -0
  702. /package/.next/server/chunks/{p247-dash-release__next-internal_server_app_api_hub_auth_route_actions_13dcssq.js.map → p248-dash-release__next-internal_server_app_api_hub_auth_route_actions_0qldbc..js.map} +0 -0
  703. /package/.next/server/chunks/{p247-dash-release__next-internal_server_app_api_hub_events_route_actions_12x1mhb.js.map → p248-dash-release__next-internal_server_app_api_hub_events_route_actions_0dif~y4.js.map} +0 -0
  704. /package/.next/server/chunks/{p247-dash-release__next-internal_server_app_api_hub_health_route_actions_0c3_3_q.js.map → p248-dash-release__next-internal_server_app_api_hub_health_route_actions_006d2v..js.map} +0 -0
  705. /package/.next/server/chunks/{p247-dash-release__next-internal_server_app_api_hub_inbox_route_actions_0qf5g1_.js.map → p248-dash-release__next-internal_server_app_api_hub_inbox_route_actions_0hzbelp.js.map} +0 -0
  706. /package/.next/server/chunks/{p247-dash-release__next-internal_server_app_api_hub_nodes_route_actions_0kes_7g.js.map → p248-dash-release__next-internal_server_app_api_hub_nodes_route_actions_0.v335w.js.map} +0 -0
  707. /package/.next/server/chunks/{p247-dash-release__next-internal_server_app_api_hub_send_route_actions_0s.u7du.js.map → p248-dash-release__next-internal_server_app_api_hub_send_route_actions_0-c6c80.js.map} +0 -0
  708. /package/.next/server/chunks/{p247-dash-release__next-internal_server_app_api_hub_stats_route_actions_0z7de6g.js.map → p248-dash-release__next-internal_server_app_api_hub_stats_route_actions_10r2dnb.js.map} +0 -0
  709. /package/.next/server/chunks/{p247-dash-release__next-internal_server_app_api_hub_status_route_actions_008au3j.js.map → p248-dash-release__next-internal_server_app_api_hub_status_route_actions_029-bam.js.map} +0 -0
  710. /package/.next/server/chunks/{p247-dash-release__next-internal_server_app_api_hub_tasks_route_actions_0n681s~.js.map → p248-dash-release__next-internal_server_app_api_hub_tasks_route_actions_03j_ebz.js.map} +0 -0
  711. /package/.next/server/chunks/{p247-dash-release__next-internal_server_app_api_hub_tmux_route_actions_0rymz0w.js.map → p248-dash-release__next-internal_server_app_api_hub_tmux_route_actions_0w~1rqo.js.map} +0 -0
  712. /package/.next/server/chunks/{p247-dash-release__next-internal_server_app_api_hub_tokens_route_actions_045.ys_.js.map → p248-dash-release__next-internal_server_app_api_hub_tokens_route_actions_0u1pfzb.js.map} +0 -0
  713. /package/.next/server/chunks/{p247-dash-release__next-internal_server_app_api_hub_upload_route_actions_0swzii4.js.map → p248-dash-release__next-internal_server_app_api_hub_upload_route_actions_0n4mpaq.js.map} +0 -0
  714. /package/.next/server/chunks/{p247-dash-release__next-internal_server_app_favicon_ico_route_actions_12ij3o4.js.map → p248-dash-release__next-internal_server_app_favicon_ico_route_actions_0upntbn.js.map} +0 -0
  715. /package/.next/server/chunks/ssr/{0lda__next-internal_server_app_settings_networks_page_actions_00vszaf.js.map → 0ctr__next-internal_server_app_settings_networks_page_actions_0722nti.js.map} +0 -0
  716. /package/.next/server/chunks/ssr/{p247-dash-release__next-internal_server_app__global-error_page_actions_0358rz_.js.map → p248-dash-release__next-internal_server_app__global-error_page_actions_0-_psx0.js.map} +0 -0
  717. /package/.next/server/chunks/ssr/{p247-dash-release__next-internal_server_app__not-found_page_actions_0abcn9i.js.map → p248-dash-release__next-internal_server_app__not-found_page_actions_0ab90fb.js.map} +0 -0
  718. /package/.next/server/chunks/ssr/{p247-dash-release__next-internal_server_app_admin_page_actions_0e_dpt5.js.map → p248-dash-release__next-internal_server_app_admin_page_actions_0-3dd6g.js.map} +0 -0
  719. /package/.next/server/chunks/ssr/{p247-dash-release__next-internal_server_app_login_page_actions_0bno11t.js.map → p248-dash-release__next-internal_server_app_login_page_actions_0cxgr5r.js.map} +0 -0
  720. /package/.next/server/chunks/ssr/{p247-dash-release__next-internal_server_app_logs_page_actions_0.9oj54.js.map → p248-dash-release__next-internal_server_app_logs_page_actions_13ncn5w.js.map} +0 -0
  721. /package/.next/server/chunks/ssr/{p247-dash-release__next-internal_server_app_messages_page_actions_0yxy1xy.js.map → p248-dash-release__next-internal_server_app_messages_page_actions_03eny7a.js.map} +0 -0
  722. /package/.next/server/chunks/ssr/{p247-dash-release__next-internal_server_app_node_page_actions_0_t6-lt.js.map → p248-dash-release__next-internal_server_app_node_page_actions_01g~v8e.js.map} +0 -0
  723. /package/.next/server/chunks/ssr/{p247-dash-release__next-internal_server_app_nodes_page_actions_0-bifo5.js.map → p248-dash-release__next-internal_server_app_nodes_page_actions_0rp9d.z.js.map} +0 -0
  724. /package/.next/server/chunks/ssr/{p247-dash-release__next-internal_server_app_page_actions_0o.odii.js.map → p248-dash-release__next-internal_server_app_page_actions_12.zc2x.js.map} +0 -0
  725. /package/.next/server/chunks/ssr/{p247-dash-release__next-internal_server_app_server-logs_page_actions_11-61a5.js.map → p248-dash-release__next-internal_server_app_server-logs_page_actions_12.~xmh.js.map} +0 -0
  726. /package/.next/server/chunks/ssr/{p247-dash-release__next-internal_server_app_servers_page_actions_0l4rplc.js.map → p248-dash-release__next-internal_server_app_servers_page_actions_01fbube.js.map} +0 -0
  727. /package/.next/server/chunks/ssr/{p247-dash-release__next-internal_server_app_settings_page_actions_0tmtegy.js.map → p248-dash-release__next-internal_server_app_settings_page_actions_049o_zl.js.map} +0 -0
  728. /package/.next/server/chunks/ssr/{p247-dash-release__next-internal_server_app_settings_tokens_page_actions_0mz.8so.js.map → p248-dash-release__next-internal_server_app_settings_tokens_page_actions_0kwlo85.js.map} +0 -0
  729. /package/.next/server/chunks/ssr/{p247-dash-release__next-internal_server_app_tasks_[id]_page_actions_0av4~1j.js.map → p248-dash-release__next-internal_server_app_tasks_[id]_page_actions_0gaayz2.js.map} +0 -0
  730. /package/.next/server/chunks/ssr/{p247-dash-release__next-internal_server_app_tasks_page_actions_0dxudeg.js.map → p248-dash-release__next-internal_server_app_tasks_page_actions_05-6rq9.js.map} +0 -0
  731. /package/.next/static/{V4DKnWEb88U3hb7M7-ogj → 88n5t5Pxmw08hbmLba3jI}/_buildManifest.js +0 -0
  732. /package/.next/static/{V4DKnWEb88U3hb7M7-ogj → 88n5t5Pxmw08hbmLba3jI}/_clientMiddlewareManifest.js +0 -0
  733. /package/.next/static/{V4DKnWEb88U3hb7M7-ogj → 88n5t5Pxmw08hbmLba3jI}/_ssgManifest.js +0 -0
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../p247-dash-release/node_modules/next/src/server/route-modules/app-page/module.compiled.js","../../../../../p247-dash-release/node_modules/next/src/server/route-modules/app-page/vendored/ssr/react-jsx-runtime.ts","../../../../../p247-dash-release/node_modules/next/src/server/route-modules/app-page/vendored/ssr/react.ts","../../../../../p247-dash-release/node_modules/next/src/server/route-modules/app-page/vendored/contexts/app-router-context.ts","../../../../../p247-dash-release/node_modules/next/src/server/route-modules/app-page/vendored/ssr/react-server-dom-turbopack-client.ts","../../../../../p247-dash-release/node_modules/next/src/server/route-modules/app-page/vendored/contexts/hooks-client-context.ts","../../../../../p247-dash-release/node_modules/next/src/server/route-modules/app-page/vendored/contexts/server-inserted-html.ts","../../../../../p247-dash-release/app/lib/time.ts","../../../../../p247-dash-release/app/lib/network-context.tsx","../../../../../p247-dash-release/app/components/ServersDrawer.tsx"],"sourcesContent":["if (process.env.NEXT_RUNTIME === 'edge') {\n module.exports = require('next/dist/server/route-modules/app-page/module.js')\n} else {\n if (process.env.__NEXT_EXPERIMENTAL_REACT) {\n if (process.env.NODE_ENV === 'development') {\n if (process.env.TURBOPACK) {\n module.exports = require('next/dist/compiled/next-server/app-page-turbo-experimental.runtime.dev.js')\n } else {\n module.exports = require('next/dist/compiled/next-server/app-page-experimental.runtime.dev.js')\n }\n } else {\n if (process.env.TURBOPACK) {\n module.exports = require('next/dist/compiled/next-server/app-page-turbo-experimental.runtime.prod.js')\n } else {\n module.exports = require('next/dist/compiled/next-server/app-page-experimental.runtime.prod.js')\n }\n }\n } else {\n if (process.env.NODE_ENV === 'development') {\n if (process.env.TURBOPACK) {\n module.exports = require('next/dist/compiled/next-server/app-page-turbo.runtime.dev.js')\n } else {\n module.exports = require('next/dist/compiled/next-server/app-page.runtime.dev.js')\n }\n } else {\n if (process.env.TURBOPACK) {\n module.exports = require('next/dist/compiled/next-server/app-page-turbo.runtime.prod.js')\n } else {\n module.exports = require('next/dist/compiled/next-server/app-page.runtime.prod.js')\n }\n }\n }\n}\n","module.exports = (\n require('../../module.compiled') as typeof import('../../module.compiled')\n).vendored['react-ssr']!.ReactJsxRuntime\n","module.exports = (\n require('../../module.compiled') as typeof import('../../module.compiled')\n).vendored['react-ssr']!.React\n","module.exports = (\n require('../../module.compiled') as typeof import('../../module.compiled')\n).vendored['contexts'].AppRouterContext\n","module.exports = (\n require('../../module.compiled') as typeof import('../../module.compiled')\n).vendored['react-ssr']!.ReactServerDOMTurbopackClient\n","module.exports = (\n require('../../module.compiled') as typeof import('../../module.compiled')\n).vendored['contexts'].HooksClientContext\n","module.exports = (\n require('../../module.compiled') as typeof import('../../module.compiled')\n).vendored['contexts'].ServerInsertedHtml\n","/** Shared timestamp helpers for hub-sourced data.\n *\n * Background — the CommHub serialises timestamps SQL-style without a\n * zone (\"2026-05-15 06:00:28\"), but some test data uses full ISO\n * (\"…T06:00:28Z\"). `Date.parse` on bare SQL is **local-time** in every\n * browser the dashboard supports, so a UTC+8 operator silently sees\n * every timestamp 8 h older than reality (Round 35 dug this out via\n * the `isGhost` filter mis-fire).\n *\n * Round 38 / Loop consolidates parsing — TopoGraph (R35), ChatPopover\n * (R37) and utils.ts::timeAgo all mirrored the same SQL→UTC rewrite;\n * one source of truth here. */\n\n/** Parse a hub timestamp to ms-since-epoch, treating SQL-style strings\n * as UTC. ISO strings (with `T`) bypass the rewrite and are parsed as-is.\n * Returns null for empty / unparseable input. */\nexport function parseHubTime(dateStr: string | null | undefined): number | null {\n if (!dateStr) return null;\n const iso = dateStr.includes('T') ? dateStr : dateStr.replace(' ', 'T') + 'Z';\n const t = Date.parse(iso);\n return Number.isFinite(t) ? t : null;\n}\n\n/** Format `dateStr` as a short relative-time string (\"6m ago\" / \"2h ago\").\n * Future timestamps (clock skew) collapse to \"just now\". Returns null when\n * the input doesn't parse — callers can decide on a fallback. */\nexport function relativeAgo(dateStr: string | null | undefined): string | null {\n const t = parseHubTime(dateStr);\n if (t === null) return null;\n const s = Math.floor((Date.now() - t) / 1000);\n if (s < 0) return 'just now';\n if (s < 60) return `${s}s ago`;\n if (s < 3600) return `${Math.floor(s / 60)}m ago`;\n if (s < 86400) return `${Math.floor(s / 3600)}h ago`;\n return `${Math.floor(s / 86400)}d ago`;\n}\n","'use client';\n\nimport { createContext, useContext, useState, useEffect, ReactNode } from 'react';\n\ninterface NetworkContextType {\n networkId: string;\n setNetworkId: (id: string) => void;\n}\n\nconst NetworkContext = createContext<NetworkContextType>({ networkId: '', setNetworkId: () => {} });\n\nexport function NetworkProvider({ children }: { children: ReactNode }) {\n const [networkId, setNetworkId] = useState('');\n\n useEffect(() => {\n const saved = sessionStorage.getItem('anet_network_id');\n if (saved) setNetworkId(saved);\n }, []);\n\n const setAndPersist = (id: string) => {\n setNetworkId(id);\n sessionStorage.setItem('anet_network_id', id);\n };\n\n return (\n <NetworkContext.Provider value={{ networkId, setNetworkId: setAndPersist }}>\n {children}\n </NetworkContext.Provider>\n );\n}\n\nexport function useNetworkId() {\n return useContext(NetworkContext);\n}\n","'use client';\n\nimport { useEffect, useState } from 'react';\nimport useSWR from 'swr';\n\n/** Issue #119 — server-side panel listing the hub's hosts + CPU/RAM bars.\n *\n * Steps 1+2 (SDK马 host telemetry + CommHub aggregation) shipped with\n * commhub-server v0.8.1-preview.2. Step 3 (this file, Round 20 of the\n * dashboard /loop) swaps the original mock seed for a SWR fetch of\n * `/api/hub/servers` (which proxies to the hub's `/api/servers`).\n *\n * Collapsed by default to a thin vertical icon strip so it never competes\n * with the topology graph for horizontal real-estate. State persists to\n * localStorage just like the other dashboard drawers.\n *\n * Backward-compat: if the upstream hub predates v0.8.1-preview.2 the\n * proxy returns `{ servers: [], unavailable: true }`. The drawer\n * surfaces a friendly \"not yet available\" hint instead of an empty list,\n * so old hubs don't read as \"something broke\".\n */\n\ninterface ServerAgent {\n alias: string;\n runtime: string | null;\n status: 'working' | 'idle' | 'offline';\n last_seen_at?: string | null;\n progress?: number | null; // 0..1\n}\n\ninterface ServerCard {\n hostname: string;\n ip?: string | null;\n cpu_load_1min: number | null;\n cpu_cores: number;\n mem_used_gb: number | null;\n mem_total_gb: number | null;\n /** Hero 1 v0.10.0: disk usage. Optional — older hubs don't report. */\n disk_used_gb?: number | null;\n disk_total_gb?: number | null;\n /** Hero 1 v0.10.0: short history for sparklines (5-min sliding window).\n * Each is the rolling 1-min average sampled at ~30s cadence (so ~10\n * data points for 5-min). Optional — older hubs don't report. */\n cpu_history?: number[];\n mem_history?: number[];\n /** v0.10.2 RFC-014 — disk usage 5-min rolling history. Optional;\n * older agent-node (< 2.4.1-preview.0) doesn't ship it. */\n disk_history?: number[];\n /** Hero 2 v0.10.0: per-server agent rollup. Optional — older hubs\n * send only aggregate agent_count. */\n agents?: ServerAgent[];\n agent_count: number;\n status: 'online' | 'offline';\n note?: string;\n}\n\ninterface ServersResponse {\n servers: ServerCard[];\n unavailable?: boolean;\n}\n\nconst fetcher = async (url: string): Promise<ServersResponse> => {\n const res = await fetch(url);\n if (res.status === 401) {\n if (typeof window !== 'undefined') window.location.assign('/login');\n throw new Error('unauthorized');\n }\n if (!res.ok) throw new Error(`hub ${res.status}`);\n return res.json();\n};\n\n// Bar tint by usage — green ≤60%, amber 60–85%, red >85%. Keeps the eye\n// going to whichever box is actually about to tip over.\nfunction barTint(pct: number) {\n if (pct >= 85) return { fill: '#ef4444', track: 'rgb(239 68 68 / 0.16)' };\n if (pct >= 60) return { fill: '#f59e0b', track: 'rgb(245 158 11 / 0.16)' };\n return { fill: '#10b981', track: 'rgb(16 185 129 / 0.16)' };\n}\n\nfunction Bar({ pct, label }: { pct: number; label: string }) {\n const t = barTint(pct);\n const clamped = Math.max(0, Math.min(100, pct));\n return (\n <div className=\"space-y-0.5\">\n <div className=\"flex justify-between text-[10px] text-[var(--fg-muted)] font-mono\">\n <span>{label}</span>\n <span className=\"tabular-nums\">{Math.round(clamped)}%</span>\n </div>\n <div className=\"h-1.5 rounded-full overflow-hidden\" style={{ background: t.track }}>\n <div\n className=\"h-full transition-[width] duration-300 ease-out\"\n style={{ width: `${clamped}%`, background: t.fill }}\n />\n </div>\n </div>\n );\n}\n\n/** Hero 1 v0.10.0 — inline SVG sparkline for 5-min rolling history.\n * Zero-dep (no recharts). Renders a stroked polyline + filled area.\n * Values are percentages (0..100); clamps inside. */\nfunction Sparkline({ values, tint, label }: { values: number[]; tint: string; label: string }) {\n if (!values || values.length < 2) return null;\n const w = 100, h = 18;\n const max = 100;\n const stride = w / Math.max(1, values.length - 1);\n const pts = values.map((v, i) => {\n const x = i * stride;\n const y = h - (Math.max(0, Math.min(max, v)) / max) * h;\n return `${x.toFixed(1)},${y.toFixed(1)}`;\n });\n const polyline = pts.join(' ');\n const area = `M0,${h} L${pts.join(' L')} L${w},${h} Z`;\n return (\n <svg\n width=\"100%\" height={h} viewBox={`0 0 ${w} ${h}`}\n preserveAspectRatio=\"none\" aria-label={`${label} 5-min history`}\n data-server-sparkline={label}\n >\n <path d={area} fill={tint} opacity=\"0.18\" />\n <polyline points={polyline} fill=\"none\" stroke={tint} strokeWidth=\"1.2\" />\n </svg>\n );\n}\n\n/** Hero 1 v0.10.0 — single health badge derived from the worst of\n * CPU / Mem / Disk percentages. Green ≤60%, amber 60-85%, red >85%\n * (same thresholds as Bar). Returns null when no percentages available\n * (e.g. offline server) so the card layout reads \"n/a · offline\" instead. */\nfunction HealthBadge({ cpu, mem, disk }: { cpu: number | null; mem: number | null; disk: number | null }) {\n const vals = [cpu, mem, disk].filter((v): v is number => typeof v === 'number');\n if (vals.length === 0) return null;\n const worst = Math.max(...vals);\n const t = barTint(worst);\n const status = worst >= 85 ? 'red' : worst >= 60 ? 'amber' : 'green';\n return (\n <span\n className=\"inline-block w-2 h-2 rounded-full shrink-0\"\n style={{ background: t.fill, boxShadow: `0 0 0 2px ${t.track}` }}\n data-server-health-badge={status}\n title={`worst: ${Math.round(worst)}%`}\n />\n );\n}\n\n/** Hero 2 v0.10.0 — per-server expandable agent list. Renders compact\n * rows: alias · runtime · status chip · last_seen relative. progress\n * bar appears when an agent reports progress (0..1). When the upstream\n * hub doesn't report agents[], the row falls through to a small\n * \"agent list pending hub upgrade\" hint. */\nfunction AgentList({ agents }: { agents?: ServerAgent[] }) {\n if (!agents || agents.length === 0) {\n return (\n <div className=\"text-[9px] text-[var(--fg-dim)] font-mono italic px-1 py-1\" data-server-agents-missing=\"true\">\n {/* #157 fix — copy update. Pre-#157 the placeholder read\n \"agent rollup pending hub ≥ 0.8.2-preview\". commhub-server@\n 0.8.2 is LIVE in prod (Vincent screenshot 5560 verified) but\n still doesn't ship `agents[]`. Version-specific text was\n misleading — implied upgrade-needed when hub already\n crossed the threshold. New copy drops the version pinning\n and just states the data-shape: hub hasn't reported the\n agent rollup for this server (could be hub-side feature\n gap or session-source gap). data-server-agents-missing\n attr surfaces the gate for tests. */}\n agent rollup not reported by hub\n </div>\n );\n }\n return (\n <ul className=\"space-y-1\" data-server-agent-list>\n {agents.map(a => {\n const statusColor =\n a.status === 'working' ? '#10b981' :\n a.status === 'idle' ? '#06b6d4' : '#6b7280';\n return (\n <li\n key={a.alias}\n className=\"flex items-center gap-1.5 text-[10px] font-mono\"\n data-server-agent={a.alias}\n >\n <span className=\"w-1.5 h-1.5 rounded-full shrink-0\" style={{ background: statusColor }} />\n <span className=\"font-semibold truncate\" style={{ color: 'var(--fg)' }}>{a.alias}</span>\n {a.runtime && (\n <span className=\"text-[9px] text-[var(--fg-dim)] shrink-0\">· {a.runtime}</span>\n )}\n {typeof a.progress === 'number' && a.progress > 0 && (\n <span className=\"ml-auto text-[9px] tabular-nums text-[var(--fg-muted)]\">\n {Math.round(a.progress * 100)}%\n </span>\n )}\n </li>\n );\n })}\n </ul>\n );\n}\n\nfunction useServers(enabled = true) {\n const { data, error } = useSWR<ServersResponse>(\n enabled ? '/api/hub/servers' : null,\n fetcher,\n { refreshInterval: 5000, dedupingInterval: 3000 },\n );\n const servers = data?.servers ?? [];\n const unavailable = data?.unavailable === true;\n const onlineCount = servers.filter(s => s.status === 'online').length;\n const loading = enabled && !data && !error;\n return { data, error, servers, unavailable, onlineCount, loading };\n}\n\nexport function ServersPanel({ enabled = true, className = '' }: { enabled?: boolean; className?: string }) {\n const [expanded, setExpanded] = useState<Set<string>>(new Set());\n useEffect(() => {\n try {\n const raw = localStorage.getItem('anet-servers-drawer-expanded');\n if (raw) setExpanded(new Set(JSON.parse(raw)));\n } catch {}\n }, []);\n const toggleExpanded = (hostname: string) => setExpanded(prev => {\n const next = new Set(prev);\n if (next.has(hostname)) next.delete(hostname); else next.add(hostname);\n try { localStorage.setItem('anet-servers-drawer-expanded', JSON.stringify([...next])); } catch {}\n return next;\n });\n\n const { data, error, servers, unavailable, loading } = useServers(enabled);\n\n return (\n <div className={`min-h-0 overflow-y-auto px-2 py-2 space-y-2 ${className}`} data-servers-body>\n {loading && (\n <div className=\"text-[10px] text-[var(--fg-muted)] font-mono text-center py-4\">\n loading servers…\n </div>\n )}\n {error && !data && (\n <div className=\"rounded-md border px-2.5 py-2 text-[10px] font-mono\"\n style={{ background: 'rgb(239 68 68 / 0.06)', borderColor: 'rgb(239 68 68 / 0.25)', color: '#ef4444' }}>\n hub unreachable · retrying every 5s\n </div>\n )}\n {unavailable && (\n <div className=\"text-[10px] text-[var(--fg-muted)] font-mono text-center py-3 leading-relaxed\">\n host telemetry not available<br/>\n <span className=\"text-[var(--fg-dim)]\">upgrade commhub-server ≥ 0.8.1-preview.2</span>\n </div>\n )}\n {!loading && !error && !unavailable && servers.length === 0 && (\n <div className=\"text-[10px] text-[var(--fg-muted)] font-mono text-center py-4\">\n no servers reporting yet\n </div>\n )}\n {servers.map(s => {\n const offline = s.status === 'offline';\n const cpuPct = s.cpu_load_1min != null && s.cpu_cores > 0 ? (s.cpu_load_1min / s.cpu_cores) * 100 : null;\n const memPct = s.mem_used_gb != null && s.mem_total_gb != null && s.mem_total_gb > 0 ? (s.mem_used_gb / s.mem_total_gb) * 100 : null;\n const diskPct = s.disk_used_gb != null && s.disk_total_gb != null && s.disk_total_gb > 0 ? (s.disk_used_gb / s.disk_total_gb) * 100 : null;\n const isExpanded = expanded.has(s.hostname);\n return (\n <div\n key={s.hostname}\n className=\"rounded-lg border px-2.5 py-2 space-y-1.5\"\n style={{\n background: 'var(--bg)',\n borderColor: 'var(--border)',\n opacity: offline ? 0.55 : 1,\n }}\n data-server-card={s.hostname}\n data-server-expanded={isExpanded ? 'true' : 'false'}\n title={s.ip ? `${s.hostname} · ${s.ip}` : s.hostname}\n >\n {/* v0.10.0 Hero 1+2: header row — click toggles expanded\n detail view (sparklines + disk + agent rollup). */}\n <button\n type=\"button\"\n onClick={() => toggleExpanded(s.hostname)}\n aria-expanded={isExpanded}\n className=\"w-full flex items-center justify-between gap-2 text-left\"\n data-server-card-toggle={s.hostname}\n >\n <div className=\"min-w-0 flex items-center gap-1.5\">\n {/* Hero 1 health badge — worst-of CPU/Mem/Disk */}\n {!offline && <HealthBadge cpu={cpuPct} mem={memPct} disk={diskPct} />}\n <span className=\"font-mono text-[12px] font-semibold truncate\" style={{ color: 'var(--fg)' }}>{s.hostname}</span>\n {s.note && <span className=\"text-[9px] text-[var(--fg-dim)]\">({s.note})</span>}\n </div>\n <span className=\"flex items-center gap-1 shrink-0\">\n <span className=\"text-[10px] text-[var(--fg-muted)] font-mono tabular-nums\">\n {s.agent_count}&nbsp;agent{s.agent_count === 1 ? '' : 's'}\n </span>\n {/* Chevron — rotates 90° on expanded */}\n <svg\n width=\"10\" height=\"10\" viewBox=\"0 0 10 10\"\n style={{ transform: isExpanded ? 'rotate(90deg)' : 'rotate(0deg)', transition: 'transform 150ms ease-out' }}\n aria-hidden\n >\n <path d=\"M3 1.5L7 5L3 8.5\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"1.5\" strokeLinecap=\"round\" strokeLinejoin=\"round\" />\n </svg>\n </span>\n </button>\n {!offline && cpuPct != null && (\n <Bar pct={cpuPct} label={`CPU ${s.cpu_load_1min!.toFixed(2)}/${s.cpu_cores}`} />\n )}\n {!offline && memPct != null && (\n <Bar pct={memPct} label={`RAM ${s.mem_used_gb!.toFixed(1)}/${s.mem_total_gb!.toFixed(1)}G`} />\n )}\n {offline && (\n <div className=\"text-[10px] text-[var(--fg-dim)] font-mono italic\">CPU n/a · RAM n/a · offline</div>\n )}\n {/* v0.10.0 Hero 1+2: expanded detail — disk bar +\n 5-min sparklines + agent rollup. Visible only when\n the user clicks the card. Renders gracefully when\n upstream hub hasn't shipped optional fields. */}\n {isExpanded && !offline && (\n <div className=\"pt-1 mt-1 border-t space-y-1.5\" style={{ borderColor: 'var(--border)' }}>\n {diskPct != null ? (\n <Bar pct={diskPct} label={`DISK ${s.disk_used_gb!.toFixed(1)}/${s.disk_total_gb!.toFixed(1)}G`} />\n ) : (\n /* #157 sibling fix — same misleading version-pin copy\n dropped at the disk-metric placeholder. Same\n rationale as the agent-rollup copy above. */\n <div className=\"text-[9px] text-[var(--fg-dim)] font-mono italic\" data-server-disk-missing=\"true\">disk metric not reported by hub</div>\n )}\n {s.cpu_history && s.cpu_history.length >= 2 && (\n <div className=\"space-y-0.5\">\n <div className=\"text-[9px] text-[var(--fg-muted)] font-mono\">CPU · 5-min</div>\n <Sparkline values={s.cpu_history} tint=\"#10b981\" label=\"CPU\" />\n </div>\n )}\n {s.mem_history && s.mem_history.length >= 2 && (\n <div className=\"space-y-0.5\">\n <div className=\"text-[9px] text-[var(--fg-muted)] font-mono\">RAM · 5-min</div>\n <Sparkline values={s.mem_history} tint=\"#06b6d4\" label=\"MEM\" />\n </div>\n )}\n {/* v0.10.2 RFC-014 §7 close gate #3 — disk usage\n 5-min curve. Amber tint matches the disk bar\n tier convention (DISK > CPU/Mem in alert-\n priority hierarchy since disk-full is a hard\n failure mode). Render only when agent-node\n 2.4.1-preview.0+ has shipped disk_history;\n backward-compat handles older agents silently\n (no sparkline, no broken state). */}\n {s.disk_history && s.disk_history.length >= 2 && (\n <div className=\"space-y-0.5\">\n <div className=\"text-[9px] text-[var(--fg-muted)] font-mono\">DISK · 5-min</div>\n <Sparkline values={s.disk_history} tint=\"#f59e0b\" label=\"DISK\" />\n </div>\n )}\n <div className=\"pt-1\">\n <div className=\"text-[9px] text-[var(--fg-muted)] font-mono mb-0.5\">agents</div>\n <AgentList agents={s.agents} />\n </div>\n </div>\n )}\n </div>\n );\n })}\n {servers.length > 0 && (\n <div className=\"pt-1 text-[9px] text-[var(--fg-dim)] font-mono text-center\">\n live · refreshing every 5s\n </div>\n )}\n </div>\n );\n}\n\nexport function ServersDrawer() {\n const [open, setOpen] = useState(false);\n // Drawer state is per-user-machine — persist like the other dashboard\n // sticky toggles (`anet-topo-layout`, `anet-topo-view`, etc.).\n useEffect(() => {\n try { if (localStorage.getItem('anet-servers-drawer') === '1') setOpen(true); } catch {}\n }, []);\n const toggle = () => setOpen(prev => {\n const next = !prev;\n try { localStorage.setItem('anet-servers-drawer', next ? '1' : '0'); } catch {}\n return next;\n });\n\n // Round 20 / #119 step 3 final delivery — real SWR fetch. 5s refresh\n // matches the other live drawers (HealthBanner, Sidebar) so an operator\n // sees host telemetry update in roughly the same beat as session state.\n // Only poll while expanded — collapsed icon strip doesn't need fresh data.\n const { servers, onlineCount } = useServers(open);\n\n return (\n <aside\n className=\"fixed right-0 top-20 z-40 hidden lg:flex flex-col rounded-l-xl border border-r-0 shadow-xl shadow-black/30 anet-fade-in\"\n style={{\n background: 'var(--bg-secondary)',\n borderColor: 'var(--border)',\n width: open ? 296 : 40,\n maxHeight: 'calc(100vh - 6rem)',\n transition: 'width 200ms ease-out',\n }}\n aria-label=\"Servers panel\"\n >\n <button\n onClick={toggle}\n aria-expanded={open}\n aria-label={open ? 'Collapse servers panel' : 'Expand servers panel'}\n className=\"flex items-center gap-2 px-2.5 py-2 border-b text-[11px] font-semibold tracking-wide select-none\"\n style={{ color: 'var(--fg)', borderColor: 'var(--border)' }}\n >\n <svg className=\"w-4 h-4 shrink-0\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"1.8\" strokeLinecap=\"round\" strokeLinejoin=\"round\">\n <rect x=\"3\" y=\"4\" width=\"18\" height=\"6\" rx=\"1.5\" />\n <rect x=\"3\" y=\"14\" width=\"18\" height=\"6\" rx=\"1.5\" />\n <circle cx=\"7\" cy=\"7\" r=\"0.7\" fill=\"currentColor\" />\n <circle cx=\"7\" cy=\"17\" r=\"0.7\" fill=\"currentColor\" />\n </svg>\n {open && (\n <>\n <span className=\"flex-1 text-left\">Servers</span>\n <span className=\"text-[10px] text-[var(--fg-muted)] font-mono\">{onlineCount}/{servers.length}</span>\n </>\n )}\n </button>\n\n {open && (\n <ServersPanel enabled={open} className=\"flex-1\" />\n )}\n </aside>\n );\n}\n"],"names":["process","env","NEXT_RUNTIME","module","exports","require","__NEXT_EXPERIMENTAL_REACT","NODE_ENV","TURBOPACK","vendored","ReactJsxRuntime","React","AppRouterContext","ReactServerDOMTurbopackClient","HooksClientContext","ServerInsertedHtml","parseHubTime","dateStr","iso","includes","replace","t","Date","parse","Number","isFinite","relativeAgo","s","Math","floor","now","NetworkContext","networkId","setNetworkId","NetworkProvider","children","saved","sessionStorage","getItem","setAndPersist","id","setItem","Provider","value","useNetworkId","fetcher","url","res","fetch","status","Error","ok","json","barTint","pct","fill","track","Bar","label","clamped","max","min","className","round","style","background","width","Sparkline","values","tint","length","w","h","stride","pts","map","v","i","x","y","toFixed","polyline","join","area","height","viewBox","preserveAspectRatio","d","opacity","points","stroke","strokeWidth","HealthBadge","cpu","mem","disk","vals","filter","worst","boxShadow","title","AgentList","agents","a","statusColor","alias","color","runtime","progress","useServers","enabled","data","error","refreshInterval","dedupingInterval","servers","unavailable","onlineCount","loading","ServersPanel","expanded","setExpanded","Set","raw","localStorage","JSON","toggleExpanded","hostname","prev","next","has","delete","add","stringify","borderColor","offline","cpuPct","cpu_load_1min","cpu_cores","memPct","mem_used_gb","mem_total_gb","diskPct","disk_used_gb","disk_total_gb","isExpanded","ip","type","onClick","note","agent_count","transform","transition","strokeLinecap","strokeLinejoin","cpu_history","mem_history","disk_history","ServersDrawer","open","setOpen","toggle","maxHeight","rx","cx","cy","r"],"mappings":"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","ignoreList":[0,1,2,3,4,5,6]}
1
+ {"version":3,"sources":["../../../../../p248-dash-release/node_modules/next/src/server/route-modules/app-page/module.compiled.js","../../../../../p248-dash-release/node_modules/next/src/server/route-modules/app-page/vendored/ssr/react-jsx-runtime.ts","../../../../../p248-dash-release/node_modules/next/src/server/route-modules/app-page/vendored/ssr/react.ts","../../../../../p248-dash-release/node_modules/next/src/server/route-modules/app-page/vendored/contexts/app-router-context.ts","../../../../../p248-dash-release/node_modules/next/src/server/route-modules/app-page/vendored/ssr/react-server-dom-turbopack-client.ts","../../../../../p248-dash-release/node_modules/next/src/server/route-modules/app-page/vendored/contexts/hooks-client-context.ts","../../../../../p248-dash-release/node_modules/next/src/server/route-modules/app-page/vendored/contexts/server-inserted-html.ts","../../../../../p248-dash-release/app/lib/time.ts","../../../../../p248-dash-release/app/lib/network-context.tsx","../../../../../p248-dash-release/app/components/ServersDrawer.tsx"],"sourcesContent":["if (process.env.NEXT_RUNTIME === 'edge') {\n module.exports = require('next/dist/server/route-modules/app-page/module.js')\n} else {\n if (process.env.__NEXT_EXPERIMENTAL_REACT) {\n if (process.env.NODE_ENV === 'development') {\n if (process.env.TURBOPACK) {\n module.exports = require('next/dist/compiled/next-server/app-page-turbo-experimental.runtime.dev.js')\n } else {\n module.exports = require('next/dist/compiled/next-server/app-page-experimental.runtime.dev.js')\n }\n } else {\n if (process.env.TURBOPACK) {\n module.exports = require('next/dist/compiled/next-server/app-page-turbo-experimental.runtime.prod.js')\n } else {\n module.exports = require('next/dist/compiled/next-server/app-page-experimental.runtime.prod.js')\n }\n }\n } else {\n if (process.env.NODE_ENV === 'development') {\n if (process.env.TURBOPACK) {\n module.exports = require('next/dist/compiled/next-server/app-page-turbo.runtime.dev.js')\n } else {\n module.exports = require('next/dist/compiled/next-server/app-page.runtime.dev.js')\n }\n } else {\n if (process.env.TURBOPACK) {\n module.exports = require('next/dist/compiled/next-server/app-page-turbo.runtime.prod.js')\n } else {\n module.exports = require('next/dist/compiled/next-server/app-page.runtime.prod.js')\n }\n }\n }\n}\n","module.exports = (\n require('../../module.compiled') as typeof import('../../module.compiled')\n).vendored['react-ssr']!.ReactJsxRuntime\n","module.exports = (\n require('../../module.compiled') as typeof import('../../module.compiled')\n).vendored['react-ssr']!.React\n","module.exports = (\n require('../../module.compiled') as typeof import('../../module.compiled')\n).vendored['contexts'].AppRouterContext\n","module.exports = (\n require('../../module.compiled') as typeof import('../../module.compiled')\n).vendored['react-ssr']!.ReactServerDOMTurbopackClient\n","module.exports = (\n require('../../module.compiled') as typeof import('../../module.compiled')\n).vendored['contexts'].HooksClientContext\n","module.exports = (\n require('../../module.compiled') as typeof import('../../module.compiled')\n).vendored['contexts'].ServerInsertedHtml\n","/** Shared timestamp helpers for hub-sourced data.\n *\n * Background — the CommHub serialises timestamps SQL-style without a\n * zone (\"2026-05-15 06:00:28\"), but some test data uses full ISO\n * (\"…T06:00:28Z\"). `Date.parse` on bare SQL is **local-time** in every\n * browser the dashboard supports, so a UTC+8 operator silently sees\n * every timestamp 8 h older than reality (Round 35 dug this out via\n * the `isGhost` filter mis-fire).\n *\n * Round 38 / Loop consolidates parsing — TopoGraph (R35), ChatPopover\n * (R37) and utils.ts::timeAgo all mirrored the same SQL→UTC rewrite;\n * one source of truth here. */\n\n/** Parse a hub timestamp to ms-since-epoch, treating SQL-style strings\n * as UTC. ISO strings (with `T`) bypass the rewrite and are parsed as-is.\n * Returns null for empty / unparseable input. */\nexport function parseHubTime(dateStr: string | null | undefined): number | null {\n if (!dateStr) return null;\n const iso = dateStr.includes('T') ? dateStr : dateStr.replace(' ', 'T') + 'Z';\n const t = Date.parse(iso);\n return Number.isFinite(t) ? t : null;\n}\n\n/** Format `dateStr` as a short relative-time string (\"6m ago\" / \"2h ago\").\n * Future timestamps (clock skew) collapse to \"just now\". Returns null when\n * the input doesn't parse — callers can decide on a fallback. */\nexport function relativeAgo(dateStr: string | null | undefined): string | null {\n const t = parseHubTime(dateStr);\n if (t === null) return null;\n const s = Math.floor((Date.now() - t) / 1000);\n if (s < 0) return 'just now';\n if (s < 60) return `${s}s ago`;\n if (s < 3600) return `${Math.floor(s / 60)}m ago`;\n if (s < 86400) return `${Math.floor(s / 3600)}h ago`;\n return `${Math.floor(s / 86400)}d ago`;\n}\n","'use client';\n\nimport { createContext, useContext, useState, useEffect, ReactNode } from 'react';\n\ninterface NetworkContextType {\n networkId: string;\n setNetworkId: (id: string) => void;\n}\n\nconst NetworkContext = createContext<NetworkContextType>({ networkId: '', setNetworkId: () => {} });\n\nexport function NetworkProvider({ children }: { children: ReactNode }) {\n const [networkId, setNetworkId] = useState('');\n\n useEffect(() => {\n const saved = sessionStorage.getItem('anet_network_id');\n if (saved) setNetworkId(saved);\n }, []);\n\n const setAndPersist = (id: string) => {\n setNetworkId(id);\n sessionStorage.setItem('anet_network_id', id);\n };\n\n return (\n <NetworkContext.Provider value={{ networkId, setNetworkId: setAndPersist }}>\n {children}\n </NetworkContext.Provider>\n );\n}\n\nexport function useNetworkId() {\n return useContext(NetworkContext);\n}\n","'use client';\n\nimport { useEffect, useState } from 'react';\nimport useSWR from 'swr';\n\n/** Issue #119 — server-side panel listing the hub's hosts + CPU/RAM bars.\n *\n * Steps 1+2 (SDK马 host telemetry + CommHub aggregation) shipped with\n * commhub-server v0.8.1-preview.2. Step 3 (this file, Round 20 of the\n * dashboard /loop) swaps the original mock seed for a SWR fetch of\n * `/api/hub/servers` (which proxies to the hub's `/api/servers`).\n *\n * Collapsed by default to a thin vertical icon strip so it never competes\n * with the topology graph for horizontal real-estate. State persists to\n * localStorage just like the other dashboard drawers.\n *\n * Backward-compat: if the upstream hub predates v0.8.1-preview.2 the\n * proxy returns `{ servers: [], unavailable: true }`. The drawer\n * surfaces a friendly \"not yet available\" hint instead of an empty list,\n * so old hubs don't read as \"something broke\".\n */\n\ninterface ServerAgent {\n alias: string;\n runtime: string | null;\n status: 'working' | 'idle' | 'offline';\n last_seen_at?: string | null;\n progress?: number | null; // 0..1\n}\n\ninterface ServerCard {\n hostname: string;\n ip?: string | null;\n cpu_load_1min: number | null;\n cpu_cores: number;\n mem_used_gb: number | null;\n mem_total_gb: number | null;\n /** Hero 1 v0.10.0: disk usage. Optional — older hubs don't report. */\n disk_used_gb?: number | null;\n disk_total_gb?: number | null;\n /** Hero 1 v0.10.0: short history for sparklines (5-min sliding window).\n * Each is the rolling 1-min average sampled at ~30s cadence (so ~10\n * data points for 5-min). Optional — older hubs don't report. */\n cpu_history?: number[];\n mem_history?: number[];\n /** v0.10.2 RFC-014 — disk usage 5-min rolling history. Optional;\n * older agent-node (< 2.4.1-preview.0) doesn't ship it. */\n disk_history?: number[];\n /** Hero 2 v0.10.0: per-server agent rollup. Optional — older hubs\n * send only aggregate agent_count. */\n agents?: ServerAgent[];\n agent_count: number;\n status: 'online' | 'offline';\n note?: string;\n}\n\ninterface ServersResponse {\n servers: ServerCard[];\n unavailable?: boolean;\n}\n\nconst fetcher = async (url: string): Promise<ServersResponse> => {\n const res = await fetch(url);\n if (res.status === 401) {\n if (typeof window !== 'undefined') window.location.assign('/login');\n throw new Error('unauthorized');\n }\n if (!res.ok) throw new Error(`hub ${res.status}`);\n return res.json();\n};\n\n// Bar tint by usage — green ≤60%, amber 60–85%, red >85%. Keeps the eye\n// going to whichever box is actually about to tip over.\nfunction barTint(pct: number) {\n if (pct >= 85) return { fill: '#ef4444', track: 'rgb(239 68 68 / 0.16)' };\n if (pct >= 60) return { fill: '#f59e0b', track: 'rgb(245 158 11 / 0.16)' };\n return { fill: '#10b981', track: 'rgb(16 185 129 / 0.16)' };\n}\n\nfunction Bar({ pct, label }: { pct: number; label: string }) {\n const t = barTint(pct);\n const clamped = Math.max(0, Math.min(100, pct));\n return (\n <div className=\"space-y-0.5\">\n <div className=\"flex justify-between text-[10px] text-[var(--fg-muted)] font-mono\">\n <span>{label}</span>\n <span className=\"tabular-nums\">{Math.round(clamped)}%</span>\n </div>\n <div className=\"h-1.5 rounded-full overflow-hidden\" style={{ background: t.track }}>\n <div\n className=\"h-full transition-[width] duration-300 ease-out\"\n style={{ width: `${clamped}%`, background: t.fill }}\n />\n </div>\n </div>\n );\n}\n\n/** Hero 1 v0.10.0 — inline SVG sparkline for 5-min rolling history.\n * Zero-dep (no recharts). Renders a stroked polyline + filled area.\n * Values are percentages (0..100); clamps inside. */\nfunction Sparkline({ values, tint, label }: { values: number[]; tint: string; label: string }) {\n if (!values || values.length < 2) return null;\n const w = 100, h = 18;\n const max = 100;\n const stride = w / Math.max(1, values.length - 1);\n const pts = values.map((v, i) => {\n const x = i * stride;\n const y = h - (Math.max(0, Math.min(max, v)) / max) * h;\n return `${x.toFixed(1)},${y.toFixed(1)}`;\n });\n const polyline = pts.join(' ');\n const area = `M0,${h} L${pts.join(' L')} L${w},${h} Z`;\n return (\n <svg\n width=\"100%\" height={h} viewBox={`0 0 ${w} ${h}`}\n preserveAspectRatio=\"none\" aria-label={`${label} 5-min history`}\n data-server-sparkline={label}\n >\n <path d={area} fill={tint} opacity=\"0.18\" />\n <polyline points={polyline} fill=\"none\" stroke={tint} strokeWidth=\"1.2\" />\n </svg>\n );\n}\n\n/** Hero 1 v0.10.0 — single health badge derived from the worst of\n * CPU / Mem / Disk percentages. Green ≤60%, amber 60-85%, red >85%\n * (same thresholds as Bar). Returns null when no percentages available\n * (e.g. offline server) so the card layout reads \"n/a · offline\" instead. */\nfunction HealthBadge({ cpu, mem, disk }: { cpu: number | null; mem: number | null; disk: number | null }) {\n const vals = [cpu, mem, disk].filter((v): v is number => typeof v === 'number');\n if (vals.length === 0) return null;\n const worst = Math.max(...vals);\n const t = barTint(worst);\n const status = worst >= 85 ? 'red' : worst >= 60 ? 'amber' : 'green';\n return (\n <span\n className=\"inline-block w-2 h-2 rounded-full shrink-0\"\n style={{ background: t.fill, boxShadow: `0 0 0 2px ${t.track}` }}\n data-server-health-badge={status}\n title={`worst: ${Math.round(worst)}%`}\n />\n );\n}\n\n/** Hero 2 v0.10.0 — per-server expandable agent list. Renders compact\n * rows: alias · runtime · status chip · last_seen relative. progress\n * bar appears when an agent reports progress (0..1). When the upstream\n * hub doesn't report agents[], the row falls through to a small\n * \"agent list pending hub upgrade\" hint. */\nfunction AgentList({ agents }: { agents?: ServerAgent[] }) {\n if (!agents || agents.length === 0) {\n return (\n <div className=\"text-[9px] text-[var(--fg-dim)] font-mono italic px-1 py-1\" data-server-agents-missing=\"true\">\n {/* #157 fix — copy update. Pre-#157 the placeholder read\n \"agent rollup pending hub ≥ 0.8.2-preview\". commhub-server@\n 0.8.2 is LIVE in prod (Vincent screenshot 5560 verified) but\n still doesn't ship `agents[]`. Version-specific text was\n misleading — implied upgrade-needed when hub already\n crossed the threshold. New copy drops the version pinning\n and just states the data-shape: hub hasn't reported the\n agent rollup for this server (could be hub-side feature\n gap or session-source gap). data-server-agents-missing\n attr surfaces the gate for tests. */}\n agent rollup not reported by hub\n </div>\n );\n }\n return (\n <ul className=\"space-y-1\" data-server-agent-list>\n {agents.map(a => {\n const statusColor =\n a.status === 'working' ? '#10b981' :\n a.status === 'idle' ? '#06b6d4' : '#6b7280';\n return (\n <li\n key={a.alias}\n className=\"flex items-center gap-1.5 text-[10px] font-mono\"\n data-server-agent={a.alias}\n >\n <span className=\"w-1.5 h-1.5 rounded-full shrink-0\" style={{ background: statusColor }} />\n <span className=\"font-semibold truncate\" style={{ color: 'var(--fg)' }}>{a.alias}</span>\n {a.runtime && (\n <span className=\"text-[9px] text-[var(--fg-dim)] shrink-0\">· {a.runtime}</span>\n )}\n {typeof a.progress === 'number' && a.progress > 0 && (\n <span className=\"ml-auto text-[9px] tabular-nums text-[var(--fg-muted)]\">\n {Math.round(a.progress * 100)}%\n </span>\n )}\n </li>\n );\n })}\n </ul>\n );\n}\n\nfunction useServers(enabled = true) {\n const { data, error } = useSWR<ServersResponse>(\n enabled ? '/api/hub/servers' : null,\n fetcher,\n { refreshInterval: 5000, dedupingInterval: 3000 },\n );\n const servers = data?.servers ?? [];\n const unavailable = data?.unavailable === true;\n const onlineCount = servers.filter(s => s.status === 'online').length;\n const loading = enabled && !data && !error;\n return { data, error, servers, unavailable, onlineCount, loading };\n}\n\nexport function ServersPanel({ enabled = true, className = '' }: { enabled?: boolean; className?: string }) {\n const [expanded, setExpanded] = useState<Set<string>>(new Set());\n useEffect(() => {\n try {\n const raw = localStorage.getItem('anet-servers-drawer-expanded');\n if (raw) setExpanded(new Set(JSON.parse(raw)));\n } catch {}\n }, []);\n const toggleExpanded = (hostname: string) => setExpanded(prev => {\n const next = new Set(prev);\n if (next.has(hostname)) next.delete(hostname); else next.add(hostname);\n try { localStorage.setItem('anet-servers-drawer-expanded', JSON.stringify([...next])); } catch {}\n return next;\n });\n\n const { data, error, servers, unavailable, loading } = useServers(enabled);\n\n return (\n <div className={`min-h-0 overflow-y-auto px-2 py-2 space-y-2 ${className}`} data-servers-body>\n {loading && (\n <div className=\"text-[10px] text-[var(--fg-muted)] font-mono text-center py-4\">\n loading servers…\n </div>\n )}\n {error && !data && (\n <div className=\"rounded-md border px-2.5 py-2 text-[10px] font-mono\"\n style={{ background: 'rgb(239 68 68 / 0.06)', borderColor: 'rgb(239 68 68 / 0.25)', color: '#ef4444' }}>\n hub unreachable · retrying every 5s\n </div>\n )}\n {unavailable && (\n <div className=\"text-[10px] text-[var(--fg-muted)] font-mono text-center py-3 leading-relaxed\">\n host telemetry not available<br/>\n <span className=\"text-[var(--fg-dim)]\">upgrade commhub-server ≥ 0.8.1-preview.2</span>\n </div>\n )}\n {!loading && !error && !unavailable && servers.length === 0 && (\n <div className=\"text-[10px] text-[var(--fg-muted)] font-mono text-center py-4\">\n no servers reporting yet\n </div>\n )}\n {servers.map(s => {\n const offline = s.status === 'offline';\n const cpuPct = s.cpu_load_1min != null && s.cpu_cores > 0 ? (s.cpu_load_1min / s.cpu_cores) * 100 : null;\n const memPct = s.mem_used_gb != null && s.mem_total_gb != null && s.mem_total_gb > 0 ? (s.mem_used_gb / s.mem_total_gb) * 100 : null;\n const diskPct = s.disk_used_gb != null && s.disk_total_gb != null && s.disk_total_gb > 0 ? (s.disk_used_gb / s.disk_total_gb) * 100 : null;\n const isExpanded = expanded.has(s.hostname);\n return (\n <div\n key={s.hostname}\n className=\"rounded-lg border px-2.5 py-2 space-y-1.5\"\n style={{\n background: 'var(--bg)',\n borderColor: 'var(--border)',\n opacity: offline ? 0.55 : 1,\n }}\n data-server-card={s.hostname}\n data-server-expanded={isExpanded ? 'true' : 'false'}\n title={s.ip ? `${s.hostname} · ${s.ip}` : s.hostname}\n >\n {/* v0.10.0 Hero 1+2: header row — click toggles expanded\n detail view (sparklines + disk + agent rollup). */}\n <button\n type=\"button\"\n onClick={() => toggleExpanded(s.hostname)}\n aria-expanded={isExpanded}\n className=\"w-full flex items-center justify-between gap-2 text-left\"\n data-server-card-toggle={s.hostname}\n >\n <div className=\"min-w-0 flex items-center gap-1.5\">\n {/* Hero 1 health badge — worst-of CPU/Mem/Disk */}\n {!offline && <HealthBadge cpu={cpuPct} mem={memPct} disk={diskPct} />}\n <span className=\"font-mono text-[12px] font-semibold truncate\" style={{ color: 'var(--fg)' }}>{s.hostname}</span>\n {s.note && <span className=\"text-[9px] text-[var(--fg-dim)]\">({s.note})</span>}\n </div>\n <span className=\"flex items-center gap-1 shrink-0\">\n <span className=\"text-[10px] text-[var(--fg-muted)] font-mono tabular-nums\">\n {s.agent_count}&nbsp;agent{s.agent_count === 1 ? '' : 's'}\n </span>\n {/* Chevron — rotates 90° on expanded */}\n <svg\n width=\"10\" height=\"10\" viewBox=\"0 0 10 10\"\n style={{ transform: isExpanded ? 'rotate(90deg)' : 'rotate(0deg)', transition: 'transform 150ms ease-out' }}\n aria-hidden\n >\n <path d=\"M3 1.5L7 5L3 8.5\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"1.5\" strokeLinecap=\"round\" strokeLinejoin=\"round\" />\n </svg>\n </span>\n </button>\n {!offline && cpuPct != null && (\n <Bar pct={cpuPct} label={`CPU ${s.cpu_load_1min!.toFixed(2)}/${s.cpu_cores}`} />\n )}\n {!offline && memPct != null && (\n <Bar pct={memPct} label={`RAM ${s.mem_used_gb!.toFixed(1)}/${s.mem_total_gb!.toFixed(1)}G`} />\n )}\n {offline && (\n <div className=\"text-[10px] text-[var(--fg-dim)] font-mono italic\">CPU n/a · RAM n/a · offline</div>\n )}\n {/* v0.10.0 Hero 1+2: expanded detail — disk bar +\n 5-min sparklines + agent rollup. Visible only when\n the user clicks the card. Renders gracefully when\n upstream hub hasn't shipped optional fields. */}\n {isExpanded && !offline && (\n <div className=\"pt-1 mt-1 border-t space-y-1.5\" style={{ borderColor: 'var(--border)' }}>\n {diskPct != null ? (\n <Bar pct={diskPct} label={`DISK ${s.disk_used_gb!.toFixed(1)}/${s.disk_total_gb!.toFixed(1)}G`} />\n ) : (\n /* #157 sibling fix — same misleading version-pin copy\n dropped at the disk-metric placeholder. Same\n rationale as the agent-rollup copy above. */\n <div className=\"text-[9px] text-[var(--fg-dim)] font-mono italic\" data-server-disk-missing=\"true\">disk metric not reported by hub</div>\n )}\n {s.cpu_history && s.cpu_history.length >= 2 && (\n <div className=\"space-y-0.5\">\n <div className=\"text-[9px] text-[var(--fg-muted)] font-mono\">CPU · 5-min</div>\n <Sparkline values={s.cpu_history} tint=\"#10b981\" label=\"CPU\" />\n </div>\n )}\n {s.mem_history && s.mem_history.length >= 2 && (\n <div className=\"space-y-0.5\">\n <div className=\"text-[9px] text-[var(--fg-muted)] font-mono\">RAM · 5-min</div>\n <Sparkline values={s.mem_history} tint=\"#06b6d4\" label=\"MEM\" />\n </div>\n )}\n {/* v0.10.2 RFC-014 §7 close gate #3 — disk usage\n 5-min curve. Amber tint matches the disk bar\n tier convention (DISK > CPU/Mem in alert-\n priority hierarchy since disk-full is a hard\n failure mode). Render only when agent-node\n 2.4.1-preview.0+ has shipped disk_history;\n backward-compat handles older agents silently\n (no sparkline, no broken state). */}\n {s.disk_history && s.disk_history.length >= 2 && (\n <div className=\"space-y-0.5\">\n <div className=\"text-[9px] text-[var(--fg-muted)] font-mono\">DISK · 5-min</div>\n <Sparkline values={s.disk_history} tint=\"#f59e0b\" label=\"DISK\" />\n </div>\n )}\n <div className=\"pt-1\">\n <div className=\"text-[9px] text-[var(--fg-muted)] font-mono mb-0.5\">agents</div>\n <AgentList agents={s.agents} />\n </div>\n </div>\n )}\n </div>\n );\n })}\n {servers.length > 0 && (\n <div className=\"pt-1 text-[9px] text-[var(--fg-dim)] font-mono text-center\">\n live · refreshing every 5s\n </div>\n )}\n </div>\n );\n}\n\nexport function ServersDrawer() {\n const [open, setOpen] = useState(false);\n // Drawer state is per-user-machine — persist like the other dashboard\n // sticky toggles (`anet-topo-layout`, `anet-topo-view`, etc.).\n useEffect(() => {\n try { if (localStorage.getItem('anet-servers-drawer') === '1') setOpen(true); } catch {}\n }, []);\n const toggle = () => setOpen(prev => {\n const next = !prev;\n try { localStorage.setItem('anet-servers-drawer', next ? '1' : '0'); } catch {}\n return next;\n });\n\n // Round 20 / #119 step 3 final delivery — real SWR fetch. 5s refresh\n // matches the other live drawers (HealthBanner, Sidebar) so an operator\n // sees host telemetry update in roughly the same beat as session state.\n // Only poll while expanded — collapsed icon strip doesn't need fresh data.\n const { servers, onlineCount } = useServers(open);\n\n return (\n <aside\n className=\"fixed right-0 top-20 z-40 hidden lg:flex flex-col rounded-l-xl border border-r-0 shadow-xl shadow-black/30 anet-fade-in\"\n style={{\n background: 'var(--bg-secondary)',\n borderColor: 'var(--border)',\n width: open ? 296 : 40,\n maxHeight: 'calc(100vh - 6rem)',\n transition: 'width 200ms ease-out',\n }}\n aria-label=\"Servers panel\"\n >\n <button\n onClick={toggle}\n aria-expanded={open}\n aria-label={open ? 'Collapse servers panel' : 'Expand servers panel'}\n className=\"flex items-center gap-2 px-2.5 py-2 border-b text-[11px] font-semibold tracking-wide select-none\"\n style={{ color: 'var(--fg)', borderColor: 'var(--border)' }}\n >\n <svg className=\"w-4 h-4 shrink-0\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"1.8\" strokeLinecap=\"round\" strokeLinejoin=\"round\">\n <rect x=\"3\" y=\"4\" width=\"18\" height=\"6\" rx=\"1.5\" />\n <rect x=\"3\" y=\"14\" width=\"18\" height=\"6\" rx=\"1.5\" />\n <circle cx=\"7\" cy=\"7\" r=\"0.7\" fill=\"currentColor\" />\n <circle cx=\"7\" cy=\"17\" r=\"0.7\" fill=\"currentColor\" />\n </svg>\n {open && (\n <>\n <span className=\"flex-1 text-left\">Servers</span>\n <span className=\"text-[10px] text-[var(--fg-muted)] font-mono\">{onlineCount}/{servers.length}</span>\n </>\n )}\n </button>\n\n {open && (\n <ServersPanel enabled={open} className=\"flex-1\" />\n )}\n </aside>\n );\n}\n"],"names":["process","env","NEXT_RUNTIME","module","exports","require","__NEXT_EXPERIMENTAL_REACT","NODE_ENV","TURBOPACK","vendored","ReactJsxRuntime","React","AppRouterContext","ReactServerDOMTurbopackClient","HooksClientContext","ServerInsertedHtml","parseHubTime","dateStr","iso","includes","replace","t","Date","parse","Number","isFinite","relativeAgo","s","Math","floor","now","NetworkContext","networkId","setNetworkId","NetworkProvider","children","saved","sessionStorage","getItem","setAndPersist","id","setItem","Provider","value","useNetworkId","fetcher","url","res","fetch","status","Error","ok","json","barTint","pct","fill","track","Bar","label","clamped","max","min","className","round","style","background","width","Sparkline","values","tint","length","w","h","stride","pts","map","v","i","x","y","toFixed","polyline","join","area","height","viewBox","preserveAspectRatio","d","opacity","points","stroke","strokeWidth","HealthBadge","cpu","mem","disk","vals","filter","worst","boxShadow","title","AgentList","agents","a","statusColor","alias","color","runtime","progress","useServers","enabled","data","error","refreshInterval","dedupingInterval","servers","unavailable","onlineCount","loading","ServersPanel","expanded","setExpanded","Set","raw","localStorage","JSON","toggleExpanded","hostname","prev","next","has","delete","add","stringify","borderColor","offline","cpuPct","cpu_load_1min","cpu_cores","memPct","mem_used_gb","mem_total_gb","diskPct","disk_used_gb","disk_total_gb","isExpanded","ip","type","onClick","note","agent_count","transform","transition","strokeLinecap","strokeLinejoin","cpu_history","mem_history","disk_history","ServersDrawer","open","setOpen","toggle","maxHeight","rx","cx","cy","r"],"mappings":"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","ignoreList":[0,1,2,3,4,5,6]}