@sleep2agi/agent-network-dashboard 0.6.3-preview.56 → 0.6.3-preview.58

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 (718) hide show
  1. package/.next/BUILD_COMMIT +1 -1
  2. package/.next/BUILD_ID +1 -1
  3. package/.next/app-path-routes-manifest.json +9 -0
  4. package/.next/build-manifest.json +3 -3
  5. package/.next/diagnostics/route-bundle-stats.json +143 -93
  6. package/.next/fallback-build-manifest.json +3 -3
  7. package/.next/next-server.js.nft.json +1 -1
  8. package/.next/prerender-manifest.json +75 -19
  9. package/.next/required-server-files.js +4 -4
  10. package/.next/required-server-files.json +4 -4
  11. package/.next/routes-manifest.json +63 -0
  12. package/.next/server/app/_global-error.html +1 -1
  13. package/.next/server/app/_global-error.rsc +1 -1
  14. package/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  15. package/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  16. package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  17. package/.next/server/app/_not-found/page.js.nft.json +1 -1
  18. package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  19. package/.next/server/app/_not-found.html +2 -2
  20. package/.next/server/app/_not-found.rsc +14 -14
  21. package/.next/server/app/_not-found.segments/_full.segment.rsc +14 -14
  22. package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +13 -13
  23. package/.next/server/app/_not-found.segments/_tree.segment.rsc +3 -3
  24. package/.next/server/app/admin/page.js.nft.json +1 -1
  25. package/.next/server/app/admin/page_client-reference-manifest.js +1 -1
  26. package/.next/server/app/admin.html +2 -2
  27. package/.next/server/app/admin.rsc +16 -16
  28. package/.next/server/app/admin.segments/_full.segment.rsc +16 -16
  29. package/.next/server/app/admin.segments/_tree.segment.rsc +3 -3
  30. package/.next/server/app/admin.segments/admin/__PAGE__.segment.rsc +15 -15
  31. package/.next/server/app/api/anet/host-supervisors/route.js.nft.json +1 -1
  32. package/.next/server/app/api/anet/node-config/route.js +1 -1
  33. package/.next/server/app/api/anet/node-config/route.js.nft.json +1 -1
  34. package/.next/server/app/api/hub/people/route/app-paths-manifest.json +3 -0
  35. package/.next/server/app/api/hub/people/route/build-manifest.json +12 -0
  36. package/.next/server/app/api/hub/people/route/server-reference-manifest.json +4 -0
  37. package/.next/server/app/api/hub/people/route.js +7 -0
  38. package/.next/server/app/api/hub/people/route.js.map +5 -0
  39. package/.next/server/app/api/hub/people/route.js.nft.json +1 -0
  40. package/.next/server/app/api/hub/people/route_client-reference-manifest.js +3 -0
  41. package/.next/server/app/api/hub/requirements/[id]/checklist/[itemId]/route/app-paths-manifest.json +3 -0
  42. package/.next/server/app/api/hub/requirements/[id]/checklist/[itemId]/route/build-manifest.json +12 -0
  43. package/.next/server/app/api/hub/requirements/[id]/checklist/[itemId]/route/server-reference-manifest.json +4 -0
  44. package/.next/server/app/api/hub/requirements/[id]/checklist/[itemId]/route.js +7 -0
  45. package/.next/server/app/api/hub/requirements/[id]/checklist/[itemId]/route.js.map +5 -0
  46. package/.next/server/app/api/hub/requirements/[id]/checklist/[itemId]/route.js.nft.json +1 -0
  47. package/.next/server/app/api/hub/requirements/[id]/checklist/[itemId]/route_client-reference-manifest.js +3 -0
  48. package/.next/server/app/api/hub/requirements/[id]/comments/route/app-paths-manifest.json +3 -0
  49. package/.next/server/app/api/hub/requirements/[id]/comments/route/build-manifest.json +12 -0
  50. package/.next/server/app/api/hub/requirements/[id]/comments/route/server-reference-manifest.json +4 -0
  51. package/.next/server/app/api/hub/requirements/[id]/comments/route.js +7 -0
  52. package/.next/server/app/api/hub/requirements/[id]/comments/route.js.map +5 -0
  53. package/.next/server/app/api/hub/requirements/[id]/comments/route.js.nft.json +1 -0
  54. package/.next/server/app/api/hub/requirements/[id]/comments/route_client-reference-manifest.js +3 -0
  55. package/.next/server/app/api/hub/requirements/[id]/route/app-paths-manifest.json +3 -0
  56. package/.next/server/app/api/hub/requirements/[id]/route/build-manifest.json +12 -0
  57. package/.next/server/app/api/hub/requirements/[id]/route/server-reference-manifest.json +4 -0
  58. package/.next/server/app/api/hub/requirements/[id]/route.js +7 -0
  59. package/.next/server/app/api/hub/requirements/[id]/route.js.map +5 -0
  60. package/.next/server/app/api/hub/requirements/[id]/route.js.nft.json +1 -0
  61. package/.next/server/app/api/hub/requirements/[id]/route_client-reference-manifest.js +3 -0
  62. package/.next/server/app/api/hub/requirements/events/route/app-paths-manifest.json +3 -0
  63. package/.next/server/app/api/hub/requirements/events/route/build-manifest.json +12 -0
  64. package/.next/server/app/api/hub/requirements/events/route/server-reference-manifest.json +4 -0
  65. package/.next/server/app/api/hub/requirements/events/route.js +7 -0
  66. package/.next/server/app/api/hub/requirements/events/route.js.map +5 -0
  67. package/.next/server/app/api/hub/requirements/events/route.js.nft.json +1 -0
  68. package/.next/server/app/api/hub/requirements/events/route_client-reference-manifest.js +3 -0
  69. package/.next/server/app/api/hub/requirements/route/app-paths-manifest.json +3 -0
  70. package/.next/server/app/api/hub/requirements/route/build-manifest.json +12 -0
  71. package/.next/server/app/api/hub/requirements/route/server-reference-manifest.json +4 -0
  72. package/.next/server/app/api/hub/requirements/route.js +7 -0
  73. package/.next/server/app/api/hub/requirements/route.js.map +5 -0
  74. package/.next/server/app/api/hub/requirements/route.js.nft.json +1 -0
  75. package/.next/server/app/api/hub/requirements/route_client-reference-manifest.js +3 -0
  76. package/.next/server/app/index.html +2 -2
  77. package/.next/server/app/index.rsc +16 -16
  78. package/.next/server/app/index.segments/__PAGE__.segment.rsc +15 -15
  79. package/.next/server/app/index.segments/_full.segment.rsc +16 -16
  80. package/.next/server/app/index.segments/_tree.segment.rsc +3 -3
  81. package/.next/server/app/login/page.js.nft.json +1 -1
  82. package/.next/server/app/login/page_client-reference-manifest.js +1 -1
  83. package/.next/server/app/login.html +2 -2
  84. package/.next/server/app/login.rsc +16 -16
  85. package/.next/server/app/login.segments/_full.segment.rsc +16 -16
  86. package/.next/server/app/login.segments/_tree.segment.rsc +3 -3
  87. package/.next/server/app/login.segments/login/__PAGE__.segment.rsc +15 -15
  88. package/.next/server/app/logs/page.js.nft.json +1 -1
  89. package/.next/server/app/logs/page_client-reference-manifest.js +1 -1
  90. package/.next/server/app/logs.html +2 -2
  91. package/.next/server/app/logs.rsc +16 -16
  92. package/.next/server/app/logs.segments/_full.segment.rsc +16 -16
  93. package/.next/server/app/logs.segments/_tree.segment.rsc +3 -3
  94. package/.next/server/app/logs.segments/logs/__PAGE__.segment.rsc +15 -15
  95. package/.next/server/app/messages/page.js.nft.json +1 -1
  96. package/.next/server/app/messages/page_client-reference-manifest.js +1 -1
  97. package/.next/server/app/messages.html +2 -2
  98. package/.next/server/app/messages.rsc +16 -16
  99. package/.next/server/app/messages.segments/_full.segment.rsc +16 -16
  100. package/.next/server/app/messages.segments/_tree.segment.rsc +3 -3
  101. package/.next/server/app/messages.segments/messages/__PAGE__.segment.rsc +15 -15
  102. package/.next/server/app/node/page.js.nft.json +1 -1
  103. package/.next/server/app/node/page_client-reference-manifest.js +1 -1
  104. package/.next/server/app/node.html +2 -2
  105. package/.next/server/app/node.rsc +16 -16
  106. package/.next/server/app/node.segments/_full.segment.rsc +16 -16
  107. package/.next/server/app/node.segments/_tree.segment.rsc +3 -3
  108. package/.next/server/app/node.segments/node/__PAGE__.segment.rsc +15 -15
  109. package/.next/server/app/nodes/[alias]/page.js.nft.json +1 -1
  110. package/.next/server/app/nodes/[alias]/page_client-reference-manifest.js +1 -1
  111. package/.next/server/app/nodes/page.js.nft.json +1 -1
  112. package/.next/server/app/nodes/page_client-reference-manifest.js +1 -1
  113. package/.next/server/app/nodes.html +2 -2
  114. package/.next/server/app/nodes.rsc +16 -16
  115. package/.next/server/app/nodes.segments/_full.segment.rsc +16 -16
  116. package/.next/server/app/nodes.segments/_tree.segment.rsc +3 -3
  117. package/.next/server/app/nodes.segments/nodes/__PAGE__.segment.rsc +15 -15
  118. package/.next/server/app/org/page/app-paths-manifest.json +3 -0
  119. package/.next/server/app/org/page/build-manifest.json +20 -0
  120. package/.next/server/app/org/page/next-font-manifest.json +11 -0
  121. package/.next/server/app/org/page/react-loadable-manifest.json +1 -0
  122. package/.next/server/app/org/page/server-reference-manifest.json +4 -0
  123. package/.next/server/app/org/page.js +13 -0
  124. package/.next/server/app/org/page.js.map +5 -0
  125. package/.next/server/app/org/page.js.nft.json +1 -0
  126. package/.next/server/app/org/page_client-reference-manifest.js +3 -0
  127. package/.next/server/app/org.html +12 -0
  128. package/.next/server/app/org.meta +26 -0
  129. package/.next/server/app/org.rsc +27 -0
  130. package/.next/server/app/org.segments/_full.segment.rsc +27 -0
  131. package/.next/server/app/org.segments/_tree.segment.rsc +5 -0
  132. package/.next/server/app/org.segments/org/__PAGE__.segment.rsc +32 -0
  133. package/.next/server/app/page.js.nft.json +1 -1
  134. package/.next/server/app/page_client-reference-manifest.js +1 -1
  135. package/.next/server/app/providers/page.js.nft.json +1 -1
  136. package/.next/server/app/providers/page_client-reference-manifest.js +1 -1
  137. package/.next/server/app/providers.html +2 -2
  138. package/.next/server/app/providers.rsc +16 -16
  139. package/.next/server/app/providers.segments/_full.segment.rsc +16 -16
  140. package/.next/server/app/providers.segments/_tree.segment.rsc +3 -3
  141. package/.next/server/app/providers.segments/providers/__PAGE__.segment.rsc +15 -15
  142. package/.next/server/app/requirements/[id]/page/app-paths-manifest.json +3 -0
  143. package/.next/server/app/requirements/[id]/page/build-manifest.json +20 -0
  144. package/.next/server/app/requirements/[id]/page/next-font-manifest.json +11 -0
  145. package/.next/server/app/requirements/[id]/page/react-loadable-manifest.json +1 -0
  146. package/.next/server/app/requirements/[id]/page/server-reference-manifest.json +4 -0
  147. package/.next/server/app/requirements/[id]/page.js +13 -0
  148. package/.next/server/app/requirements/[id]/page.js.map +5 -0
  149. package/.next/server/app/requirements/[id]/page.js.nft.json +1 -0
  150. package/.next/server/app/requirements/[id]/page_client-reference-manifest.js +3 -0
  151. package/.next/server/app/requirements/page/app-paths-manifest.json +3 -0
  152. package/.next/server/app/requirements/page/build-manifest.json +20 -0
  153. package/.next/server/app/requirements/page/next-font-manifest.json +11 -0
  154. package/.next/server/app/requirements/page/react-loadable-manifest.json +1 -0
  155. package/.next/server/app/requirements/page/server-reference-manifest.json +4 -0
  156. package/.next/server/app/requirements/page.js +13 -0
  157. package/.next/server/app/requirements/page.js.map +5 -0
  158. package/.next/server/app/requirements/page.js.nft.json +1 -0
  159. package/.next/server/app/requirements/page_client-reference-manifest.js +3 -0
  160. package/.next/server/app/requirements.html +12 -0
  161. package/.next/server/app/requirements.meta +26 -0
  162. package/.next/server/app/requirements.rsc +27 -0
  163. package/.next/server/app/requirements.segments/_full.segment.rsc +27 -0
  164. package/.next/server/app/requirements.segments/_tree.segment.rsc +5 -0
  165. package/.next/server/app/requirements.segments/requirements/__PAGE__.segment.rsc +32 -0
  166. package/.next/server/app/scheduled-tasks/page.js.nft.json +1 -1
  167. package/.next/server/app/scheduled-tasks/page_client-reference-manifest.js +1 -1
  168. package/.next/server/app/scheduled-tasks.html +2 -2
  169. package/.next/server/app/scheduled-tasks.rsc +16 -16
  170. package/.next/server/app/scheduled-tasks.segments/_full.segment.rsc +16 -16
  171. package/.next/server/app/scheduled-tasks.segments/_tree.segment.rsc +3 -3
  172. package/.next/server/app/scheduled-tasks.segments/scheduled-tasks/__PAGE__.segment.rsc +15 -15
  173. package/.next/server/app/server-logs/page.js.nft.json +1 -1
  174. package/.next/server/app/server-logs/page_client-reference-manifest.js +1 -1
  175. package/.next/server/app/server-logs.html +2 -2
  176. package/.next/server/app/server-logs.rsc +16 -16
  177. package/.next/server/app/server-logs.segments/_full.segment.rsc +16 -16
  178. package/.next/server/app/server-logs.segments/_tree.segment.rsc +3 -3
  179. package/.next/server/app/server-logs.segments/server-logs/__PAGE__.segment.rsc +15 -15
  180. package/.next/server/app/servers/page.js.nft.json +1 -1
  181. package/.next/server/app/servers/page_client-reference-manifest.js +1 -1
  182. package/.next/server/app/servers.html +2 -2
  183. package/.next/server/app/servers.rsc +16 -16
  184. package/.next/server/app/servers.segments/_full.segment.rsc +16 -16
  185. package/.next/server/app/servers.segments/_tree.segment.rsc +3 -3
  186. package/.next/server/app/servers.segments/servers/__PAGE__.segment.rsc +15 -15
  187. package/.next/server/app/settings/networks/page.js.nft.json +1 -1
  188. package/.next/server/app/settings/networks/page_client-reference-manifest.js +1 -1
  189. package/.next/server/app/settings/networks.html +2 -2
  190. package/.next/server/app/settings/networks.rsc +16 -16
  191. package/.next/server/app/settings/networks.segments/_full.segment.rsc +16 -16
  192. package/.next/server/app/settings/networks.segments/_tree.segment.rsc +3 -3
  193. package/.next/server/app/settings/networks.segments/settings/networks/__PAGE__.segment.rsc +15 -15
  194. package/.next/server/app/settings/page.js.nft.json +1 -1
  195. package/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  196. package/.next/server/app/settings/tokens/page.js.nft.json +1 -1
  197. package/.next/server/app/settings/tokens/page_client-reference-manifest.js +1 -1
  198. package/.next/server/app/settings/tokens.html +2 -2
  199. package/.next/server/app/settings/tokens.rsc +16 -16
  200. package/.next/server/app/settings/tokens.segments/_full.segment.rsc +16 -16
  201. package/.next/server/app/settings/tokens.segments/_tree.segment.rsc +3 -3
  202. package/.next/server/app/settings/tokens.segments/settings/tokens/__PAGE__.segment.rsc +15 -15
  203. package/.next/server/app/settings.html +2 -2
  204. package/.next/server/app/settings.rsc +16 -16
  205. package/.next/server/app/settings.segments/_full.segment.rsc +16 -16
  206. package/.next/server/app/settings.segments/_tree.segment.rsc +3 -3
  207. package/.next/server/app/settings.segments/settings/__PAGE__.segment.rsc +15 -15
  208. package/.next/server/app/skillhub/page.js.nft.json +1 -1
  209. package/.next/server/app/skillhub/page_client-reference-manifest.js +1 -1
  210. package/.next/server/app/skillhub.html +2 -2
  211. package/.next/server/app/skillhub.rsc +16 -16
  212. package/.next/server/app/skillhub.segments/_full.segment.rsc +16 -16
  213. package/.next/server/app/skillhub.segments/_tree.segment.rsc +3 -3
  214. package/.next/server/app/skillhub.segments/skillhub/__PAGE__.segment.rsc +15 -15
  215. package/.next/server/app/tasks/[id]/page.js.nft.json +1 -1
  216. package/.next/server/app/tasks/[id]/page_client-reference-manifest.js +1 -1
  217. package/.next/server/app/tasks/page.js.nft.json +1 -1
  218. package/.next/server/app/tasks/page_client-reference-manifest.js +1 -1
  219. package/.next/server/app/tasks.html +2 -2
  220. package/.next/server/app/tasks.rsc +16 -16
  221. package/.next/server/app/tasks.segments/_full.segment.rsc +16 -16
  222. package/.next/server/app/tasks.segments/_tree.segment.rsc +3 -3
  223. package/.next/server/app/tasks.segments/tasks/__PAGE__.segment.rsc +15 -15
  224. package/.next/server/app-paths-manifest.json +9 -0
  225. package/.next/server/chunks/1oeh_server_app_api_hub_requirements_[id]_checklist_[itemId]_route_actions_05mpe5a.js +3 -0
  226. package/.next/server/chunks/1oeh_server_app_api_hub_requirements_[id]_checklist_[itemId]_route_actions_05mpe5a.js.map +1 -0
  227. package/.next/server/chunks/1oeh_server_app_api_hub_requirements_[id]_comments_route_actions_1lv4qr1.js +3 -0
  228. package/.next/server/chunks/1oeh_server_app_api_hub_requirements_[id]_comments_route_actions_1lv4qr1.js.map +1 -0
  229. package/.next/server/chunks/[root-of-the-server]__0-wvy_a._.js +1 -1
  230. package/.next/server/chunks/[root-of-the-server]__0-wvy_a._.js.map +1 -1
  231. package/.next/server/chunks/[root-of-the-server]__053z4wp._.js +3 -0
  232. package/.next/server/chunks/[root-of-the-server]__053z4wp._.js.map +1 -0
  233. package/.next/server/chunks/[root-of-the-server]__0if0bw1._.js +3 -0
  234. package/.next/server/chunks/[root-of-the-server]__0if0bw1._.js.map +1 -0
  235. package/.next/server/chunks/[root-of-the-server]__0liwkmx._.js +1 -1
  236. package/.next/server/chunks/[root-of-the-server]__0liwkmx._.js.map +1 -1
  237. package/.next/server/chunks/[root-of-the-server]__0q9xwca._.js +3 -0
  238. package/.next/server/chunks/[root-of-the-server]__0q9xwca._.js.map +1 -0
  239. package/.next/server/chunks/[root-of-the-server]__1941b2h._.js +3 -0
  240. package/.next/server/chunks/[root-of-the-server]__1941b2h._.js.map +1 -0
  241. package/.next/server/chunks/[root-of-the-server]__1_rzyvn._.js +3 -0
  242. package/.next/server/chunks/[root-of-the-server]__1_rzyvn._.js.map +1 -0
  243. package/.next/server/chunks/[root-of-the-server]__1vua9gf._.js +3 -0
  244. package/.next/server/chunks/[root-of-the-server]__1vua9gf._.js.map +1 -0
  245. package/.next/server/chunks/_05lpz54._.js +1 -1
  246. package/.next/server/chunks/_05lpz54._.js.map +1 -1
  247. package/.next/server/chunks/_next-internal_server_app_api_hub_people_route_actions_01pw78e.js +3 -0
  248. package/.next/server/chunks/_next-internal_server_app_api_hub_people_route_actions_01pw78e.js.map +1 -0
  249. package/.next/server/chunks/_next-internal_server_app_api_hub_requirements_[id]_route_actions_1jkq5c6.js +3 -0
  250. package/.next/server/chunks/_next-internal_server_app_api_hub_requirements_[id]_route_actions_1jkq5c6.js.map +1 -0
  251. package/.next/server/chunks/_next-internal_server_app_api_hub_requirements_events_route_actions_1ypnpu5.js +3 -0
  252. package/.next/server/chunks/_next-internal_server_app_api_hub_requirements_events_route_actions_1ypnpu5.js.map +1 -0
  253. package/.next/server/chunks/_next-internal_server_app_api_hub_requirements_route_actions_1lyeno6.js +3 -0
  254. package/.next/server/chunks/_next-internal_server_app_api_hub_requirements_route_actions_1lyeno6.js.map +1 -0
  255. package/.next/server/chunks/ssr/[root-of-the-server]__0-94ipy._.js +3 -0
  256. package/.next/server/chunks/ssr/[root-of-the-server]__0-94ipy._.js.map +1 -0
  257. package/.next/server/chunks/ssr/[root-of-the-server]__09n7eih._.js +3 -0
  258. package/.next/server/chunks/ssr/[root-of-the-server]__09n7eih._.js.map +1 -0
  259. package/.next/server/chunks/ssr/[root-of-the-server]__0ol09h3._.js +3 -0
  260. package/.next/server/chunks/ssr/[root-of-the-server]__0ol09h3._.js.map +1 -0
  261. package/.next/server/chunks/ssr/[root-of-the-server]__14k36ti._.js +3 -0
  262. package/.next/server/chunks/ssr/[root-of-the-server]__14k36ti._.js.map +1 -0
  263. package/.next/server/chunks/ssr/[root-of-the-server]__1bn1jjm._.js +3 -0
  264. package/.next/server/chunks/ssr/[root-of-the-server]__1bn1jjm._.js.map +1 -0
  265. package/.next/server/chunks/ssr/[root-of-the-server]__1ovdbox._.js +1 -1
  266. package/.next/server/chunks/ssr/[root-of-the-server]__1ovdbox._.js.map +1 -1
  267. package/.next/server/chunks/ssr/_0q4m25o._.js +0 -0
  268. package/.next/server/chunks/ssr/_0q4m25o._.js.map +1 -1
  269. package/.next/server/chunks/ssr/_1z1o6o3._.js +0 -0
  270. package/.next/server/chunks/ssr/_1z1o6o3._.js.map +1 -1
  271. package/.next/server/chunks/ssr/_next-internal_server_app_org_page_actions_0hbcef1.js +3 -0
  272. package/.next/server/chunks/ssr/_next-internal_server_app_org_page_actions_0hbcef1.js.map +1 -0
  273. package/.next/server/chunks/ssr/_next-internal_server_app_requirements_[id]_page_actions_1wjoy4l.js +3 -0
  274. package/.next/server/chunks/ssr/_next-internal_server_app_requirements_[id]_page_actions_1wjoy4l.js.map +1 -0
  275. package/.next/server/chunks/ssr/_next-internal_server_app_requirements_page_actions_0x9m0gy.js +3 -0
  276. package/.next/server/chunks/ssr/_next-internal_server_app_requirements_page_actions_0x9m0gy.js.map +1 -0
  277. package/.next/server/chunks/ssr/app_05mfyco._.js +3 -0
  278. package/.next/server/chunks/ssr/app_05mfyco._.js.map +1 -0
  279. package/.next/server/chunks/ssr/{app_0_s8u96._.js → app_07bzc6w._.js} +1 -1
  280. package/.next/server/chunks/ssr/app_099f0wg._.js +3 -0
  281. package/.next/server/chunks/ssr/app_099f0wg._.js.map +1 -0
  282. package/.next/server/chunks/ssr/{app_1oxcq68._.js → app_0g7oz9w._.js} +1 -1
  283. package/.next/server/chunks/ssr/app_0iz553k._.js +1 -1
  284. package/.next/server/chunks/ssr/app_0iz553k._.js.map +1 -1
  285. package/.next/server/chunks/ssr/app_0los-eu._.js +1 -1
  286. package/.next/server/chunks/ssr/app_0los-eu._.js.map +1 -1
  287. package/.next/server/chunks/ssr/{app_0x7s72b._.js → app_0tt2ueo._.js} +1 -1
  288. package/.next/server/chunks/ssr/{app_081zy6c._.js → app_0ugqkd7._.js} +1 -1
  289. package/.next/server/chunks/ssr/app_1auk3il._.js +11 -0
  290. package/.next/server/chunks/ssr/app_1auk3il._.js.map +1 -0
  291. package/.next/server/chunks/ssr/{app_0o4bxq0._.js → app_1e91uc-._.js} +1 -1
  292. package/.next/server/chunks/ssr/{app_1psh956._.js → app_1f96aq_._.js} +1 -1
  293. package/.next/server/chunks/ssr/app_1rma_8a._.js +11 -0
  294. package/.next/server/chunks/ssr/app_1rma_8a._.js.map +1 -0
  295. package/.next/server/chunks/ssr/{app_0_dhiwi._.js → app_1ua57bx._.js} +1 -1
  296. package/.next/server/chunks/ssr/app_components_04a31va._.js +1 -1
  297. package/.next/server/chunks/ssr/app_components_04a31va._.js.map +1 -1
  298. package/.next/server/chunks/ssr/{app_lib_10o69j_._.js → app_lib_20-pe_0._.js} +2 -2
  299. package/.next/server/chunks/ssr/{app_lib_10o69j_._.js.map → app_lib_20-pe_0._.js.map} +1 -1
  300. package/.next/server/chunks/ssr/app_nodes_NodesView_tsx_1w6_d8p._.js +2 -2
  301. package/.next/server/chunks/ssr/app_nodes_NodesView_tsx_1w6_d8p._.js.map +1 -1
  302. package/.next/server/chunks/ssr/app_page_tsx_0pxmutw._.js +1 -1
  303. package/.next/server/chunks/ssr/app_page_tsx_0pxmutw._.js.map +1 -1
  304. package/.next/server/chunks/ssr/app_scheduled-tasks_page_tsx_0xs70_6._.js +1 -1
  305. package/.next/server/chunks/ssr/app_scheduled-tasks_page_tsx_0xs70_6._.js.map +1 -1
  306. package/.next/server/chunks/ssr/app_tasks_TasksView_tsx_068vqml._.js +1 -1
  307. package/.next/server/chunks/ssr/app_tasks_TasksView_tsx_068vqml._.js.map +1 -1
  308. package/.next/server/functions-config-manifest.json +4 -0
  309. package/.next/server/middleware-build-manifest.js +3 -3
  310. package/.next/server/middleware.js.nft.json +1 -1
  311. package/.next/server/next-font-manifest.js +1 -1
  312. package/.next/server/next-font-manifest.json +12 -0
  313. package/.next/server/pages/404.html +2 -2
  314. package/.next/server/pages/500.html +1 -1
  315. package/.next/server/prefetch-hints.json +28 -0
  316. package/.next/server/server-reference-manifest.js +1 -1
  317. package/.next/server/server-reference-manifest.json +1 -1
  318. package/.next/static/{trj9RsCWuEDMfq9BuoKfl → FEaCQpBc05SBAWTBHRt5h}/_clientMiddlewareManifest.js +4 -0
  319. package/.next/static/chunks/{27b9kqyo7bmdr.js → 08-obrj2goweb.js} +2 -2
  320. package/.next/static/chunks/0fih4pzed1syn.js +9 -0
  321. package/.next/static/chunks/0iiu4-g5k8jcq.js +1 -0
  322. package/.next/static/chunks/{37booeyruo9_l.js → 0iz44n632kw4w.js} +1 -1
  323. package/.next/static/chunks/0jt-1caejz1jv.js +1 -0
  324. package/.next/static/chunks/0k-4980o5t7_r.css +1 -0
  325. package/.next/static/chunks/{0agh8mvmpke4j.js → 0z9tzvfwtc16z.js} +1 -1
  326. package/.next/static/chunks/114pblaedlrqs.js +1 -0
  327. package/.next/static/chunks/1tcaw8g6u6o-4.js +1 -0
  328. package/.next/static/chunks/1v5-qgib9884o.js +0 -0
  329. package/.next/static/chunks/{02303d1rbqx74.js → 2-x9r-1t3c1mn.js} +1 -1
  330. package/.next/static/chunks/{28o3ssg0_q2n-.js → 26bpf-fpc6zpt.js} +1 -1
  331. package/.next/static/chunks/2anlzel60my8y.js +2 -0
  332. package/.next/static/chunks/{3jxk7q1jxyvol.js → 2divamiv1re3v.js} +1 -1
  333. package/.next/static/chunks/3cb3_kcec7bms.js +1 -0
  334. package/.next/static/chunks/{233p45nuh4m5b.css → 3d-1vk5hzu5rq.css} +2 -2
  335. package/.next/static/chunks/3u059pjgl4gcw.js +1 -0
  336. package/.next/static/chunks/3vv0y_64bnnsf.js +1 -0
  337. package/.next/trace +2 -2
  338. package/.next/trace-build +1 -1
  339. package/.next/types/routes.d.ts +11 -2
  340. package/.next/types/validator.ts +81 -0
  341. package/.vercel/.env.development.local +2 -0
  342. package/.vercel/.env.production.local +25 -0
  343. package/.vercel/README.txt +11 -0
  344. package/.vercel/output/builds.json +23 -0
  345. package/.vercel/output/config.json +489 -0
  346. package/.vercel/output/diagnostics/build-diagnostics.json +6 -0
  347. package/.vercel/output/diagnostics/cli_traces.json +1 -0
  348. package/.vercel/output/diagnostics/framework.json +1 -0
  349. package/.vercel/output/diagnostics/route-bundle-stats.json +245 -0
  350. package/.vercel/output/diagnostics/trace +2 -0
  351. package/.vercel/output/diagnostics/trace-build +1 -0
  352. package/.vercel/output/diagnostics/turbopack +0 -0
  353. package/.vercel/output/functions/_global-error.prerender-config.json +38 -0
  354. package/.vercel/output/functions/_global-error.prerender-fallback.html +1 -0
  355. package/.vercel/output/functions/_global-error.rsc.func/.next/routes-manifest.json +1 -0
  356. package/.vercel/output/functions/_global-error.rsc.func/.next/server/app-paths-manifest.json +1 -0
  357. package/.vercel/output/functions/_global-error.rsc.func/.next/server/pages-manifest.json +1 -0
  358. package/.vercel/output/functions/_global-error.rsc.func/.vc-config.json +807 -0
  359. package/.vercel/output/functions/_global-error.rsc.func/___next_launcher.cjs +68 -0
  360. package/.vercel/output/functions/_global-error.rsc.prerender-config.json +38 -0
  361. package/.vercel/output/functions/_global-error.rsc.prerender-fallback.rsc +15 -0
  362. package/.vercel/output/functions/_global-error.segments/__PAGE__.segment.rsc.prerender-config.json +28 -0
  363. package/.vercel/output/functions/_global-error.segments/__PAGE__.segment.rsc.prerender-fallback.rsc +5 -0
  364. package/.vercel/output/functions/_global-error.segments/_full.segment.rsc.prerender-config.json +28 -0
  365. package/.vercel/output/functions/_global-error.segments/_full.segment.rsc.prerender-fallback.rsc +15 -0
  366. package/.vercel/output/functions/_global-error.segments/_head.segment.rsc.prerender-config.json +28 -0
  367. package/.vercel/output/functions/_global-error.segments/_head.segment.rsc.prerender-fallback.rsc +6 -0
  368. package/.vercel/output/functions/_global-error.segments/_index.segment.rsc.prerender-config.json +28 -0
  369. package/.vercel/output/functions/_global-error.segments/_index.segment.rsc.prerender-fallback.rsc +5 -0
  370. package/.vercel/output/functions/_global-error.segments/_tree.segment.rsc.prerender-config.json +28 -0
  371. package/.vercel/output/functions/_global-error.segments/_tree.segment.rsc.prerender-fallback.rsc +1 -0
  372. package/.vercel/output/functions/_middleware.func/.vc-config.json +107 -0
  373. package/.vercel/output/functions/_middleware.func/___next_launcher.cjs +135 -0
  374. package/.vercel/output/functions/_not-found.prerender-config.json +38 -0
  375. package/.vercel/output/functions/_not-found.prerender-fallback.html +12 -0
  376. package/.vercel/output/functions/_not-found.rsc.prerender-config.json +38 -0
  377. package/.vercel/output/functions/_not-found.rsc.prerender-fallback.rsc +21 -0
  378. package/.vercel/output/functions/_not-found.segments/_full.segment.rsc.prerender-config.json +28 -0
  379. package/.vercel/output/functions/_not-found.segments/_full.segment.rsc.prerender-fallback.rsc +21 -0
  380. package/.vercel/output/functions/_not-found.segments/_head.segment.rsc.prerender-config.json +28 -0
  381. package/.vercel/output/functions/_not-found.segments/_head.segment.rsc.prerender-fallback.rsc +6 -0
  382. package/.vercel/output/functions/_not-found.segments/_index.segment.rsc.prerender-config.json +28 -0
  383. package/.vercel/output/functions/_not-found.segments/_index.segment.rsc.prerender-fallback.rsc +10 -0
  384. package/.vercel/output/functions/_not-found.segments/_not-found/__PAGE__.segment.rsc.prerender-config.json +28 -0
  385. package/.vercel/output/functions/_not-found.segments/_not-found/__PAGE__.segment.rsc.prerender-fallback.rsc +5 -0
  386. package/.vercel/output/functions/_not-found.segments/_not-found.segment.rsc.prerender-config.json +28 -0
  387. package/.vercel/output/functions/_not-found.segments/_not-found.segment.rsc.prerender-fallback.rsc +5 -0
  388. package/.vercel/output/functions/_not-found.segments/_tree.segment.rsc.prerender-config.json +28 -0
  389. package/.vercel/output/functions/_not-found.segments/_tree.segment.rsc.prerender-fallback.rsc +3 -0
  390. package/.vercel/output/functions/admin.prerender-config.json +37 -0
  391. package/.vercel/output/functions/admin.prerender-fallback.html +12 -0
  392. package/.vercel/output/functions/admin.rsc.prerender-config.json +38 -0
  393. package/.vercel/output/functions/admin.rsc.prerender-fallback.rsc +27 -0
  394. package/.vercel/output/functions/admin.segments/_full.segment.rsc.prerender-config.json +28 -0
  395. package/.vercel/output/functions/admin.segments/_full.segment.rsc.prerender-fallback.rsc +27 -0
  396. package/.vercel/output/functions/admin.segments/_head.segment.rsc.prerender-config.json +28 -0
  397. package/.vercel/output/functions/admin.segments/_head.segment.rsc.prerender-fallback.rsc +6 -0
  398. package/.vercel/output/functions/admin.segments/_index.segment.rsc.prerender-config.json +28 -0
  399. package/.vercel/output/functions/admin.segments/_index.segment.rsc.prerender-fallback.rsc +10 -0
  400. package/.vercel/output/functions/admin.segments/_tree.segment.rsc.prerender-config.json +28 -0
  401. package/.vercel/output/functions/admin.segments/_tree.segment.rsc.prerender-fallback.rsc +5 -0
  402. package/.vercel/output/functions/admin.segments/admin/__PAGE__.segment.rsc.prerender-config.json +28 -0
  403. package/.vercel/output/functions/admin.segments/admin/__PAGE__.segment.rsc.prerender-fallback.rsc +9 -0
  404. package/.vercel/output/functions/admin.segments/admin.segment.rsc.prerender-config.json +28 -0
  405. package/.vercel/output/functions/admin.segments/admin.segment.rsc.prerender-fallback.rsc +5 -0
  406. package/.vercel/output/functions/api/anet/config.func/.next/routes-manifest.json +1 -0
  407. package/.vercel/output/functions/api/anet/config.func/.next/server/app-paths-manifest.json +1 -0
  408. package/.vercel/output/functions/api/anet/config.func/.next/server/pages-manifest.json +1 -0
  409. package/.vercel/output/functions/api/anet/config.func/.vc-config.json +818 -0
  410. package/.vercel/output/functions/api/anet/config.func/___next_launcher.cjs +68 -0
  411. package/.vercel/output/functions/index.prerender-config.json +38 -0
  412. package/.vercel/output/functions/index.prerender-fallback.html +12 -0
  413. package/.vercel/output/functions/index.rsc.prerender-config.json +38 -0
  414. package/.vercel/output/functions/index.rsc.prerender-fallback.rsc +25 -0
  415. package/.vercel/output/functions/index.segments/__PAGE__.segment.rsc.prerender-config.json +28 -0
  416. package/.vercel/output/functions/index.segments/__PAGE__.segment.rsc.prerender-fallback.rsc +9 -0
  417. package/.vercel/output/functions/index.segments/_full.segment.rsc.prerender-config.json +28 -0
  418. package/.vercel/output/functions/index.segments/_full.segment.rsc.prerender-fallback.rsc +25 -0
  419. package/.vercel/output/functions/index.segments/_head.segment.rsc.prerender-config.json +28 -0
  420. package/.vercel/output/functions/index.segments/_head.segment.rsc.prerender-fallback.rsc +6 -0
  421. package/.vercel/output/functions/index.segments/_index.segment.rsc.prerender-config.json +28 -0
  422. package/.vercel/output/functions/index.segments/_index.segment.rsc.prerender-fallback.rsc +10 -0
  423. package/.vercel/output/functions/index.segments/_tree.segment.rsc.prerender-config.json +28 -0
  424. package/.vercel/output/functions/index.segments/_tree.segment.rsc.prerender-fallback.rsc +5 -0
  425. package/.vercel/output/functions/login.prerender-config.json +37 -0
  426. package/.vercel/output/functions/login.prerender-fallback.html +6 -0
  427. package/.vercel/output/functions/login.rsc.prerender-config.json +38 -0
  428. package/.vercel/output/functions/login.rsc.prerender-fallback.rsc +27 -0
  429. package/.vercel/output/functions/login.segments/_full.segment.rsc.prerender-config.json +28 -0
  430. package/.vercel/output/functions/login.segments/_full.segment.rsc.prerender-fallback.rsc +27 -0
  431. package/.vercel/output/functions/login.segments/_head.segment.rsc.prerender-config.json +28 -0
  432. package/.vercel/output/functions/login.segments/_head.segment.rsc.prerender-fallback.rsc +6 -0
  433. package/.vercel/output/functions/login.segments/_index.segment.rsc.prerender-config.json +28 -0
  434. package/.vercel/output/functions/login.segments/_index.segment.rsc.prerender-fallback.rsc +10 -0
  435. package/.vercel/output/functions/login.segments/_tree.segment.rsc.prerender-config.json +28 -0
  436. package/.vercel/output/functions/login.segments/_tree.segment.rsc.prerender-fallback.rsc +5 -0
  437. package/.vercel/output/functions/login.segments/login/__PAGE__.segment.rsc.prerender-config.json +28 -0
  438. package/.vercel/output/functions/login.segments/login/__PAGE__.segment.rsc.prerender-fallback.rsc +9 -0
  439. package/.vercel/output/functions/login.segments/login.segment.rsc.prerender-config.json +28 -0
  440. package/.vercel/output/functions/login.segments/login.segment.rsc.prerender-fallback.rsc +5 -0
  441. package/.vercel/output/functions/logs.prerender-config.json +37 -0
  442. package/.vercel/output/functions/logs.prerender-fallback.html +12 -0
  443. package/.vercel/output/functions/logs.rsc.prerender-config.json +38 -0
  444. package/.vercel/output/functions/logs.rsc.prerender-fallback.rsc +27 -0
  445. package/.vercel/output/functions/logs.segments/_full.segment.rsc.prerender-config.json +28 -0
  446. package/.vercel/output/functions/logs.segments/_full.segment.rsc.prerender-fallback.rsc +27 -0
  447. package/.vercel/output/functions/logs.segments/_head.segment.rsc.prerender-config.json +28 -0
  448. package/.vercel/output/functions/logs.segments/_head.segment.rsc.prerender-fallback.rsc +6 -0
  449. package/.vercel/output/functions/logs.segments/_index.segment.rsc.prerender-config.json +28 -0
  450. package/.vercel/output/functions/logs.segments/_index.segment.rsc.prerender-fallback.rsc +10 -0
  451. package/.vercel/output/functions/logs.segments/_tree.segment.rsc.prerender-config.json +28 -0
  452. package/.vercel/output/functions/logs.segments/_tree.segment.rsc.prerender-fallback.rsc +5 -0
  453. package/.vercel/output/functions/logs.segments/logs/__PAGE__.segment.rsc.prerender-config.json +28 -0
  454. package/.vercel/output/functions/logs.segments/logs/__PAGE__.segment.rsc.prerender-fallback.rsc +9 -0
  455. package/.vercel/output/functions/logs.segments/logs.segment.rsc.prerender-config.json +28 -0
  456. package/.vercel/output/functions/logs.segments/logs.segment.rsc.prerender-fallback.rsc +5 -0
  457. package/.vercel/output/functions/manifest.webmanifest.func/.next/routes-manifest.json +1 -0
  458. package/.vercel/output/functions/manifest.webmanifest.func/.next/server/app-paths-manifest.json +1 -0
  459. package/.vercel/output/functions/manifest.webmanifest.func/.next/server/pages-manifest.json +1 -0
  460. package/.vercel/output/functions/manifest.webmanifest.func/.vc-config.json +715 -0
  461. package/.vercel/output/functions/manifest.webmanifest.func/___next_launcher.cjs +68 -0
  462. package/.vercel/output/functions/manifest.webmanifest.prerender-config.json +38 -0
  463. package/.vercel/output/functions/manifest.webmanifest.prerender-fallback.body +1 -0
  464. package/.vercel/output/functions/messages.prerender-config.json +37 -0
  465. package/.vercel/output/functions/messages.prerender-fallback.html +12 -0
  466. package/.vercel/output/functions/messages.rsc.prerender-config.json +38 -0
  467. package/.vercel/output/functions/messages.rsc.prerender-fallback.rsc +27 -0
  468. package/.vercel/output/functions/messages.segments/_full.segment.rsc.prerender-config.json +28 -0
  469. package/.vercel/output/functions/messages.segments/_full.segment.rsc.prerender-fallback.rsc +27 -0
  470. package/.vercel/output/functions/messages.segments/_head.segment.rsc.prerender-config.json +28 -0
  471. package/.vercel/output/functions/messages.segments/_head.segment.rsc.prerender-fallback.rsc +6 -0
  472. package/.vercel/output/functions/messages.segments/_index.segment.rsc.prerender-config.json +28 -0
  473. package/.vercel/output/functions/messages.segments/_index.segment.rsc.prerender-fallback.rsc +10 -0
  474. package/.vercel/output/functions/messages.segments/_tree.segment.rsc.prerender-config.json +28 -0
  475. package/.vercel/output/functions/messages.segments/_tree.segment.rsc.prerender-fallback.rsc +5 -0
  476. package/.vercel/output/functions/messages.segments/messages/__PAGE__.segment.rsc.prerender-config.json +28 -0
  477. package/.vercel/output/functions/messages.segments/messages/__PAGE__.segment.rsc.prerender-fallback.rsc +9 -0
  478. package/.vercel/output/functions/messages.segments/messages.segment.rsc.prerender-config.json +28 -0
  479. package/.vercel/output/functions/messages.segments/messages.segment.rsc.prerender-fallback.rsc +5 -0
  480. package/.vercel/output/functions/node.prerender-config.json +37 -0
  481. package/.vercel/output/functions/node.prerender-fallback.html +12 -0
  482. package/.vercel/output/functions/node.rsc.prerender-config.json +38 -0
  483. package/.vercel/output/functions/node.rsc.prerender-fallback.rsc +27 -0
  484. package/.vercel/output/functions/node.segments/_full.segment.rsc.prerender-config.json +28 -0
  485. package/.vercel/output/functions/node.segments/_full.segment.rsc.prerender-fallback.rsc +27 -0
  486. package/.vercel/output/functions/node.segments/_head.segment.rsc.prerender-config.json +28 -0
  487. package/.vercel/output/functions/node.segments/_head.segment.rsc.prerender-fallback.rsc +6 -0
  488. package/.vercel/output/functions/node.segments/_index.segment.rsc.prerender-config.json +28 -0
  489. package/.vercel/output/functions/node.segments/_index.segment.rsc.prerender-fallback.rsc +10 -0
  490. package/.vercel/output/functions/node.segments/_tree.segment.rsc.prerender-config.json +28 -0
  491. package/.vercel/output/functions/node.segments/_tree.segment.rsc.prerender-fallback.rsc +5 -0
  492. package/.vercel/output/functions/node.segments/node/__PAGE__.segment.rsc.prerender-config.json +28 -0
  493. package/.vercel/output/functions/node.segments/node/__PAGE__.segment.rsc.prerender-fallback.rsc +9 -0
  494. package/.vercel/output/functions/node.segments/node.segment.rsc.prerender-config.json +28 -0
  495. package/.vercel/output/functions/node.segments/node.segment.rsc.prerender-fallback.rsc +5 -0
  496. package/.vercel/output/functions/nodes.prerender-config.json +37 -0
  497. package/.vercel/output/functions/nodes.prerender-fallback.html +12 -0
  498. package/.vercel/output/functions/nodes.rsc.prerender-config.json +38 -0
  499. package/.vercel/output/functions/nodes.rsc.prerender-fallback.rsc +27 -0
  500. package/.vercel/output/functions/nodes.segments/_full.segment.rsc.prerender-config.json +28 -0
  501. package/.vercel/output/functions/nodes.segments/_full.segment.rsc.prerender-fallback.rsc +27 -0
  502. package/.vercel/output/functions/nodes.segments/_head.segment.rsc.prerender-config.json +28 -0
  503. package/.vercel/output/functions/nodes.segments/_head.segment.rsc.prerender-fallback.rsc +6 -0
  504. package/.vercel/output/functions/nodes.segments/_index.segment.rsc.prerender-config.json +28 -0
  505. package/.vercel/output/functions/nodes.segments/_index.segment.rsc.prerender-fallback.rsc +10 -0
  506. package/.vercel/output/functions/nodes.segments/_tree.segment.rsc.prerender-config.json +28 -0
  507. package/.vercel/output/functions/nodes.segments/_tree.segment.rsc.prerender-fallback.rsc +5 -0
  508. package/.vercel/output/functions/nodes.segments/nodes/__PAGE__.segment.rsc.prerender-config.json +28 -0
  509. package/.vercel/output/functions/nodes.segments/nodes/__PAGE__.segment.rsc.prerender-fallback.rsc +9 -0
  510. package/.vercel/output/functions/nodes.segments/nodes.segment.rsc.prerender-config.json +28 -0
  511. package/.vercel/output/functions/nodes.segments/nodes.segment.rsc.prerender-fallback.rsc +5 -0
  512. package/.vercel/output/functions/server-logs.prerender-config.json +37 -0
  513. package/.vercel/output/functions/server-logs.prerender-fallback.html +12 -0
  514. package/.vercel/output/functions/server-logs.rsc.prerender-config.json +38 -0
  515. package/.vercel/output/functions/server-logs.rsc.prerender-fallback.rsc +27 -0
  516. package/.vercel/output/functions/server-logs.segments/_full.segment.rsc.prerender-config.json +28 -0
  517. package/.vercel/output/functions/server-logs.segments/_full.segment.rsc.prerender-fallback.rsc +27 -0
  518. package/.vercel/output/functions/server-logs.segments/_head.segment.rsc.prerender-config.json +28 -0
  519. package/.vercel/output/functions/server-logs.segments/_head.segment.rsc.prerender-fallback.rsc +6 -0
  520. package/.vercel/output/functions/server-logs.segments/_index.segment.rsc.prerender-config.json +28 -0
  521. package/.vercel/output/functions/server-logs.segments/_index.segment.rsc.prerender-fallback.rsc +10 -0
  522. package/.vercel/output/functions/server-logs.segments/_tree.segment.rsc.prerender-config.json +28 -0
  523. package/.vercel/output/functions/server-logs.segments/_tree.segment.rsc.prerender-fallback.rsc +5 -0
  524. package/.vercel/output/functions/server-logs.segments/server-logs/__PAGE__.segment.rsc.prerender-config.json +28 -0
  525. package/.vercel/output/functions/server-logs.segments/server-logs/__PAGE__.segment.rsc.prerender-fallback.rsc +9 -0
  526. package/.vercel/output/functions/server-logs.segments/server-logs.segment.rsc.prerender-config.json +28 -0
  527. package/.vercel/output/functions/server-logs.segments/server-logs.segment.rsc.prerender-fallback.rsc +5 -0
  528. package/.vercel/output/functions/servers.prerender-config.json +37 -0
  529. package/.vercel/output/functions/servers.prerender-fallback.html +12 -0
  530. package/.vercel/output/functions/servers.rsc.prerender-config.json +38 -0
  531. package/.vercel/output/functions/servers.rsc.prerender-fallback.rsc +27 -0
  532. package/.vercel/output/functions/servers.segments/_full.segment.rsc.prerender-config.json +28 -0
  533. package/.vercel/output/functions/servers.segments/_full.segment.rsc.prerender-fallback.rsc +27 -0
  534. package/.vercel/output/functions/servers.segments/_head.segment.rsc.prerender-config.json +28 -0
  535. package/.vercel/output/functions/servers.segments/_head.segment.rsc.prerender-fallback.rsc +6 -0
  536. package/.vercel/output/functions/servers.segments/_index.segment.rsc.prerender-config.json +28 -0
  537. package/.vercel/output/functions/servers.segments/_index.segment.rsc.prerender-fallback.rsc +10 -0
  538. package/.vercel/output/functions/servers.segments/_tree.segment.rsc.prerender-config.json +28 -0
  539. package/.vercel/output/functions/servers.segments/_tree.segment.rsc.prerender-fallback.rsc +5 -0
  540. package/.vercel/output/functions/servers.segments/servers/__PAGE__.segment.rsc.prerender-config.json +28 -0
  541. package/.vercel/output/functions/servers.segments/servers/__PAGE__.segment.rsc.prerender-fallback.rsc +9 -0
  542. package/.vercel/output/functions/servers.segments/servers.segment.rsc.prerender-config.json +28 -0
  543. package/.vercel/output/functions/servers.segments/servers.segment.rsc.prerender-fallback.rsc +5 -0
  544. package/.vercel/output/functions/settings/networks.prerender-config.json +37 -0
  545. package/.vercel/output/functions/settings/networks.prerender-fallback.html +12 -0
  546. package/.vercel/output/functions/settings/networks.rsc.prerender-config.json +38 -0
  547. package/.vercel/output/functions/settings/networks.rsc.prerender-fallback.rsc +27 -0
  548. package/.vercel/output/functions/settings/networks.segments/_full.segment.rsc.prerender-config.json +28 -0
  549. package/.vercel/output/functions/settings/networks.segments/_full.segment.rsc.prerender-fallback.rsc +27 -0
  550. package/.vercel/output/functions/settings/networks.segments/_head.segment.rsc.prerender-config.json +28 -0
  551. package/.vercel/output/functions/settings/networks.segments/_head.segment.rsc.prerender-fallback.rsc +6 -0
  552. package/.vercel/output/functions/settings/networks.segments/_index.segment.rsc.prerender-config.json +28 -0
  553. package/.vercel/output/functions/settings/networks.segments/_index.segment.rsc.prerender-fallback.rsc +10 -0
  554. package/.vercel/output/functions/settings/networks.segments/_tree.segment.rsc.prerender-config.json +28 -0
  555. package/.vercel/output/functions/settings/networks.segments/_tree.segment.rsc.prerender-fallback.rsc +5 -0
  556. package/.vercel/output/functions/settings/networks.segments/settings/networks/__PAGE__.segment.rsc.prerender-config.json +28 -0
  557. package/.vercel/output/functions/settings/networks.segments/settings/networks/__PAGE__.segment.rsc.prerender-fallback.rsc +9 -0
  558. package/.vercel/output/functions/settings/networks.segments/settings/networks.segment.rsc.prerender-config.json +28 -0
  559. package/.vercel/output/functions/settings/networks.segments/settings/networks.segment.rsc.prerender-fallback.rsc +5 -0
  560. package/.vercel/output/functions/settings/networks.segments/settings.segment.rsc.prerender-config.json +28 -0
  561. package/.vercel/output/functions/settings/networks.segments/settings.segment.rsc.prerender-fallback.rsc +5 -0
  562. package/.vercel/output/functions/settings/tokens.prerender-config.json +37 -0
  563. package/.vercel/output/functions/settings/tokens.prerender-fallback.html +12 -0
  564. package/.vercel/output/functions/settings/tokens.rsc.prerender-config.json +38 -0
  565. package/.vercel/output/functions/settings/tokens.rsc.prerender-fallback.rsc +27 -0
  566. package/.vercel/output/functions/settings/tokens.segments/_full.segment.rsc.prerender-config.json +28 -0
  567. package/.vercel/output/functions/settings/tokens.segments/_full.segment.rsc.prerender-fallback.rsc +27 -0
  568. package/.vercel/output/functions/settings/tokens.segments/_head.segment.rsc.prerender-config.json +28 -0
  569. package/.vercel/output/functions/settings/tokens.segments/_head.segment.rsc.prerender-fallback.rsc +6 -0
  570. package/.vercel/output/functions/settings/tokens.segments/_index.segment.rsc.prerender-config.json +28 -0
  571. package/.vercel/output/functions/settings/tokens.segments/_index.segment.rsc.prerender-fallback.rsc +10 -0
  572. package/.vercel/output/functions/settings/tokens.segments/_tree.segment.rsc.prerender-config.json +28 -0
  573. package/.vercel/output/functions/settings/tokens.segments/_tree.segment.rsc.prerender-fallback.rsc +5 -0
  574. package/.vercel/output/functions/settings/tokens.segments/settings/tokens/__PAGE__.segment.rsc.prerender-config.json +28 -0
  575. package/.vercel/output/functions/settings/tokens.segments/settings/tokens/__PAGE__.segment.rsc.prerender-fallback.rsc +9 -0
  576. package/.vercel/output/functions/settings/tokens.segments/settings/tokens.segment.rsc.prerender-config.json +28 -0
  577. package/.vercel/output/functions/settings/tokens.segments/settings/tokens.segment.rsc.prerender-fallback.rsc +5 -0
  578. package/.vercel/output/functions/settings/tokens.segments/settings.segment.rsc.prerender-config.json +28 -0
  579. package/.vercel/output/functions/settings/tokens.segments/settings.segment.rsc.prerender-fallback.rsc +5 -0
  580. package/.vercel/output/functions/settings.prerender-config.json +37 -0
  581. package/.vercel/output/functions/settings.prerender-fallback.html +12 -0
  582. package/.vercel/output/functions/settings.rsc.prerender-config.json +38 -0
  583. package/.vercel/output/functions/settings.rsc.prerender-fallback.rsc +27 -0
  584. package/.vercel/output/functions/settings.segments/_full.segment.rsc.prerender-config.json +28 -0
  585. package/.vercel/output/functions/settings.segments/_full.segment.rsc.prerender-fallback.rsc +27 -0
  586. package/.vercel/output/functions/settings.segments/_head.segment.rsc.prerender-config.json +28 -0
  587. package/.vercel/output/functions/settings.segments/_head.segment.rsc.prerender-fallback.rsc +6 -0
  588. package/.vercel/output/functions/settings.segments/_index.segment.rsc.prerender-config.json +28 -0
  589. package/.vercel/output/functions/settings.segments/_index.segment.rsc.prerender-fallback.rsc +10 -0
  590. package/.vercel/output/functions/settings.segments/_tree.segment.rsc.prerender-config.json +28 -0
  591. package/.vercel/output/functions/settings.segments/_tree.segment.rsc.prerender-fallback.rsc +5 -0
  592. package/.vercel/output/functions/settings.segments/settings/__PAGE__.segment.rsc.prerender-config.json +28 -0
  593. package/.vercel/output/functions/settings.segments/settings/__PAGE__.segment.rsc.prerender-fallback.rsc +9 -0
  594. package/.vercel/output/functions/settings.segments/settings.segment.rsc.prerender-config.json +28 -0
  595. package/.vercel/output/functions/settings.segments/settings.segment.rsc.prerender-fallback.rsc +5 -0
  596. package/.vercel/output/functions/tasks/[id].func/.next/routes-manifest.json +1 -0
  597. package/.vercel/output/functions/tasks/[id].func/.next/server/app-paths-manifest.json +1 -0
  598. package/.vercel/output/functions/tasks/[id].func/.next/server/pages-manifest.json +1 -0
  599. package/.vercel/output/functions/tasks/[id].func/.vc-config.json +713 -0
  600. package/.vercel/output/functions/tasks/[id].func/___next_launcher.cjs +68 -0
  601. package/.vercel/output/functions/tasks.prerender-config.json +37 -0
  602. package/.vercel/output/functions/tasks.prerender-fallback.html +12 -0
  603. package/.vercel/output/functions/tasks.rsc.prerender-config.json +38 -0
  604. package/.vercel/output/functions/tasks.rsc.prerender-fallback.rsc +27 -0
  605. package/.vercel/output/functions/tasks.segments/_full.segment.rsc.prerender-config.json +28 -0
  606. package/.vercel/output/functions/tasks.segments/_full.segment.rsc.prerender-fallback.rsc +27 -0
  607. package/.vercel/output/functions/tasks.segments/_head.segment.rsc.prerender-config.json +28 -0
  608. package/.vercel/output/functions/tasks.segments/_head.segment.rsc.prerender-fallback.rsc +6 -0
  609. package/.vercel/output/functions/tasks.segments/_index.segment.rsc.prerender-config.json +28 -0
  610. package/.vercel/output/functions/tasks.segments/_index.segment.rsc.prerender-fallback.rsc +10 -0
  611. package/.vercel/output/functions/tasks.segments/_tree.segment.rsc.prerender-config.json +28 -0
  612. package/.vercel/output/functions/tasks.segments/_tree.segment.rsc.prerender-fallback.rsc +5 -0
  613. package/.vercel/output/functions/tasks.segments/tasks/__PAGE__.segment.rsc.prerender-config.json +28 -0
  614. package/.vercel/output/functions/tasks.segments/tasks/__PAGE__.segment.rsc.prerender-fallback.rsc +9 -0
  615. package/.vercel/output/functions/tasks.segments/tasks.segment.rsc.prerender-config.json +28 -0
  616. package/.vercel/output/functions/tasks.segments/tasks.segment.rsc.prerender-fallback.rsc +5 -0
  617. package/.vercel/output/static/404.html +12 -0
  618. package/.vercel/output/static/404.rsc.json +1 -0
  619. package/.vercel/output/static/404.segments/_tree.segment.rsc.json +1 -0
  620. package/.vercel/output/static/500.html +1 -0
  621. package/.vercel/output/static/500.rsc.json +1 -0
  622. package/.vercel/output/static/500.segments/_tree.segment.rsc.json +1 -0
  623. package/.vercel/output/static/_next/__private/trace +2 -0
  624. package/.vercel/output/static/_next/static/TakLsJFW-DjjhsqoZu3Ok/_buildManifest.js +11 -0
  625. package/.vercel/output/static/_next/static/TakLsJFW-DjjhsqoZu3Ok/_clientMiddlewareManifest.js +42 -0
  626. package/.vercel/output/static/_next/static/TakLsJFW-DjjhsqoZu3Ok/_ssgManifest.js +1 -0
  627. package/.vercel/output/static/_next/static/chunks/00~h525bo.q7f.js +1 -0
  628. package/.vercel/output/static/_next/static/chunks/01xlw8hd842-c.js +1 -0
  629. package/.vercel/output/static/_next/static/chunks/0257pdz1-imal.js +2 -0
  630. package/.vercel/output/static/_next/static/chunks/03~yq9q893hmn.js +1 -0
  631. package/.vercel/output/static/_next/static/chunks/04uju~n5s9g7..css +1 -0
  632. package/.vercel/output/static/_next/static/chunks/066jf0nk75nic.css +2 -0
  633. package/.vercel/output/static/_next/static/chunks/085gdrlppedvd.js +1 -0
  634. package/.vercel/output/static/_next/static/chunks/0a5rikwbpt8_7.js +4 -0
  635. package/.vercel/output/static/_next/static/chunks/0b9r.-87w.lvh.js +1 -0
  636. package/.vercel/output/static/_next/static/chunks/0ced2tacwy8v7.js +1 -0
  637. package/.vercel/output/static/_next/static/chunks/0e-.zgw81gela.js +31 -0
  638. package/.vercel/output/static/_next/static/chunks/0gu130fpple04.js +1 -0
  639. package/.vercel/output/static/_next/static/chunks/0jmypv56.iwft.js +1 -0
  640. package/.vercel/output/static/_next/static/chunks/0krr-nvdwqdj1.js +1 -0
  641. package/.vercel/output/static/_next/static/chunks/0mqs00d_9jvzx.js +1 -0
  642. package/.vercel/output/static/_next/static/chunks/0ore4vqiwv2nx.js +1 -0
  643. package/.vercel/output/static/_next/static/chunks/0pqt~8bl3ukh4.js +4 -0
  644. package/.vercel/output/static/_next/static/chunks/0q.t7da_-e4yl.js +4 -0
  645. package/.vercel/output/static/_next/static/chunks/0q3rj30g1oodv.js +7 -0
  646. package/.vercel/output/static/_next/static/chunks/0qp3_l.t4nzzq.js +1 -0
  647. package/.vercel/output/static/_next/static/chunks/0qy1ci2dqfaqg.js +1 -0
  648. package/.vercel/output/static/_next/static/chunks/0u359llqm1_01.js +1 -0
  649. package/.vercel/output/static/_next/static/chunks/0u7ftv8celiqa.js +1 -0
  650. package/.vercel/output/static/_next/static/chunks/0~ijg-d65glam.js +1 -0
  651. package/.vercel/output/static/_next/static/chunks/14bsg3_-taiw4.js +1 -0
  652. package/.vercel/output/static/_next/static/chunks/168q2d2bi7swr.js +7 -0
  653. package/.vercel/output/static/_next/static/chunks/16aqsgrwba4zk.js +1 -0
  654. package/.vercel/output/static/_next/static/chunks/16tw8s4cce9_x.js +1 -0
  655. package/.vercel/output/static/_next/static/chunks/turbopack-01f1xs~cq_~si.js +1 -0
  656. package/.vercel/output/static/_next/static/media/4fa387ec64143e14-s.0wkzw~je483f-.woff2 +0 -0
  657. package/.vercel/output/static/_next/static/media/53b9e256198e5412-s.0-wfv7uh4i7h9.woff2 +0 -0
  658. package/.vercel/output/static/_next/static/media/5ce348bf30bf5439-s.0zgw-jeven.3w.woff2 +0 -0
  659. package/.vercel/output/static/_next/static/media/6306c77e7c8268e4-s.0rhz0arwfsn~5.woff2 +0 -0
  660. package/.vercel/output/static/_next/static/media/7178b3e590c64307-s.0nx0ww8fni_q3.woff2 +0 -0
  661. package/.vercel/output/static/_next/static/media/797e433ab948586e-s.p.08e28id.o-okb.woff2 +0 -0
  662. package/.vercel/output/static/_next/static/media/7d817b4c03b0c5f1-s.0l76wvqk9d84w.woff2 +0 -0
  663. package/.vercel/output/static/_next/static/media/8a480f0b521d4e75-s.0jzbimsg8vl84.woff2 +0 -0
  664. package/.vercel/output/static/_next/static/media/bbc41e54d2fcbd21-s.0k4k9394f2q-k.woff2 +0 -0
  665. package/.vercel/output/static/_next/static/media/caa3a2e1cccd8315-s.p.09~u27dqhyhd6.woff2 +0 -0
  666. package/.vercel/output/static/_next/static/media/favicon.0x3dzn~oxb6tn.ico +0 -0
  667. package/.vercel/output/static/_next/static/media/fef07dbb0973bf53-s.12tyk43_3sh9u.woff2 +0 -0
  668. package/.vercel/output/static/_next/static/not-found.txt +1 -0
  669. package/.vercel/project.json +16 -0
  670. package/AGENTS.md +9 -0
  671. package/CLAUDE.md +1 -0
  672. package/README.md +1 -0
  673. package/app/api/anet/host-supervisors/route.ts +63 -2
  674. package/app/api/anet/node-config/route.ts +145 -168
  675. package/app/api/hub/people/route.ts +48 -0
  676. package/app/api/hub/requirements/[id]/checklist/[itemId]/route.ts +54 -0
  677. package/app/api/hub/requirements/[id]/comments/route.ts +51 -0
  678. package/app/api/hub/requirements/[id]/route.ts +89 -0
  679. package/app/api/hub/requirements/events/route.ts +45 -0
  680. package/app/api/hub/requirements/route.ts +53 -0
  681. package/app/components/CreateNodeWizard.tsx +7 -2
  682. package/app/components/HostSupervisorPicker.tsx +76 -29
  683. package/app/components/NodeSettingsPanel.tsx +28 -25
  684. package/app/components/Sidebar.tsx +4 -0
  685. package/app/components/TaskChatPanel.tsx +6 -6
  686. package/app/components/TaskDetail.tsx +8 -7
  687. package/app/components/TaskList.tsx +6 -7
  688. package/app/components/TopoGraph.tsx +3 -2
  689. package/app/lib/time.ts +23 -0
  690. package/app/org/page.tsx +222 -0
  691. package/app/requirements/[id]/page.tsx +361 -0
  692. package/app/requirements/page.tsx +299 -0
  693. package/app/scheduled-tasks/page.tsx +98 -13
  694. package/apps/desktop/icon.png +0 -0
  695. package/bun.lock +1688 -0
  696. package/electron-builder.json +5 -1
  697. package/package.json +4 -2
  698. package/proxy.ts +1 -0
  699. package/.next/server/chunks/ssr/[root-of-the-server]__0dwa10z._.js +0 -11
  700. package/.next/server/chunks/ssr/[root-of-the-server]__0dwa10z._.js.map +0 -1
  701. package/.next/server/chunks/ssr/[root-of-the-server]__202xetf._.js +0 -11
  702. package/.next/server/chunks/ssr/[root-of-the-server]__202xetf._.js.map +0 -1
  703. package/.next/static/chunks/0pton-t_-fqyu.css +0 -1
  704. package/.next/static/chunks/0z8vfpga444t1.js +0 -1
  705. package/.next/static/chunks/14c8u_tcund0g.js +0 -0
  706. package/.next/static/chunks/2kp8-5cyc-jbg.js +0 -1
  707. package/.next/static/chunks/3a53_ky07bdhz.js +0 -9
  708. package/.next/static/chunks/3im40-b21df3u.js +0 -2
  709. package/.next/static/chunks/3tnbxlq42_jjv.js +0 -1
  710. /package/.next/server/chunks/ssr/{app_0_s8u96._.js.map → app_07bzc6w._.js.map} +0 -0
  711. /package/.next/server/chunks/ssr/{app_0o4bxq0._.js.map → app_0g7oz9w._.js.map} +0 -0
  712. /package/.next/server/chunks/ssr/{app_0x7s72b._.js.map → app_0tt2ueo._.js.map} +0 -0
  713. /package/.next/server/chunks/ssr/{app_081zy6c._.js.map → app_0ugqkd7._.js.map} +0 -0
  714. /package/.next/server/chunks/ssr/{app_1oxcq68._.js.map → app_1e91uc-._.js.map} +0 -0
  715. /package/.next/server/chunks/ssr/{app_1psh956._.js.map → app_1f96aq_._.js.map} +0 -0
  716. /package/.next/server/chunks/ssr/{app_0_dhiwi._.js.map → app_1ua57bx._.js.map} +0 -0
  717. /package/.next/static/{trj9RsCWuEDMfq9BuoKfl → FEaCQpBc05SBAWTBHRt5h}/_buildManifest.js +0 -0
  718. /package/.next/static/{trj9RsCWuEDMfq9BuoKfl → FEaCQpBc05SBAWTBHRt5h}/_ssgManifest.js +0 -0
@@ -1,3 +1,3 @@
1
1
  module.exports=[1720,a=>{"use strict";var b=a.i(87924),c=a.i(72131),d=a.i(34507);let e=[180,200,220,270,300,330,30,90];function f(a){let b=0;for(let c=0;c<a.length;c++)b=31*b+a.charCodeAt(c)>>>0;let c=e[b%e.length];return{bg:`hsl(${c} 55% 22%)`,ring:`hsl(${c} 60% 45%)`,text:`hsl(${c} 80% 78%)`}}function g(a){return a?(a.trim().match(/[\p{L}\p{N}]/u)?.[0]||a.trim()[0]||"·").toUpperCase():"·"}a.s(["AliasAvatar",0,function({alias:a,size:e=28,className:h=""}){let i=(0,d.useAvatarUrl)(a),[j,k]=(0,c.useState)("loading"),[l,m]=(0,c.useState)(i);if(i!==l&&(m(i),k("loading")),i&&"error"!==j)return(0,b.jsx)("span",{className:`anet-alias-avatar relative inline-flex shrink-0 overflow-hidden rounded-full border border-[var(--border)] ${"loading"===j?"animate-pulse bg-[var(--bg-elevated)]":""} ${h}`,style:{width:e,height:e},title:a,"aria-hidden":!0,children:(0,b.jsx)("img",{src:i,alt:"",loading:"lazy",onLoad:()=>k("ready"),onError:()=>k("error"),className:`h-full w-full rounded-full object-cover transition-opacity duration-150 ${"ready"===j?"opacity-100":"opacity-0"}`})});if(/\bgrok\b|grok-build|grok测试员|grok-demo/i.test(a))return(0,b.jsx)("span",{className:`anet-alias-avatar inline-flex items-center justify-center rounded-full border border-emerald-500/45 bg-emerald-950/70 shrink-0 ${h}`,style:{width:e,height:e,backgroundImage:"url(/vendors/grok.svg)",backgroundPosition:"center",backgroundRepeat:"no-repeat",backgroundSize:"68% 68%"},title:a,"aria-hidden":!0});let n=f(a),o=Math.max(9,Math.round(.42*e));return(0,b.jsx)("span",{className:`anet-alias-avatar inline-flex items-center justify-center rounded-full border shrink-0 font-semibold ${h}`,style:{width:e,height:e,fontSize:o,backgroundColor:n.bg,borderColor:n.ring,color:n.text},title:a,"aria-hidden":!0,children:g(a)})},"aliasAvatarColors",0,f,"aliasInitial",0,g])},56426,a=>{"use strict";var b=a.i(87924),c=a.i(72131);let d=new Set(["png","jpg","jpeg","gif","webp","mp4","webm","mov"]),e=new Set(["image/png","image/jpeg","image/gif","image/webp"]),f=new Set(["video/mp4","video/webm"]),g=/^[A-Za-z0-9_-]{8,64}$/;async function h(a){let b=await fetch(`/api/hub/files/${encodeURIComponent(a)}`,{credentials:"include"});if(!b.ok)throw Error(`HTTP ${b.status}`);let c=b.headers.get("x-verified-type"),d=c&&(e.has(c)||f.has(c))?c:null,g=await b.blob(),h=d?new Blob([g],{type:d}):g;return{blobUrl:URL.createObjectURL(h),verifiedType:d,blob:h}}function i(a){let b=a.lastIndexOf(".");return b>=0?a.slice(b+1).toLowerCase():""}function j({fileId:a,name:d,size:f,onNotInlineable:g}){let i="number"==typeof f&&f<=5242880,[k,l]=(0,c.useState)(null),[m,n]=(0,c.useState)(!1),[o,p]=(0,c.useState)(!1),q=(0,c.useRef)(g);q.current=g;let r=(0,c.useCallback)(async()=>{if(!m&&!k){n(!0);try{let{blobUrl:b,verifiedType:c}=await h(a);if(!c||!e.has(c)){URL.revokeObjectURL(b),q.current();return}l(b)}catch{p(!0)}finally{n(!1)}}},[a,m,k]);return((0,c.useEffect)(()=>{i&&r()},[i,r]),(0,c.useEffect)(()=>{if(k)return()=>URL.revokeObjectURL(k)},[k]),o)?(0,b.jsx)("div",{className:"mt-2 rounded-lg border border-amber-500/20 bg-amber-500/5 px-3 py-2 text-sm text-amber-200",children:"图片加载失败 · 请点击下方下载按钮查看"}):k?(0,b.jsx)("div",{className:"mt-2 overflow-hidden rounded-lg border border-white/10 bg-black/20",children:(0,b.jsx)("img",{src:k,alt:d,className:"block max-h-[50vh] w-auto max-w-full cursor-zoom-in object-contain",onClick:()=>window.open(k,"_blank","noopener")})}):(0,b.jsxs)("button",{type:"button",onClick:r,disabled:m,className:"mt-2 flex w-full items-center gap-2 rounded-lg border border-cyan-500/20 bg-cyan-500/5 px-3 py-2 text-left text-sm text-cyan-100 transition hover:border-cyan-400/40 hover:bg-cyan-500/10 disabled:cursor-wait disabled:opacity-60",children:[(0,b.jsx)("span",{"aria-hidden":!0,className:"text-lg",children:"🖼️"}),(0,b.jsx)("span",{className:"min-w-0 flex-1 truncate",children:d}),(0,b.jsx)("span",{className:"shrink-0 text-xs text-cyan-300",children:m?"加载中…":"点击查看"})]})}function k({fileId:a,name:d,onNotInlineable:e}){let[g,i]=(0,c.useState)(null),[j,l]=(0,c.useState)(!1),[m,n]=(0,c.useState)(!1),o=(0,c.useRef)(e);o.current=e;let p=(0,c.useCallback)(async()=>{if(!j&&!g){l(!0);try{let{blobUrl:b,verifiedType:c}=await h(a);if(!c||!f.has(c)){URL.revokeObjectURL(b),o.current();return}i(b)}catch{n(!0)}finally{l(!1)}}},[a,j,g]);return((0,c.useEffect)(()=>{if(g)return()=>URL.revokeObjectURL(g)},[g]),m)?(0,b.jsx)("div",{className:"mt-2 rounded-lg border border-amber-500/20 bg-amber-500/5 px-3 py-2 text-sm text-amber-200",children:"视频加载失败 · 请点击下方下载按钮查看"}):g?(0,b.jsx)("div",{className:"mt-2 overflow-hidden rounded-lg border border-white/10 bg-black/20",children:(0,b.jsx)("video",{src:g,controls:!0,autoPlay:!0,className:"block max-h-[50vh] w-full",children:"您的浏览器不支持内联视频播放,请下载后查看。"})}):(0,b.jsxs)("button",{type:"button",onClick:p,disabled:j,className:"mt-2 flex w-full items-center gap-2 rounded-lg border border-cyan-500/20 bg-cyan-500/5 px-3 py-2 text-left text-sm text-cyan-100 transition hover:border-cyan-400/40 hover:bg-cyan-500/10 disabled:cursor-wait disabled:opacity-60",children:[(0,b.jsx)("span",{"aria-hidden":!0,className:"text-lg",children:"🎬"}),(0,b.jsx)("span",{className:"min-w-0 flex-1 truncate",children:d}),(0,b.jsx)("span",{className:"shrink-0 text-xs text-cyan-300",children:j?"加载中…":"▶ 播放"})]})}a.s(["AttachmentBlock",0,function({attachment:a}){var h,l;let m,n,[o,p]=(0,c.useState)(!1),[q,r]=(0,c.useState)(null),[s,t]=(0,c.useState)(!1),u=function(a){if("string"!=typeof a||0===a.length)return"file";let b=a.replace(/[/\\]/g,"_").replace(/[\r\n\t\0]/g,"_");for(;b.startsWith(".");)b=b.slice(1);return b.length>200&&(b=b.slice(0,200)),b||"file"}(a.name),v="string"!=typeof(h=a.mime)?"":h.replace(/[^a-zA-Z0-9./+-]/g,"").slice(0,100),w="number"!=typeof(l=a.size)||!Number.isFinite(l)||l<0?"":l<1024?`${l} B`:l<1048576?`${(l/1024).toFixed(1)} KB`:l<0x40000000?`${(l/1024/1024).toFixed(1)} MB`:`${(l/1024/1024/1024).toFixed(2)} GB`,x=(m=(v||"").toLowerCase(),n=(u.split(".").pop()||"").toLowerCase(),m.startsWith("image/")?"🖼️":m.startsWith("video/")?"🎬":m.startsWith("audio/")?"🎵":m.includes("pdf")||"pdf"===n?"📄":["ppt","pptx"].includes(n)?"📊":["doc","docx"].includes(n)?"📝":["xls","xlsx","csv"].includes(n)?"📈":["zip","tar","gz","rar","7z"].includes(n)?"📦":"📎"),y="string"==typeof a.file_id&&g.test(a.file_id),z=y&&!s&&function(a,b){if(e.has(b)||f.has(b))return!0;let c=i(a);return""!==c&&d.has(c)}(u,v),A=i(u),B=z?f.has(v)||["mp4","webm","mov"].includes(A)?"video":"image":null;async function C(){if(!y||!a.file_id)return;r(null),p(!0);let b=null;try{let c=await fetch(`/api/hub/files/${encodeURIComponent(a.file_id)}`,{credentials:"include"});if(!c.ok)throw Error(`HTTP ${c.status}`);let d=await c.blob();b=URL.createObjectURL(d);let e=document.createElement("a");e.href=b,e.download=u,e.rel="noopener",document.body.appendChild(e),e.click(),document.body.removeChild(e)}catch(a){r(a instanceof Error?a.message:String(a))}finally{b&&URL.revokeObjectURL(b),p(!1)}}return y?(0,b.jsxs)("div",{className:"mt-2 flex flex-col",children:["image"===B&&a.file_id&&(0,b.jsx)(j,{fileId:a.file_id,name:u,size:"number"==typeof a.size?a.size:void 0,onNotInlineable:()=>t(!0)}),"video"===B&&a.file_id&&(0,b.jsx)(k,{fileId:a.file_id,name:u,onNotInlineable:()=>t(!0)}),(0,b.jsxs)("button",{type:"button",onClick:C,disabled:o,className:"flex w-full items-center gap-2 rounded-lg border border-cyan-500/20 bg-cyan-500/5 px-3 py-2 text-left text-sm text-cyan-100 transition hover:border-cyan-400/40 hover:bg-cyan-500/10 disabled:cursor-wait disabled:opacity-60 mt-2 first:mt-0",title:`Download ${u}`,children:[(0,b.jsx)("span",{"aria-hidden":!0,className:"text-lg",children:x}),(0,b.jsx)("span",{className:"min-w-0 flex-1 truncate",children:u}),w&&(0,b.jsx)("span",{className:"shrink-0 text-xs text-neutral-400",children:w}),v&&(0,b.jsx)("span",{className:"shrink-0 rounded bg-[var(--hover-tint)] px-1.5 py-0.5 text-[10px] text-neutral-400",children:v}),(0,b.jsx)("span",{className:"shrink-0 text-xs text-cyan-300",children:o?"下载中…":q?`⚠ ${q}`:"↓ 下载"})]})]}):(0,b.jsxs)("div",{className:"mt-2 flex items-center gap-2 rounded-lg border border-white/10 bg-[var(--hover-tint)] px-3 py-2 text-sm text-neutral-300",children:[(0,b.jsx)("span",{"aria-hidden":!0,children:x}),(0,b.jsx)("span",{className:"min-w-0 flex-1 truncate",children:u}),w&&(0,b.jsx)("span",{className:"shrink-0 text-xs text-neutral-500",children:w}),(0,b.jsx)("span",{className:"shrink-0 text-xs text-neutral-500",title:"Attachment has no file_id — single-host path only. Ask the sender to re-upload.",children:"(host-local)"})]})},"extractAttachments",0,function(a){if(!a||"object"!=typeof a)return[];let b=a.meta;if(!b&&"string"==typeof a.meta_json&&a.meta_json.length>0)try{b=JSON.parse(a.meta_json)}catch{return[]}if(!b||"object"!=typeof b)return[];let c=b.attachments;return Array.isArray(c)?c.filter(a=>!!a&&"object"==typeof a).map(a=>({file_id:"string"==typeof a.file_id?a.file_id:void 0,path:"string"==typeof a.path?a.path:void 0,name:"string"==typeof a.name?a.name:void 0,mime:"string"==typeof a.mime?a.mime:void 0,size:"number"==typeof a.size?a.size:void 0,type:"string"==typeof a.type?a.type:void 0})):[]}])},53142,a=>{"use strict";var b=a.i(87924),c=a.i(72131),d=a.i(38246);let e={nodes:{title:"No agents in this network",sub:"Agent sessions will appear here once they connect to the CommHub."},tasks:{title:"No tasks yet",sub:"Tasks will appear here when agents send them via CommHub."},messages:{title:"No messages",sub:"Messages between agents will appear here."},logs:{title:"No audit logs",sub:"Events will appear here when users register, login, or perform actions."},tokens:{title:"No API tokens",sub:"Create one to authenticate CLI tools and external integrations."},networks:{title:"No networks found",sub:"Create one or sign in with V3 auth to see your networks."},generic:{title:"Nothing here yet",sub:"Data will appear here once available."}};function f({variant:a,size:c}){let d={width:c,height:c},e={fill:"none",stroke:"currentColor",strokeWidth:1.25,strokeLinecap:"round",strokeLinejoin:"round"};switch(a){case"nodes":return(0,b.jsx)("svg",{viewBox:"0 0 64 64",...d,children:(0,b.jsxs)("g",{...e,children:[(0,b.jsx)("circle",{cx:"32",cy:"14",r:"4"}),(0,b.jsx)("circle",{cx:"14",cy:"44",r:"4"}),(0,b.jsx)("circle",{cx:"50",cy:"44",r:"4"}),(0,b.jsx)("line",{x1:"32",y1:"18",x2:"14",y2:"40",strokeDasharray:"3 3",opacity:"0.6"}),(0,b.jsx)("line",{x1:"32",y1:"18",x2:"50",y2:"40",strokeDasharray:"3 3",opacity:"0.6"}),(0,b.jsx)("line",{x1:"18",y1:"44",x2:"46",y2:"44",strokeDasharray:"3 3",opacity:"0.6"})]})});case"tasks":return(0,b.jsx)("svg",{viewBox:"0 0 64 64",...d,children:(0,b.jsxs)("g",{...e,children:[(0,b.jsx)("rect",{x:"14",y:"14",width:"36",height:"6",rx:"1.5"}),(0,b.jsx)("rect",{x:"14",y:"26",width:"36",height:"6",rx:"1.5",opacity:"0.6"}),(0,b.jsx)("rect",{x:"14",y:"38",width:"36",height:"6",rx:"1.5",opacity:"0.35"})]})});case"messages":return(0,b.jsx)("svg",{viewBox:"0 0 64 64",...d,children:(0,b.jsxs)("g",{...e,children:[(0,b.jsx)("path",{d:"M14 18 h36 a3 3 0 0 1 3 3 v18 a3 3 0 0 1 -3 3 h-18 l-8 6 v-6 h-10 a3 3 0 0 1 -3 -3 v-18 a3 3 0 0 1 3 -3 z"}),(0,b.jsx)("line",{x1:"22",y1:"28",x2:"42",y2:"28",opacity:"0.5"}),(0,b.jsx)("line",{x1:"22",y1:"34",x2:"36",y2:"34",opacity:"0.5"})]})});case"logs":return(0,b.jsx)("svg",{viewBox:"0 0 64 64",...d,children:(0,b.jsxs)("g",{...e,children:[(0,b.jsx)("path",{d:"M18 12 h22 l8 8 v32 a2 2 0 0 1 -2 2 h-28 a2 2 0 0 1 -2 -2 v-38 a2 2 0 0 1 2 -2 z"}),(0,b.jsx)("path",{d:"M40 12 v8 h8",opacity:"0.6"}),(0,b.jsx)("line",{x1:"24",y1:"32",x2:"40",y2:"32",opacity:"0.55"}),(0,b.jsx)("line",{x1:"24",y1:"38",x2:"40",y2:"38",opacity:"0.4"}),(0,b.jsx)("line",{x1:"24",y1:"44",x2:"34",y2:"44",opacity:"0.25"})]})});case"tokens":return(0,b.jsx)("svg",{viewBox:"0 0 64 64",...d,children:(0,b.jsxs)("g",{...e,children:[(0,b.jsx)("circle",{cx:"22",cy:"32",r:"8"}),(0,b.jsx)("line",{x1:"30",y1:"32",x2:"54",y2:"32"}),(0,b.jsx)("line",{x1:"44",y1:"32",x2:"44",y2:"38"}),(0,b.jsx)("line",{x1:"50",y1:"32",x2:"50",y2:"40"})]})});case"networks":return(0,b.jsx)("svg",{viewBox:"0 0 64 64",...d,children:(0,b.jsxs)("g",{...e,children:[(0,b.jsx)("circle",{cx:"32",cy:"32",r:"18"}),(0,b.jsx)("ellipse",{cx:"32",cy:"32",rx:"18",ry:"9",opacity:"0.55"}),(0,b.jsx)("line",{x1:"14",y1:"32",x2:"50",y2:"32",opacity:"0.55"}),(0,b.jsx)("line",{x1:"32",y1:"14",x2:"32",y2:"50",opacity:"0.55"})]})});default:return(0,b.jsx)("svg",{viewBox:"0 0 64 64",...d,children:(0,b.jsxs)("g",{...e,children:[(0,b.jsx)("circle",{cx:"32",cy:"32",r:"14",strokeDasharray:"3 3",opacity:"0.6"}),(0,b.jsx)("circle",{cx:"32",cy:"32",r:"3"})]})})}}function g({variant:a="generic",title:c,sub:h,cta:i,compact:j=!1}){let k=e[a],l=c??k.title,m=h??k.sub;return(0,b.jsxs)("div",{className:`text-center ${j?"py-8":"py-16"} px-4`,role:"status",children:[(0,b.jsx)("div",{className:"anet-empty-glyph inline-flex items-center justify-center mb-4 text-gray-500","aria-hidden":!0,children:(0,b.jsx)(f,{variant:a,size:j?40:56})}),(0,b.jsx)("h3",{className:`font-medium text-gray-300 ${j?"text-sm":"text-base"}`,children:l}),m&&(0,b.jsx)("p",{className:`text-gray-500 ${j?"text-xs mt-1.5":"text-sm mt-2"} max-w-md mx-auto leading-relaxed`,children:m}),i&&(0,b.jsx)("div",{className:"mt-4",children:i.href?(0,b.jsxs)(d.default,{href:i.href,className:"inline-flex items-center gap-1.5 text-sm font-medium text-cyan-400 hover:text-cyan-300",children:[i.label,(0,b.jsx)("span",{"aria-hidden":!0,children:"→"})]}):(0,b.jsxs)("button",{onClick:i.onClick,className:"inline-flex items-center gap-1.5 text-sm font-medium text-cyan-400 hover:text-cyan-300",children:[i.label,(0,b.jsx)("span",{"aria-hidden":!0,children:"→"})]})})]})}function h({children:a}){return(0,b.jsx)("div",{className:"max-w-2xl mx-auto rounded-xl border border-[#26262b] bg-[#161618] shadow-lg shadow-black/20",children:a})}function i({cmd:a}){let[d,e]=(0,c.useState)(!1),f=async()=>{try{await navigator.clipboard.writeText(a),e(!0),setTimeout(()=>e(!1),1800)}catch{}};return(0,b.jsxs)("div",{className:"anet-empty-cmd flex items-start sm:items-center gap-2 bg-[#0e0e10] border border-[#26262b] rounded-lg pl-4 pr-1.5 py-1.5 text-xs sm:text-sm",children:[(0,b.jsx)("code",{className:"text-cyan-300 font-mono select-all min-w-0 break-all sm:break-normal",children:a}),(0,b.jsx)("button",{type:"button",onClick:f,"aria-label":d?"Copied":"Copy command",className:"shrink-0 rounded-md px-2 py-1.5 text-[11px] text-gray-500 hover:text-gray-200 hover:bg-[#1c1c1f] transition-colors",children:d?(0,b.jsxs)("span",{className:"flex items-center gap-1 text-green-400",children:[(0,b.jsx)("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:(0,b.jsx)("path",{d:"M20 6 9 17l-5-5"})}),"Copied"]}):(0,b.jsxs)("span",{className:"flex items-center gap-1",children:[(0,b.jsxs)("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,b.jsx)("rect",{x:"9",y:"9",width:"13",height:"13",rx:"2",ry:"2"}),(0,b.jsx)("path",{d:"M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"})]}),"Copy"]})})]})}a.s(["EmptyState",0,g,"NodesEmptyState",0,function({hint:a,taskHistoryCount:c=0}){return a?.global_count?(0,b.jsx)(h,{children:(0,b.jsx)(g,{variant:"nodes",title:"No agents in this network",sub:`Server has ${a.global_count} nodes globally, but none are registered to the current network. Switch network or contact admin.`})}):c>0?(0,b.jsx)(h,{children:(0,b.jsx)(g,{variant:"nodes",title:"No agents online",sub:`Every agent in this network is currently offline. ${c.toLocaleString()} task${1===c?"":"s"} in history — they may have finished their work or disconnected.`,cta:{label:"View task history",href:"/tasks"}})}):(0,b.jsx)(h,{children:(0,b.jsxs)("div",{className:"text-center py-16 px-4",role:"status",children:[(0,b.jsx)("div",{className:"anet-empty-glyph inline-flex items-center justify-center mb-4 text-gray-500","aria-hidden":!0,children:(0,b.jsx)("svg",{viewBox:"0 0 64 64",width:56,height:56,children:(0,b.jsxs)("g",{stroke:"currentColor",strokeWidth:"1.5",fill:"none",children:[(0,b.jsx)("rect",{x:"10",y:"20",width:"44",height:"28",rx:"2"}),(0,b.jsx)("rect",{x:"20",y:"32",width:"6",height:"8",opacity:"0.5"}),(0,b.jsx)("rect",{x:"32",y:"32",width:"6",height:"8",opacity:"0.5"}),(0,b.jsx)("rect",{x:"44",y:"32",width:"4",height:"8",opacity:"0.5"}),(0,b.jsx)("line",{x1:"10",y1:"26",x2:"54",y2:"26",opacity:"0.4"}),(0,b.jsx)("circle",{cx:"14",cy:"23",r:"0.8",fill:"currentColor"})]})})}),(0,b.jsx)("h3",{className:"font-medium text-gray-300 text-base",children:"Spin up your first agent"}),(0,b.jsx)("p",{className:"text-gray-500 text-sm mt-2 max-w-md mx-auto leading-relaxed",children:"Run this in a fresh terminal to register an agent with this CommHub:"}),(0,b.jsx)("div",{className:"mt-4 inline-block",children:(0,b.jsx)(i,{cmd:"npx --yes @sleep2agi/agent-network init"})}),(0,b.jsx)("p",{className:"text-gray-600 text-xs mt-3 max-w-md mx-auto",children:"Once the agent connects, it appears here automatically within a few seconds — no refresh needed."}),(0,b.jsx)("div",{className:"mt-3",children:(0,b.jsxs)("a",{href:"https://anet.sh",target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center gap-1.5 text-xs font-medium text-gray-500 hover:text-cyan-300",children:["Full quickstart guide",(0,b.jsx)("span",{"aria-hidden":!0,children:"→"})]})})]})})}])},43515,a=>{"use strict";var b=a.i(89706);a.s(["previewContent",0,function(a){return a&&a.replace(/!\[([^\]]*)\]\([^)]*\)/g,"$1").replace(/\[([^\]]+)\]\([^)]*\)/g,"$1").replace(/`([^`]+)`/g,"$1").replace(/\s+/g," ").trim()||"--"},"timeAgo",0,function(a){return(0,b.relativeAgo)(a)??"--"}])},41443,a=>{"use strict";var b=a.i(72131);let c=new Set;function d(a){return c.add(a),()=>void c.delete(a)}a.s(["pinyinMatch",0,function(a,b){let c=b.trim().toLowerCase();return!!(!c||a.toLowerCase().includes(c))||!1},"usePinyinReady",0,function(){return(0,b.useSyncExternalStore)(d,()=>!1,()=>!1)}])},51269,a=>{"use strict";a.s(["t",0,function(a,b){return"u">typeof navigator&&(navigator.language||"").toLowerCase().startsWith("zh")?a:b}])}];
2
2
 
3
- //# sourceMappingURL=app_0o4bxq0._.js.map
3
+ //# sourceMappingURL=app_1e91uc-._.js.map
@@ -1,3 +1,3 @@
1
1
  module.exports=[1720,a=>{"use strict";var b=a.i(87924),c=a.i(72131),d=a.i(34507);let e=[180,200,220,270,300,330,30,90];function f(a){let b=0;for(let c=0;c<a.length;c++)b=31*b+a.charCodeAt(c)>>>0;let c=e[b%e.length];return{bg:`hsl(${c} 55% 22%)`,ring:`hsl(${c} 60% 45%)`,text:`hsl(${c} 80% 78%)`}}function g(a){return a?(a.trim().match(/[\p{L}\p{N}]/u)?.[0]||a.trim()[0]||"·").toUpperCase():"·"}a.s(["AliasAvatar",0,function({alias:a,size:e=28,className:h=""}){let i=(0,d.useAvatarUrl)(a),[j,k]=(0,c.useState)("loading"),[l,m]=(0,c.useState)(i);if(i!==l&&(m(i),k("loading")),i&&"error"!==j)return(0,b.jsx)("span",{className:`anet-alias-avatar relative inline-flex shrink-0 overflow-hidden rounded-full border border-[var(--border)] ${"loading"===j?"animate-pulse bg-[var(--bg-elevated)]":""} ${h}`,style:{width:e,height:e},title:a,"aria-hidden":!0,children:(0,b.jsx)("img",{src:i,alt:"",loading:"lazy",onLoad:()=>k("ready"),onError:()=>k("error"),className:`h-full w-full rounded-full object-cover transition-opacity duration-150 ${"ready"===j?"opacity-100":"opacity-0"}`})});if(/\bgrok\b|grok-build|grok测试员|grok-demo/i.test(a))return(0,b.jsx)("span",{className:`anet-alias-avatar inline-flex items-center justify-center rounded-full border border-emerald-500/45 bg-emerald-950/70 shrink-0 ${h}`,style:{width:e,height:e,backgroundImage:"url(/vendors/grok.svg)",backgroundPosition:"center",backgroundRepeat:"no-repeat",backgroundSize:"68% 68%"},title:a,"aria-hidden":!0});let n=f(a),o=Math.max(9,Math.round(.42*e));return(0,b.jsx)("span",{className:`anet-alias-avatar inline-flex items-center justify-center rounded-full border shrink-0 font-semibold ${h}`,style:{width:e,height:e,fontSize:o,backgroundColor:n.bg,borderColor:n.ring,color:n.text},title:a,"aria-hidden":!0,children:g(a)})},"aliasAvatarColors",0,f,"aliasInitial",0,g])},53142,a=>{"use strict";var b=a.i(87924),c=a.i(72131),d=a.i(38246);let e={nodes:{title:"No agents in this network",sub:"Agent sessions will appear here once they connect to the CommHub."},tasks:{title:"No tasks yet",sub:"Tasks will appear here when agents send them via CommHub."},messages:{title:"No messages",sub:"Messages between agents will appear here."},logs:{title:"No audit logs",sub:"Events will appear here when users register, login, or perform actions."},tokens:{title:"No API tokens",sub:"Create one to authenticate CLI tools and external integrations."},networks:{title:"No networks found",sub:"Create one or sign in with V3 auth to see your networks."},generic:{title:"Nothing here yet",sub:"Data will appear here once available."}};function f({variant:a,size:c}){let d={width:c,height:c},e={fill:"none",stroke:"currentColor",strokeWidth:1.25,strokeLinecap:"round",strokeLinejoin:"round"};switch(a){case"nodes":return(0,b.jsx)("svg",{viewBox:"0 0 64 64",...d,children:(0,b.jsxs)("g",{...e,children:[(0,b.jsx)("circle",{cx:"32",cy:"14",r:"4"}),(0,b.jsx)("circle",{cx:"14",cy:"44",r:"4"}),(0,b.jsx)("circle",{cx:"50",cy:"44",r:"4"}),(0,b.jsx)("line",{x1:"32",y1:"18",x2:"14",y2:"40",strokeDasharray:"3 3",opacity:"0.6"}),(0,b.jsx)("line",{x1:"32",y1:"18",x2:"50",y2:"40",strokeDasharray:"3 3",opacity:"0.6"}),(0,b.jsx)("line",{x1:"18",y1:"44",x2:"46",y2:"44",strokeDasharray:"3 3",opacity:"0.6"})]})});case"tasks":return(0,b.jsx)("svg",{viewBox:"0 0 64 64",...d,children:(0,b.jsxs)("g",{...e,children:[(0,b.jsx)("rect",{x:"14",y:"14",width:"36",height:"6",rx:"1.5"}),(0,b.jsx)("rect",{x:"14",y:"26",width:"36",height:"6",rx:"1.5",opacity:"0.6"}),(0,b.jsx)("rect",{x:"14",y:"38",width:"36",height:"6",rx:"1.5",opacity:"0.35"})]})});case"messages":return(0,b.jsx)("svg",{viewBox:"0 0 64 64",...d,children:(0,b.jsxs)("g",{...e,children:[(0,b.jsx)("path",{d:"M14 18 h36 a3 3 0 0 1 3 3 v18 a3 3 0 0 1 -3 3 h-18 l-8 6 v-6 h-10 a3 3 0 0 1 -3 -3 v-18 a3 3 0 0 1 3 -3 z"}),(0,b.jsx)("line",{x1:"22",y1:"28",x2:"42",y2:"28",opacity:"0.5"}),(0,b.jsx)("line",{x1:"22",y1:"34",x2:"36",y2:"34",opacity:"0.5"})]})});case"logs":return(0,b.jsx)("svg",{viewBox:"0 0 64 64",...d,children:(0,b.jsxs)("g",{...e,children:[(0,b.jsx)("path",{d:"M18 12 h22 l8 8 v32 a2 2 0 0 1 -2 2 h-28 a2 2 0 0 1 -2 -2 v-38 a2 2 0 0 1 2 -2 z"}),(0,b.jsx)("path",{d:"M40 12 v8 h8",opacity:"0.6"}),(0,b.jsx)("line",{x1:"24",y1:"32",x2:"40",y2:"32",opacity:"0.55"}),(0,b.jsx)("line",{x1:"24",y1:"38",x2:"40",y2:"38",opacity:"0.4"}),(0,b.jsx)("line",{x1:"24",y1:"44",x2:"34",y2:"44",opacity:"0.25"})]})});case"tokens":return(0,b.jsx)("svg",{viewBox:"0 0 64 64",...d,children:(0,b.jsxs)("g",{...e,children:[(0,b.jsx)("circle",{cx:"22",cy:"32",r:"8"}),(0,b.jsx)("line",{x1:"30",y1:"32",x2:"54",y2:"32"}),(0,b.jsx)("line",{x1:"44",y1:"32",x2:"44",y2:"38"}),(0,b.jsx)("line",{x1:"50",y1:"32",x2:"50",y2:"40"})]})});case"networks":return(0,b.jsx)("svg",{viewBox:"0 0 64 64",...d,children:(0,b.jsxs)("g",{...e,children:[(0,b.jsx)("circle",{cx:"32",cy:"32",r:"18"}),(0,b.jsx)("ellipse",{cx:"32",cy:"32",rx:"18",ry:"9",opacity:"0.55"}),(0,b.jsx)("line",{x1:"14",y1:"32",x2:"50",y2:"32",opacity:"0.55"}),(0,b.jsx)("line",{x1:"32",y1:"14",x2:"32",y2:"50",opacity:"0.55"})]})});default:return(0,b.jsx)("svg",{viewBox:"0 0 64 64",...d,children:(0,b.jsxs)("g",{...e,children:[(0,b.jsx)("circle",{cx:"32",cy:"32",r:"14",strokeDasharray:"3 3",opacity:"0.6"}),(0,b.jsx)("circle",{cx:"32",cy:"32",r:"3"})]})})}}function g({variant:a="generic",title:c,sub:h,cta:i,compact:j=!1}){let k=e[a],l=c??k.title,m=h??k.sub;return(0,b.jsxs)("div",{className:`text-center ${j?"py-8":"py-16"} px-4`,role:"status",children:[(0,b.jsx)("div",{className:"anet-empty-glyph inline-flex items-center justify-center mb-4 text-gray-500","aria-hidden":!0,children:(0,b.jsx)(f,{variant:a,size:j?40:56})}),(0,b.jsx)("h3",{className:`font-medium text-gray-300 ${j?"text-sm":"text-base"}`,children:l}),m&&(0,b.jsx)("p",{className:`text-gray-500 ${j?"text-xs mt-1.5":"text-sm mt-2"} max-w-md mx-auto leading-relaxed`,children:m}),i&&(0,b.jsx)("div",{className:"mt-4",children:i.href?(0,b.jsxs)(d.default,{href:i.href,className:"inline-flex items-center gap-1.5 text-sm font-medium text-cyan-400 hover:text-cyan-300",children:[i.label,(0,b.jsx)("span",{"aria-hidden":!0,children:"→"})]}):(0,b.jsxs)("button",{onClick:i.onClick,className:"inline-flex items-center gap-1.5 text-sm font-medium text-cyan-400 hover:text-cyan-300",children:[i.label,(0,b.jsx)("span",{"aria-hidden":!0,children:"→"})]})})]})}function h({children:a}){return(0,b.jsx)("div",{className:"max-w-2xl mx-auto rounded-xl border border-[#26262b] bg-[#161618] shadow-lg shadow-black/20",children:a})}function i({cmd:a}){let[d,e]=(0,c.useState)(!1),f=async()=>{try{await navigator.clipboard.writeText(a),e(!0),setTimeout(()=>e(!1),1800)}catch{}};return(0,b.jsxs)("div",{className:"anet-empty-cmd flex items-start sm:items-center gap-2 bg-[#0e0e10] border border-[#26262b] rounded-lg pl-4 pr-1.5 py-1.5 text-xs sm:text-sm",children:[(0,b.jsx)("code",{className:"text-cyan-300 font-mono select-all min-w-0 break-all sm:break-normal",children:a}),(0,b.jsx)("button",{type:"button",onClick:f,"aria-label":d?"Copied":"Copy command",className:"shrink-0 rounded-md px-2 py-1.5 text-[11px] text-gray-500 hover:text-gray-200 hover:bg-[#1c1c1f] transition-colors",children:d?(0,b.jsxs)("span",{className:"flex items-center gap-1 text-green-400",children:[(0,b.jsx)("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:(0,b.jsx)("path",{d:"M20 6 9 17l-5-5"})}),"Copied"]}):(0,b.jsxs)("span",{className:"flex items-center gap-1",children:[(0,b.jsxs)("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,b.jsx)("rect",{x:"9",y:"9",width:"13",height:"13",rx:"2",ry:"2"}),(0,b.jsx)("path",{d:"M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"})]}),"Copy"]})})]})}a.s(["EmptyState",0,g,"NodesEmptyState",0,function({hint:a,taskHistoryCount:c=0}){return a?.global_count?(0,b.jsx)(h,{children:(0,b.jsx)(g,{variant:"nodes",title:"No agents in this network",sub:`Server has ${a.global_count} nodes globally, but none are registered to the current network. Switch network or contact admin.`})}):c>0?(0,b.jsx)(h,{children:(0,b.jsx)(g,{variant:"nodes",title:"No agents online",sub:`Every agent in this network is currently offline. ${c.toLocaleString()} task${1===c?"":"s"} in history — they may have finished their work or disconnected.`,cta:{label:"View task history",href:"/tasks"}})}):(0,b.jsx)(h,{children:(0,b.jsxs)("div",{className:"text-center py-16 px-4",role:"status",children:[(0,b.jsx)("div",{className:"anet-empty-glyph inline-flex items-center justify-center mb-4 text-gray-500","aria-hidden":!0,children:(0,b.jsx)("svg",{viewBox:"0 0 64 64",width:56,height:56,children:(0,b.jsxs)("g",{stroke:"currentColor",strokeWidth:"1.5",fill:"none",children:[(0,b.jsx)("rect",{x:"10",y:"20",width:"44",height:"28",rx:"2"}),(0,b.jsx)("rect",{x:"20",y:"32",width:"6",height:"8",opacity:"0.5"}),(0,b.jsx)("rect",{x:"32",y:"32",width:"6",height:"8",opacity:"0.5"}),(0,b.jsx)("rect",{x:"44",y:"32",width:"4",height:"8",opacity:"0.5"}),(0,b.jsx)("line",{x1:"10",y1:"26",x2:"54",y2:"26",opacity:"0.4"}),(0,b.jsx)("circle",{cx:"14",cy:"23",r:"0.8",fill:"currentColor"})]})})}),(0,b.jsx)("h3",{className:"font-medium text-gray-300 text-base",children:"Spin up your first agent"}),(0,b.jsx)("p",{className:"text-gray-500 text-sm mt-2 max-w-md mx-auto leading-relaxed",children:"Run this in a fresh terminal to register an agent with this CommHub:"}),(0,b.jsx)("div",{className:"mt-4 inline-block",children:(0,b.jsx)(i,{cmd:"npx --yes @sleep2agi/agent-network init"})}),(0,b.jsx)("p",{className:"text-gray-600 text-xs mt-3 max-w-md mx-auto",children:"Once the agent connects, it appears here automatically within a few seconds — no refresh needed."}),(0,b.jsx)("div",{className:"mt-3",children:(0,b.jsxs)("a",{href:"https://anet.sh",target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center gap-1.5 text-xs font-medium text-gray-500 hover:text-cyan-300",children:["Full quickstart guide",(0,b.jsx)("span",{"aria-hidden":!0,children:"→"})]})})]})})}])},43515,a=>{"use strict";var b=a.i(89706);a.s(["previewContent",0,function(a){return a&&a.replace(/!\[([^\]]*)\]\([^)]*\)/g,"$1").replace(/\[([^\]]+)\]\([^)]*\)/g,"$1").replace(/`([^`]+)`/g,"$1").replace(/\s+/g," ").trim()||"--"},"timeAgo",0,function(a){return(0,b.relativeAgo)(a)??"--"}])},29254,a=>{"use strict";var b=a.i(87924),c=a.i(72131),d=a.i(38246),e=a.i(43515),f=a.i(22397),g=a.i(53142),h=a.i(1720);let i={register:"bg-green-500/10 text-green-300 border-green-500/20",login:"bg-blue-500/10 text-blue-300 border-blue-500/20",login_failed:"bg-red-500/10 text-red-300 border-red-500/20",create_network:"bg-purple-500/10 text-purple-300 border-purple-500/20",send_task:"bg-cyan-500/10 text-cyan-300 border-cyan-500/20"},j={register:"#4ade80",login:"#60a5fa",login_failed:"#ef4444",create_network:"#a78bfa",send_task:"#22d3ee"};a.s(["default",0,function(){let a,k,{networkId:l}=(0,f.useNetworkId)(),[m,n]=(0,c.useState)([]),[o,p]=(0,c.useState)(!0),[q,r]=(0,c.useState)(""),[s,t]=(0,c.useState)(""),u=(0,c.useCallback)(async()=>{try{let a=new URLSearchParams({limit:"100"});l&&a.set("network_id",l),s&&a.set("action",s);let b=sessionStorage.getItem("anet_v3_auth");if(b)try{let c=JSON.parse(b);c.token&&a.set("token",c.token)}catch{}let c=await fetch(`/api/hub/audit-log?${a.toString()}`);if(401===c.status)return void window.location.assign("/login");let d=await c.json();n(d.logs||[]),r(d.error&&!d.logs?.length?d.error:"")}catch(a){r(a instanceof Error?a.message:"fetch failed")}finally{p(!1)}},[s,l]);return(0,c.useEffect)(()=>{p(!0),u();let a=setInterval(u,1e4);return()=>clearInterval(a)},[u]),(0,b.jsxs)("div",{className:"min-h-screen bg-[#0b0b0d] text-gray-100 p-4 sm:p-6",children:[(0,b.jsx)("div",{className:"flex items-center gap-4 mb-4 sm:mb-6",children:(0,b.jsx)("h1",{className:"text-2xl font-bold text-white lg:ml-0 ml-10",children:"Audit Log"})}),(0,b.jsx)("div",{className:"mb-4 sm:mb-6 flex flex-wrap items-center gap-1 anet-tabstrip-wrap overflow-x-auto sm:overflow-x-visible",children:(a={},m.forEach(b=>{a[b.action]=(a[b.action]||0)+1}),[{key:"",label:"All"},{key:"login",label:"login",dot:j.login},{key:"login_failed",label:"login_failed",dot:j.login_failed},{key:"register",label:"register",dot:j.register},{key:"create_network",label:"create_network",dot:j.create_network},{key:"send_task",label:"send_task",dot:j.send_task}].map(c=>{let d=""===c.key?m.length:a[c.key]||0,e=s===c.key;return(0,b.jsxs)("button",{type:"button",onClick:()=>t(c.key),disabled:0===d&&""!==c.key,className:`flex items-center gap-1.5 rounded-md px-2.5 py-1 text-xs transition-colors disabled:opacity-30 disabled:cursor-not-allowed shrink-0 whitespace-nowrap ${e?"bg-cyan-500/10 text-cyan-300 border border-cyan-500/30":"text-gray-500 hover:text-gray-200 hover:bg-[#1c1c1f] border border-transparent"}`,children:[c.dot&&(0,b.jsx)("span",{"aria-hidden":!0,className:"inline-block w-1.5 h-1.5 rounded-full",style:{backgroundColor:c.dot}}),(0,b.jsx)("span",{children:c.label}),(0,b.jsx)("span",{className:`text-[10px] tabular-nums ${e?"text-cyan-400":"text-gray-600"}`,children:d})]},c.key||"all")}))}),q&&(k=/unauthor|401|forbidden|403|admin/i.test(q),(0,b.jsxs)("div",{className:"anet-warn-chip bg-yellow-900/20 border border-yellow-800/40 text-yellow-300 px-4 py-3 rounded-lg mb-6 text-sm flex items-start gap-3",role:"alert",children:[(0,b.jsx)("span",{"aria-hidden":!0,className:"text-base leading-none",children:"⚠"}),(0,b.jsx)("div",{className:"flex-1",children:k?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("div",{className:"font-medium",children:"需要 admin 权限查看审计日志"}),(0,b.jsx)("div",{className:"text-xs opacity-80 mt-1",children:"审计日志记录用户注册 / 登录 / 网络变更等事件,需要 admin 角色。"}),(0,b.jsx)(d.default,{href:"/login",className:"inline-block mt-2 text-xs font-medium underline underline-offset-4 hover:opacity-80",children:"切到 admin 账号 →"})]}):(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("div",{className:"font-medium",children:"加载失败"}),(0,b.jsx)("div",{className:"text-xs opacity-80 mt-1",children:"请检查 CommHub 是否在线,或稍后重试。"}),(0,b.jsx)("button",{onClick:()=>window.location.reload(),className:"inline-block mt-2 text-xs font-medium underline underline-offset-4 hover:opacity-80",children:"重新加载 →"})]})})]})),o?(0,b.jsx)("div",{className:"animate-pulse space-y-2",children:[1,2,3,4,5].map(a=>(0,b.jsx)("div",{className:"h-14 bg-gray-800/20 rounded-lg"},a))}):0===m.length?(0,b.jsx)(g.EmptyState,{variant:"logs"}):(0,b.jsx)("div",{className:"space-y-1 sm:space-y-2",children:m.map(a=>{let c=a.username||a.user_id;return(0,b.jsxs)("div",{className:"relative bg-[#161618] border border-[#26262b] rounded-lg pl-3 pr-3 py-2 sm:pl-4 sm:pr-4 sm:py-3 hover:border-[#3a3a41] transition-colors overflow-hidden",children:[(0,b.jsx)("span",{"aria-hidden":!0,className:"absolute left-0 top-0 bottom-0 w-0.5",style:{backgroundColor:j[a.action]||"transparent"}}),(0,b.jsxs)("div",{className:"flex flex-wrap items-center gap-2 mb-1",children:[(0,b.jsx)("span",{className:`text-xs px-2 py-0.5 rounded-md border ${i[a.action]||"bg-gray-500/10 text-gray-400 border-gray-500/20"}`,children:a.action}),c&&(0,b.jsx)(h.AliasAvatar,{alias:c,size:16}),(0,b.jsx)("span",{className:"text-sm text-gray-200 font-medium",children:c}),a.target_type&&(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("span",{className:"text-xs text-gray-600",children:"→"}),(0,b.jsxs)("span",{className:"text-xs text-gray-400",children:[a.target_type,a.target_id?`:${a.target_id.slice(0,12)}`:""]})]}),(0,b.jsx)("span",{className:"text-xs text-gray-600 ml-auto",children:(0,e.timeAgo)(a.created_at)})]}),a.detail&&(0,b.jsx)("div",{className:"text-xs text-gray-500",children:a.detail}),a.ip&&"unknown"!==a.ip&&(0,b.jsxs)("div",{className:"text-[10px] text-gray-700",children:["IP: ",a.ip]})]},a.id)})})]})}])}];
2
2
 
3
- //# sourceMappingURL=app_1psh956._.js.map
3
+ //# sourceMappingURL=app_1f96aq_._.js.map
@@ -0,0 +1,11 @@
1
+ module.exports=[15261,a=>{"use strict";var b=a.i(87924),c=a.i(72131),d=a.i(1720),e=a.i(56426),f=a.i(69237),g=a.i(68957),h=a.i(62180),i=a.i(58348),j=a.i(58224),k=a.i(22397),l=a.i(44332),m=a.i(86512),n=a.i(6439),o=a.i(78287),p=a.i(41443),q=a.i(89706),r=a.i(51269),s=a.i(5537);function t(a){return!Number.isFinite(a)||a<0?"?":a<1024?`${a} B`:a<1048576?`${Math.round(a/1024)} KB`:a<0x40000000?`${(a/1024/1024).toFixed(1)} MB`:`${(a/1024/1024/1024).toFixed(1)} GB`}function u(a){return a&&new Date(a.replace(" ","T")+(a.includes("T")?"":"Z")).getTime()||0}function v({text:a,label:d}){let[e,f]=(0,c.useState)(!1),g=async()=>{try{if(navigator.clipboard?.writeText)await navigator.clipboard.writeText(a);else{let b=document.createElement("textarea");b.value=a,document.body.appendChild(b),b.select(),document.execCommand("copy"),b.remove()}f(!0),setTimeout(()=>f(!1),1500)}catch{}};return(0,b.jsx)("button",{type:"button",onClick:g,"aria-label":d,title:d,className:"shrink-0 rounded p-0.5 text-[10px] leading-none transition-opacity opacity-50 sm:opacity-0 sm:group-hover/bubble:opacity-70 hover:!opacity-100 text-[var(--fg-dim)] hover:text-cyan-300",children:e?(0,b.jsx)("span",{className:"text-green-400",children:"✓"}):(0,b.jsx)("svg",{className:"h-3 w-3",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:2,children:(0,b.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z"})})})}function w({src:a,alt:d,thumbClass:e,onOpen:f}){let[g,h]=(0,c.useState)("loading");return"error"===g?(0,b.jsx)("span",{className:`${e} flex items-center justify-center bg-black/20 border border-[var(--border)] text-[10px] text-[var(--fg-dim)]`,children:(0,r.t)("图片加载失败","Image failed to load")}):(0,b.jsx)("button",{type:"button","data-chat-image":a,onClick:()=>f(a),"aria-label":d||(0,r.t)("查看大图","View full image"),className:`relative block overflow-hidden ${"loading"===g?"animate-pulse bg-[var(--bg-elevated)]":""} ${e}`,children:(0,b.jsx)("img",{src:a,alt:d||"",loading:"lazy",onLoad:()=>h("ready"),onError:()=>h("error"),className:`h-full w-full object-cover transition-opacity duration-200 ${"ready"===g?"opacity-100":"opacity-0"}`})})}function x({urls:a,initialIndex:d,onClose:e,opener:f}){let[g,h]=(0,c.useState)(d),i=a[Math.min(g,a.length-1)],[j,k]=(0,c.useState)(!1);(0,c.useRef)(g).current=g;let l=b=>{h(c=>Math.max(0,Math.min(a.length-1,c+b))),k(!1)},m=(0,c.useRef)(l);m.current=l;let n=(0,c.useRef)(null),o=(0,c.useRef)(e);return o.current=e,(0,c.useEffect)(()=>{let a=()=>Array.from(n.current?.querySelectorAll("a[href], button")||[]);a()[0]?.focus();let b=b=>{if("Escape"===b.key){b.stopPropagation(),o.current();return}if("ArrowLeft"===b.key)return void m.current(-1);if("ArrowRight"===b.key)return void m.current(1);if("Tab"!==b.key)return;let c=a();if(0===c.length)return;let d=c[0],e=c[c.length-1],f=document.activeElement;b.shiftKey&&(f===d||!n.current?.contains(f))?(b.preventDefault(),e.focus()):b.shiftKey||f!==e&&n.current?.contains(f)||(b.preventDefault(),d.focus())};return window.addEventListener("keydown",b,!0),()=>{window.removeEventListener("keydown",b,!0),setTimeout(()=>{let a=f;if(a&&!document.contains(a)){let b=a.getAttribute("aria-label");b&&(a=document.querySelector(`[aria-label="${CSS.escape(b)}"]`))}a?.focus?.()},0)}},[]),(0,b.jsxs)("div",{ref:n,className:"fixed inset-0 z-[100] flex items-center justify-center bg-black/85",onClick:e,role:"dialog","aria-modal":"true","aria-label":(0,r.t)("图片预览","Image preview"),children:[!j&&(0,b.jsx)("div",{className:"absolute h-6 w-6 animate-spin rounded-full border-2 border-white/30 border-t-white"}),(0,b.jsx)("img",{src:i,alt:"",onLoad:()=>k(!0),className:`max-h-[92vh] max-w-[92vw] rounded object-contain transition-opacity duration-150 ${j?"opacity-100":"opacity-0"}`},i),a.length>1&&(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("span",{className:"absolute left-3 top-3 text-[11px] tabular-nums text-white/70",children:[g+1,"/",a.length]}),(0,b.jsx)("button",{onClick:a=>{a.stopPropagation(),l(-1)},disabled:0===g,"aria-label":(0,r.t)("上一张","Previous image"),className:"absolute left-1 top-1/2 flex h-11 w-11 -translate-y-1/2 items-center justify-center rounded-full text-2xl text-white/80 hover:bg-white/10 disabled:opacity-25",children:"‹"}),(0,b.jsx)("button",{onClick:a=>{a.stopPropagation(),l(1)},disabled:g===a.length-1,"aria-label":(0,r.t)("下一张","Next image"),className:"absolute right-1 top-1/2 flex h-11 w-11 -translate-y-1/2 items-center justify-center rounded-full text-2xl text-white/80 hover:bg-white/10 disabled:opacity-25",children:"›"})]}),(0,b.jsx)("a",{href:i,target:"_blank",rel:"noreferrer",onClick:a=>a.stopPropagation(),className:"absolute right-12 top-3 text-[11px] text-white/70 underline hover:text-white",children:(0,r.t)("新标签打开","Open in new tab")}),(0,b.jsx)("button",{onClick:e,"aria-label":(0,r.t)("关闭预览","Close preview"),className:"absolute right-2 top-2 flex h-8 w-8 items-center justify-center text-lg text-white/80 hover:text-white",children:"×"})]})}function y({text:a,onOpen:c}){let d=function(a){let b=[];for(let c of(a||"").split("\n")){let a=c.match(/^\s*-\s*预览:\s*(\S+)\s*$/);a?.[1]&&b.push(a[1])}return Array.from(new Set(b))}(a);return 0===d.length?null:(0,b.jsx)("div",{className:"mt-2 grid grid-cols-2 gap-2",children:d.map(a=>(0,b.jsx)(w,{src:a,alt:"Dashboard attachment",thumbClass:"h-28 w-full rounded-lg border border-cyan-500/20",onOpen:c},a))})}function z({file:a,onRemove:d}){let e=a.type.startsWith("image/"),f=(0,c.useMemo)(()=>e?URL.createObjectURL(a):"",[a,e]);(0,c.useEffect)(()=>{if(f)return()=>URL.revokeObjectURL(f)},[f]);let g=(a.name.match(/\.([a-zA-Z0-9]{1,5})$/)?.[1]||a.type.split("/")[1]||"FILE").toUpperCase().slice(0,5);return(0,b.jsxs)("div",{className:"relative h-16 w-16 overflow-hidden rounded-lg border border-cyan-500/25 bg-black/20",title:a.name,children:[e&&f?(0,b.jsx)("img",{src:f,alt:a.name,className:"h-full w-full object-cover"}):(0,b.jsxs)("div",{className:"flex h-full w-full flex-col items-center justify-center gap-0.5 px-1 text-center",children:[(0,b.jsx)("span",{className:"text-lg",children:"📄"}),(0,b.jsx)("span",{className:"max-w-full truncate text-[9px] font-semibold text-cyan-300",children:g})]}),(0,b.jsx)("button",{type:"button",onClick:d,className:"absolute right-1 top-1 flex h-5 w-5 items-center justify-center rounded-full bg-black/70 text-xs text-white hover:bg-red-500","aria-label":`Remove ${a.name}`,children:"×"})]})}let A=["queued","delivered","acked","replied"],B={created:{label:"发送中",hover:"客户端已建消息,尚未收到 hub 回执。",color:"text-gray-400",icon:(0,b.jsx)(function(){return(0,b.jsx)("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round",children:(0,b.jsx)("path",{d:"M4 12l16-8-6 16-3-7-7-1z"})})},{})},queued:{label:"排队中",hover:"已入队,尚未推给节点。节点可能离线、或通道拥堵。",color:"text-gray-400",icon:(0,b.jsx)(D,{})},delivered:{label:"已推送",hover:"hub 侧已标记推送。尚未确认节点是否收到(delivered_at 是入队时刻,不代表 SSE 已到达)。",color:"text-sky-400",icon:(0,b.jsx)(function(){return(0,b.jsx)("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2.5,strokeLinecap:"round",strokeLinejoin:"round",children:(0,b.jsx)("path",{d:"M4 12l6 6L20 6"})})},{})},acked:{label:"已接收",hover:"节点进程已确认收到。未必已处理——对方 agent 可能尚未唤醒。",color:"text-gray-300",icon:(0,b.jsx)(E,{})},replied:{label:"已回复",hover:"对方已针对此消息回复。",color:"text-emerald-400",icon:(0,b.jsx)(E,{filled:!0})},failed:{label:"失败",hover:"发送失败——详细原因见消息下方文本。",color:"text-red-400",icon:(0,b.jsx)(function(){return(0,b.jsxs)("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round",children:[(0,b.jsx)("path",{d:"M12 2L2 20h20L12 2z"}),(0,b.jsx)("path",{d:"M12 9v5"}),(0,b.jsx)("circle",{cx:"12",cy:"17.5",r:"0.6",fill:"currentColor"})]})},{})},closed:{label:"已关闭",hover:"会话已被关闭,不再期待回复。",color:"text-gray-500",icon:(0,b.jsx)(F,{})},expired:{label:"已超时",hover:"在期限内未收到回复,任务已超时。",color:"text-gray-500",icon:(0,b.jsx)(D,{})},cancelled:{label:"已取消",hover:"任务被主动取消。",color:"text-gray-500",icon:(0,b.jsx)(F,{})},running:{label:"处理中",hover:"节点进程正在处理(今日 hub 不写入此值,见组件注释)。",color:"text-green-400",icon:(0,b.jsx)(D,{})}};function C({status:a,result:c}){let d=B[a],e=!!d,f=A.indexOf(a),g=A.map((a,b)=>`${b<f||b===f&&f>=0?"✓":"○"} ${B[a].label}`).join(" → "),h=e?`${d.hover}
2
+
3
+ 进度:${g}`:`未知状态「${a}」——请报 bug。UI 词库没有匹配项,可能 hub 加了新 status 但前端没跟上。`,i=e?d.label:a,j=e?d.color:"text-yellow-400",k="failed"===a?c&&c.trim()?c.trim().slice(0,40):"节点未提供原因":null;return(0,b.jsxs)("div",{"data-status-key":a,"data-status-known":e?"true":"false","data-status-label":i,className:"inline-flex flex-col gap-0.5 mt-1.5",children:[(0,b.jsxs)("span",{title:h,"aria-label":e?d.label:`未知状态 ${a}`,className:`inline-flex items-center gap-1.5 text-[11px] font-medium ${j}`,children:[e?d.icon:(0,b.jsx)(G,{}),(0,b.jsx)("span",{children:i}),("delivered"===a||"created"===a)&&(0,b.jsxs)("span",{"aria-hidden":!0,className:"inline-flex items-center gap-0.5 ml-0.5",children:[(0,b.jsx)("span",{className:"inline-block w-1 h-1 rounded-full bg-current opacity-70 animate-pulse"}),(0,b.jsx)("span",{className:"inline-block w-1 h-1 rounded-full bg-current opacity-70 animate-pulse",style:{animationDelay:"0.2s"}}),(0,b.jsx)("span",{className:"inline-block w-1 h-1 rounded-full bg-current opacity-70 animate-pulse",style:{animationDelay:"0.4s"}})]})]}),null!==k&&(0,b.jsx)("span",{"data-status-reason":k,className:"text-[10px] text-red-400/80 max-w-[260px] truncate",title:c||void 0,children:k})]})}function D(){return(0,b.jsxs)("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round",children:[(0,b.jsx)("circle",{cx:"12",cy:"12",r:"10"}),(0,b.jsx)("path",{d:"M12 6v6l4 2"})]})}function E({filled:a}={}){return(0,b.jsxs)("svg",{width:"14",height:"12",viewBox:"0 0 28 24",fill:"none",stroke:"currentColor",strokeWidth:a?2.5:2,strokeLinecap:"round",strokeLinejoin:"round",children:[(0,b.jsx)("path",{d:"M2 12l6 6L18 6"}),(0,b.jsx)("path",{d:"M10 12l6 6L26 6",opacity:a?1:.7})]})}function F(){return(0,b.jsxs)("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round",children:[(0,b.jsx)("circle",{cx:"12",cy:"12",r:"10"}),(0,b.jsx)("path",{d:"M8 12h8"})]})}function G(){return(0,b.jsxs)("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round",children:[(0,b.jsx)("circle",{cx:"12",cy:"12",r:"10"}),(0,b.jsx)("path",{d:"M9.5 9.5a2.5 2.5 0 015 0c0 1.5-2.5 2-2.5 3.5"}),(0,b.jsx)("circle",{cx:"12",cy:"17",r:"0.6",fill:"currentColor"})]})}let H=(0,c.memo)(function({text:a,onImageClick:d}){let e=(0,c.useMemo)(()=>({h1:({children:a})=>(0,b.jsx)("h1",{className:"text-base font-semibold text-[var(--fg)] mt-2 mb-1",children:a}),h2:({children:a})=>(0,b.jsx)("h2",{className:"text-sm font-semibold text-[var(--fg)] mt-2 mb-1",children:a}),h3:({children:a})=>(0,b.jsx)("h3",{className:"text-sm font-semibold text-cyan-300 mt-1.5 mb-0.5",children:a}),p:({children:a})=>(0,b.jsx)("p",{className:"my-1",children:a}),strong:({children:a})=>(0,b.jsx)("strong",{className:"text-[var(--fg)] font-semibold",children:a}),em:({children:a})=>(0,b.jsx)("em",{className:"italic text-[var(--fg-muted)]",children:a}),ul:({children:a})=>(0,b.jsx)("ul",{className:"list-disc pl-5 my-1 space-y-0.5",children:a}),ol:({children:a})=>(0,b.jsx)("ol",{className:"list-decimal pl-5 my-1 space-y-0.5",children:a}),li:({children:a})=>(0,b.jsx)("li",{children:a}),a:({href:a,children:c})=>(0,b.jsx)("a",{href:a,target:"_blank",rel:"noreferrer",className:"text-cyan-300 underline",children:c}),blockquote:({children:a})=>(0,b.jsx)("blockquote",{className:"border-l-2 border-cyan-500/30 pl-3 my-1 text-[var(--fg-muted)] italic",children:a}),hr:()=>(0,b.jsx)("hr",{className:"border-t border-[var(--border)] my-2"}),img:({src:a,alt:c})=>{let e="string"==typeof a?a:"";return e?d?(0,b.jsx)(w,{src:e,alt:c,thumbClass:"my-1 h-40 w-full max-w-[240px] rounded-lg",onOpen:d}):(0,b.jsx)("img",{src:e,alt:c||"",loading:"lazy",className:"my-1 max-h-48 rounded-lg"}):null},code:({className:a,children:c})=>{if(!a?.startsWith("language-"))return(0,b.jsx)("code",{className:"bg-[var(--code-bg)] rounded px-1.5 py-0.5 text-cyan-300 text-[11px] border border-[var(--border)]",children:c});let d=a?.replace(/^language-/,"")||"";return(0,b.jsxs)("div",{className:"my-2 rounded-lg overflow-hidden border border-[var(--border)]",children:[d&&(0,b.jsx)("div",{className:"bg-[var(--code-bg)] px-3 py-1 text-[10px] text-[var(--fg-muted)] border-b border-[var(--border)]",children:d}),(0,b.jsx)("pre",{className:"bg-[var(--code-bg)] px-3 py-2 text-[11px] text-green-300 overflow-x-auto",children:(0,b.jsx)("code",{children:c})})]})},table:({children:a})=>(0,b.jsx)("div",{className:"my-2 overflow-x-auto",children:(0,b.jsx)("table",{className:"w-full text-[12px] border-collapse",children:a})}),thead:({children:a})=>(0,b.jsx)("thead",{className:"bg-[var(--code-bg)]",children:a}),tbody:({children:a})=>(0,b.jsx)("tbody",{children:a}),tr:({children:a})=>(0,b.jsx)("tr",{className:"border-b border-[var(--border)]",children:a}),th:({children:a})=>(0,b.jsx)("th",{className:"text-left text-cyan-300 font-semibold px-2 py-1 border border-[var(--border)]",children:a}),td:({children:a})=>(0,b.jsx)("td",{className:"px-2 py-1 border border-[var(--border)] align-top",children:a})}),[d]);return a?(0,b.jsx)("div",{className:"break-words leading-relaxed",children:(0,b.jsx)(h.default,{remarkPlugins:[i.default],components:e,children:a})}):(0,b.jsx)("span",{className:"text-[var(--fg-dim)] italic",children:"No content"})});function I({children:a}){let d=(0,c.useRef)(null),[e,f]=(0,c.useState)(!1),[g,h]=(0,c.useState)(!1);(0,c.useEffect)(()=>{let a=d.current;if(!a)return;let b=()=>f(a.scrollHeight>340);b();let c=new ResizeObserver(b);return c.observe(a),()=>c.disconnect()},[]);let i=e&&!g;return(0,b.jsxs)("div",{children:[(0,b.jsx)("div",{ref:d,style:i?{maxHeight:300,overflow:"hidden",maskImage:"linear-gradient(to bottom, black 72%, transparent 100%)",WebkitMaskImage:"linear-gradient(to bottom, black 72%, transparent 100%)"}:void 0,children:a}),e&&(0,b.jsx)("button",{type:"button",onClick:()=>h(a=>!a),className:"mt-1 text-[12px] font-medium text-cyan-400 hover:text-cyan-300",children:g?(0,r.t)("收起 ⌃","Collapse ⌃"):(0,r.t)("展开全文 ⌄","Show full text ⌄")})]})}a.s(["TaskChatPanel",0,function({alias:a,onClose:h,inline:i,availableNodes:w,active:A}){let B=!1!==A,{networkId:D}=(0,k.useNetworkId)(),E=D?(0,s.chatPrivateScope)(D):null,{health:F}=(0,l.useHealth)(),G=(0,m.useMuted)(a),J=(()=>{let b=F?.sse_sessions;if(!b)return null;if(b[a]||D&&b[`${D}:${a}`])return!0;for(let c of Object.keys(b))if(c.endsWith(`:${a}`))return!0;return!1})(),[K,L]=(0,c.useState)([]),[M,N]=(0,c.useState)(""),[O,P]=(0,c.useState)([]),[Q,R]=(0,c.useState)("normal"),[S,T]=(0,c.useState)(!1),[U,V]=(0,c.useState)(new Set),[W,X]=(0,c.useState)(!1),[Y,Z]=(0,c.useState)(!1),[$,_]=(0,c.useState)(!1),[aa,ab]=(0,c.useState)(0);(0,p.usePinyinReady)();let[ac,ad]=(0,c.useState)(!1),[ae,af]=(0,c.useState)(null),[ag,ah]=(0,c.useState)(""),[ai,aj]=(0,c.useState)([]),ak=(0,c.useRef)(null),al=(0,c.useRef)(null),am=(0,c.useRef)(null),an=(0,c.useRef)(!1),ao=(0,c.useRef)(!1),[ap,aq]=(0,c.useState)(!0),[ar,as]=(0,c.useState)(!1),[at,au]=(0,c.useState)(0),[av,aw]=(0,c.useState)(null),[ax,ay]=(0,c.useState)(null),[az,aA]=(0,c.useState)(!1),[aB,aC]=(0,c.useState)(""),[aD,aE]=(0,c.useState)(0),aF=(0,c.useRef)(null);(0,c.useEffect)(()=>{if(!B)return;let a=a=>{(a.metaKey||a.ctrlKey)&&!a.shiftKey&&!a.altKey&&"f"===a.key.toLowerCase()&&(a.preventDefault(),aA(!0),setTimeout(()=>aF.current?.focus(),50))};return window.addEventListener("keydown",a,!0),()=>window.removeEventListener("keydown",a,!0)},[B]),(0,c.useEffect)(()=>{if(!B)return;let b=b=>{let c=b.detail;c?.alias&&c.alias!==a||(aA(!0),setTimeout(()=>aF.current?.focus(),50))};return window.addEventListener("chat:open-search",b),()=>window.removeEventListener("chat:open-search",b)},[B,a]);let aG=(0,c.useRef)(null),aH=(0,c.useCallback)(a=>{aG.current=document.activeElement;let b=Array.from(new Set(Array.from(am.current?.querySelectorAll("[data-chat-image]")||[]).map(a=>a.getAttribute("data-chat-image")||"").filter(Boolean))),c=Math.max(0,b.indexOf(a));aw({urls:b.length?b:[a],idx:c})},[]),aI=(0,c.useRef)(!0),aJ=(0,c.useRef)(0),aK=(0,c.useRef)(!1),aL=(0,c.useRef)({});(0,c.useEffect)(()=>{w?aj(w):Promise.all([fetch("/api/hub/status").then(a=>a.ok?a.json():{sessions:[]}),fetch("/api/hub/health").then(a=>a.ok?a.json():{})]).then(([a,b])=>{let c=a.sessions||[],d={};for(let a of c)a.network_id&&(d[a.alias]=a.network_id);aL.current=d,aj(c.filter(a=>(0,f.isOnline)(a,b?.sse_sessions)).map(a=>a.alias))}).catch(()=>{})},[w]);let aM=(0,c.useRef)(M);aM.current=M;let aN=(0,c.useRef)(!1);(0,c.useEffect)(()=>{try{aN.current=window.matchMedia("(pointer: coarse)").matches}catch{}},[]),(0,c.useEffect)(()=>{if(!a||!D)return;let b=(0,o.readDraft)(a,D);return b&&(N(b),requestAnimationFrame(()=>{al.current&&a4(al.current)})),()=>{(0,o.writeDraft)(a,aM.current,D)}},[a,D]),(0,c.useEffect)(()=>{if(!D)return;let b=setTimeout(()=>(0,o.writeDraft)(a,M,D),300);return()=>clearTimeout(b)},[M,a,D]),(0,c.useEffect)(()=>{a&&(0,n.markChatRead)(a,D)},[a,D]);let aO=(0,c.useCallback)(async(b,c,d)=>{let e=new AbortController,f=setTimeout(()=>e.abort(),c);try{let c=await fetch((0,g.buildTaskHistoryUrl)(a,b,d),{signal:e.signal}),f=await c.json();if(f.tasks){let a=new Set;for(let b of f.tasks){let c=function(a){if("string"!=typeof a||!a)return null;try{let b=JSON.parse(a),c=b?.client_request_id;return"string"==typeof c&&/^dreq_[A-Za-z0-9_-]{16,96}$/.test(c)?c:null}catch{return null}}(b.meta_json);c&&(a.add(c),(0,s.removeChatOutbox)(c,E))}f.tasks.length<b&&aq(!1),L(b=>(0,g.mergeTaskHistoryPage)(b,f.tasks,a))}return!0}catch{return!1}finally{clearTimeout(f)}},[a,E]),aP=(0,c.useCallback)(async a=>{let b=await aO(12,12e3,a);return Z(!b),X(!0),b},[aO]),aQ=(0,c.useCallback)(async()=>{X(!1),Z(!1);let a=await aO(12,1e4);a||(a=await aO(6,6e3)),Z(!a),X(!0)},[aO]);(0,c.useEffect)(()=>{L([]),X(!1),Z(!1),ao.current=!1,aT.current=!0,aI.current=!0,aJ.current=0,au(0),ay(null),aq(!0),aQ();let b=(0,s.chatOutboxForAlias)(a,E).map(a=>({task_id:a.localTaskId,client_request_id:a.requestId,from_name:"Dashboard",to_name:a.targetAlias,status:"failed",priority:a.priority,content:a.content,result:"❌ 发送结果未确认,点此安全重试",created_at:a.createdAt}));b.length>0&&L(a=>{let c=new Set(a.map(a=>a.task_id));return[...a,...b.filter(a=>!c.has(a.task_id))]}),setTimeout(()=>al.current?.focus(),300)},[a,aQ,E]);let aR=(0,c.useCallback)(async()=>{if(ar||!ap)return;let a=(0,g.oldestTaskHistoryCursor)(K);if(!a)return void aq(!1);as(!0);let b=am.current,c=b?.scrollHeight??0;an.current=!0;let d=await aP({task_id:a.task_id,created_at:a.created_at});requestAnimationFrame(()=>{d&&b&&(b.scrollTop+=b.scrollHeight-c),d||(an.current=!1),as(!1)})},[ar,ap,aP,K]),aS=(0,c.useCallback)(()=>{let a=am.current;if(!a)return;let b=a.scrollHeight-a.scrollTop-a.clientHeight;if(aI.current=b<80,aI.current&&au(0),!ao.current){b<80&&(ao.current=!0);return}a.scrollTop<40&&aR()},[aR]),aT=(0,c.useRef)(!0);(0,c.useEffect)(()=>{let a=K.reduce((a,b)=>a+(b.result?2:1),0),b=aJ.current;if(aJ.current=a,an.current){an.current=!1;return}if(0===K.length)return;if(!aT.current&&!aK.current&&!aI.current){a>b&&au(c=>c+(a-b));return}let c=aT.current?"auto":"smooth";aT.current=!1,aK.current=!1,ak.current?.scrollIntoView({behavior:c})},[K]);let aU=(0,c.useRef)(null),aV=(0,c.useRef)(0);(0,c.useEffect)(()=>()=>{aU.current&&clearTimeout(aU.current)},[]),(0,j.useSSE)({url:"/api/hub/events",enabled:!0,onEvent:async a=>{let b=a?.type||"";if("new_reply"===b&&a.in_reply_to&&U.has(a.in_reply_to)){try{let b=await fetch(`/api/hub/tasks?task_id=${encodeURIComponent(a.in_reply_to)}`),c=await b.json(),d=c?.tasks?.[0];if(!d)return;L(b=>b.map(b=>b.task_id===a.in_reply_to?{...b,...d}:b)),["replied","failed","closed","expired","cancelled"].includes(d.status)&&V(b=>{let c=new Set(b);return c.delete(a.in_reply_to),c})}catch{}return}["new_task","new_message","new_reply","broadcast"].includes(b)&&W&&B&&(aU.current&&clearTimeout(aU.current),aU.current=setTimeout(()=>{aV.current=Date.now(),aO(12,12e3)},Math.max(1500,6e3-(Date.now()-aV.current))))}});let aW=(0,c.useRef)(B);(0,c.useEffect)(()=>{if(!W||!B){aW.current=B;return}!aW.current&&(aO(12,12e3),aN.current||al.current?.focus()),aW.current=!0;let a=setInterval(()=>{"hidden"!==document.visibilityState&&aO(12,12e3)},15e3);return()=>clearInterval(a)},[W,B,aO]),(0,c.useEffect)(()=>{if(0===U.size)return;let a=Date.now(),b=setInterval(async()=>{if(Date.now()-a>36e5){V(new Set),clearInterval(b);return}for(let a of U)try{let b=await fetch(`/api/hub/tasks?task_id=${encodeURIComponent(a)}`),c=await b.json();if(c.tasks?.[0]){let b=c.tasks[0];L(c=>c.map(c=>c.task_id===a?{...c,...b}:c)),["replied","failed","closed","expired","cancelled"].includes(b.status)&&V(b=>{let c=new Set(b);return c.delete(a),c})}}catch{}},3e4);return()=>clearInterval(b)},[U]);let aX=async a=>{let b=[];for(let c of(a.length>0&&af({done:0,total:a.length}),a)){let d=new FormData;d.append("file",c);let e=await fetch("/api/hub/upload",{method:"POST",body:d}),f=await e.json().catch(()=>({ok:!1,message:`HTTP ${e.status}`}));if(!e.ok||!f.ok||!f.file_id){let b=f.message||f.error||`HTTP ${e.status}`;throw Error(a.length>1?`${c.name}: ${b}`:b)}b.push({file_id:f.file_id,name:c.name,mime:f.mime||c.type,size:f.size??c.size}),af({done:b.length,total:a.length})}return b},aY=async()=>{if(!M.trim()&&0===O.length||S)return;let b=M.trim(),c=a,d=b.match(/^@(\S+)\s+([\s\S]+)/);if(d){let a=ai.find(a=>a.toLowerCase()===d[1].toLowerCase());a&&(c=a,b=d[2])}T(!0),N(""),(0,o.writeDraft)(a,"",D),aK.current=!0,P([]),_(!1),al.current&&(al.current.style.height="auto");let e=O.length>0?`
4
+
5
+ [Dashboard 附件待上传]
6
+ ${O.map(a=>`- 附件: ${a.name}`).join("\n")}`:"",f=function(a=globalThis.crypto){if("function"==typeof a.randomUUID)return`dreq_${a.randomUUID().replace(/-/g,"")}`;let b=a.getRandomValues(new Uint8Array(16));return`dreq_${Array.from(b,a=>a.toString(16).padStart(2,"0")).join("")}`}(),g=`tmp-${f}`,h={task_id:g,from_name:"Dashboard",to_name:c,status:"created",priority:Q,content:`${b}${e}`.trim(),result:"",created_at:new Date().toISOString(),client_request_id:f};L(a=>[...a,h]),0===O.length&&(0,s.putChatOutbox)({requestId:f,localTaskId:g,panelAlias:a,targetAlias:c,content:b,priority:Q,networkId:aL.current[c]||D||"",createdAt:h.created_at},E);try{let a=await aX(O);if(a.length>0){let c=["","","[Dashboard 附件]",...a.map(a=>`- 附件: ${a.name}${null!=a.size?` (${t(a.size)})`:""}`)].join("\n");b=`${b}${c}`.trim(),L(a=>a.map(a=>a.task_id===g?{...a,content:b}:a))}await aZ(b,c,g,a,f)}catch(b){let a=b instanceof Error?b.message:String(b);O.length>0&&a$.current.set(g,O),L(b=>b.map(b=>b.task_id===g?{...b,status:"failed",result:`❌ ${a}`}:b))}T(!1),af(null),al.current?.focus()},aZ=async(a,b,c,d=[],e)=>{try{let f=await fetch("/api/hub/send",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({alias:b,task:a,priority:Q,attachments:d,...e?{request_id:e}:{},...aL.current[b]||D?{network_id:aL.current[b]||D}:{}})}),g=await f.json().catch(()=>({ok:!1,error:`HTTP ${f.status}`})),h=function(a){if(!a||"object"!=typeof a)return{accepted:!1};let b="string"==typeof a.message_id&&a.message_id?a.message_id:void 0;return b&&(!0===a.ok||!0===a.queued)?{accepted:!0,messageId:b,status:!0===a.queued?"queued":"string"==typeof a.task_status&&a.task_status?a.task_status:"delivered"}:{accepted:!1}}(g);if(h.accepted&&h.messageId)L(a=>a.map(a=>a.task_id===c?{...a,task_id:h.messageId,status:h.status}:a)),V(a=>new Set(a).add(h.messageId)),e&&(0,s.removeChatOutbox)(e,E);else{let a=g.error||g.detail||`send failed (status ${f.status})`;L(b=>b.map(b=>b.task_id===c?{...b,status:"failed",result:`❌ ${a}`}:b))}}catch(b){let a=b instanceof Error?b.message:String(b);L(b=>b.map(b=>b.task_id===c?{...b,status:"failed",result:`❌ ${a}`}:b))}},a$=(0,c.useRef)(new Map),a_=(0,c.useRef)(new Set),a0=async a=>{if(a_.current.has(a.task_id))return;a_.current.add(a.task_id);let b=a$.current.get(a.task_id)||[],c=a.content.replace(/\n*\[Dashboard 附件待上传\][\s\S]*$/,"").trim();L(b=>b.map(b=>b.task_id===a.task_id?{...b,status:"created",result:""}:b));try{let d=c,e=[];b.length>0&&(e=await aX(b)).length>0&&(d=`${d}
7
+
8
+ [Dashboard 附件]
9
+ ${e.map(a=>`- 附件: ${a.name}${null!=a.size?` (${t(a.size)})`:""}`).join("\n")}`.trim(),L(b=>b.map(b=>b.task_id===a.task_id?{...b,content:d}:b))),await aZ(d,a.to_name,a.task_id,e,a.client_request_id),a$.current.delete(a.task_id)}catch(c){let b=c instanceof Error?c.message:String(c);L(c=>c.map(c=>c.task_id===a.task_id?{...c,status:"failed",result:`❌ ${b}`}:c))}finally{a_.current.delete(a.task_id),af(null)}},a1=a=>{let b=Array.from(a);0!==b.length&&(O.length+b.length>6&&(ad(!0),setTimeout(()=>ad(!1),3e3)),P(a=>[...a,...b].slice(0,6)))},a2=a=>{let b=M.lastIndexOf("@"),c=M.slice(0,b);N(`${c}@${a} `),_(!1),al.current?.focus()},a3=ai.filter(b=>b!==a&&(0,p.pinyinMatch)(b,ag)).slice(0,8),a4=a=>{a.style.height="auto",a.style.height=Math.min(a.scrollHeight,150)+"px"},a5=K.flatMap(a=>{let b=[{kind:"task",task:a,at:a.created_at}];return a.result&&"failed"!==a.status&&b.push({kind:"reply",task:a,at:a.completed_at||a.created_at}),b}).sort((a,b)=>{let c=u(a.at)-u(b.at);return 0!==c?c:a.task.task_id!==b.task.task_id?a.task.task_id.localeCompare(b.task.task_id):"task"===a.kind?-1:1}),a6=aB.trim().toLowerCase(),a7=a6?a5.filter(a=>(("reply"===a.kind?a.task.result:a.task.content)||"").toLowerCase().includes(a6)).map(a=>`${a.task.task_id}:${a.kind}`):[],a8=a7.length?a7[Math.min(aD,a7.length-1)]:null;(0,c.useEffect)(()=>{aE(Math.max(0,a7.length-1))},[a6]),(0,c.useEffect)(()=>{if(!a8)return;let a=am.current?.querySelector(`[data-ev="${CSS.escape(a8)}"]`);a?.scrollIntoView({block:"center",behavior:"smooth"})},[a8]);let a9=a=>{a7.length&&aE(b=>(b+a+a7.length)%a7.length)},ba=()=>{aA(!1),aC("")},bb=(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("div",{ref:am,onScroll:aS,"data-testid":"chat-messages-scroll",className:"flex-1 overflow-y-auto px-3 py-3 sm:px-4 sm:py-4 space-y-2 sm:space-y-4",children:[az?(0,b.jsxs)("div",{className:"sticky top-0 z-20 -mx-1 flex items-center gap-2 rounded-lg border border-[var(--border)] bg-[var(--bg-elevated)]/95 px-2 py-1.5 shadow-lg shadow-black/30 backdrop-blur",children:[(0,b.jsx)("input",{ref:aF,value:aB,onChange:a=>aC(a.target.value),onKeyDown:a=>{"Escape"===a.key?(a.stopPropagation(),ba()):"Enter"===a.key&&a.shiftKey?(a.preventDefault(),a9(1)):"Enter"===a.key&&(a.preventDefault(),a9(-1))},placeholder:(0,r.t)("搜索会话…","Search conversation…"),className:"min-w-0 flex-1 bg-transparent text-xs text-[var(--fg)] placeholder-[var(--fg-dim)] focus:outline-none"}),(0,b.jsx)("span",{className:"shrink-0 text-[10px] tabular-nums text-[var(--fg-dim)]",children:a7.length?`${Math.min(aD,a7.length-1)+1}/${a7.length}`:aB.trim()?(0,r.t)("0 条","0 found"):(0,r.t)(`${a5.length} 条内`,`in ${a5.length}`)}),(0,b.jsx)("button",{type:"button",onClick:()=>a9(-1),"aria-label":(0,r.t)("上一条(更早)","Previous (older)"),className:"shrink-0 rounded px-1 text-[var(--fg-dim)] hover:text-cyan-300",children:"↑"}),(0,b.jsx)("button",{type:"button",onClick:()=>a9(1),"aria-label":(0,r.t)("下一条(更新)","Next (newer)"),className:"shrink-0 rounded px-1 text-[var(--fg-dim)] hover:text-cyan-300",children:"↓"}),(0,b.jsx)("button",{type:"button",onClick:ba,"aria-label":(0,r.t)("关闭搜索","Close search"),className:"shrink-0 rounded px-1 text-[var(--fg-dim)] hover:text-[var(--fg)]",children:"×"})]}):(0,b.jsx)("div",{className:"sticky top-0 z-20 flex justify-end pointer-events-none -mb-8",children:(0,b.jsx)("button",{type:"button",onClick:()=>{aA(!0),setTimeout(()=>aF.current?.focus(),50)},"aria-label":(0,r.t)("搜索会话","Search conversation"),className:"pointer-events-auto inline-flex min-h-[40px] min-w-[40px] items-center justify-center rounded-full border border-[var(--border)] bg-[var(--bg-elevated)]/80 text-[var(--fg-dim)] shadow hover:text-cyan-300 sm:min-h-0 sm:min-w-0 sm:p-1.5",children:(0,b.jsx)("svg",{className:"h-3.5 w-3.5",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:2,children:(0,b.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M21 21l-4.35-4.35M17 11a6 6 0 11-12 0 6 6 0 0112 0z"})})})}),!W&&(0,b.jsx)("div",{className:"flex justify-center py-8",children:(0,b.jsx)("div",{className:"w-5 h-5 border-2 border-cyan-500/30 border-t-cyan-500 rounded-full animate-spin"})}),W&&ap&&K.length>0&&(0,b.jsx)("button",{type:"button",onClick:aR,className:"w-full flex justify-center py-2 text-[11px] text-[var(--fg-dim)] hover:text-[var(--fg-muted)]",children:ar?(0,b.jsx)("span",{className:"w-4 h-4 border-2 border-cyan-500/30 border-t-cyan-500 rounded-full animate-spin"}):(0,b.jsx)("span",{children:"↑ Load earlier messages"})}),W&&!ap&&K.length>0&&(0,b.jsx)("div",{className:"text-center text-[10px] text-[var(--fg-dim)] py-1",children:"— beginning of history —"}),W&&!Y&&0===K.length&&(0,b.jsxs)("div",{className:"text-center py-12",children:[(0,b.jsx)("div",{className:"text-3xl mb-3",children:"💬"}),(0,b.jsx)("div",{className:"text-[var(--fg-muted)] text-sm",children:"Start a conversation"}),(0,b.jsxs)("div",{className:"text-[var(--fg-dim)] text-xs mt-1",children:["Send a task to ",a]})]}),W&&Y&&0===K.length&&(0,b.jsxs)("div",{className:"text-center py-12",children:[(0,b.jsx)("div",{className:"text-[var(--fg-muted)] text-sm",children:"连接较慢,暂未加载出历史"}),(0,b.jsxs)("div",{className:"text-[var(--fg-dim)] text-xs mt-1",children:["你仍可在下方直接给 ",a," 发消息"]}),(0,b.jsx)("button",{type:"button",onClick:()=>aQ(),className:"mt-3 text-xs text-cyan-400 hover:text-cyan-300 underline",children:"重试加载历史"})]}),a5.map((a,f)=>{let g=a.task,h=f>0?a5[f-1].at:null,i=!h||u(a.at)-u(h)>3e5?(0,b.jsx)("div",{className:"flex justify-center py-1.5",children:(0,b.jsx)("span",{className:"text-[10px] text-[var(--fg-dim)] bg-[var(--bg-elevated)] rounded px-2 py-0.5",children:(0,q.formatWeChatTime)(a.at)})}):null,j=!g.from_name||"Dashboard"===g.from_name||"api"===g.from_name||"hub"===g.from_name,k=j?"You":g.from_name,l=j?null:(0,b.jsxs)("span",{className:"inline-flex items-center gap-1 px-1.5 py-0.5 rounded bg-purple-500/15 border border-purple-500/30 text-[9px] text-purple-300 font-medium",children:["↳ ",g.from_name]});return"reply"===a.kind?(0,b.jsxs)(c.Fragment,{children:[i,(0,b.jsx)("div",{className:"flex justify-start","data-ev":`${g.task_id}:reply`,children:(0,b.jsxs)("div",{title:a.at,className:`group/bubble max-w-[92%] sm:max-w-[min(85%,56ch)] bg-green-500/8 border border-green-500/15 rounded-2xl rounded-bl-md px-3 py-2.5 sm:px-4 shadow-sm ${a8===`${g.task_id}:reply`?"ring-2 ring-yellow-400/60":""}`,children:[(0,b.jsxs)("div",{className:"flex items-center justify-between gap-2 mb-2",children:[(0,b.jsxs)("div",{className:"flex items-center gap-1.5 min-w-0",children:[g.to_name&&(0,b.jsx)(d.AliasAvatar,{alias:g.to_name,size:14}),(0,b.jsx)("span",{className:"text-[10px] text-[var(--fg)] font-medium truncate",children:g.to_name}),(0,b.jsx)("span",{className:"text-[9px] text-green-300/70",children:"replied"})]}),(0,b.jsx)(v,{text:g.result||"",label:(0,r.t)("复制回复","Copy reply")})]}),(0,b.jsxs)("div",{className:"mb-2 rounded-lg border-l-2 border-cyan-400/40 bg-black/20 px-2.5 py-1.5",children:[(0,b.jsxs)("div",{className:"text-[9px] text-cyan-300/80",children:["引用 ",k," 的任务 · ",function(a){if(!a)return"--";let b=new Date(a.replace(" ","T")+(a.includes("T")?"":"Z"));return Number.isNaN(b.getTime())?a:b.toLocaleString(void 0,{month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit"})}(g.created_at)]}),(0,b.jsx)("div",{className:"mt-0.5 max-h-10 overflow-hidden text-[11px] leading-5 text-[var(--fg-muted)]",children:function(a,b=140){let c=(a||"").replace(/\[Dashboard 附件[\s\S]*$/m,"[附件]").replace(/\s+/g," ").trim();return c.length>b?`${c.slice(0,b)}…`:c}(g.content)||"No content"})]}),(0,b.jsxs)("div",{className:"text-[14px] leading-[1.65] text-[var(--fg)]",children:[(0,b.jsx)(I,{children:(0,b.jsx)(H,{text:g.result,onImageClick:aH})}),(0,b.jsx)(y,{text:g.result,onOpen:aH}),(0,e.extractAttachments)(g).map((a,c)=>(0,b.jsx)(e.AttachmentBlock,{attachment:a},`att-r-${a.file_id??a.path??c}`))]})]})})]},`${g.task_id}:reply`):(0,b.jsxs)(c.Fragment,{children:[i,(0,b.jsxs)("div",{className:"space-y-1.5 sm:space-y-2",children:[(0,b.jsxs)("div",{className:"flex items-center justify-end gap-1.5","data-ev":`${g.task_id}:task`,children:["failed"===g.status&&j&&(0,b.jsx)("button",{type:"button",onClick:()=>ay(a=>a===g.task_id?null:g.task_id),title:(g.result||"").replace(/^❌\s*/,"")||(0,r.t)("发送失败","Send failed"),"aria-label":(0,r.t)("发送失败,点击查看原因","Send failed — tap for reason"),"aria-expanded":ax===g.task_id,className:"flex h-[18px] w-[18px] shrink-0 items-center justify-center rounded-full bg-red-500 text-[11px] font-bold leading-none text-white",children:"!"}),(0,b.jsxs)("div",{title:g.created_at,className:`group/bubble max-w-[92%] sm:max-w-[min(85%,56ch)] bg-cyan-500/8 border border-cyan-500/15 rounded-2xl rounded-br-md px-3 py-2.5 sm:px-4 shadow-sm ${a8===`${g.task_id}:task`?"ring-2 ring-yellow-400/60":""}`,children:[(0,b.jsxs)("div",{className:"flex items-center gap-2 mb-1",children:[(0,b.jsx)("span",{className:`text-[10px] font-medium ${j?"text-cyan-400":"text-purple-300"}`,children:k}),!j&&(0,b.jsxs)("span",{className:"text-[9px] text-[var(--fg-dim)]",children:["forwarded to ",g.to_name]}),(0,b.jsx)("span",{className:"flex-1"}),(0,b.jsx)(v,{text:g.content||"",label:(0,r.t)("复制内容","Copy message")})]}),(0,b.jsxs)("div",{className:"text-[14px] leading-[1.65] text-[var(--fg)]",children:[(0,b.jsx)(I,{children:(0,b.jsx)(H,{text:g.content,onImageClick:aH})}),(0,b.jsx)(y,{text:g.content,onOpen:aH}),(0,e.extractAttachments)(g).map((a,c)=>(0,b.jsx)(e.AttachmentBlock,{attachment:a},`att-t-${a.file_id??a.path??c}`))]}),(0,b.jsxs)("div",{className:"flex flex-wrap items-center justify-between mt-1.5 gap-2 sm:gap-3",children:[(0,b.jsx)(C,{status:g.status,result:g.result}),(0,b.jsxs)("div",{className:"flex items-center gap-2 shrink-0",children:[g.task_id.startsWith("tmp-")&&"failed"!==g.status&&(0,b.jsx)("span",{"aria-label":(0,r.t)("发送中","Sending"),className:"inline-block h-3 w-3 animate-spin rounded-full border-2 border-cyan-500/30 border-t-cyan-400"}),"failed"===g.status&&j&&(0,b.jsxs)("button",{type:"button",onClick:()=>a0(g),className:"inline-flex items-center gap-1 rounded-md border border-red-500/40 bg-red-500/10 px-1.5 py-0.5 text-[10px] font-medium text-red-300 hover:bg-red-500/20",children:[(0,b.jsx)("span",{"aria-hidden":!0,children:"↻"})," ",(0,r.t)("重发","Resend")]}),l]})]})]})]}),"failed"===g.status&&ax===g.task_id&&(0,b.jsx)("div",{className:"flex justify-end",children:(0,b.jsx)("div",{className:"max-w-[92%] rounded-lg border border-red-500/30 bg-red-500/10 px-2.5 py-1.5 text-[11px] leading-5 text-red-300",children:(g.result||"").replace(/^❌\s*/,"")||(0,r.t)("发送失败","Send failed")})}),"running"===g.status&&!g.result&&(0,b.jsx)("div",{className:"flex justify-start",children:(0,b.jsx)("div",{className:"bg-[var(--bg-secondary)] border border-[var(--border)] rounded-2xl rounded-bl-md px-4 py-3",children:(0,b.jsxs)("div",{className:"flex gap-1",children:[(0,b.jsx)("span",{className:"w-2 h-2 rounded-full bg-gray-500 animate-bounce",style:{animationDelay:"0s"}}),(0,b.jsx)("span",{className:"w-2 h-2 rounded-full bg-gray-500 animate-bounce",style:{animationDelay:"0.15s"}}),(0,b.jsx)("span",{className:"w-2 h-2 rounded-full bg-gray-500 animate-bounce",style:{animationDelay:"0.3s"}})]})})})]})]},`${g.task_id}:task`)}),(0,b.jsx)("div",{ref:ak}),at>0&&(0,b.jsx)("div",{className:"sticky bottom-1 z-10 flex justify-center pointer-events-none",children:(0,b.jsxs)("button",{type:"button",onClick:()=>{au(0),aI.current=!0,ak.current?.scrollIntoView({behavior:"smooth"})},className:"pointer-events-auto flex items-center gap-1 rounded-full border border-cyan-500/30 bg-[var(--bg-elevated)] px-3 py-1 text-[11px] text-cyan-300 shadow-lg shadow-black/40 hover:bg-cyan-500/10",children:["↓ ",(0,r.t)(`${at} 条新消息`,`${at} new message${at>1?"s":""}`)]})})]}),(0,b.jsxs)("div",{className:"border-t border-[var(--border)] bg-[var(--bg-secondary)] px-3 py-3 pb-[calc(0.75rem+env(safe-area-inset-bottom))] sm:px-4",children:[(0,b.jsxs)("div",{className:"flex items-end gap-2",children:[(0,b.jsxs)("div",{className:"flex-1 relative",children:[$&&a3.length>0&&(0,b.jsx)("div",{className:"absolute bottom-full left-0 right-0 mb-1 bg-[var(--bg-secondary)] border border-[var(--border)] rounded-lg shadow-xl shadow-black/50 overflow-hidden z-10 max-h-48 overflow-y-auto",children:a3.map((a,c)=>(0,b.jsxs)("button",{onClick:()=>a2(a),onMouseEnter:()=>ab(c),"aria-selected":c===aa,className:`w-full flex items-center gap-2 px-3 py-2 text-xs text-left transition-colors ${c===aa?"bg-cyan-500/10":"hover:bg-cyan-500/10"}`,children:[(0,b.jsx)(d.AliasAvatar,{alias:a,size:16}),(0,b.jsx)("span",{className:"text-[var(--fg-muted)]",children:a})]},a))}),(0,b.jsx)("textarea",{ref:al,value:M,onChange:a=>{(a=>{N(a);let b=a.lastIndexOf("@");if(b>=0&&(0===b||" "===a[b-1]||"\n"===a[b-1])){let c=a.slice(b+1);if(!c.includes(" ")&&!c.includes("\n")){ah(c.toLowerCase()),ab(0),_(!0);return}}_(!1)})(a.target.value),a4(a.target)},onKeyDown:a=>{if($&&a3.length>0){if("ArrowDown"===a.key){a.preventDefault(),ab(a=>(a+1)%a3.length);return}if("ArrowUp"===a.key){a.preventDefault(),ab(a=>(a-1+a3.length)%a3.length);return}if("Enter"===a.key||"Tab"===a.key){a.nativeEvent.isComposing||(a.preventDefault(),a2(a3[Math.min(aa,a3.length-1)]));return}}if("Enter"===a.key&&!a.shiftKey&&!a.nativeEvent.isComposing){if(aN.current)return;a.preventDefault(),aY()}"Escape"===a.key&&_(!1)},onPaste:a=>{let b=Array.from(a.clipboardData.files||[]);b.length>0&&(a1(b),a.preventDefault())},placeholder:`Message ${a}...`,rows:1,className:"w-full bg-[var(--bg-secondary)] border border-[var(--border)] rounded-xl px-3 py-2.5 pr-24 text-base sm:px-4 sm:text-sm text-[var(--fg)] placeholder-[var(--fg-dim)] focus:border-cyan-500/40 focus:outline-none resize-none transition-colors"}),(0,b.jsxs)("div",{className:"absolute right-2 bottom-1.5 flex items-center gap-1",children:[(0,b.jsxs)("label",{className:"inline-flex min-h-[44px] min-w-[44px] -my-3 -mx-1.5 items-center justify-center sm:min-h-0 sm:min-w-0 sm:m-0 sm:p-1 text-[var(--fg-dim)] hover:text-cyan-300 cursor-pointer rounded hover:bg-cyan-500/10",title:(0,r.t)("附加文件","Attach file"),children:[(0,b.jsx)("input",{type:"file",multiple:!0,className:"hidden",onChange:a=>{a.target.files&&a1(a.target.files),a.currentTarget.value=""}}),(0,b.jsx)("svg",{className:"w-3.5 h-3.5",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:2,children:(0,b.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M16.5 6.5l-7.78 7.78a3 3 0 104.24 4.24l8.49-8.49a5 5 0 00-7.07-7.07L5.89 11.45a7 7 0 109.9 9.9l7.07-7.07"})})]}),(0,b.jsxs)("select",{value:Q,onChange:a=>R(a.target.value),className:"bg-transparent text-[9px] text-[var(--fg-dim)] focus:outline-none cursor-pointer",children:[(0,b.jsx)("option",{value:"normal",children:"N"}),(0,b.jsx)("option",{value:"high",children:"H"}),(0,b.jsx)("option",{value:"low",children:"L"})]})]})]}),(0,b.jsx)("button",{onClick:aY,"aria-label":"Send message",disabled:S||!M.trim()&&0===O.length,className:"inline-flex min-h-[44px] min-w-[44px] items-center justify-center bg-cyan-600 hover:bg-cyan-500 disabled:bg-[var(--border)] disabled:text-[var(--fg-dim)] text-[var(--fg)] rounded-xl transition-all shrink-0 active:scale-95",children:S?(0,b.jsx)("div",{className:"w-5 h-5 border-2 border-white/30 border-t-white rounded-full animate-spin"}):(0,b.jsx)("svg",{className:"w-5 h-5",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:2,children:(0,b.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M6 12L3.269 3.126A59.768 59.768 0 0121.485 12 59.77 59.77 0 013.27 20.876L5.999 12zm0 0h7.5"})})})]}),ae&&(0,b.jsxs)("div",{className:"mt-1 flex items-center gap-1.5 text-[10px] text-cyan-300",role:"status",children:[(0,b.jsx)("span",{className:"inline-block h-2.5 w-2.5 animate-spin rounded-full border-2 border-cyan-500/30 border-t-cyan-400"}),(0,r.t)(`上传附件 ${ae.done}/${ae.total}…`,`Uploading ${ae.done}/${ae.total}…`)]}),ac&&(0,b.jsx)("div",{className:"mt-1 text-[10px] text-amber-400",role:"status",children:(0,r.t)("最多同时附带 6 个附件","Up to 6 attachments at a time")}),O.length>0&&(0,b.jsx)("div",{className:"mt-2 flex flex-wrap gap-2",children:O.map((a,c)=>(0,b.jsx)(z,{file:a,onRemove:()=>P(a=>a.filter((a,b)=>b!==c))},`${a.name}-${a.size}-${c}`))}),(0,b.jsxs)("div",{className:"hidden sm:flex justify-between text-[9px] text-[var(--fg-dim)] mt-1.5",children:[(0,b.jsx)("span",{children:M.includes("@")?`Sending to: ${a}`:"Type @ to mention another node"}),(0,b.jsx)("span",{children:"Enter to send · paste image"})]})]}),av&&(0,b.jsx)(x,{urls:av.urls,initialIndex:av.idx,opener:aG.current,onClose:()=>aw(null)})]});return i?(0,b.jsx)("div",{className:"flex flex-col h-full",children:bb}):(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("div",{className:"fixed inset-0 bg-black/30 z-40 lg:hidden anet-fade-in",onClick:h}),(0,b.jsxs)("div",{className:"fixed top-0 right-0 h-[100dvh] w-full lg:w-[640px] xl:w-[760px] 2xl:w-[860px] bg-[var(--bg)] border-l border-[var(--border)] z-50 flex flex-col shadow-2xl shadow-black/60 animate-slide-in",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between px-4 py-3 border-b border-[var(--border)] bg-[var(--bg-secondary)]",children:[(0,b.jsxs)("div",{className:"flex items-center gap-3",children:[(0,b.jsx)(d.AliasAvatar,{alias:a,size:32}),(0,b.jsxs)("div",{children:[(0,b.jsxs)("div",{className:"flex items-center gap-1.5 text-sm font-semibold text-[var(--fg)]",children:[(0,b.jsx)("span",{children:a}),G&&(0,b.jsx)("svg",{"aria-label":(0,r.t)("已开启免打扰","Muted"),role:"img",className:"h-3.5 w-3.5 text-[var(--fg-dim)]",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:1.8,children:(0,b.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M9.88 4.12A6 6 0 0118 9v3.6l1.5 2.4H12M6.3 6.3A5.98 5.98 0 006 9v3.6L4.5 15H13M10 19a2 2 0 004 0M3 3l18 18"})})]}),(0,b.jsxs)("div",{className:"flex items-center gap-1.5 text-[10px] text-[var(--fg-muted)]",children:[null!==J&&(0,b.jsx)("span",{"aria-hidden":!0,className:`inline-block h-1.5 w-1.5 rounded-full ${J?"bg-green-400":"bg-gray-600"}`}),(0,b.jsx)("span",{children:U.size>0?(0,r.t)("处理中…","Processing…"):null===J?"Ready":J?(0,r.t)("在线","Online"):(0,r.t)("离线","Offline")})]})]})]}),(0,b.jsx)("button",{onClick:h,"aria-label":"Close chat",className:"inline-flex min-h-[44px] min-w-[44px] items-center justify-center text-[var(--fg-muted)] hover:text-[var(--fg)] rounded-lg hover:bg-[var(--bg-elevated)]",children:(0,b.jsx)("svg",{className:"w-5 h-5",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:2,children:(0,b.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M6 18L18 6M6 6l12 12"})})})]}),bb]})]})}],15261)},78287,a=>{"use strict";var b=a.i(72131);a.i(5537);let c="anet-chat-draft-updated";function d(a,b){return""}function e(a){return window.addEventListener(c,a),window.addEventListener("storage",a),()=>{window.removeEventListener(c,a),window.removeEventListener("storage",a)}}a.s(["readDraft",0,d,"useHasDraft",0,function(a){return(0,b.useSyncExternalStore)(e,()=>!!a&&!!d(a),()=>!1)},"writeDraft",0,function(a,b,c){}])},68957,58224,a=>{"use strict";function b(a){let b=Date.parse(a.includes("T")?a:`${a.replace(" ","T")}Z`);return Number.isFinite(b)?b:0}a.s(["buildTaskHistoryUrl",0,function(a,b,c){let d=new URLSearchParams({to_name:a,limit:String(b)});return c&&(d.set("before",c.created_at),d.set("before_task_id",c.task_id)),`/api/hub/tasks?${d.toString()}`},"mergeTaskHistoryPage",0,function(a,c,d=new Set){let e=new Set(c.map(a=>a.task_id));return[...c,...a.filter(a=>!e.has(a.task_id)&&(!a.client_request_id||!d.has(a.client_request_id)))].sort((a,c)=>b(a.created_at)-b(c.created_at)||a.task_id.localeCompare(c.task_id))},"oldestTaskHistoryCursor",0,function(a){let b=a.find(a=>a.task_id&&!a.task_id.startsWith("tmp-")&&!a.client_request_id&&a.created_at);return b?{task_id:b.task_id,created_at:b.created_at}:null}],68957);var c=a.i(72131);let d=new Map;function e(a){for(let b of a.subscribers)b.onStatus(a.connected,a.supported)}a.s(["useSSE",0,function({url:a,onEvent:b,reconnectDelay:f=3e3,enabled:g=!0}){let[h,i]=(0,c.useState)(!1),[j,k]=(0,c.useState)(null),[l,m]=(0,c.useState)(null),n=(0,c.useRef)(b);(0,c.useEffect)(()=>{n.current=b},[b]),(0,c.useEffect)(()=>{if(!g||!a)return;let b=d.get(a);b||(b={es:null,probeAbort:null,reconnectTimer:null,unsupported:!1,connected:!1,supported:null,reconnectDelay:f,subscribers:new Set},d.set(a,b));let c={onEvent:a=>{k(a),n.current?.(a)},onStatus:(a,b)=>{i(a),m(b)}};return b.subscribers.add(c),i(b.connected),m(b.supported),b.es||b.probeAbort||b.unsupported||function a(b){let c=d.get(b);if(!c||c.unsupported||0===c.subscribers.size)return;c.es&&(c.es.close(),c.es=null),c.probeAbort&&c.probeAbort.abort();let f=b.includes("?")?`${b}&probe=1`:`${b}?probe=1`,g=new AbortController;c.probeAbort=g;let h=setTimeout(()=>g.abort(),5e3);fetch(f,{method:"HEAD",cache:"no-store",signal:g.signal}).finally(()=>clearTimeout(h)).then(d=>{if(0===c.subscribers.size)return;if("true"!==d.headers.get("x-anet-sse-available")){c.unsupported=!0,c.connected=!1,c.supported=!1,e(c);return}c.supported=!0;let f=new EventSource(b);c.es=f,f.onopen=()=>{c.connected=!0,e(c)},f.onmessage=a=>{try{let b=JSON.parse(a.data);for(let a of c.subscribers)a.onEvent?.(b)}catch{}},f.onerror=()=>{c.connected=!1,e(c),f.close(),c.es=null,c.subscribers.size>0&&(c.reconnectTimer=setTimeout(()=>a(b),c.reconnectDelay))}}).catch(()=>{0!==c.subscribers.size&&(c.connected=!1,c.supported=!1,e(c))})}(a),()=>{let b=d.get(a);if(b){let e;b.subscribers.delete(c),0===b.subscribers.size&&(e=d.get(a))&&(e.probeAbort&&(e.probeAbort.abort(),e.probeAbort=null),e.es&&(e.es.close(),e.es=null),e.reconnectTimer&&(clearTimeout(e.reconnectTimer),e.reconnectTimer=null),d.delete(a))}}},[a,g,f]);let o=g&&!!a;return{connected:!!o&&h,lastEvent:j,supported:o?l:!!g&&null}}],58224)}];
10
+
11
+ //# sourceMappingURL=app_1rma_8a._.js.map