@sleep2agi/agent-network-dashboard 0.6.2-preview.0 → 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/{13kcrxiilctt2.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/01iy2phnldl0-.js +0 -1
  672. package/.next/static/chunks/02t--r~nv.c6n.js +0 -1
  673. package/.next/static/chunks/03c2d6g2u_gnu.js +0 -1
  674. package/.next/static/chunks/0660o4gkafw8a.js +0 -1
  675. package/.next/static/chunks/0ex_mfboz03_l.js +0 -2
  676. package/.next/static/chunks/0mi1hn6-.upjq.js +0 -1
  677. package/.next/static/chunks/0nab6897qv856.js +0 -4
  678. package/.next/static/chunks/0nitzk8qp3k8d.js +0 -1
  679. package/.next/static/chunks/0q8p5b07wot4g.js +0 -1
  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/{akiYHIKYwhU8FKdRFT_bq → 88n5t5Pxmw08hbmLba3jI}/_buildManifest.js +0 -0
  732. /package/.next/static/{akiYHIKYwhU8FKdRFT_bq → 88n5t5Pxmw08hbmLba3jI}/_clientMiddlewareManifest.js +0 -0
  733. /package/.next/static/{akiYHIKYwhU8FKdRFT_bq → 88n5t5Pxmw08hbmLba3jI}/_ssgManifest.js +0 -0
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../p247-dash-release/app/components/utils.ts","../../../../../p247-dash-release/app/components/AliasAvatar.tsx","../../../../../p247-dash-release/app/lib/status.ts","../../../../../p247-dash-release/app/node/page.tsx"],"sourcesContent":["/** Round 82: strip the most common markdown markup from agent-to-agent\n * task / message bodies so single-line table previews read cleanly.\n * Full original content stays in the expanded row / drawer / title=. */\nexport function previewContent(raw: string | null | undefined): string {\n if (!raw) return '--';\n return raw\n .replace(/!\\[([^\\]]*)\\]\\([^)]*\\)/g, '$1') // images: ![alt](src) → alt\n .replace(/\\[([^\\]]+)\\]\\([^)]*\\)/g, '$1') // links: [text](href) → text\n .replace(/`([^`]+)`/g, '$1') // inline code: `x` → x\n .replace(/\\s+/g, ' ') // collapse whitespace\n .trim() || '--';\n}\n\n// Round 44 / Loop: timeAgo now delegates to the shared lib/time helper.\n// The old in-line `replace + 'Z'` parse appended a Z to already-ISO\n// inputs (producing \"…ZZ\", browser-fragile) — strict-superset semantics\n// preserved for SQL-style inputs, fixed for ISO. Plus a 'just now' fallback\n// when clock skew puts the timestamp in the future. Five callers benefit:\n// /admin · /logs · /settings/networks · InboxPanel · /messages.\nimport { relativeAgo } from '../lib/time';\nexport function timeAgo(dateStr: string): string {\n return relativeAgo(dateStr) ?? '--';\n}\n\nexport function statusColor(status: string, hasSse: boolean): string {\n if (hasSse && status === 'working') return 'bg-green-500';\n if (hasSse && status === 'idle') return 'bg-emerald-400';\n if (hasSse) return 'bg-blue-400';\n if (status === 'offline') return 'bg-gray-500';\n return 'bg-yellow-400';\n}\n","/** Hue-hashed avatar pill for agent aliases. Same alias → same color across\n * every page (Messages, Nodes, TopoGraph). Use the `size` prop for inline\n * pills (16/20) vs card headers (28). Round 21 introduced the palette;\n * round 22 promotes it from app/messages to a shared component. */\n\nconst AVATAR_HUES = [180, 200, 220, 270, 300, 330, 30, 90];\n\nexport function aliasAvatarColors(alias: string): { bg: string; ring: string; text: string } {\n let h = 0;\n for (let i = 0; i < alias.length; i++) h = (h * 31 + alias.charCodeAt(i)) >>> 0;\n const hue = AVATAR_HUES[h % AVATAR_HUES.length];\n return {\n bg: `hsl(${hue} 55% 22%)`,\n ring: `hsl(${hue} 60% 45%)`,\n text: `hsl(${hue} 80% 78%)`,\n };\n}\n\nexport function aliasInitial(alias?: string): string {\n if (!alias) return '·';\n const ch = alias.trim().match(/[\\p{L}\\p{N}]/u)?.[0] || alias.trim()[0] || '·';\n return ch.toUpperCase();\n}\n\nfunction isGrokAlias(alias: string) {\n return /\\bgrok\\b|grok-build|grok测试员|grok-demo/i.test(alias);\n}\n\ninterface AliasAvatarProps {\n alias: string;\n size?: number;\n className?: string;\n}\n\nexport function AliasAvatar({ alias, size = 28, className = '' }: AliasAvatarProps) {\n if (isGrokAlias(alias)) {\n return (\n <span\n className={`anet-alias-avatar inline-flex items-center justify-center rounded-full border border-emerald-500/45 bg-emerald-950/70 shrink-0 ${className}`}\n style={{\n width: size,\n height: size,\n backgroundImage: 'url(/vendors/grok.svg)',\n backgroundPosition: 'center',\n backgroundRepeat: 'no-repeat',\n backgroundSize: '68% 68%',\n }}\n title={alias}\n aria-hidden\n />\n );\n }\n\n const c = aliasAvatarColors(alias);\n const fs = Math.max(9, Math.round(size * 0.42));\n return (\n <span\n className={`anet-alias-avatar inline-flex items-center justify-center rounded-full border shrink-0 font-semibold ${className}`}\n style={{\n width: size,\n height: size,\n fontSize: fs,\n backgroundColor: c.bg,\n borderColor: c.ring,\n color: c.text,\n }}\n title={alias}\n aria-hidden\n >\n {aliasInitial(alias)}\n </span>\n );\n}\n","/** Single source of truth for task status colors. Both `/tasks` (chip\n * strip, badge, distribution bar) and the Overview Recent Activity row\n * used to ship their own incomplete maps; round 66 consolidates them\n * here so adding a new status updates every consumer at once.\n *\n * Order in `TASK_STATUSES` is chronological-ish: lifecycle progress on\n * the left, terminal-good (`closed`) in the middle, terminal-bad\n * (`failed`/`cancelled`/`expired`) on the right. */\n\nexport const TASK_STATUSES = [\n 'created',\n 'delivered',\n 'acked',\n 'running',\n 'replied',\n 'closed',\n 'failed',\n 'cancelled',\n 'expired',\n] as const;\n\n/** Pill / chip background+text+border. Tailwind classes, not inlined hex,\n * because chips are static class names safe from purge. */\n/** #217 D3 (OpenWebUI-style color restraint): the 9-hue rainbow is\n * collapsed to a semantic triad — green = actively running, red =\n * failed, gray = everything else (in-flight states in lighter gray,\n * terminal states dimmer). Color now means something instead of\n * decorating every enum value. */\nexport const STATUS_CHIP_CLASS: Record<string, string> = {\n created: 'bg-gray-500/10 text-gray-400 border-gray-500/20',\n delivered: 'bg-gray-500/10 text-gray-300 border-gray-500/20',\n acked: 'bg-gray-500/10 text-gray-300 border-gray-500/20',\n running: 'bg-green-500/10 text-green-300 border-green-500/20',\n replied: 'bg-gray-500/10 text-gray-300 border-gray-500/20',\n closed: 'bg-gray-500/10 text-gray-500 border-gray-500/20',\n failed: 'bg-red-500/10 text-red-300 border-red-500/20',\n cancelled: 'bg-gray-500/10 text-gray-500 border-gray-500/20',\n expired: 'bg-gray-500/10 text-gray-500 border-gray-500/20',\n};\n\n/** Inline hex dots — used wherever Tailwind would purge dynamic class\n * names (`bg-${family}-400`). Style attribute carries the color. */\nexport const STATUS_DOT_HEX: Record<string, string> = {\n created: '#9ca3af',\n delivered: '#9ca3af',\n acked: '#9ca3af',\n running: '#4ade80',\n replied: '#9ca3af',\n closed: '#6b7280',\n failed: '#f87171',\n cancelled: '#6b7280',\n expired: '#6b7280',\n};\n\n/** Session lifecycle (distinct from task lifecycle above). Shared by\n * /nodes status pills and /admin Online Sessions row chips so an\n * agent in `blocked` state reads the same color everywhere.\n * Round 91 — extracted from app/nodes/page.tsx. */\n/** D3: idle drops from blue to gray — only working (green), blocked\n * (amber, actionable) and error (red) earn color. */\nexport const SESSION_STATUS_CHIP_CLASS: Record<string, string> = {\n working: 'bg-green-500/10 text-green-300 border-green-500/20',\n idle: 'bg-gray-500/10 text-gray-300 border-gray-500/20',\n blocked: 'bg-yellow-500/10 text-yellow-300 border-yellow-500/20',\n error: 'bg-red-500/10 text-red-300 border-red-500/20',\n offline: 'bg-gray-500/10 text-gray-500 border-gray-500/20',\n};\n\n/** Text-only color for session status. Used where a chip background\n * would be too heavy — e.g. /node detail header status label. */\nexport const SESSION_STATUS_TEXT_CLASS: Record<string, string> = {\n working: 'text-green-400',\n idle: 'text-gray-400',\n blocked: 'text-yellow-400',\n error: 'text-red-400',\n offline: 'text-gray-500',\n};\n\n/** Solid bar segment background for the Tasks distribution bar. */\nexport const STATUS_BAR_CLASS: Record<string, string> = {\n created: 'bg-gray-500',\n delivered: 'bg-gray-400',\n acked: 'bg-gray-300',\n running: 'bg-green-500',\n replied: 'bg-gray-400',\n closed: 'bg-gray-600',\n failed: 'bg-red-500',\n cancelled: 'bg-gray-600',\n expired: 'bg-gray-600',\n};\n","'use client';\n\nimport { useEffect, useState, useCallback } from 'react';\nimport { useSearchParams } from 'next/navigation';\nimport Link from 'next/link';\nimport { Suspense } from 'react';\nimport { TaskChatPanel } from '../components/TaskChatPanel';\nimport { timeAgo } from '../components/utils';\nimport { AliasAvatar } from '../components/AliasAvatar';\nimport { SESSION_STATUS_TEXT_CLASS } from '../lib/status';\nimport { useChatUnread } from '../lib/chat-unread';\n\ninterface SessionDetail {\n resume_id: string;\n alias: string;\n status: string;\n agent: string;\n server: string;\n hostname: string;\n task: string;\n output: string;\n progress: number;\n score: number;\n registered_at: string;\n updated_at: string;\n project_dir: string;\n tmux_name: string;\n ip: string;\n node_id: string;\n session_id: string;\n config_path: string;\n channels: string[];\n last_seen_at: string;\n model: string;\n version: string;\n}\n\ninterface Message {\n id: string;\n content: string;\n from_session: string;\n priority: string;\n created_at: string;\n type: string;\n}\n\nfunction TmuxViewer({ tmuxName }: { tmuxName: string }) {\n const [output, setOutput] = useState('');\n const [loading, setLoading] = useState(false);\n const [expanded, setExpanded] = useState(false);\n\n const fetchTmux = async () => {\n setLoading(true);\n try {\n const res = await fetch(`/api/hub/tmux?name=${encodeURIComponent(tmuxName)}`);\n const data = await res.json();\n setOutput(data.output || data.error || 'No output');\n } catch { setOutput('Failed to fetch'); }\n setLoading(false);\n };\n\n return (\n <div className=\"bg-[#161618] border border-[#26262b] rounded-xl p-4\">\n <div className=\"flex items-center justify-between mb-2\">\n <h2 className=\"text-sm font-semibold text-gray-300\">Terminal ({tmuxName})</h2>\n <div className=\"flex gap-2\">\n <button onClick={fetchTmux} disabled={loading}\n className=\"text-xs text-cyan-400 hover:text-cyan-300 disabled:text-gray-600\">\n {loading ? 'Loading...' : 'Capture'}\n </button>\n {output && (\n <button onClick={() => setExpanded(!expanded)} className=\"text-xs text-gray-500 hover:text-gray-300\">\n {expanded ? 'Collapse' : 'Expand'}\n </button>\n )}\n </div>\n </div>\n {output && (\n <pre className={`text-[11px] text-green-300 bg-[#060607] rounded-lg px-3 py-2 border border-[#1c1c1f] overflow-x-auto whitespace-pre font-mono ${expanded ? 'max-h-96' : 'max-h-32'} overflow-y-auto`}>\n {output}\n </pre>\n )}\n {!output && <p className=\"text-xs text-gray-600\">Click Capture to view terminal output</p>}\n </div>\n );\n}\n\nfunction NodeDetailContent() {\n const searchParams = useSearchParams();\n const alias = searchParams.get('alias') || '';\n const [session, setSession] = useState<SessionDetail | null>(null);\n const [inbox, setInbox] = useState<Message[]>([]);\n const [sse, setSse] = useState(0);\n const [error, setError] = useState('');\n const [sendMsg, setSendMsg] = useState('');\n const [sending, setSending] = useState(false);\n\n const fetchData = useCallback(async () => {\n if (!alias) return;\n try {\n const res = await fetch(`/api/hub/session?alias=${encodeURIComponent(alias)}`);\n const data = await res.json();\n if (data.session) setSession(data.session);\n if (data.inbox) setInbox(data.inbox);\n setSse(data.sse || 0);\n setError('');\n } catch (e: unknown) {\n setError(e instanceof Error ? e.message : 'fetch failed');\n }\n }, [alias]);\n\n useEffect(() => {\n fetchData();\n const interval = setInterval(fetchData, 5000);\n return () => clearInterval(interval);\n }, [fetchData]);\n\n const [sendError, setSendError] = useState('');\n\n const sendTask = async () => {\n if (!sendMsg.trim() || !alias) return;\n setSending(true);\n setSendError('');\n try {\n const res = await fetch('/api/hub/send', {\n method: 'POST',\n headers: { 'Content-Type': 'application/json' },\n body: JSON.stringify({ alias, task: sendMsg }),\n });\n const data = await res.json();\n if (data.ok) {\n setSendMsg('');\n setTimeout(fetchData, 2000);\n } else {\n setSendError(data.error || 'Send failed');\n }\n } catch (e: unknown) {\n setSendError(e instanceof Error ? e.message : 'Send failed');\n }\n setSending(false);\n };\n\n if (!alias) {\n return (\n <div className=\"min-h-screen bg-[#0b0b0d] text-gray-100 p-6 flex items-center justify-center\">\n <p className=\"text-gray-500\">No alias specified. <Link href=\"/\" className=\"text-blue-400 hover:underline\">Back to dashboard</Link></p>\n </div>\n );\n }\n\n /* Round 92: shared 5-state palette (was working / idle / other,\n collapsed blocked + error into gray). */\n const statusColor = SESSION_STATUS_TEXT_CLASS[session?.status || ''] || SESSION_STATUS_TEXT_CLASS.offline;\n\n return (\n <div className=\"min-h-screen bg-[#0b0b0d] text-gray-100 p-4 sm:p-6\">\n {/* Header — round 40: avatar joins the alias for cross-page hue\n consistency; agent type lives in a subtitle so users know what\n kind of node they're looking at. */}\n <div className=\"flex items-center gap-3 mb-6 lg:ml-0 ml-10\">\n <Link href=\"/nodes\" className=\"text-gray-500 hover:text-gray-300 text-sm shrink-0\">&larr; Nodes</Link>\n <AliasAvatar alias={alias} size={32} />\n <div className=\"min-w-0 flex-1\">\n <div className=\"flex items-center gap-2\">\n <h1 className=\"text-xl sm:text-2xl font-bold text-white truncate\">{alias}</h1>\n <span className={`inline-block w-1.5 h-1.5 rounded-full shrink-0 ${\n sse > 0 ? (session?.status === 'working' ? 'bg-green-500 animate-pulse' : 'bg-emerald-400') : 'bg-gray-500'\n }`} />\n <span className={`text-[10px] uppercase tracking-wide font-semibold ${statusColor}`}>{session?.status || 'unknown'}</span>\n </div>\n {session?.agent && (\n <div className=\"text-xs text-gray-500 truncate\">{session.agent}{session.server ? <> <span className=\"text-gray-700 mx-1\">·</span> {session.server}</> : null}</div>\n )}\n </div>\n </div>\n\n {error && (\n <div className=\"bg-red-900/20 border border-red-800/40 text-red-300 px-4 py-2 rounded-lg mb-6 text-sm\">{error}</div>\n )}\n\n {/* Full-width tabbed layout */}\n <NodeFullPanel alias={alias} session={session} sse={sse} sendMsg={sendMsg} setSendMsg={setSendMsg} sending={sending} sendTask={sendTask} sendError={sendError} />\n </div>\n );\n}\n\nfunction NodeFullPanel({ alias, session, sse, sendMsg, setSendMsg, sending, sendTask, sendError }: {\n alias: string; session: any; sse: number; sendMsg: string; setSendMsg: (v: string) => void; sending: boolean; sendTask: () => void; sendError: string;\n}) {\n const [tab, setTab] = useState<'chat' | 'events' | 'info'>('chat');\n const { hasUnread } = useChatUnread();\n const [events, setEvents] = useState<Array<{ id: number; event_type: string; from_status: string; to_status: string; detail: string; created_at: string }>>([]);\n const [eventsLoaded, setEventsLoaded] = useState(false);\n const chatUnread = hasUnread(alias);\n\n useEffect(() => {\n if (tab === 'events' && !eventsLoaded) {\n fetch('/api/hub/task-events?limit=50').then(r => r.json()).then(d => {\n setEvents(d.events || []);\n setEventsLoaded(true);\n }).catch(() => setEventsLoaded(true));\n }\n }, [tab, eventsLoaded]);\n\n return (\n <div className=\"bg-[#111113] border border-[#26262b] rounded-xl overflow-hidden h-[calc(100vh-140px)] flex flex-col\">\n {/* Tab bar — round 40: emoji icons (💬 📋 📊) replaced with stroke\n SVG to drop the \"AI generated\" tell. */}\n <div className=\"flex border-b border-[#26262b] bg-[#0e0e10] shrink-0\">\n {([\n { id: 'chat', label: 'Chat', icon: 'M21 11.5a8.38 8.38 0 0 1-.9 3.8 8.5 8.5 0 0 1-7.6 4.7 8.38 8.38 0 0 1-3.8-.9L3 21l1.9-5.7a8.38 8.38 0 0 1-.9-3.8 8.5 8.5 0 0 1 4.7-7.6 8.38 8.38 0 0 1 3.8-.9h.5a8.48 8.48 0 0 1 8 8v.5z' },\n { id: 'events', label: 'Events', icon: 'M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z M14 2v6h6 M16 13H8 M16 17H8 M10 9H8' },\n { id: 'info', label: 'Info', icon: 'M12 21a9 9 0 100-18 9 9 0 000 18z M12 8h.01 M11 12h1v4h1' },\n ] as const).map(t => (\n <button key={t.id} onClick={() => setTab(t.id)}\n className={`flex items-center gap-2 px-5 py-3 text-sm font-medium border-b-2 transition-colors ${\n tab === t.id ? 'border-cyan-400 text-cyan-300' : 'border-transparent text-gray-500 hover:text-gray-300'\n }`}>\n <svg className=\"w-4 h-4 shrink-0\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" strokeWidth=\"1.5\" strokeLinecap=\"round\" strokeLinejoin=\"round\">\n <path d={t.icon} />\n </svg>\n <span className=\"relative inline-flex items-center gap-2\">\n {t.label}\n {t.id === 'chat' && chatUnread && tab !== 'chat' && (\n <span className=\"inline-block h-2.5 w-2.5 rounded-full bg-red-500\" aria-label=\"Unread chat messages\" />\n )}\n </span>\n </button>\n ))}\n </div>\n\n {/* Tab content */}\n <div className=\"flex-1 overflow-hidden\">\n {tab === 'chat' && (\n <TaskChatPanel alias={alias} onClose={() => {}} inline />\n )}\n\n {tab === 'events' && (\n <EventsTimeline events={events} loading={!eventsLoaded} />\n )}\n\n {tab === 'info' && (\n <div className=\"p-4 overflow-y-auto h-full space-y-4 max-w-2xl\">\n <div className=\"bg-[#161618] border border-[#26262b] rounded-xl p-4\">\n <h2 className=\"text-sm font-semibold text-gray-300 mb-3\">Node Info</h2>\n <div className=\"space-y-2 text-xs\">\n {[\n { label: 'Node ID', value: session?.node_id, alwaysShow: true },\n { label: 'Session ID', value: session?.session_id, alwaysShow: true },\n { label: 'Resume ID', value: session?.resume_id, alwaysShow: true },\n { label: 'Alias', value: session?.alias, alwaysShow: true },\n { label: 'Agent', value: session?.agent, alwaysShow: true },\n { label: 'Model', value: session?.model, alwaysShow: true },\n { label: 'Version', value: session?.version },\n { label: 'Server', value: session?.server, alwaysShow: true },\n { label: 'Hostname', value: session?.hostname, alwaysShow: true },\n { label: 'IP', value: session?.ip, alwaysShow: true },\n { label: 'Project', value: session?.project_dir },\n { label: 'Config', value: session?.config_path, alwaysShow: true },\n { label: 'Channels', value: session?.channels?.length ? (Array.isArray(session.channels) ? session.channels.join(', ') : session.channels) : null, alwaysShow: true },\n { label: 'Tmux', value: session?.tmux_name },\n { label: 'SSE', value: sse > 0 ? `Connected (${sse})` : 'Disconnected', alwaysShow: true },\n { label: 'Progress', value: session?.progress ? `${session.progress}%` : null },\n { label: 'Score', value: session?.score },\n { label: 'Last Seen', value: session?.last_seen_at, alwaysShow: true },\n { label: 'Registered', value: session?.registered_at, alwaysShow: true },\n { label: 'Updated', value: session?.updated_at, alwaysShow: true },\n ].map(({ label, value, alwaysShow }) => (value || alwaysShow) ? (\n <div key={label} className=\"flex justify-between gap-3\">\n <span className=\"text-gray-500 shrink-0\">{label}</span>\n <span className=\"text-gray-300 truncate max-w-[200px]\" title={value ? String(value) : '--'}>\n {value ? String(value) : '--'}\n </span>\n </div>\n ) : null)}\n </div>\n </div>\n\n {/* Current Task */}\n {session?.task && (\n <div className=\"bg-[#161618] border border-[#26262b] rounded-xl p-4\">\n <h2 className=\"text-sm font-semibold text-gray-300 mb-2\">Current Task</h2>\n <p className=\"text-xs text-gray-400 whitespace-pre-wrap\">{session.task}</p>\n </div>\n )}\n\n {/* Output */}\n {session?.output && (\n <div className=\"bg-[#161618] border border-[#26262b] rounded-xl p-4\">\n <h2 className=\"text-sm font-semibold text-gray-300 mb-2\">Last Output</h2>\n <p className=\"text-xs text-gray-400 whitespace-pre-wrap max-h-48 overflow-y-auto\">{session.output}</p>\n </div>\n )}\n\n {/* Send Task */}\n <div className=\"bg-[#161618] border border-[#26262b] rounded-xl p-4\">\n <h2 className=\"text-sm font-semibold text-gray-300 mb-2\">Send Task</h2>\n <div className=\"flex gap-2\">\n <input\n type=\"text\"\n value={sendMsg}\n onChange={e => setSendMsg(e.target.value)}\n onKeyDown={e => e.key === 'Enter' && sendTask()}\n placeholder={`Send task to ${alias}...`}\n className=\"flex-1 bg-[#0e0e10] border border-[#26262b] rounded px-3 py-2 text-base sm:text-xs text-white placeholder-gray-600 focus:border-blue-500 focus:outline-none\"\n />\n <button\n onClick={sendTask}\n disabled={sending || !sendMsg.trim()}\n className=\"inline-flex min-h-[44px] items-center justify-center px-4 py-2 bg-blue-600 hover:bg-blue-500 disabled:bg-gray-700 text-white text-xs rounded transition-colors\"\n >\n {sending ? '...' : 'Send'}\n </button>\n </div>\n {sendError && <div className=\"mt-2 text-xs text-red-400\">{sendError}</div>}\n </div>\n\n {/* Tmux Terminal */}\n {session?.tmux_name && (\n <TmuxViewer tmuxName={session.tmux_name} />\n )}\n </div>\n )}\n </div>\n </div>\n );\n}\n\n/** Round 59: emoji icons replaced with stroke SVG paths to drop the\n * \"AI generated\" tell. Each path is sized to fit inside the 18px\n * colored event dot. */\nconst EVENT_COLORS: Record<string, { dot: string; line: string; path: string }> = {\n delivered: { dot: 'bg-blue-400', line: 'bg-blue-500/30', path: 'M12 5v14 M5 12l7 7 7-7' }, // down arrow\n acked: { dot: 'bg-yellow-400', line: 'bg-yellow-500/30', path: 'M20 6 9 17l-5-5' }, // check\n running: { dot: 'bg-green-400', line: 'bg-green-500/30', path: 'M13 2L4 14h6l-1 8 10-12h-6l1-8z' }, // bolt\n replied: { dot: 'bg-purple-400', line: 'bg-purple-500/30', path: 'M21 11.5a8.38 8.38 0 0 1-.9 3.8 8.5 8.5 0 0 1-7.6 4.7 8.38 8.38 0 0 1-3.8-.9L3 21l1.9-5.7a8.38 8.38 0 0 1-.9-3.8 8.5 8.5 0 0 1 4.7-7.6 8.38 8.38 0 0 1 3.8-.9h.5a8.48 8.48 0 0 1 8 8v.5z' }, // chat bubble\n failed: { dot: 'bg-red-400', line: 'bg-red-500/30', path: 'M18 6 6 18 M6 6l12 12' }, // X\n created: { dot: 'bg-gray-400', line: 'bg-gray-500/30', path: 'M12 5v14 M5 12h14' }, // plus\n};\n\nfunction EventsTimeline({ events, loading }: { events: Array<{ id: number; event_type: string; from_status: string; to_status: string; detail: string; created_at: string; task_id?: string }>; loading: boolean }) {\n if (loading) return <div className=\"flex justify-center py-8\"><div className=\"w-5 h-5 border-2 border-cyan-500/30 border-t-cyan-500 rounded-full animate-spin\" /></div>;\n if (events.length === 0) return <div className=\"text-center py-12 text-gray-600 text-xs\">No task events yet</div>;\n\n // Group by task_id\n const groups = new Map<string, typeof events>();\n events.forEach(e => {\n const key = (e as { task_id?: string }).task_id || `ungrouped-${e.id}`;\n const group = groups.get(key) || [];\n group.push(e);\n groups.set(key, group);\n });\n\n return (\n <div className=\"p-4 overflow-y-auto h-full space-y-4\">\n {[...groups.entries()].map(([taskId, taskEvents]) => (\n <div key={taskId} className=\"bg-[#161618] border border-[#26262b] rounded-xl p-4\">\n <div className=\"text-[10px] text-gray-600 mb-3 truncate\">Task: {taskId.slice(0, 20)}...</div>\n <div className=\"relative pl-6\">\n {/* Vertical line */}\n <div className=\"absolute left-[9px] top-2 bottom-2 w-0.5 bg-[#1c1c1f]\" />\n\n {taskEvents.map((e, i) => {\n const cfg = EVENT_COLORS[e.to_status] || EVENT_COLORS.created;\n return (\n <div key={e.id} className=\"relative pb-4 last:pb-0\">\n {/* Dot on line — round 59: emoji icons replaced with\n a 10px stroke SVG path matching event type. */}\n <div className={`absolute -left-6 top-0.5 w-[18px] h-[18px] rounded-full ${cfg.dot} flex items-center justify-center z-10 border-2 border-[#161618]`}>\n <svg width=\"10\" height=\"10\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"#0e0e10\" strokeWidth=\"2.5\" strokeLinecap=\"round\" strokeLinejoin=\"round\" aria-hidden>\n <path d={cfg.path} />\n </svg>\n </div>\n {/* Content */}\n <div className=\"ml-2\">\n <div className=\"flex items-center gap-2\">\n <span className={`text-xs font-medium ${e.to_status === 'failed' ? 'text-red-400' : e.to_status === 'replied' ? 'text-purple-400' : 'text-gray-300'}`}>\n {e.event_type}\n </span>\n {e.from_status && (\n <span className=\"text-[10px] text-gray-600\">{e.from_status} → {e.to_status}</span>\n )}\n <span className=\"text-[10px] text-gray-600 ml-auto\">{timeAgo(e.created_at)}</span>\n </div>\n {e.detail && (\n <div className=\"text-[11px] text-gray-500 mt-0.5 truncate\">{e.detail.slice(0, 50)}{e.detail.length > 50 ? '...' : ''}</div>\n )}\n </div>\n </div>\n );\n })}\n </div>\n </div>\n ))}\n </div>\n );\n}\n\nexport default function NodePage() {\n return (\n <Suspense fallback={\n // #209 R36: same pattern R30 fixed on /tasks — bare \"Loading...\"\n // string used p-6 (no mobile padding tighten) + no left indent,\n // so the fixed top-3 left-3 mobile hamburger covered the \"Loa\".\n // Match the loaded layout: p-4 sm:p-6 + lg:ml-0 ml-10 mobile\n // indent on the text. Loading state now visually maps to the\n // populated /node detail page.\n <div className=\"min-h-screen bg-[#0b0b0d] text-gray-100 p-4 sm:p-6\">\n <div className=\"lg:ml-0 ml-10 text-gray-500 text-sm\">Loading…</div>\n </div>\n }>\n <NodeDetailContent />\n </Suspense>\n );\n}\n"],"names":["previewContent","raw","replace","trim","timeAgo","dateStr","statusColor","status","hasSse","AVATAR_HUES","aliasAvatarColors","alias","h","i","length","charCodeAt","hue","bg","ring","text","aliasInitial","ch","match","toUpperCase","isGrokAlias","test","AliasAvatar","size","className","style","width","height","backgroundImage","backgroundPosition","backgroundRepeat","backgroundSize","title","c","fs","Math","max","round","fontSize","backgroundColor","borderColor","color","TASK_STATUSES","STATUS_CHIP_CLASS","created","delivered","acked","running","replied","closed","failed","cancelled","expired","STATUS_DOT_HEX","SESSION_STATUS_CHIP_CLASS","working","idle","blocked","error","offline","SESSION_STATUS_TEXT_CLASS","STATUS_BAR_CLASS","TmuxViewer","tmuxName","output","setOutput","loading","setLoading","expanded","setExpanded","fetchTmux","res","fetch","encodeURIComponent","data","json","onClick","disabled","NodeDetailContent","searchParams","get","session","setSession","inbox","setInbox","sse","setSse","setError","sendMsg","setSendMsg","sending","setSending","fetchData","e","Error","message","interval","setInterval","clearInterval","sendError","setSendError","sendTask","method","headers","body","JSON","stringify","task","ok","setTimeout","href","agent","server","NodeFullPanel","tab","setTab","hasUnread","events","setEvents","eventsLoaded","setEventsLoaded","chatUnread","then","r","d","catch","id","label","icon","map","t","fill","viewBox","stroke","strokeWidth","strokeLinecap","strokeLinejoin","onClose","inline","EventsTimeline","value","node_id","alwaysShow","session_id","resume_id","model","version","hostname","ip","project_dir","config_path","channels","Array","isArray","join","tmux_name","progress","score","last_seen_at","registered_at","updated_at","String","type","onChange","target","onKeyDown","key","placeholder","EVENT_COLORS","dot","line","path","groups","Map","forEach","task_id","group","push","set","entries","taskId","taskEvents","slice","cfg","to_status","event_type","from_status","created_at","detail","NodePage","fallback"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../../../p248-dash-release/app/components/utils.ts","../../../../../p248-dash-release/app/components/AliasAvatar.tsx","../../../../../p248-dash-release/app/lib/status.ts","../../../../../p248-dash-release/app/node/page.tsx"],"sourcesContent":["/** Round 82: strip the most common markdown markup from agent-to-agent\n * task / message bodies so single-line table previews read cleanly.\n * Full original content stays in the expanded row / drawer / title=. */\nexport function previewContent(raw: string | null | undefined): string {\n if (!raw) return '--';\n return raw\n .replace(/!\\[([^\\]]*)\\]\\([^)]*\\)/g, '$1') // images: ![alt](src) → alt\n .replace(/\\[([^\\]]+)\\]\\([^)]*\\)/g, '$1') // links: [text](href) → text\n .replace(/`([^`]+)`/g, '$1') // inline code: `x` → x\n .replace(/\\s+/g, ' ') // collapse whitespace\n .trim() || '--';\n}\n\n// Round 44 / Loop: timeAgo now delegates to the shared lib/time helper.\n// The old in-line `replace + 'Z'` parse appended a Z to already-ISO\n// inputs (producing \"…ZZ\", browser-fragile) — strict-superset semantics\n// preserved for SQL-style inputs, fixed for ISO. Plus a 'just now' fallback\n// when clock skew puts the timestamp in the future. Five callers benefit:\n// /admin · /logs · /settings/networks · InboxPanel · /messages.\nimport { relativeAgo } from '../lib/time';\nexport function timeAgo(dateStr: string): string {\n return relativeAgo(dateStr) ?? '--';\n}\n\nexport function statusColor(status: string, hasSse: boolean): string {\n if (hasSse && status === 'working') return 'bg-green-500';\n if (hasSse && status === 'idle') return 'bg-emerald-400';\n if (hasSse) return 'bg-blue-400';\n if (status === 'offline') return 'bg-gray-500';\n return 'bg-yellow-400';\n}\n","/** Hue-hashed avatar pill for agent aliases. Same alias → same color across\n * every page (Messages, Nodes, TopoGraph). Use the `size` prop for inline\n * pills (16/20) vs card headers (28). Round 21 introduced the palette;\n * round 22 promotes it from app/messages to a shared component. */\n\nconst AVATAR_HUES = [180, 200, 220, 270, 300, 330, 30, 90];\n\nexport function aliasAvatarColors(alias: string): { bg: string; ring: string; text: string } {\n let h = 0;\n for (let i = 0; i < alias.length; i++) h = (h * 31 + alias.charCodeAt(i)) >>> 0;\n const hue = AVATAR_HUES[h % AVATAR_HUES.length];\n return {\n bg: `hsl(${hue} 55% 22%)`,\n ring: `hsl(${hue} 60% 45%)`,\n text: `hsl(${hue} 80% 78%)`,\n };\n}\n\nexport function aliasInitial(alias?: string): string {\n if (!alias) return '·';\n const ch = alias.trim().match(/[\\p{L}\\p{N}]/u)?.[0] || alias.trim()[0] || '·';\n return ch.toUpperCase();\n}\n\nfunction isGrokAlias(alias: string) {\n return /\\bgrok\\b|grok-build|grok测试员|grok-demo/i.test(alias);\n}\n\ninterface AliasAvatarProps {\n alias: string;\n size?: number;\n className?: string;\n}\n\nexport function AliasAvatar({ alias, size = 28, className = '' }: AliasAvatarProps) {\n if (isGrokAlias(alias)) {\n return (\n <span\n className={`anet-alias-avatar inline-flex items-center justify-center rounded-full border border-emerald-500/45 bg-emerald-950/70 shrink-0 ${className}`}\n style={{\n width: size,\n height: size,\n backgroundImage: 'url(/vendors/grok.svg)',\n backgroundPosition: 'center',\n backgroundRepeat: 'no-repeat',\n backgroundSize: '68% 68%',\n }}\n title={alias}\n aria-hidden\n />\n );\n }\n\n const c = aliasAvatarColors(alias);\n const fs = Math.max(9, Math.round(size * 0.42));\n return (\n <span\n className={`anet-alias-avatar inline-flex items-center justify-center rounded-full border shrink-0 font-semibold ${className}`}\n style={{\n width: size,\n height: size,\n fontSize: fs,\n backgroundColor: c.bg,\n borderColor: c.ring,\n color: c.text,\n }}\n title={alias}\n aria-hidden\n >\n {aliasInitial(alias)}\n </span>\n );\n}\n","/** Single source of truth for task status colors. Both `/tasks` (chip\n * strip, badge, distribution bar) and the Overview Recent Activity row\n * used to ship their own incomplete maps; round 66 consolidates them\n * here so adding a new status updates every consumer at once.\n *\n * Order in `TASK_STATUSES` is chronological-ish: lifecycle progress on\n * the left, terminal-good (`closed`) in the middle, terminal-bad\n * (`failed`/`cancelled`/`expired`) on the right. */\n\nexport const TASK_STATUSES = [\n 'created',\n 'delivered',\n 'acked',\n 'running',\n 'replied',\n 'closed',\n 'failed',\n 'cancelled',\n 'expired',\n] as const;\n\n/** Pill / chip background+text+border. Tailwind classes, not inlined hex,\n * because chips are static class names safe from purge. */\n/** #217 D3 (OpenWebUI-style color restraint): the 9-hue rainbow is\n * collapsed to a semantic triad — green = actively running, red =\n * failed, gray = everything else (in-flight states in lighter gray,\n * terminal states dimmer). Color now means something instead of\n * decorating every enum value. */\nexport const STATUS_CHIP_CLASS: Record<string, string> = {\n created: 'bg-gray-500/10 text-gray-400 border-gray-500/20',\n delivered: 'bg-gray-500/10 text-gray-300 border-gray-500/20',\n acked: 'bg-gray-500/10 text-gray-300 border-gray-500/20',\n running: 'bg-green-500/10 text-green-300 border-green-500/20',\n replied: 'bg-gray-500/10 text-gray-300 border-gray-500/20',\n closed: 'bg-gray-500/10 text-gray-500 border-gray-500/20',\n failed: 'bg-red-500/10 text-red-300 border-red-500/20',\n cancelled: 'bg-gray-500/10 text-gray-500 border-gray-500/20',\n expired: 'bg-gray-500/10 text-gray-500 border-gray-500/20',\n};\n\n/** Inline hex dots — used wherever Tailwind would purge dynamic class\n * names (`bg-${family}-400`). Style attribute carries the color. */\nexport const STATUS_DOT_HEX: Record<string, string> = {\n created: '#9ca3af',\n delivered: '#9ca3af',\n acked: '#9ca3af',\n running: '#4ade80',\n replied: '#9ca3af',\n closed: '#6b7280',\n failed: '#f87171',\n cancelled: '#6b7280',\n expired: '#6b7280',\n};\n\n/** Session lifecycle (distinct from task lifecycle above). Shared by\n * /nodes status pills and /admin Online Sessions row chips so an\n * agent in `blocked` state reads the same color everywhere.\n * Round 91 — extracted from app/nodes/page.tsx. */\n/** D3: idle drops from blue to gray — only working (green), blocked\n * (amber, actionable) and error (red) earn color. */\nexport const SESSION_STATUS_CHIP_CLASS: Record<string, string> = {\n working: 'bg-green-500/10 text-green-300 border-green-500/20',\n idle: 'bg-gray-500/10 text-gray-300 border-gray-500/20',\n blocked: 'bg-yellow-500/10 text-yellow-300 border-yellow-500/20',\n error: 'bg-red-500/10 text-red-300 border-red-500/20',\n offline: 'bg-gray-500/10 text-gray-500 border-gray-500/20',\n};\n\n/** Text-only color for session status. Used where a chip background\n * would be too heavy — e.g. /node detail header status label. */\nexport const SESSION_STATUS_TEXT_CLASS: Record<string, string> = {\n working: 'text-green-400',\n idle: 'text-gray-400',\n blocked: 'text-yellow-400',\n error: 'text-red-400',\n offline: 'text-gray-500',\n};\n\n/** Solid bar segment background for the Tasks distribution bar. */\nexport const STATUS_BAR_CLASS: Record<string, string> = {\n created: 'bg-gray-500',\n delivered: 'bg-gray-400',\n acked: 'bg-gray-300',\n running: 'bg-green-500',\n replied: 'bg-gray-400',\n closed: 'bg-gray-600',\n failed: 'bg-red-500',\n cancelled: 'bg-gray-600',\n expired: 'bg-gray-600',\n};\n","'use client';\n\nimport { useEffect, useState, useCallback } from 'react';\nimport { useSearchParams } from 'next/navigation';\nimport Link from 'next/link';\nimport { Suspense } from 'react';\nimport { TaskChatPanel } from '../components/TaskChatPanel';\nimport { timeAgo } from '../components/utils';\nimport { AliasAvatar } from '../components/AliasAvatar';\nimport { SESSION_STATUS_TEXT_CLASS } from '../lib/status';\nimport { useChatUnread } from '../lib/chat-unread';\n\ninterface SessionDetail {\n resume_id: string;\n alias: string;\n status: string;\n agent: string;\n server: string;\n hostname: string;\n task: string;\n output: string;\n progress: number;\n score: number;\n registered_at: string;\n updated_at: string;\n project_dir: string;\n tmux_name: string;\n ip: string;\n node_id: string;\n session_id: string;\n config_path: string;\n channels: string[];\n last_seen_at: string;\n model: string;\n version: string;\n}\n\ninterface Message {\n id: string;\n content: string;\n from_session: string;\n priority: string;\n created_at: string;\n type: string;\n}\n\nfunction TmuxViewer({ tmuxName }: { tmuxName: string }) {\n const [output, setOutput] = useState('');\n const [loading, setLoading] = useState(false);\n const [expanded, setExpanded] = useState(false);\n\n const fetchTmux = async () => {\n setLoading(true);\n try {\n const res = await fetch(`/api/hub/tmux?name=${encodeURIComponent(tmuxName)}`);\n const data = await res.json();\n setOutput(data.output || data.error || 'No output');\n } catch { setOutput('Failed to fetch'); }\n setLoading(false);\n };\n\n return (\n <div className=\"bg-[#161618] border border-[#26262b] rounded-xl p-4\">\n <div className=\"flex items-center justify-between mb-2\">\n <h2 className=\"text-sm font-semibold text-gray-300\">Terminal ({tmuxName})</h2>\n <div className=\"flex gap-2\">\n <button onClick={fetchTmux} disabled={loading}\n className=\"text-xs text-cyan-400 hover:text-cyan-300 disabled:text-gray-600\">\n {loading ? 'Loading...' : 'Capture'}\n </button>\n {output && (\n <button onClick={() => setExpanded(!expanded)} className=\"text-xs text-gray-500 hover:text-gray-300\">\n {expanded ? 'Collapse' : 'Expand'}\n </button>\n )}\n </div>\n </div>\n {output && (\n <pre className={`text-[11px] text-green-300 bg-[#060607] rounded-lg px-3 py-2 border border-[#1c1c1f] overflow-x-auto whitespace-pre font-mono ${expanded ? 'max-h-96' : 'max-h-32'} overflow-y-auto`}>\n {output}\n </pre>\n )}\n {!output && <p className=\"text-xs text-gray-600\">Click Capture to view terminal output</p>}\n </div>\n );\n}\n\nfunction NodeDetailContent() {\n const searchParams = useSearchParams();\n const alias = searchParams.get('alias') || '';\n const [session, setSession] = useState<SessionDetail | null>(null);\n const [inbox, setInbox] = useState<Message[]>([]);\n const [sse, setSse] = useState(0);\n const [error, setError] = useState('');\n const [sendMsg, setSendMsg] = useState('');\n const [sending, setSending] = useState(false);\n\n const fetchData = useCallback(async () => {\n if (!alias) return;\n try {\n const res = await fetch(`/api/hub/session?alias=${encodeURIComponent(alias)}`);\n const data = await res.json();\n if (data.session) setSession(data.session);\n if (data.inbox) setInbox(data.inbox);\n setSse(data.sse || 0);\n setError('');\n } catch (e: unknown) {\n setError(e instanceof Error ? e.message : 'fetch failed');\n }\n }, [alias]);\n\n useEffect(() => {\n fetchData();\n const interval = setInterval(fetchData, 5000);\n return () => clearInterval(interval);\n }, [fetchData]);\n\n const [sendError, setSendError] = useState('');\n\n const sendTask = async () => {\n if (!sendMsg.trim() || !alias) return;\n setSending(true);\n setSendError('');\n try {\n const res = await fetch('/api/hub/send', {\n method: 'POST',\n headers: { 'Content-Type': 'application/json' },\n body: JSON.stringify({ alias, task: sendMsg }),\n });\n const data = await res.json();\n if (data.ok) {\n setSendMsg('');\n setTimeout(fetchData, 2000);\n } else {\n setSendError(data.error || 'Send failed');\n }\n } catch (e: unknown) {\n setSendError(e instanceof Error ? e.message : 'Send failed');\n }\n setSending(false);\n };\n\n if (!alias) {\n return (\n <div className=\"min-h-screen bg-[#0b0b0d] text-gray-100 p-6 flex items-center justify-center\">\n <p className=\"text-gray-500\">No alias specified. <Link href=\"/\" className=\"text-blue-400 hover:underline\">Back to dashboard</Link></p>\n </div>\n );\n }\n\n /* Round 92: shared 5-state palette (was working / idle / other,\n collapsed blocked + error into gray). */\n const statusColor = SESSION_STATUS_TEXT_CLASS[session?.status || ''] || SESSION_STATUS_TEXT_CLASS.offline;\n\n return (\n <div className=\"min-h-screen bg-[#0b0b0d] text-gray-100 p-4 sm:p-6\">\n {/* Header — round 40: avatar joins the alias for cross-page hue\n consistency; agent type lives in a subtitle so users know what\n kind of node they're looking at. */}\n <div className=\"flex items-center gap-3 mb-6 lg:ml-0 ml-10\">\n <Link href=\"/nodes\" className=\"text-gray-500 hover:text-gray-300 text-sm shrink-0\">&larr; Nodes</Link>\n <AliasAvatar alias={alias} size={32} />\n <div className=\"min-w-0 flex-1\">\n <div className=\"flex items-center gap-2\">\n <h1 className=\"text-xl sm:text-2xl font-bold text-white truncate\">{alias}</h1>\n <span className={`inline-block w-1.5 h-1.5 rounded-full shrink-0 ${\n sse > 0 ? (session?.status === 'working' ? 'bg-green-500 animate-pulse' : 'bg-emerald-400') : 'bg-gray-500'\n }`} />\n <span className={`text-[10px] uppercase tracking-wide font-semibold ${statusColor}`}>{session?.status || 'unknown'}</span>\n </div>\n {session?.agent && (\n <div className=\"text-xs text-gray-500 truncate\">{session.agent}{session.server ? <> <span className=\"text-gray-700 mx-1\">·</span> {session.server}</> : null}</div>\n )}\n </div>\n </div>\n\n {error && (\n <div className=\"bg-red-900/20 border border-red-800/40 text-red-300 px-4 py-2 rounded-lg mb-6 text-sm\">{error}</div>\n )}\n\n {/* Full-width tabbed layout */}\n <NodeFullPanel alias={alias} session={session} sse={sse} sendMsg={sendMsg} setSendMsg={setSendMsg} sending={sending} sendTask={sendTask} sendError={sendError} />\n </div>\n );\n}\n\nfunction NodeFullPanel({ alias, session, sse, sendMsg, setSendMsg, sending, sendTask, sendError }: {\n alias: string; session: any; sse: number; sendMsg: string; setSendMsg: (v: string) => void; sending: boolean; sendTask: () => void; sendError: string;\n}) {\n const [tab, setTab] = useState<'chat' | 'events' | 'info'>('chat');\n const { hasUnread } = useChatUnread();\n const [events, setEvents] = useState<Array<{ id: number; event_type: string; from_status: string; to_status: string; detail: string; created_at: string }>>([]);\n const [eventsLoaded, setEventsLoaded] = useState(false);\n const chatUnread = hasUnread(alias);\n\n useEffect(() => {\n if (tab === 'events' && !eventsLoaded) {\n fetch('/api/hub/task-events?limit=50').then(r => r.json()).then(d => {\n setEvents(d.events || []);\n setEventsLoaded(true);\n }).catch(() => setEventsLoaded(true));\n }\n }, [tab, eventsLoaded]);\n\n return (\n <div className=\"bg-[#111113] border border-[#26262b] rounded-xl overflow-hidden h-[calc(100vh-140px)] flex flex-col\">\n {/* Tab bar — round 40: emoji icons (💬 📋 📊) replaced with stroke\n SVG to drop the \"AI generated\" tell. */}\n <div className=\"flex border-b border-[#26262b] bg-[#0e0e10] shrink-0\">\n {([\n { id: 'chat', label: 'Chat', icon: 'M21 11.5a8.38 8.38 0 0 1-.9 3.8 8.5 8.5 0 0 1-7.6 4.7 8.38 8.38 0 0 1-3.8-.9L3 21l1.9-5.7a8.38 8.38 0 0 1-.9-3.8 8.5 8.5 0 0 1 4.7-7.6 8.38 8.38 0 0 1 3.8-.9h.5a8.48 8.48 0 0 1 8 8v.5z' },\n { id: 'events', label: 'Events', icon: 'M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z M14 2v6h6 M16 13H8 M16 17H8 M10 9H8' },\n { id: 'info', label: 'Info', icon: 'M12 21a9 9 0 100-18 9 9 0 000 18z M12 8h.01 M11 12h1v4h1' },\n ] as const).map(t => (\n <button key={t.id} onClick={() => setTab(t.id)}\n className={`flex items-center gap-2 px-5 py-3 text-sm font-medium border-b-2 transition-colors ${\n tab === t.id ? 'border-cyan-400 text-cyan-300' : 'border-transparent text-gray-500 hover:text-gray-300'\n }`}>\n <svg className=\"w-4 h-4 shrink-0\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" strokeWidth=\"1.5\" strokeLinecap=\"round\" strokeLinejoin=\"round\">\n <path d={t.icon} />\n </svg>\n <span className=\"relative inline-flex items-center gap-2\">\n {t.label}\n {t.id === 'chat' && chatUnread && tab !== 'chat' && (\n <span className=\"inline-block h-2.5 w-2.5 rounded-full bg-red-500\" aria-label=\"Unread chat messages\" />\n )}\n </span>\n </button>\n ))}\n </div>\n\n {/* Tab content */}\n <div className=\"flex-1 overflow-hidden\">\n {tab === 'chat' && (\n <TaskChatPanel alias={alias} onClose={() => {}} inline />\n )}\n\n {tab === 'events' && (\n <EventsTimeline events={events} loading={!eventsLoaded} />\n )}\n\n {tab === 'info' && (\n <div className=\"p-4 overflow-y-auto h-full space-y-4 max-w-2xl\">\n <div className=\"bg-[#161618] border border-[#26262b] rounded-xl p-4\">\n <h2 className=\"text-sm font-semibold text-gray-300 mb-3\">Node Info</h2>\n <div className=\"space-y-2 text-xs\">\n {[\n { label: 'Node ID', value: session?.node_id, alwaysShow: true },\n { label: 'Session ID', value: session?.session_id, alwaysShow: true },\n { label: 'Resume ID', value: session?.resume_id, alwaysShow: true },\n { label: 'Alias', value: session?.alias, alwaysShow: true },\n { label: 'Agent', value: session?.agent, alwaysShow: true },\n { label: 'Model', value: session?.model, alwaysShow: true },\n { label: 'Version', value: session?.version },\n { label: 'Server', value: session?.server, alwaysShow: true },\n { label: 'Hostname', value: session?.hostname, alwaysShow: true },\n { label: 'IP', value: session?.ip, alwaysShow: true },\n { label: 'Project', value: session?.project_dir },\n { label: 'Config', value: session?.config_path, alwaysShow: true },\n { label: 'Channels', value: session?.channels?.length ? (Array.isArray(session.channels) ? session.channels.join(', ') : session.channels) : null, alwaysShow: true },\n { label: 'Tmux', value: session?.tmux_name },\n { label: 'SSE', value: sse > 0 ? `Connected (${sse})` : 'Disconnected', alwaysShow: true },\n { label: 'Progress', value: session?.progress ? `${session.progress}%` : null },\n { label: 'Score', value: session?.score },\n { label: 'Last Seen', value: session?.last_seen_at, alwaysShow: true },\n { label: 'Registered', value: session?.registered_at, alwaysShow: true },\n { label: 'Updated', value: session?.updated_at, alwaysShow: true },\n ].map(({ label, value, alwaysShow }) => (value || alwaysShow) ? (\n <div key={label} className=\"flex justify-between gap-3\">\n <span className=\"text-gray-500 shrink-0\">{label}</span>\n <span className=\"text-gray-300 truncate max-w-[200px]\" title={value ? String(value) : '--'}>\n {value ? String(value) : '--'}\n </span>\n </div>\n ) : null)}\n </div>\n </div>\n\n {/* Current Task */}\n {session?.task && (\n <div className=\"bg-[#161618] border border-[#26262b] rounded-xl p-4\">\n <h2 className=\"text-sm font-semibold text-gray-300 mb-2\">Current Task</h2>\n <p className=\"text-xs text-gray-400 whitespace-pre-wrap\">{session.task}</p>\n </div>\n )}\n\n {/* Output */}\n {session?.output && (\n <div className=\"bg-[#161618] border border-[#26262b] rounded-xl p-4\">\n <h2 className=\"text-sm font-semibold text-gray-300 mb-2\">Last Output</h2>\n <p className=\"text-xs text-gray-400 whitespace-pre-wrap max-h-48 overflow-y-auto\">{session.output}</p>\n </div>\n )}\n\n {/* Send Task */}\n <div className=\"bg-[#161618] border border-[#26262b] rounded-xl p-4\">\n <h2 className=\"text-sm font-semibold text-gray-300 mb-2\">Send Task</h2>\n <div className=\"flex gap-2\">\n <input\n type=\"text\"\n value={sendMsg}\n onChange={e => setSendMsg(e.target.value)}\n onKeyDown={e => e.key === 'Enter' && sendTask()}\n placeholder={`Send task to ${alias}...`}\n className=\"flex-1 bg-[#0e0e10] border border-[#26262b] rounded px-3 py-2 text-base sm:text-xs text-white placeholder-gray-600 focus:border-blue-500 focus:outline-none\"\n />\n <button\n onClick={sendTask}\n disabled={sending || !sendMsg.trim()}\n className=\"inline-flex min-h-[44px] items-center justify-center px-4 py-2 bg-blue-600 hover:bg-blue-500 disabled:bg-gray-700 text-white text-xs rounded transition-colors\"\n >\n {sending ? '...' : 'Send'}\n </button>\n </div>\n {sendError && <div className=\"mt-2 text-xs text-red-400\">{sendError}</div>}\n </div>\n\n {/* Tmux Terminal */}\n {session?.tmux_name && (\n <TmuxViewer tmuxName={session.tmux_name} />\n )}\n </div>\n )}\n </div>\n </div>\n );\n}\n\n/** Round 59: emoji icons replaced with stroke SVG paths to drop the\n * \"AI generated\" tell. Each path is sized to fit inside the 18px\n * colored event dot. */\nconst EVENT_COLORS: Record<string, { dot: string; line: string; path: string }> = {\n delivered: { dot: 'bg-blue-400', line: 'bg-blue-500/30', path: 'M12 5v14 M5 12l7 7 7-7' }, // down arrow\n acked: { dot: 'bg-yellow-400', line: 'bg-yellow-500/30', path: 'M20 6 9 17l-5-5' }, // check\n running: { dot: 'bg-green-400', line: 'bg-green-500/30', path: 'M13 2L4 14h6l-1 8 10-12h-6l1-8z' }, // bolt\n replied: { dot: 'bg-purple-400', line: 'bg-purple-500/30', path: 'M21 11.5a8.38 8.38 0 0 1-.9 3.8 8.5 8.5 0 0 1-7.6 4.7 8.38 8.38 0 0 1-3.8-.9L3 21l1.9-5.7a8.38 8.38 0 0 1-.9-3.8 8.5 8.5 0 0 1 4.7-7.6 8.38 8.38 0 0 1 3.8-.9h.5a8.48 8.48 0 0 1 8 8v.5z' }, // chat bubble\n failed: { dot: 'bg-red-400', line: 'bg-red-500/30', path: 'M18 6 6 18 M6 6l12 12' }, // X\n created: { dot: 'bg-gray-400', line: 'bg-gray-500/30', path: 'M12 5v14 M5 12h14' }, // plus\n};\n\nfunction EventsTimeline({ events, loading }: { events: Array<{ id: number; event_type: string; from_status: string; to_status: string; detail: string; created_at: string; task_id?: string }>; loading: boolean }) {\n if (loading) return <div className=\"flex justify-center py-8\"><div className=\"w-5 h-5 border-2 border-cyan-500/30 border-t-cyan-500 rounded-full animate-spin\" /></div>;\n if (events.length === 0) return <div className=\"text-center py-12 text-gray-600 text-xs\">No task events yet</div>;\n\n // Group by task_id\n const groups = new Map<string, typeof events>();\n events.forEach(e => {\n const key = (e as { task_id?: string }).task_id || `ungrouped-${e.id}`;\n const group = groups.get(key) || [];\n group.push(e);\n groups.set(key, group);\n });\n\n return (\n <div className=\"p-4 overflow-y-auto h-full space-y-4\">\n {[...groups.entries()].map(([taskId, taskEvents]) => (\n <div key={taskId} className=\"bg-[#161618] border border-[#26262b] rounded-xl p-4\">\n <div className=\"text-[10px] text-gray-600 mb-3 truncate\">Task: {taskId.slice(0, 20)}...</div>\n <div className=\"relative pl-6\">\n {/* Vertical line */}\n <div className=\"absolute left-[9px] top-2 bottom-2 w-0.5 bg-[#1c1c1f]\" />\n\n {taskEvents.map((e, i) => {\n const cfg = EVENT_COLORS[e.to_status] || EVENT_COLORS.created;\n return (\n <div key={e.id} className=\"relative pb-4 last:pb-0\">\n {/* Dot on line — round 59: emoji icons replaced with\n a 10px stroke SVG path matching event type. */}\n <div className={`absolute -left-6 top-0.5 w-[18px] h-[18px] rounded-full ${cfg.dot} flex items-center justify-center z-10 border-2 border-[#161618]`}>\n <svg width=\"10\" height=\"10\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"#0e0e10\" strokeWidth=\"2.5\" strokeLinecap=\"round\" strokeLinejoin=\"round\" aria-hidden>\n <path d={cfg.path} />\n </svg>\n </div>\n {/* Content */}\n <div className=\"ml-2\">\n <div className=\"flex items-center gap-2\">\n <span className={`text-xs font-medium ${e.to_status === 'failed' ? 'text-red-400' : e.to_status === 'replied' ? 'text-purple-400' : 'text-gray-300'}`}>\n {e.event_type}\n </span>\n {e.from_status && (\n <span className=\"text-[10px] text-gray-600\">{e.from_status} → {e.to_status}</span>\n )}\n <span className=\"text-[10px] text-gray-600 ml-auto\">{timeAgo(e.created_at)}</span>\n </div>\n {e.detail && (\n <div className=\"text-[11px] text-gray-500 mt-0.5 truncate\">{e.detail.slice(0, 50)}{e.detail.length > 50 ? '...' : ''}</div>\n )}\n </div>\n </div>\n );\n })}\n </div>\n </div>\n ))}\n </div>\n );\n}\n\nexport default function NodePage() {\n return (\n <Suspense fallback={\n // #209 R36: same pattern R30 fixed on /tasks — bare \"Loading...\"\n // string used p-6 (no mobile padding tighten) + no left indent,\n // so the fixed top-3 left-3 mobile hamburger covered the \"Loa\".\n // Match the loaded layout: p-4 sm:p-6 + lg:ml-0 ml-10 mobile\n // indent on the text. Loading state now visually maps to the\n // populated /node detail page.\n <div className=\"min-h-screen bg-[#0b0b0d] text-gray-100 p-4 sm:p-6\">\n <div className=\"lg:ml-0 ml-10 text-gray-500 text-sm\">Loading…</div>\n </div>\n }>\n <NodeDetailContent />\n </Suspense>\n );\n}\n"],"names":["previewContent","raw","replace","trim","timeAgo","dateStr","statusColor","status","hasSse","AVATAR_HUES","aliasAvatarColors","alias","h","i","length","charCodeAt","hue","bg","ring","text","aliasInitial","ch","match","toUpperCase","isGrokAlias","test","AliasAvatar","size","className","style","width","height","backgroundImage","backgroundPosition","backgroundRepeat","backgroundSize","title","c","fs","Math","max","round","fontSize","backgroundColor","borderColor","color","TASK_STATUSES","STATUS_CHIP_CLASS","created","delivered","acked","running","replied","closed","failed","cancelled","expired","STATUS_DOT_HEX","SESSION_STATUS_CHIP_CLASS","working","idle","blocked","error","offline","SESSION_STATUS_TEXT_CLASS","STATUS_BAR_CLASS","TmuxViewer","tmuxName","output","setOutput","loading","setLoading","expanded","setExpanded","fetchTmux","res","fetch","encodeURIComponent","data","json","onClick","disabled","NodeDetailContent","searchParams","get","session","setSession","inbox","setInbox","sse","setSse","setError","sendMsg","setSendMsg","sending","setSending","fetchData","e","Error","message","interval","setInterval","clearInterval","sendError","setSendError","sendTask","method","headers","body","JSON","stringify","task","ok","setTimeout","href","agent","server","NodeFullPanel","tab","setTab","hasUnread","events","setEvents","eventsLoaded","setEventsLoaded","chatUnread","then","r","d","catch","id","label","icon","map","t","fill","viewBox","stroke","strokeWidth","strokeLinecap","strokeLinejoin","onClose","inline","EventsTimeline","value","node_id","alwaysShow","session_id","resume_id","model","version","hostname","ip","project_dir","config_path","channels","Array","isArray","join","tmux_name","progress","score","last_seen_at","registered_at","updated_at","String","type","onChange","target","onKeyDown","key","placeholder","EVENT_COLORS","dot","line","path","groups","Map","forEach","task_id","group","push","set","entries","taskId","taskEvents","slice","cfg","to_status","event_type","from_status","created_at","detail","NodePage","fallback"],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ module.exports=[93695,(a,b,c)=>{b.exports=a.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},79475,a=>{a.v("/_next/static/media/favicon.0x3dzn~oxb6tn.ico"+(globalThis.NEXT_CLIENT_ASSET_SUFFIX||""))},55802,a=>{"use strict";let b={src:a.i(79475).default,width:256,height:256};a.s(["default",0,b])},44616,a=>{"use strict";a.s(["default",()=>b]);let b=(0,a.i(74070).registerClientReference)(function(){throw Error("Attempted to call the default export of [project]/p248-dash-release/app/server-logs/page.tsx <module evaluation> from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/p248-dash-release/app/server-logs/page.tsx <module evaluation>","default")},84067,a=>{"use strict";a.s(["default",()=>b]);let b=(0,a.i(74070).registerClientReference)(function(){throw Error("Attempted to call the default export of [project]/p248-dash-release/app/server-logs/page.tsx from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/p248-dash-release/app/server-logs/page.tsx","default")},98812,a=>{"use strict";a.i(44616);var b=a.i(84067);a.n(b)},18039,a=>{a.n(a.i(98812))}];
2
+
3
+ //# sourceMappingURL=%5Broot-of-the-server%5D__0wt_.5g._.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../p247-dash-release/app/favicon.ico.mjs%20%28structured%20image%20object%29","../../../../../p247-dash-release/app/server-logs/page.tsx/__nextjs-internal-proxy.mjs"],"sourcesContent":["import src from \"IMAGE\";\nexport default { src, width: 256, height: 256 }\n","// This file is generated by next-core EcmascriptClientReferenceModule.\nimport { registerClientReference } from \"react-server-dom-turbopack/server\";\nexport default registerClientReference(\n function() { throw new Error(\"Attempted to call the default export of [project]/p247-dash-release/app/server-logs/page.tsx from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.\"); },\n \"[project]/p247-dash-release/app/server-logs/page.tsx\",\n \"default\",\n);\n"],"names":["src","width","height","Error"],"mappings":"8SACe,CAAEA,IAAAA,AADjB,EAAA,CAAA,CAAA,OACiBA,OAAG,CAAEC,MAAO,IAAKC,OAAQ,GAAI,4ECC/B,CAAA,EADf,AACe,EADf,CAAA,CAAA,OACe,uBAAuB,AAAvB,EACX,WAAa,MAAM,AAAIC,MAAM,4SAA8S,EAC3U,2EACA,gEAHW,CAAA,EADf,AACe,EADf,CAAA,CAAA,OACe,uBAAA,AAAuB,EAClC,WAAa,MAAM,AAAIA,MAAM,wRAA0R,EACvT,uDACA","ignoreList":[1]}
1
+ {"version":3,"sources":["../../../../../p248-dash-release/app/favicon.ico.mjs%20%28structured%20image%20object%29","../../../../../p248-dash-release/app/server-logs/page.tsx/__nextjs-internal-proxy.mjs"],"sourcesContent":["import src from \"IMAGE\";\nexport default { src, width: 256, height: 256 }\n","// This file is generated by next-core EcmascriptClientReferenceModule.\nimport { registerClientReference } from \"react-server-dom-turbopack/server\";\nexport default registerClientReference(\n function() { throw new Error(\"Attempted to call the default export of [project]/p248-dash-release/app/server-logs/page.tsx from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.\"); },\n \"[project]/p248-dash-release/app/server-logs/page.tsx\",\n \"default\",\n);\n"],"names":["src","width","height","Error"],"mappings":"8SACe,CAAEA,IAAAA,AADjB,EAAA,CAAA,CAAA,OACiBA,OAAG,CAAEC,MAAO,IAAKC,OAAQ,GAAI,4ECC/B,CAAA,EADf,AACe,EADf,CAAA,CAAA,OACe,uBAAuB,AAAvB,EACX,WAAa,MAAM,AAAIC,MAAM,4SAA8S,EAC3U,2EACA,gEAHW,CAAA,EADf,AACe,EADf,CAAA,CAAA,OACe,uBAAA,AAAuB,EAClC,WAAa,MAAM,AAAIA,MAAM,wRAA0R,EACvT,uDACA","ignoreList":[1]}
@@ -0,0 +1,3 @@
1
+ module.exports=[93695,(a,b,c)=>{b.exports=a.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},79475,a=>{a.v("/_next/static/media/favicon.0x3dzn~oxb6tn.ico"+(globalThis.NEXT_CLIENT_ASSET_SUFFIX||""))},55802,a=>{"use strict";let b={src:a.i(79475).default,width:256,height:256};a.s(["default",0,b])},93971,a=>{"use strict";a.s(["default",()=>b]);let b=(0,a.i(74070).registerClientReference)(function(){throw Error("Attempted to call the default export of [project]/p248-dash-release/app/page.tsx <module evaluation> from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/p248-dash-release/app/page.tsx <module evaluation>","default")},82167,a=>{"use strict";a.s(["default",()=>b]);let b=(0,a.i(74070).registerClientReference)(function(){throw Error("Attempted to call the default export of [project]/p248-dash-release/app/page.tsx from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/p248-dash-release/app/page.tsx","default")},60215,a=>{"use strict";a.i(93971);var b=a.i(82167);a.n(b)},8826,a=>{a.n(a.i(60215))}];
2
+
3
+ //# sourceMappingURL=%5Broot-of-the-server%5D__0xmwsru._.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../p247-dash-release/app/favicon.ico.mjs%20%28structured%20image%20object%29","../../../../../p247-dash-release/app/page.tsx/__nextjs-internal-proxy.mjs"],"sourcesContent":["import src from \"IMAGE\";\nexport default { src, width: 256, height: 256 }\n","// This file is generated by next-core EcmascriptClientReferenceModule.\nimport { registerClientReference } from \"react-server-dom-turbopack/server\";\nexport default registerClientReference(\n function() { throw new Error(\"Attempted to call the default export of [project]/p247-dash-release/app/page.tsx from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.\"); },\n \"[project]/p247-dash-release/app/page.tsx\",\n \"default\",\n);\n"],"names":["src","width","height","Error"],"mappings":"8SACe,CAAEA,IAAAA,AADjB,EAAA,CAAA,CAAA,OACiBA,OAAG,CAAEC,MAAO,IAAKC,OAAQ,GAAI,4ECC/B,CAAA,EADf,AACe,EADf,CAAA,CAAA,OACe,uBAAuB,AAAvB,EACX,WAAa,MAAM,AAAIC,MAAM,gSAAkS,EAC/T,+DACA,gEAHW,CAAA,EADf,AACe,EADf,CAAA,CAAA,OACe,uBAAA,AAAuB,EAClC,WAAa,MAAM,AAAIA,MAAM,4QAA8Q,EAC3S,2CACA","ignoreList":[1]}
1
+ {"version":3,"sources":["../../../../../p248-dash-release/app/favicon.ico.mjs%20%28structured%20image%20object%29","../../../../../p248-dash-release/app/page.tsx/__nextjs-internal-proxy.mjs"],"sourcesContent":["import src from \"IMAGE\";\nexport default { src, width: 256, height: 256 }\n","// This file is generated by next-core EcmascriptClientReferenceModule.\nimport { registerClientReference } from \"react-server-dom-turbopack/server\";\nexport default registerClientReference(\n function() { throw new Error(\"Attempted to call the default export of [project]/p248-dash-release/app/page.tsx from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.\"); },\n \"[project]/p248-dash-release/app/page.tsx\",\n \"default\",\n);\n"],"names":["src","width","height","Error"],"mappings":"8SACe,CAAEA,IAAAA,AADjB,EAAA,CAAA,CAAA,OACiBA,OAAG,CAAEC,MAAO,IAAKC,OAAQ,GAAI,4ECC/B,CAAA,EADf,AACe,EADf,CAAA,CAAA,OACe,uBAAuB,AAAvB,EACX,WAAa,MAAM,AAAIC,MAAM,gSAAkS,EAC/T,+DACA,gEAHW,CAAA,EADf,AACe,EADf,CAAA,CAAA,OACe,uBAAA,AAAuB,EAClC,WAAa,MAAM,AAAIA,MAAM,4QAA8Q,EAC3S,2CACA","ignoreList":[1]}