@sleep2agi/agent-network-dashboard 0.5.6 → 0.5.7-preview.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1294) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/build-manifest.json +3 -3
  3. package/.next/cache/.previewinfo +1 -0
  4. package/.next/cache/.rscinfo +1 -0
  5. package/.next/cache/config.json +7 -0
  6. package/.next/diagnostics/route-bundle-stats.json +34 -34
  7. package/.next/fallback-build-manifest.json +3 -3
  8. package/.next/server/app/_global-error.html +1 -1
  9. package/.next/server/app/_global-error.rsc +1 -1
  10. package/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  11. package/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  12. package/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  13. package/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  14. package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  15. package/.next/server/app/_not-found/page.js +1 -1
  16. package/.next/server/app/_not-found/page.js.nft.json +1 -1
  17. package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  18. package/.next/server/app/_not-found.html +3 -3
  19. package/.next/server/app/_not-found.rsc +20 -18
  20. package/.next/server/app/_not-found.segments/_full.segment.rsc +20 -18
  21. package/.next/server/app/_not-found.segments/_head.segment.rsc +4 -4
  22. package/.next/server/app/_not-found.segments/_index.segment.rsc +9 -7
  23. package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +2 -2
  24. package/.next/server/app/_not-found.segments/_not-found.segment.rsc +3 -3
  25. package/.next/server/app/_not-found.segments/_tree.segment.rsc +3 -2
  26. package/.next/server/app/admin/page.js +1 -1
  27. package/.next/server/app/admin/page.js.nft.json +1 -1
  28. package/.next/server/app/admin/page_client-reference-manifest.js +1 -1
  29. package/.next/server/app/admin.html +3 -3
  30. package/.next/server/app/admin.rsc +24 -22
  31. package/.next/server/app/admin.segments/_full.segment.rsc +24 -22
  32. package/.next/server/app/admin.segments/_head.segment.rsc +4 -4
  33. package/.next/server/app/admin.segments/_index.segment.rsc +9 -7
  34. package/.next/server/app/admin.segments/_tree.segment.rsc +3 -2
  35. package/.next/server/app/admin.segments/admin/__PAGE__.segment.rsc +4 -4
  36. package/.next/server/app/admin.segments/admin.segment.rsc +3 -3
  37. package/.next/server/app/index.html +3 -3
  38. package/.next/server/app/index.rsc +22 -20
  39. package/.next/server/app/index.segments/__PAGE__.segment.rsc +4 -4
  40. package/.next/server/app/index.segments/_full.segment.rsc +22 -20
  41. package/.next/server/app/index.segments/_head.segment.rsc +4 -4
  42. package/.next/server/app/index.segments/_index.segment.rsc +9 -7
  43. package/.next/server/app/index.segments/_tree.segment.rsc +3 -2
  44. package/.next/server/app/login/page.js +1 -1
  45. package/.next/server/app/login/page.js.nft.json +1 -1
  46. package/.next/server/app/login/page_client-reference-manifest.js +1 -1
  47. package/.next/server/app/login.html +2 -2
  48. package/.next/server/app/login.rsc +24 -22
  49. package/.next/server/app/login.segments/_full.segment.rsc +24 -22
  50. package/.next/server/app/login.segments/_head.segment.rsc +4 -4
  51. package/.next/server/app/login.segments/_index.segment.rsc +9 -7
  52. package/.next/server/app/login.segments/_tree.segment.rsc +3 -2
  53. package/.next/server/app/login.segments/login/__PAGE__.segment.rsc +4 -4
  54. package/.next/server/app/login.segments/login.segment.rsc +3 -3
  55. package/.next/server/app/logs/page.js +1 -1
  56. package/.next/server/app/logs/page.js.nft.json +1 -1
  57. package/.next/server/app/logs/page_client-reference-manifest.js +1 -1
  58. package/.next/server/app/logs.html +3 -3
  59. package/.next/server/app/logs.rsc +24 -22
  60. package/.next/server/app/logs.segments/_full.segment.rsc +24 -22
  61. package/.next/server/app/logs.segments/_head.segment.rsc +4 -4
  62. package/.next/server/app/logs.segments/_index.segment.rsc +9 -7
  63. package/.next/server/app/logs.segments/_tree.segment.rsc +3 -2
  64. package/.next/server/app/logs.segments/logs/__PAGE__.segment.rsc +4 -4
  65. package/.next/server/app/logs.segments/logs.segment.rsc +3 -3
  66. package/.next/server/app/messages/page.js +1 -1
  67. package/.next/server/app/messages/page.js.nft.json +1 -1
  68. package/.next/server/app/messages/page_client-reference-manifest.js +1 -1
  69. package/.next/server/app/messages.html +3 -3
  70. package/.next/server/app/messages.rsc +24 -22
  71. package/.next/server/app/messages.segments/_full.segment.rsc +24 -22
  72. package/.next/server/app/messages.segments/_head.segment.rsc +4 -4
  73. package/.next/server/app/messages.segments/_index.segment.rsc +9 -7
  74. package/.next/server/app/messages.segments/_tree.segment.rsc +3 -2
  75. package/.next/server/app/messages.segments/messages/__PAGE__.segment.rsc +4 -4
  76. package/.next/server/app/messages.segments/messages.segment.rsc +3 -3
  77. package/.next/server/app/node/page.js +1 -1
  78. package/.next/server/app/node/page.js.nft.json +1 -1
  79. package/.next/server/app/node/page_client-reference-manifest.js +1 -1
  80. package/.next/server/app/node.html +3 -3
  81. package/.next/server/app/node.rsc +24 -22
  82. package/.next/server/app/node.segments/_full.segment.rsc +24 -22
  83. package/.next/server/app/node.segments/_head.segment.rsc +4 -4
  84. package/.next/server/app/node.segments/_index.segment.rsc +9 -7
  85. package/.next/server/app/node.segments/_tree.segment.rsc +3 -2
  86. package/.next/server/app/node.segments/node/__PAGE__.segment.rsc +4 -4
  87. package/.next/server/app/node.segments/node.segment.rsc +3 -3
  88. package/.next/server/app/nodes/page.js +1 -1
  89. package/.next/server/app/nodes/page.js.nft.json +1 -1
  90. package/.next/server/app/nodes/page_client-reference-manifest.js +1 -1
  91. package/.next/server/app/nodes.html +3 -3
  92. package/.next/server/app/nodes.rsc +24 -22
  93. package/.next/server/app/nodes.segments/_full.segment.rsc +24 -22
  94. package/.next/server/app/nodes.segments/_head.segment.rsc +4 -4
  95. package/.next/server/app/nodes.segments/_index.segment.rsc +9 -7
  96. package/.next/server/app/nodes.segments/_tree.segment.rsc +3 -2
  97. package/.next/server/app/nodes.segments/nodes/__PAGE__.segment.rsc +4 -4
  98. package/.next/server/app/nodes.segments/nodes.segment.rsc +3 -3
  99. package/.next/server/app/page.js +1 -1
  100. package/.next/server/app/page.js.nft.json +1 -1
  101. package/.next/server/app/page_client-reference-manifest.js +1 -1
  102. package/.next/server/app/server-logs/page.js +1 -1
  103. package/.next/server/app/server-logs/page.js.nft.json +1 -1
  104. package/.next/server/app/server-logs/page_client-reference-manifest.js +1 -1
  105. package/.next/server/app/server-logs.html +3 -3
  106. package/.next/server/app/server-logs.rsc +24 -22
  107. package/.next/server/app/server-logs.segments/_full.segment.rsc +24 -22
  108. package/.next/server/app/server-logs.segments/_head.segment.rsc +4 -4
  109. package/.next/server/app/server-logs.segments/_index.segment.rsc +9 -7
  110. package/.next/server/app/server-logs.segments/_tree.segment.rsc +3 -2
  111. package/.next/server/app/server-logs.segments/server-logs/__PAGE__.segment.rsc +4 -4
  112. package/.next/server/app/server-logs.segments/server-logs.segment.rsc +3 -3
  113. package/.next/server/app/servers/page.js +1 -1
  114. package/.next/server/app/servers/page.js.nft.json +1 -1
  115. package/.next/server/app/servers/page_client-reference-manifest.js +1 -1
  116. package/.next/server/app/servers.html +3 -3
  117. package/.next/server/app/servers.rsc +24 -22
  118. package/.next/server/app/servers.segments/_full.segment.rsc +24 -22
  119. package/.next/server/app/servers.segments/_head.segment.rsc +4 -4
  120. package/.next/server/app/servers.segments/_index.segment.rsc +9 -7
  121. package/.next/server/app/servers.segments/_tree.segment.rsc +3 -2
  122. package/.next/server/app/servers.segments/servers/__PAGE__.segment.rsc +4 -4
  123. package/.next/server/app/servers.segments/servers.segment.rsc +3 -3
  124. package/.next/server/app/settings/networks/page.js +1 -1
  125. package/.next/server/app/settings/networks/page.js.nft.json +1 -1
  126. package/.next/server/app/settings/networks/page_client-reference-manifest.js +1 -1
  127. package/.next/server/app/settings/networks.html +3 -3
  128. package/.next/server/app/settings/networks.rsc +24 -22
  129. package/.next/server/app/settings/networks.segments/_full.segment.rsc +24 -22
  130. package/.next/server/app/settings/networks.segments/_head.segment.rsc +4 -4
  131. package/.next/server/app/settings/networks.segments/_index.segment.rsc +9 -7
  132. package/.next/server/app/settings/networks.segments/_tree.segment.rsc +3 -2
  133. package/.next/server/app/settings/networks.segments/settings/networks/__PAGE__.segment.rsc +4 -4
  134. package/.next/server/app/settings/networks.segments/settings/networks.segment.rsc +3 -3
  135. package/.next/server/app/settings/networks.segments/settings.segment.rsc +3 -3
  136. package/.next/server/app/settings/page.js +1 -1
  137. package/.next/server/app/settings/page.js.nft.json +1 -1
  138. package/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  139. package/.next/server/app/settings/tokens/page.js +1 -1
  140. package/.next/server/app/settings/tokens/page.js.nft.json +1 -1
  141. package/.next/server/app/settings/tokens/page_client-reference-manifest.js +1 -1
  142. package/.next/server/app/settings/tokens.html +3 -3
  143. package/.next/server/app/settings/tokens.rsc +24 -22
  144. package/.next/server/app/settings/tokens.segments/_full.segment.rsc +24 -22
  145. package/.next/server/app/settings/tokens.segments/_head.segment.rsc +4 -4
  146. package/.next/server/app/settings/tokens.segments/_index.segment.rsc +9 -7
  147. package/.next/server/app/settings/tokens.segments/_tree.segment.rsc +3 -2
  148. package/.next/server/app/settings/tokens.segments/settings/tokens/__PAGE__.segment.rsc +4 -4
  149. package/.next/server/app/settings/tokens.segments/settings/tokens.segment.rsc +3 -3
  150. package/.next/server/app/settings/tokens.segments/settings.segment.rsc +3 -3
  151. package/.next/server/app/settings.html +3 -3
  152. package/.next/server/app/settings.rsc +24 -22
  153. package/.next/server/app/settings.segments/_full.segment.rsc +24 -22
  154. package/.next/server/app/settings.segments/_head.segment.rsc +4 -4
  155. package/.next/server/app/settings.segments/_index.segment.rsc +9 -7
  156. package/.next/server/app/settings.segments/_tree.segment.rsc +3 -2
  157. package/.next/server/app/settings.segments/settings/__PAGE__.segment.rsc +4 -4
  158. package/.next/server/app/settings.segments/settings.segment.rsc +3 -3
  159. package/.next/server/app/tasks/[id]/page.js +1 -1
  160. package/.next/server/app/tasks/[id]/page.js.nft.json +1 -1
  161. package/.next/server/app/tasks/[id]/page_client-reference-manifest.js +1 -1
  162. package/.next/server/app/tasks/page.js +1 -1
  163. package/.next/server/app/tasks/page.js.nft.json +1 -1
  164. package/.next/server/app/tasks/page_client-reference-manifest.js +1 -1
  165. package/.next/server/app/tasks.html +3 -3
  166. package/.next/server/app/tasks.rsc +24 -22
  167. package/.next/server/app/tasks.segments/_full.segment.rsc +24 -22
  168. package/.next/server/app/tasks.segments/_head.segment.rsc +4 -4
  169. package/.next/server/app/tasks.segments/_index.segment.rsc +9 -7
  170. package/.next/server/app/tasks.segments/_tree.segment.rsc +3 -2
  171. package/.next/server/app/tasks.segments/tasks/__PAGE__.segment.rsc +4 -4
  172. package/.next/server/app/tasks.segments/tasks.segment.rsc +3 -3
  173. package/.next/server/chunks/ssr/[root-of-the-server]__0lu1wok._.js +8 -0
  174. package/.next/server/chunks/ssr/[root-of-the-server]__0lu1wok._.js.map +1 -0
  175. package/.next/server/chunks/ssr/[root-of-the-server]__0nw~zhp._.js +1 -1
  176. package/.next/server/chunks/ssr/[root-of-the-server]__0nw~zhp._.js.map +1 -1
  177. package/.next/server/chunks/ssr/[root-of-the-server]__0sv~g.o._.js +1 -1
  178. package/.next/server/chunks/ssr/[root-of-the-server]__0sv~g.o._.js.map +1 -1
  179. package/.next/server/chunks/ssr/agent-network-dashboard_app_01jhlxz._.js +1 -1
  180. package/.next/server/chunks/ssr/agent-network-dashboard_app_01jhlxz._.js.map +1 -1
  181. package/.next/server/chunks/ssr/agent-network-dashboard_app_09d29my._.js +1 -1
  182. package/.next/server/chunks/ssr/agent-network-dashboard_app_09d29my._.js.map +1 -1
  183. package/.next/server/chunks/ssr/agent-network-dashboard_app_components_0s5uqlp._.js +9 -0
  184. package/.next/server/chunks/ssr/agent-network-dashboard_app_components_0s5uqlp._.js.map +1 -0
  185. package/.next/server/middleware-build-manifest.js +3 -3
  186. package/.next/server/pages/404.html +3 -3
  187. package/.next/server/pages/500.html +1 -1
  188. package/.next/static/chunks/0-g7_e.uxknwf.css +1 -0
  189. package/.next/static/chunks/0.cwhwqixared.js +1 -0
  190. package/.next/static/chunks/01ndw_9-741.o.js +1 -0
  191. package/.next/static/chunks/0imoc-x.2-ll7.js +1 -0
  192. package/.next/static/chunks/0uzchut_f9a6m.js +1 -0
  193. package/.next/static/chunks/15-ltfhot3b4n.js +7 -0
  194. package/.next/static/chunks/17sxlwlx5fhrp.css +1 -0
  195. package/.next/trace +2 -2
  196. package/.next/trace-build +1 -1
  197. package/.vercel/.env.development.local +2 -0
  198. package/.vercel/README.txt +11 -0
  199. package/.vercel/output/builds.json +24 -0
  200. package/.vercel/output/config.json +489 -0
  201. package/.vercel/output/diagnostics/build-diagnostics.json +6 -0
  202. package/.vercel/output/diagnostics/cli_traces.json +1 -0
  203. package/.vercel/output/diagnostics/framework.json +1 -0
  204. package/.vercel/output/diagnostics/route-bundle-stats.json +229 -0
  205. package/.vercel/output/diagnostics/trace +2 -0
  206. package/.vercel/output/diagnostics/trace-build +1 -0
  207. package/.vercel/output/diagnostics/turbopack +0 -0
  208. package/.vercel/output/functions/_global-error.prerender-config.json +38 -0
  209. package/.vercel/output/functions/_global-error.prerender-fallback.html +1 -0
  210. package/.vercel/output/functions/_global-error.rsc.func/.next/routes-manifest.json +1 -0
  211. package/.vercel/output/functions/_global-error.rsc.func/.next/server/app-paths-manifest.json +1 -0
  212. package/.vercel/output/functions/_global-error.rsc.func/.next/server/pages-manifest.json +1 -0
  213. package/.vercel/output/functions/_global-error.rsc.func/.vc-config.json +800 -0
  214. package/.vercel/output/functions/_global-error.rsc.func/___next_launcher.cjs +68 -0
  215. package/.vercel/output/functions/_global-error.rsc.prerender-config.json +38 -0
  216. package/.vercel/output/functions/_global-error.rsc.prerender-fallback.rsc +15 -0
  217. package/.vercel/output/functions/_global-error.segments/__PAGE__.segment.rsc.prerender-config.json +28 -0
  218. package/.vercel/output/functions/_global-error.segments/__PAGE__.segment.rsc.prerender-fallback.rsc +5 -0
  219. package/.vercel/output/functions/_global-error.segments/_full.segment.rsc.prerender-config.json +28 -0
  220. package/.vercel/output/functions/_global-error.segments/_full.segment.rsc.prerender-fallback.rsc +15 -0
  221. package/.vercel/output/functions/_global-error.segments/_head.segment.rsc.prerender-config.json +28 -0
  222. package/.vercel/output/functions/_global-error.segments/_head.segment.rsc.prerender-fallback.rsc +6 -0
  223. package/.vercel/output/functions/_global-error.segments/_index.segment.rsc.prerender-config.json +28 -0
  224. package/.vercel/output/functions/_global-error.segments/_index.segment.rsc.prerender-fallback.rsc +5 -0
  225. package/.vercel/output/functions/_global-error.segments/_tree.segment.rsc.prerender-config.json +28 -0
  226. package/.vercel/output/functions/_global-error.segments/_tree.segment.rsc.prerender-fallback.rsc +1 -0
  227. package/.vercel/output/functions/_middleware.func/.vc-config.json +107 -0
  228. package/.vercel/output/functions/_middleware.func/___next_launcher.cjs +135 -0
  229. package/.vercel/output/functions/_not-found.prerender-config.json +38 -0
  230. package/.vercel/output/functions/_not-found.prerender-fallback.html +12 -0
  231. package/.vercel/output/functions/_not-found.rsc.prerender-config.json +38 -0
  232. package/.vercel/output/functions/_not-found.rsc.prerender-fallback.rsc +19 -0
  233. package/.vercel/output/functions/_not-found.segments/_full.segment.rsc.prerender-config.json +28 -0
  234. package/.vercel/output/functions/_not-found.segments/_full.segment.rsc.prerender-fallback.rsc +19 -0
  235. package/.vercel/output/functions/_not-found.segments/_head.segment.rsc.prerender-config.json +28 -0
  236. package/.vercel/output/functions/_not-found.segments/_head.segment.rsc.prerender-fallback.rsc +6 -0
  237. package/.vercel/output/functions/_not-found.segments/_index.segment.rsc.prerender-config.json +28 -0
  238. package/.vercel/output/functions/_not-found.segments/_index.segment.rsc.prerender-fallback.rsc +8 -0
  239. package/.vercel/output/functions/_not-found.segments/_not-found/__PAGE__.segment.rsc.prerender-config.json +28 -0
  240. package/.vercel/output/functions/_not-found.segments/_not-found/__PAGE__.segment.rsc.prerender-fallback.rsc +5 -0
  241. package/.vercel/output/functions/_not-found.segments/_not-found.segment.rsc.prerender-config.json +28 -0
  242. package/.vercel/output/functions/_not-found.segments/_not-found.segment.rsc.prerender-fallback.rsc +5 -0
  243. package/.vercel/output/functions/_not-found.segments/_tree.segment.rsc.prerender-config.json +28 -0
  244. package/.vercel/output/functions/_not-found.segments/_tree.segment.rsc.prerender-fallback.rsc +2 -0
  245. package/.vercel/output/functions/admin.prerender-config.json +37 -0
  246. package/.vercel/output/functions/admin.prerender-fallback.html +12 -0
  247. package/.vercel/output/functions/admin.rsc.prerender-config.json +38 -0
  248. package/.vercel/output/functions/admin.rsc.prerender-fallback.rsc +24 -0
  249. package/.vercel/output/functions/admin.segments/_full.segment.rsc.prerender-config.json +28 -0
  250. package/.vercel/output/functions/admin.segments/_full.segment.rsc.prerender-fallback.rsc +24 -0
  251. package/.vercel/output/functions/admin.segments/_head.segment.rsc.prerender-config.json +28 -0
  252. package/.vercel/output/functions/admin.segments/_head.segment.rsc.prerender-fallback.rsc +6 -0
  253. package/.vercel/output/functions/admin.segments/_index.segment.rsc.prerender-config.json +28 -0
  254. package/.vercel/output/functions/admin.segments/_index.segment.rsc.prerender-fallback.rsc +8 -0
  255. package/.vercel/output/functions/admin.segments/_tree.segment.rsc.prerender-config.json +28 -0
  256. package/.vercel/output/functions/admin.segments/_tree.segment.rsc.prerender-fallback.rsc +3 -0
  257. package/.vercel/output/functions/admin.segments/admin/__PAGE__.segment.rsc.prerender-config.json +28 -0
  258. package/.vercel/output/functions/admin.segments/admin/__PAGE__.segment.rsc.prerender-fallback.rsc +9 -0
  259. package/.vercel/output/functions/admin.segments/admin.segment.rsc.prerender-config.json +28 -0
  260. package/.vercel/output/functions/admin.segments/admin.segment.rsc.prerender-fallback.rsc +5 -0
  261. package/.vercel/output/functions/api/anet/config.func/.next/routes-manifest.json +1 -0
  262. package/.vercel/output/functions/api/anet/config.func/.next/server/app-paths-manifest.json +1 -0
  263. package/.vercel/output/functions/api/anet/config.func/.next/server/pages-manifest.json +1 -0
  264. package/.vercel/output/functions/api/anet/config.func/.vc-config.json +818 -0
  265. package/.vercel/output/functions/api/anet/config.func/___next_launcher.cjs +68 -0
  266. package/.vercel/output/functions/favicon.ico.rsc.func/.next/routes-manifest.json +1 -0
  267. package/.vercel/output/functions/favicon.ico.rsc.func/.next/server/app-paths-manifest.json +1 -0
  268. package/.vercel/output/functions/favicon.ico.rsc.func/.next/server/pages-manifest.json +1 -0
  269. package/.vercel/output/functions/favicon.ico.rsc.func/.vc-config.json +711 -0
  270. package/.vercel/output/functions/favicon.ico.rsc.func/___next_launcher.cjs +68 -0
  271. package/.vercel/output/functions/index.prerender-config.json +38 -0
  272. package/.vercel/output/functions/index.prerender-fallback.html +12 -0
  273. package/.vercel/output/functions/index.rsc.prerender-config.json +38 -0
  274. package/.vercel/output/functions/index.rsc.prerender-fallback.rsc +22 -0
  275. package/.vercel/output/functions/index.segments/__PAGE__.segment.rsc.prerender-config.json +28 -0
  276. package/.vercel/output/functions/index.segments/__PAGE__.segment.rsc.prerender-fallback.rsc +9 -0
  277. package/.vercel/output/functions/index.segments/_full.segment.rsc.prerender-config.json +28 -0
  278. package/.vercel/output/functions/index.segments/_full.segment.rsc.prerender-fallback.rsc +22 -0
  279. package/.vercel/output/functions/index.segments/_head.segment.rsc.prerender-config.json +28 -0
  280. package/.vercel/output/functions/index.segments/_head.segment.rsc.prerender-fallback.rsc +6 -0
  281. package/.vercel/output/functions/index.segments/_index.segment.rsc.prerender-config.json +28 -0
  282. package/.vercel/output/functions/index.segments/_index.segment.rsc.prerender-fallback.rsc +8 -0
  283. package/.vercel/output/functions/index.segments/_tree.segment.rsc.prerender-config.json +28 -0
  284. package/.vercel/output/functions/index.segments/_tree.segment.rsc.prerender-fallback.rsc +3 -0
  285. package/.vercel/output/functions/login.prerender-config.json +37 -0
  286. package/.vercel/output/functions/login.prerender-fallback.html +6 -0
  287. package/.vercel/output/functions/login.rsc.prerender-config.json +38 -0
  288. package/.vercel/output/functions/login.rsc.prerender-fallback.rsc +24 -0
  289. package/.vercel/output/functions/login.segments/_full.segment.rsc.prerender-config.json +28 -0
  290. package/.vercel/output/functions/login.segments/_full.segment.rsc.prerender-fallback.rsc +24 -0
  291. package/.vercel/output/functions/login.segments/_head.segment.rsc.prerender-config.json +28 -0
  292. package/.vercel/output/functions/login.segments/_head.segment.rsc.prerender-fallback.rsc +6 -0
  293. package/.vercel/output/functions/login.segments/_index.segment.rsc.prerender-config.json +28 -0
  294. package/.vercel/output/functions/login.segments/_index.segment.rsc.prerender-fallback.rsc +8 -0
  295. package/.vercel/output/functions/login.segments/_tree.segment.rsc.prerender-config.json +28 -0
  296. package/.vercel/output/functions/login.segments/_tree.segment.rsc.prerender-fallback.rsc +3 -0
  297. package/.vercel/output/functions/login.segments/login/__PAGE__.segment.rsc.prerender-config.json +28 -0
  298. package/.vercel/output/functions/login.segments/login/__PAGE__.segment.rsc.prerender-fallback.rsc +9 -0
  299. package/.vercel/output/functions/login.segments/login.segment.rsc.prerender-config.json +28 -0
  300. package/.vercel/output/functions/login.segments/login.segment.rsc.prerender-fallback.rsc +5 -0
  301. package/.vercel/output/functions/logs.prerender-config.json +37 -0
  302. package/.vercel/output/functions/logs.prerender-fallback.html +12 -0
  303. package/.vercel/output/functions/logs.rsc.prerender-config.json +38 -0
  304. package/.vercel/output/functions/logs.rsc.prerender-fallback.rsc +24 -0
  305. package/.vercel/output/functions/logs.segments/_full.segment.rsc.prerender-config.json +28 -0
  306. package/.vercel/output/functions/logs.segments/_full.segment.rsc.prerender-fallback.rsc +24 -0
  307. package/.vercel/output/functions/logs.segments/_head.segment.rsc.prerender-config.json +28 -0
  308. package/.vercel/output/functions/logs.segments/_head.segment.rsc.prerender-fallback.rsc +6 -0
  309. package/.vercel/output/functions/logs.segments/_index.segment.rsc.prerender-config.json +28 -0
  310. package/.vercel/output/functions/logs.segments/_index.segment.rsc.prerender-fallback.rsc +8 -0
  311. package/.vercel/output/functions/logs.segments/_tree.segment.rsc.prerender-config.json +28 -0
  312. package/.vercel/output/functions/logs.segments/_tree.segment.rsc.prerender-fallback.rsc +3 -0
  313. package/.vercel/output/functions/logs.segments/logs/__PAGE__.segment.rsc.prerender-config.json +28 -0
  314. package/.vercel/output/functions/logs.segments/logs/__PAGE__.segment.rsc.prerender-fallback.rsc +9 -0
  315. package/.vercel/output/functions/logs.segments/logs.segment.rsc.prerender-config.json +28 -0
  316. package/.vercel/output/functions/logs.segments/logs.segment.rsc.prerender-fallback.rsc +5 -0
  317. package/.vercel/output/functions/messages.prerender-config.json +37 -0
  318. package/.vercel/output/functions/messages.prerender-fallback.html +12 -0
  319. package/.vercel/output/functions/messages.rsc.prerender-config.json +38 -0
  320. package/.vercel/output/functions/messages.rsc.prerender-fallback.rsc +24 -0
  321. package/.vercel/output/functions/messages.segments/_full.segment.rsc.prerender-config.json +28 -0
  322. package/.vercel/output/functions/messages.segments/_full.segment.rsc.prerender-fallback.rsc +24 -0
  323. package/.vercel/output/functions/messages.segments/_head.segment.rsc.prerender-config.json +28 -0
  324. package/.vercel/output/functions/messages.segments/_head.segment.rsc.prerender-fallback.rsc +6 -0
  325. package/.vercel/output/functions/messages.segments/_index.segment.rsc.prerender-config.json +28 -0
  326. package/.vercel/output/functions/messages.segments/_index.segment.rsc.prerender-fallback.rsc +8 -0
  327. package/.vercel/output/functions/messages.segments/_tree.segment.rsc.prerender-config.json +28 -0
  328. package/.vercel/output/functions/messages.segments/_tree.segment.rsc.prerender-fallback.rsc +3 -0
  329. package/.vercel/output/functions/messages.segments/messages/__PAGE__.segment.rsc.prerender-config.json +28 -0
  330. package/.vercel/output/functions/messages.segments/messages/__PAGE__.segment.rsc.prerender-fallback.rsc +9 -0
  331. package/.vercel/output/functions/messages.segments/messages.segment.rsc.prerender-config.json +28 -0
  332. package/.vercel/output/functions/messages.segments/messages.segment.rsc.prerender-fallback.rsc +5 -0
  333. package/.vercel/output/functions/node.prerender-config.json +37 -0
  334. package/.vercel/output/functions/node.prerender-fallback.html +12 -0
  335. package/.vercel/output/functions/node.rsc.prerender-config.json +38 -0
  336. package/.vercel/output/functions/node.rsc.prerender-fallback.rsc +24 -0
  337. package/.vercel/output/functions/node.segments/_full.segment.rsc.prerender-config.json +28 -0
  338. package/.vercel/output/functions/node.segments/_full.segment.rsc.prerender-fallback.rsc +24 -0
  339. package/.vercel/output/functions/node.segments/_head.segment.rsc.prerender-config.json +28 -0
  340. package/.vercel/output/functions/node.segments/_head.segment.rsc.prerender-fallback.rsc +6 -0
  341. package/.vercel/output/functions/node.segments/_index.segment.rsc.prerender-config.json +28 -0
  342. package/.vercel/output/functions/node.segments/_index.segment.rsc.prerender-fallback.rsc +8 -0
  343. package/.vercel/output/functions/node.segments/_tree.segment.rsc.prerender-config.json +28 -0
  344. package/.vercel/output/functions/node.segments/_tree.segment.rsc.prerender-fallback.rsc +3 -0
  345. package/.vercel/output/functions/node.segments/node/__PAGE__.segment.rsc.prerender-config.json +28 -0
  346. package/.vercel/output/functions/node.segments/node/__PAGE__.segment.rsc.prerender-fallback.rsc +9 -0
  347. package/.vercel/output/functions/node.segments/node.segment.rsc.prerender-config.json +28 -0
  348. package/.vercel/output/functions/node.segments/node.segment.rsc.prerender-fallback.rsc +5 -0
  349. package/.vercel/output/functions/nodes.prerender-config.json +37 -0
  350. package/.vercel/output/functions/nodes.prerender-fallback.html +12 -0
  351. package/.vercel/output/functions/nodes.rsc.prerender-config.json +38 -0
  352. package/.vercel/output/functions/nodes.rsc.prerender-fallback.rsc +24 -0
  353. package/.vercel/output/functions/nodes.segments/_full.segment.rsc.prerender-config.json +28 -0
  354. package/.vercel/output/functions/nodes.segments/_full.segment.rsc.prerender-fallback.rsc +24 -0
  355. package/.vercel/output/functions/nodes.segments/_head.segment.rsc.prerender-config.json +28 -0
  356. package/.vercel/output/functions/nodes.segments/_head.segment.rsc.prerender-fallback.rsc +6 -0
  357. package/.vercel/output/functions/nodes.segments/_index.segment.rsc.prerender-config.json +28 -0
  358. package/.vercel/output/functions/nodes.segments/_index.segment.rsc.prerender-fallback.rsc +8 -0
  359. package/.vercel/output/functions/nodes.segments/_tree.segment.rsc.prerender-config.json +28 -0
  360. package/.vercel/output/functions/nodes.segments/_tree.segment.rsc.prerender-fallback.rsc +3 -0
  361. package/.vercel/output/functions/nodes.segments/nodes/__PAGE__.segment.rsc.prerender-config.json +28 -0
  362. package/.vercel/output/functions/nodes.segments/nodes/__PAGE__.segment.rsc.prerender-fallback.rsc +9 -0
  363. package/.vercel/output/functions/nodes.segments/nodes.segment.rsc.prerender-config.json +28 -0
  364. package/.vercel/output/functions/nodes.segments/nodes.segment.rsc.prerender-fallback.rsc +5 -0
  365. package/.vercel/output/functions/server-logs.prerender-config.json +37 -0
  366. package/.vercel/output/functions/server-logs.prerender-fallback.html +12 -0
  367. package/.vercel/output/functions/server-logs.rsc.prerender-config.json +38 -0
  368. package/.vercel/output/functions/server-logs.rsc.prerender-fallback.rsc +24 -0
  369. package/.vercel/output/functions/server-logs.segments/_full.segment.rsc.prerender-config.json +28 -0
  370. package/.vercel/output/functions/server-logs.segments/_full.segment.rsc.prerender-fallback.rsc +24 -0
  371. package/.vercel/output/functions/server-logs.segments/_head.segment.rsc.prerender-config.json +28 -0
  372. package/.vercel/output/functions/server-logs.segments/_head.segment.rsc.prerender-fallback.rsc +6 -0
  373. package/.vercel/output/functions/server-logs.segments/_index.segment.rsc.prerender-config.json +28 -0
  374. package/.vercel/output/functions/server-logs.segments/_index.segment.rsc.prerender-fallback.rsc +8 -0
  375. package/.vercel/output/functions/server-logs.segments/_tree.segment.rsc.prerender-config.json +28 -0
  376. package/.vercel/output/functions/server-logs.segments/_tree.segment.rsc.prerender-fallback.rsc +3 -0
  377. package/.vercel/output/functions/server-logs.segments/server-logs/__PAGE__.segment.rsc.prerender-config.json +28 -0
  378. package/.vercel/output/functions/server-logs.segments/server-logs/__PAGE__.segment.rsc.prerender-fallback.rsc +9 -0
  379. package/.vercel/output/functions/server-logs.segments/server-logs.segment.rsc.prerender-config.json +28 -0
  380. package/.vercel/output/functions/server-logs.segments/server-logs.segment.rsc.prerender-fallback.rsc +5 -0
  381. package/.vercel/output/functions/settings/networks.prerender-config.json +37 -0
  382. package/.vercel/output/functions/settings/networks.prerender-fallback.html +12 -0
  383. package/.vercel/output/functions/settings/networks.rsc.prerender-config.json +38 -0
  384. package/.vercel/output/functions/settings/networks.rsc.prerender-fallback.rsc +24 -0
  385. package/.vercel/output/functions/settings/networks.segments/_full.segment.rsc.prerender-config.json +28 -0
  386. package/.vercel/output/functions/settings/networks.segments/_full.segment.rsc.prerender-fallback.rsc +24 -0
  387. package/.vercel/output/functions/settings/networks.segments/_head.segment.rsc.prerender-config.json +28 -0
  388. package/.vercel/output/functions/settings/networks.segments/_head.segment.rsc.prerender-fallback.rsc +6 -0
  389. package/.vercel/output/functions/settings/networks.segments/_index.segment.rsc.prerender-config.json +28 -0
  390. package/.vercel/output/functions/settings/networks.segments/_index.segment.rsc.prerender-fallback.rsc +8 -0
  391. package/.vercel/output/functions/settings/networks.segments/_tree.segment.rsc.prerender-config.json +28 -0
  392. package/.vercel/output/functions/settings/networks.segments/_tree.segment.rsc.prerender-fallback.rsc +3 -0
  393. package/.vercel/output/functions/settings/networks.segments/settings/networks/__PAGE__.segment.rsc.prerender-config.json +28 -0
  394. package/.vercel/output/functions/settings/networks.segments/settings/networks/__PAGE__.segment.rsc.prerender-fallback.rsc +9 -0
  395. package/.vercel/output/functions/settings/networks.segments/settings/networks.segment.rsc.prerender-config.json +28 -0
  396. package/.vercel/output/functions/settings/networks.segments/settings/networks.segment.rsc.prerender-fallback.rsc +5 -0
  397. package/.vercel/output/functions/settings/networks.segments/settings.segment.rsc.prerender-config.json +28 -0
  398. package/.vercel/output/functions/settings/networks.segments/settings.segment.rsc.prerender-fallback.rsc +5 -0
  399. package/.vercel/output/functions/settings/tokens.prerender-config.json +37 -0
  400. package/.vercel/output/functions/settings/tokens.prerender-fallback.html +12 -0
  401. package/.vercel/output/functions/settings/tokens.rsc.prerender-config.json +38 -0
  402. package/.vercel/output/functions/settings/tokens.rsc.prerender-fallback.rsc +24 -0
  403. package/.vercel/output/functions/settings/tokens.segments/_full.segment.rsc.prerender-config.json +28 -0
  404. package/.vercel/output/functions/settings/tokens.segments/_full.segment.rsc.prerender-fallback.rsc +24 -0
  405. package/.vercel/output/functions/settings/tokens.segments/_head.segment.rsc.prerender-config.json +28 -0
  406. package/.vercel/output/functions/settings/tokens.segments/_head.segment.rsc.prerender-fallback.rsc +6 -0
  407. package/.vercel/output/functions/settings/tokens.segments/_index.segment.rsc.prerender-config.json +28 -0
  408. package/.vercel/output/functions/settings/tokens.segments/_index.segment.rsc.prerender-fallback.rsc +8 -0
  409. package/.vercel/output/functions/settings/tokens.segments/_tree.segment.rsc.prerender-config.json +28 -0
  410. package/.vercel/output/functions/settings/tokens.segments/_tree.segment.rsc.prerender-fallback.rsc +3 -0
  411. package/.vercel/output/functions/settings/tokens.segments/settings/tokens/__PAGE__.segment.rsc.prerender-config.json +28 -0
  412. package/.vercel/output/functions/settings/tokens.segments/settings/tokens/__PAGE__.segment.rsc.prerender-fallback.rsc +9 -0
  413. package/.vercel/output/functions/settings/tokens.segments/settings/tokens.segment.rsc.prerender-config.json +28 -0
  414. package/.vercel/output/functions/settings/tokens.segments/settings/tokens.segment.rsc.prerender-fallback.rsc +5 -0
  415. package/.vercel/output/functions/settings/tokens.segments/settings.segment.rsc.prerender-config.json +28 -0
  416. package/.vercel/output/functions/settings/tokens.segments/settings.segment.rsc.prerender-fallback.rsc +5 -0
  417. package/.vercel/output/functions/settings.prerender-config.json +37 -0
  418. package/.vercel/output/functions/settings.prerender-fallback.html +12 -0
  419. package/.vercel/output/functions/settings.rsc.prerender-config.json +38 -0
  420. package/.vercel/output/functions/settings.rsc.prerender-fallback.rsc +24 -0
  421. package/.vercel/output/functions/settings.segments/_full.segment.rsc.prerender-config.json +28 -0
  422. package/.vercel/output/functions/settings.segments/_full.segment.rsc.prerender-fallback.rsc +24 -0
  423. package/.vercel/output/functions/settings.segments/_head.segment.rsc.prerender-config.json +28 -0
  424. package/.vercel/output/functions/settings.segments/_head.segment.rsc.prerender-fallback.rsc +6 -0
  425. package/.vercel/output/functions/settings.segments/_index.segment.rsc.prerender-config.json +28 -0
  426. package/.vercel/output/functions/settings.segments/_index.segment.rsc.prerender-fallback.rsc +8 -0
  427. package/.vercel/output/functions/settings.segments/_tree.segment.rsc.prerender-config.json +28 -0
  428. package/.vercel/output/functions/settings.segments/_tree.segment.rsc.prerender-fallback.rsc +3 -0
  429. package/.vercel/output/functions/settings.segments/settings/__PAGE__.segment.rsc.prerender-config.json +28 -0
  430. package/.vercel/output/functions/settings.segments/settings/__PAGE__.segment.rsc.prerender-fallback.rsc +9 -0
  431. package/.vercel/output/functions/settings.segments/settings.segment.rsc.prerender-config.json +28 -0
  432. package/.vercel/output/functions/settings.segments/settings.segment.rsc.prerender-fallback.rsc +5 -0
  433. package/.vercel/output/functions/tasks/[id].func/.next/routes-manifest.json +1 -0
  434. package/.vercel/output/functions/tasks/[id].func/.next/server/app-paths-manifest.json +1 -0
  435. package/.vercel/output/functions/tasks/[id].func/.next/server/pages-manifest.json +1 -0
  436. package/.vercel/output/functions/tasks/[id].func/.vc-config.json +713 -0
  437. package/.vercel/output/functions/tasks/[id].func/___next_launcher.cjs +68 -0
  438. package/.vercel/output/functions/tasks.prerender-config.json +37 -0
  439. package/.vercel/output/functions/tasks.prerender-fallback.html +12 -0
  440. package/.vercel/output/functions/tasks.rsc.prerender-config.json +38 -0
  441. package/.vercel/output/functions/tasks.rsc.prerender-fallback.rsc +24 -0
  442. package/.vercel/output/functions/tasks.segments/_full.segment.rsc.prerender-config.json +28 -0
  443. package/.vercel/output/functions/tasks.segments/_full.segment.rsc.prerender-fallback.rsc +24 -0
  444. package/.vercel/output/functions/tasks.segments/_head.segment.rsc.prerender-config.json +28 -0
  445. package/.vercel/output/functions/tasks.segments/_head.segment.rsc.prerender-fallback.rsc +6 -0
  446. package/.vercel/output/functions/tasks.segments/_index.segment.rsc.prerender-config.json +28 -0
  447. package/.vercel/output/functions/tasks.segments/_index.segment.rsc.prerender-fallback.rsc +8 -0
  448. package/.vercel/output/functions/tasks.segments/_tree.segment.rsc.prerender-config.json +28 -0
  449. package/.vercel/output/functions/tasks.segments/_tree.segment.rsc.prerender-fallback.rsc +3 -0
  450. package/.vercel/output/functions/tasks.segments/tasks/__PAGE__.segment.rsc.prerender-config.json +28 -0
  451. package/.vercel/output/functions/tasks.segments/tasks/__PAGE__.segment.rsc.prerender-fallback.rsc +9 -0
  452. package/.vercel/output/functions/tasks.segments/tasks.segment.rsc.prerender-config.json +28 -0
  453. package/.vercel/output/functions/tasks.segments/tasks.segment.rsc.prerender-fallback.rsc +5 -0
  454. package/.vercel/output/static/404.html +12 -0
  455. package/.vercel/output/static/404.rsc.json +1 -0
  456. package/.vercel/output/static/404.segments/_tree.segment.rsc.json +1 -0
  457. package/.vercel/output/static/500.html +1 -0
  458. package/.vercel/output/static/500.rsc.json +1 -0
  459. package/.vercel/output/static/500.segments/_tree.segment.rsc.json +1 -0
  460. package/.vercel/output/static/_next/__private/trace +2 -0
  461. package/.vercel/output/static/_next/static/cQOazsLgEXZBa3uITRnqd/_buildManifest.js +11 -0
  462. package/.vercel/output/static/_next/static/cQOazsLgEXZBa3uITRnqd/_clientMiddlewareManifest.js +42 -0
  463. package/.vercel/output/static/_next/static/cQOazsLgEXZBa3uITRnqd/_ssgManifest.js +1 -0
  464. package/.vercel/output/static/_next/static/chunks/01xlw8hd842-c.js +1 -0
  465. package/.vercel/output/static/_next/static/chunks/0257pdz1-imal.js +2 -0
  466. package/.vercel/output/static/_next/static/chunks/03~yq9q893hmn.js +1 -0
  467. package/.vercel/output/static/_next/static/chunks/054rct4zo7h~z.js +1 -0
  468. package/.vercel/output/static/_next/static/chunks/0ctlwbr5xthi8.js +1 -0
  469. package/.vercel/output/static/_next/static/chunks/0e-.zgw81gela.js +31 -0
  470. package/.vercel/output/static/_next/static/chunks/0fv~z2l3jrqys.js +1 -0
  471. package/.vercel/output/static/_next/static/chunks/0gtbwcilfu6b7.js +1 -0
  472. package/.vercel/output/static/_next/static/chunks/0j6t.m1a6._pk.js +1 -0
  473. package/.vercel/output/static/_next/static/chunks/0krx4ebw65neu.js +1 -0
  474. package/.vercel/output/static/_next/static/chunks/0mcdzzl4stn.x.js +1 -0
  475. package/.vercel/output/static/_next/static/chunks/0mh~79ukyan6l.js +7 -0
  476. package/.vercel/output/static/_next/static/chunks/0p8gm5gd97iye.js +1 -0
  477. package/.vercel/output/static/_next/static/chunks/0pqt~8bl3ukh4.js +4 -0
  478. package/.vercel/output/static/_next/static/chunks/0sf4r.iqs6i2d.js +1 -0
  479. package/.vercel/output/static/_next/static/chunks/0syyhzeexnwuc.js +1 -0
  480. package/.vercel/output/static/_next/static/chunks/0u359llqm1_01.js +1 -0
  481. package/.vercel/output/static/_next/static/chunks/0w1zwt8kq_7nb.js +1 -0
  482. package/.vercel/output/static/_next/static/chunks/0y4vqmmbpds2r.js +1 -0
  483. package/.vercel/output/static/_next/static/chunks/0~.wslpnrpyxe.js +1 -0
  484. package/.vercel/output/static/_next/static/chunks/10pzdqqp6gvky.js +1 -0
  485. package/.vercel/output/static/_next/static/chunks/12~jseze2jkgc.js +1 -0
  486. package/.vercel/output/static/_next/static/chunks/13kogdk1s~elt.js +4 -0
  487. package/.vercel/output/static/_next/static/chunks/14bsg3_-taiw4.js +1 -0
  488. package/.vercel/output/static/_next/static/chunks/16-7qr7qx9zrz.css +2 -0
  489. package/.vercel/output/static/_next/static/chunks/17i-e9luf51g_.js +7 -0
  490. package/.vercel/output/static/_next/static/chunks/turbopack-01f1xs~cq_~si.js +1 -0
  491. package/.vercel/output/static/_next/static/media/4fa387ec64143e14-s.0.qu-9752pffj.woff2 +0 -0
  492. package/.vercel/output/static/_next/static/media/5ce348bf30bf5439-s.0ee55_hj9qcer.woff2 +0 -0
  493. package/.vercel/output/static/_next/static/media/6306c77e7c8268e4-s.0mao5jbfbduzp.woff2 +0 -0
  494. package/.vercel/output/static/_next/static/media/797e433ab948586e-s.p.09zddjkbdep5a.woff2 +0 -0
  495. package/.vercel/output/static/_next/static/media/7d817b4c03b0c5f1-s.0uzt.a6d44yda.woff2 +0 -0
  496. package/.vercel/output/static/_next/static/media/bbc41e54d2fcbd21-s.0mvwgmnhv29no.woff2 +0 -0
  497. package/.vercel/output/static/_next/static/media/favicon.0x3dzn~oxb6tn.ico +0 -0
  498. package/.vercel/output/static/_next/static/not-found.txt +1 -0
  499. package/.vercel/output/static/favicon.ico +0 -0
  500. package/.vercel/output/static/favicon.svg +10 -0
  501. package/.vercel/output/static/intern_avatar.png +0 -0
  502. package/.vercel/output/static/sleep2agi-logo.svg +11 -0
  503. package/.vercel/output/static/vendors/claude.svg +10 -0
  504. package/.vercel/output/static/vendors/minimax.svg +10 -0
  505. package/.vercel/output/static/vendors/openai.svg +10 -0
  506. package/.vercel/project.json +16 -0
  507. package/app/components/AppShell.tsx +3 -3
  508. package/app/components/PwaInstaller.tsx +17 -0
  509. package/app/globals.css +10 -0
  510. package/app/layout.tsx +2 -0
  511. package/app/nodes/page.tsx +5 -5
  512. package/apps/desktop/electron/main.cjs +37 -0
  513. package/capacitor.config.ts +21 -0
  514. package/electron-builder.json +18 -0
  515. package/package.json +16 -1
  516. package/public/sw.js +37 -0
  517. package/tests/e2e.spec.ts +75 -0
  518. package/tests/theme-screenshots.spec.ts +57 -0
  519. package/.next/server/chunks/ssr/[root-of-the-server]__0u5aqkk._.js +0 -8
  520. package/.next/server/chunks/ssr/[root-of-the-server]__0u5aqkk._.js.map +0 -1
  521. package/.next/server/chunks/ssr/agent-network-dashboard_app_components_0mvyi-4._.js +0 -9
  522. package/.next/server/chunks/ssr/agent-network-dashboard_app_components_0mvyi-4._.js.map +0 -1
  523. package/.next/static/chunks/0800ik2kbhsed.js +0 -1
  524. package/.next/static/chunks/0ii3jngq3fijk.js +0 -1
  525. package/.next/static/chunks/0iwava1u7a3b4.js +0 -7
  526. package/.next/static/chunks/0wtj3tufk2aod.css +0 -2
  527. package/.next/static/chunks/0xpmd4b37kj~e.js +0 -1
  528. package/.next/static/chunks/0~ykmap37nw9d.js +0 -1
  529. package/docs/api-alignment.md +0 -64
  530. package/docs/design-task-chat.md +0 -84
  531. package/docs/loop-design-rounds.md +0 -797
  532. package/docs/oss-readiness-report.md +0 -189
  533. package/docs/rfc/v0.10.0-hero3-dashboard-upgrade.md +0 -230
  534. package/docs/screenshots/0.4.5-preview.1/cyber-admin.png +0 -0
  535. package/docs/screenshots/0.4.5-preview.1/cyber-cmdk-search.png +0 -0
  536. package/docs/screenshots/0.4.5-preview.1/cyber-cmdk.png +0 -0
  537. package/docs/screenshots/0.4.5-preview.1/cyber-login.png +0 -0
  538. package/docs/screenshots/0.4.5-preview.1/cyber-overview.png +0 -0
  539. package/docs/screenshots/0.4.5-preview.1/cyber-settings.png +0 -0
  540. package/docs/screenshots/0.4.5-preview.1/cyber-tasks.png +0 -0
  541. package/docs/screenshots/0.4.5-preview.1/light-admin.png +0 -0
  542. package/docs/screenshots/0.4.5-preview.1/light-cmdk-search.png +0 -0
  543. package/docs/screenshots/0.4.5-preview.1/light-cmdk.png +0 -0
  544. package/docs/screenshots/0.4.5-preview.1/light-login.png +0 -0
  545. package/docs/screenshots/0.4.5-preview.1/light-overview.png +0 -0
  546. package/docs/screenshots/0.4.5-preview.1/light-settings.png +0 -0
  547. package/docs/screenshots/0.4.5-preview.1/light-tasks.png +0 -0
  548. package/scripts/chat-popover-test.mjs +0 -234
  549. package/scripts/chat-theme-test.mjs +0 -98
  550. package/scripts/empty-state-test.mjs +0 -41
  551. package/scripts/fold-only.mjs +0 -47
  552. package/scripts/help-overlay-topo-test.mjs +0 -44
  553. package/scripts/intern-alias-test.mjs +0 -46
  554. package/scripts/loop-review.mjs +0 -270
  555. package/scripts/network-derive-shot.mjs +0 -16
  556. package/scripts/network-derive-test.mjs +0 -28
  557. package/scripts/p0-147-screenshot.mjs +0 -53
  558. package/scripts/p0-servers-drawer-screenshot.mjs +0 -101
  559. package/scripts/p0-topo-screenshot.mjs +0 -82
  560. package/scripts/p150-orphan-layout-screenshot.mjs +0 -82
  561. package/scripts/p157-rc2-dedup-test.mjs +0 -110
  562. package/scripts/p157-servers-copy-test.mjs +0 -95
  563. package/scripts/servers-drawer-live-test.mjs +0 -96
  564. package/scripts/topo-50-test.mjs +0 -54
  565. package/scripts/topo-a11y-titles-catalog-test.mjs +0 -132
  566. package/scripts/topo-active-chrome-hover-text-test.mjs +0 -107
  567. package/scripts/topo-active-filter-pill-test.mjs +0 -101
  568. package/scripts/topo-active-links-chip-halo-layers-test.mjs +0 -81
  569. package/scripts/topo-active-links-chip-hover-lift-test.mjs +0 -93
  570. package/scripts/topo-active-links-chip-hover-test.mjs +0 -103
  571. package/scripts/topo-active-links-chip-nav-test.mjs +0 -117
  572. package/scripts/topo-active-links-chip-self-hover-test.mjs +0 -171
  573. package/scripts/topo-active-links-chip-test.mjs +0 -73
  574. package/scripts/topo-active-links-empty-recede-test.mjs +0 -125
  575. package/scripts/topo-active-links-freshness-color-test.mjs +0 -86
  576. package/scripts/topo-active-links-freshness-test.mjs +0 -113
  577. package/scripts/topo-active-links-tooltip-test.mjs +0 -79
  578. package/scripts/topo-active-links-unit-test.mjs +0 -79
  579. package/scripts/topo-active-pulse-ease-test.mjs +0 -120
  580. package/scripts/topo-alias-chat-brightness-test.mjs +0 -79
  581. package/scripts/topo-alias-glow-test.mjs +0 -121
  582. package/scripts/topo-alias-text-halo-layers-test.mjs +0 -98
  583. package/scripts/topo-animation-temporal-modes-catalog-test.mjs +0 -144
  584. package/scripts/topo-any-hover-attr-test.mjs +0 -83
  585. package/scripts/topo-any-pinned-attr-test.mjs +0 -86
  586. package/scripts/topo-arrow-tier-test.mjs +0 -61
  587. package/scripts/topo-auto-fit-test.mjs +0 -73
  588. package/scripts/topo-avatar-brightness-test.mjs +0 -116
  589. package/scripts/topo-avatar-chat-gate-test.mjs +0 -77
  590. package/scripts/topo-avatar-drop-shadow-test.mjs +0 -86
  591. package/scripts/topo-avatar-fallback-hover-test.mjs +0 -104
  592. package/scripts/topo-avatar-fallback-rotate-test.mjs +0 -92
  593. package/scripts/topo-avatar-rotate-test.mjs +0 -85
  594. package/scripts/topo-avatar-scale-test.mjs +0 -89
  595. package/scripts/topo-badge-chat-gate-test.mjs +0 -74
  596. package/scripts/topo-brand-drop-shadow-test.mjs +0 -71
  597. package/scripts/topo-brand-logo-breath-test.mjs +0 -102
  598. package/scripts/topo-brand-logo-halo-layers-test.mjs +0 -85
  599. package/scripts/topo-brand-logo-hover-brightness-test.mjs +0 -105
  600. package/scripts/topo-brand-logo-hover-rotate-test.mjs +0 -93
  601. package/scripts/topo-brand-logo-hover-test.mjs +0 -85
  602. package/scripts/topo-brand-logo-transition-test.mjs +0 -94
  603. package/scripts/topo-brand-shot.mjs +0 -61
  604. package/scripts/topo-brand-watermark-test.mjs +0 -97
  605. package/scripts/topo-canvas-aria-test.mjs +0 -108
  606. package/scripts/topo-canvas-brand-fade-test.mjs +0 -87
  607. package/scripts/topo-canvas-desc-a11y-test.mjs +0 -87
  608. package/scripts/topo-canvas-entrance-animation-test.mjs +0 -117
  609. package/scripts/topo-canvas-scan-beam-diagonal-test.mjs +0 -148
  610. package/scripts/topo-canvas-scan-beam-test.mjs +0 -109
  611. package/scripts/topo-canvas-scan-beam-vertical-test.mjs +0 -123
  612. package/scripts/topo-card-chat-brightness-test.mjs +0 -86
  613. package/scripts/topo-chat-focus-ring-test.mjs +0 -77
  614. package/scripts/topo-chat-ring-breath-curve-test.mjs +0 -114
  615. package/scripts/topo-chat-ring-brightness-test.mjs +0 -80
  616. package/scripts/topo-chat-ring-halo-layers-test.mjs +0 -100
  617. package/scripts/topo-chat-ring-r-breath-test.mjs +0 -121
  618. package/scripts/topo-chat-ring-status-halo-test.mjs +0 -106
  619. package/scripts/topo-chat-ring-sw-breath-test.mjs +0 -123
  620. package/scripts/topo-chat-target-breath-test.mjs +0 -84
  621. package/scripts/topo-chat-target-ring-ease-test.mjs +0 -82
  622. package/scripts/topo-chat-target-ring-fade-test.mjs +0 -124
  623. package/scripts/topo-chip-digit-fontweight-test.mjs +0 -105
  624. package/scripts/topo-chip-digit-hover-bold-test.mjs +0 -94
  625. package/scripts/topo-chip-empty-recede-test.mjs +0 -116
  626. package/scripts/topo-chip-focus-test.mjs +0 -95
  627. package/scripts/topo-chip-pin-halo-test.mjs +0 -85
  628. package/scripts/topo-chip-pin-mirror-test.mjs +0 -113
  629. package/scripts/topo-chip-row-digit-ls-test.mjs +0 -135
  630. package/scripts/topo-chip-row-gap-test.mjs +0 -90
  631. package/scripts/topo-chip-row-group-hover-brighten-test.mjs +0 -107
  632. package/scripts/topo-chip-row-hover-lift-test.mjs +0 -95
  633. package/scripts/topo-chip-row-member-alias-lit-test.mjs +0 -154
  634. package/scripts/topo-chip-row-press-test.mjs +0 -93
  635. package/scripts/topo-chip-row-semantic-gap-test.mjs +0 -97
  636. package/scripts/topo-chip-row-tabular-test.mjs +0 -111
  637. package/scripts/topo-chip-row-tier-glow-brightness-test.mjs +0 -99
  638. package/scripts/topo-chip-row-unit-hover-tracking-test.mjs +0 -124
  639. package/scripts/topo-chip-unit-demotion-test.mjs +0 -93
  640. package/scripts/topo-chiprow-data-weight-test.mjs +0 -94
  641. package/scripts/topo-chrome-a11y-test.mjs +0 -107
  642. package/scripts/topo-chrome-active-weight-test.mjs +0 -104
  643. package/scripts/topo-chrome-button-hover-lift-test.mjs +0 -94
  644. package/scripts/topo-chrome-control-halo-layers-test.mjs +0 -22
  645. package/scripts/topo-chrome-focus-ring-unify-test.mjs +0 -100
  646. package/scripts/topo-chrome-fullscreen-breath-test.mjs +0 -121
  647. package/scripts/topo-chrome-fullscreen-icon-sw-test.mjs +0 -92
  648. package/scripts/topo-chrome-gap-test.mjs +0 -73
  649. package/scripts/topo-chrome-icon-stroke-test.mjs +0 -95
  650. package/scripts/topo-chrome-inactive-color-test.mjs +0 -90
  651. package/scripts/topo-chrome-layout-trailer-breath-test.mjs +0 -86
  652. package/scripts/topo-chrome-nodesize-trailer-breath-test.mjs +0 -86
  653. package/scripts/topo-chrome-pop-extension-test.mjs +0 -98
  654. package/scripts/topo-chrome-pop-nodesize-test.mjs +0 -88
  655. package/scripts/topo-chrome-press-fullstrip-test.mjs +0 -105
  656. package/scripts/topo-chrome-press-scale-test.mjs +0 -100
  657. package/scripts/topo-chrome-press-state-test.mjs +0 -135
  658. package/scripts/topo-chrome-reset-breath-test.mjs +0 -115
  659. package/scripts/topo-chrome-reset-icon-sw-test.mjs +0 -80
  660. package/scripts/topo-chrome-segmented-radius-test.mjs +0 -100
  661. package/scripts/topo-chrome-strip-entrance-animation-test.mjs +0 -115
  662. package/scripts/topo-chrome-strip-semantic-gap-test.mjs +0 -99
  663. package/scripts/topo-chrome-strip-theme-ease-test.mjs +0 -99
  664. package/scripts/topo-chrome-wrapper-halo-test.mjs +0 -83
  665. package/scripts/topo-chrome-zoom-icon-sw-test.mjs +0 -90
  666. package/scripts/topo-chrome-zoom-level-pop-test.mjs +0 -122
  667. package/scripts/topo-chrome-zoom-pop-test.mjs +0 -130
  668. package/scripts/topo-chrome-zoom-readout-weight-test.mjs +0 -81
  669. package/scripts/topo-chrome-zoom-wrapper-breath-test.mjs +0 -85
  670. package/scripts/topo-click-ripple-ease-test.mjs +0 -94
  671. package/scripts/topo-click-ripple-glow-test.mjs +0 -86
  672. package/scripts/topo-click-ripple-halo-layers-test.mjs +0 -79
  673. package/scripts/topo-click-ripple-opacity-test.mjs +0 -99
  674. package/scripts/topo-click-ripple-sw-test.mjs +0 -110
  675. package/scripts/topo-click-ripple-test.mjs +0 -66
  676. package/scripts/topo-cluster-count-attr-test.mjs +0 -80
  677. package/scripts/topo-cluster-test.mjs +0 -41
  678. package/scripts/topo-cmdk-edge-clear-test.mjs +0 -109
  679. package/scripts/topo-cmdk-layout-view-test.mjs +0 -108
  680. package/scripts/topo-cmdk-pin-test.mjs +0 -123
  681. package/scripts/topo-cmdk-vendor-clear-test.mjs +0 -133
  682. package/scripts/topo-cmdk-vendor-pin-test.mjs +0 -103
  683. package/scripts/topo-controls-shot.mjs +0 -24
  684. package/scripts/topo-corner-radius-unify-test.mjs +0 -103
  685. package/scripts/topo-crescent-breath-test.mjs +0 -104
  686. package/scripts/topo-crescent-envelope-breath-test.mjs +0 -103
  687. package/scripts/topo-crescent-recede-test.mjs +0 -111
  688. package/scripts/topo-cwd-tooltip-test.mjs +0 -64
  689. package/scripts/topo-dashboard-version-attr-test.mjs +0 -69
  690. package/scripts/topo-dblclick-reset-test.mjs +0 -74
  691. package/scripts/topo-dense-alias-chat-halo-test.mjs +0 -73
  692. package/scripts/topo-dense-alias-fill-transition-test.mjs +0 -133
  693. package/scripts/topo-dense-alias-halo-layers-test.mjs +0 -80
  694. package/scripts/topo-dense-alias-opacity-test.mjs +0 -68
  695. package/scripts/topo-density-test.mjs +0 -57
  696. package/scripts/topo-discrete-zoom-smooth-test.mjs +0 -125
  697. package/scripts/topo-dual-axis-surfaces-catalog-test.mjs +0 -94
  698. package/scripts/topo-edge-badge-circle-brightness-test.mjs +0 -82
  699. package/scripts/topo-edge-badge-circle-hot-pulse-test.mjs +0 -100
  700. package/scripts/topo-edge-badge-click-pin-test.mjs +0 -94
  701. package/scripts/topo-edge-badge-crossfade-test.mjs +0 -138
  702. package/scripts/topo-edge-badge-digit-fw-test.mjs +0 -103
  703. package/scripts/topo-edge-badge-digit-halo-layers-test.mjs +0 -107
  704. package/scripts/topo-edge-badge-endpoint-gate-test.mjs +0 -94
  705. package/scripts/topo-edge-badge-fontsize-test.mjs +0 -90
  706. package/scripts/topo-edge-badge-halo-layers-test.mjs +0 -85
  707. package/scripts/topo-edge-badge-hot-glow-test.mjs +0 -101
  708. package/scripts/topo-edge-badge-hot-pulse-test.mjs +0 -92
  709. package/scripts/topo-edge-badge-hot-test.mjs +0 -115
  710. package/scripts/topo-edge-badge-hover-glow-test.mjs +0 -90
  711. package/scripts/topo-edge-badge-hover-opacity-test.mjs +0 -94
  712. package/scripts/topo-edge-badge-hover-stroke-test.mjs +0 -92
  713. package/scripts/topo-edge-badge-hover-test.mjs +0 -85
  714. package/scripts/topo-edge-badge-letter-spacing-test.mjs +0 -86
  715. package/scripts/topo-edge-badge-lift-test.mjs +0 -150
  716. package/scripts/topo-edge-badge-opacity-test.mjs +0 -80
  717. package/scripts/topo-edge-badge-pin-opacity-test.mjs +0 -86
  718. package/scripts/topo-edge-badge-ripple-test.mjs +0 -111
  719. package/scripts/topo-edge-badge-stroke-test.mjs +0 -92
  720. package/scripts/topo-edge-badge-stroke-transition-test.mjs +0 -118
  721. package/scripts/topo-edge-badge-text-brightness-test.mjs +0 -83
  722. package/scripts/topo-edge-badge-text-pin-test.mjs +0 -121
  723. package/scripts/topo-edge-badge-theme-ease-test.mjs +0 -89
  724. package/scripts/topo-edge-chat-gate-test.mjs +0 -71
  725. package/scripts/topo-edge-count-badge-test.mjs +0 -86
  726. package/scripts/topo-edge-endpoint-highlight-test.mjs +0 -111
  727. package/scripts/topo-edge-endpoint-hover-sw-test.mjs +0 -127
  728. package/scripts/topo-edge-fadein-test.mjs +0 -106
  729. package/scripts/topo-edge-flow-rail-halo-layers-test.mjs +0 -89
  730. package/scripts/topo-edge-focus-test.mjs +0 -113
  731. package/scripts/topo-edge-freshness-floor-test.mjs +0 -99
  732. package/scripts/topo-edge-hover-test.mjs +0 -93
  733. package/scripts/topo-edge-particle-brightness-test.mjs +0 -82
  734. package/scripts/topo-edge-particle-halo-layers-test.mjs +0 -91
  735. package/scripts/topo-edge-particle-hover-r-test.mjs +0 -113
  736. package/scripts/topo-edge-particle-opacity-lift-test.mjs +0 -109
  737. package/scripts/topo-edge-particle-radius-test.mjs +0 -76
  738. package/scripts/topo-edge-pill-glow-test.mjs +0 -67
  739. package/scripts/topo-edge-pill-hot-test.mjs +0 -129
  740. package/scripts/topo-edge-pill-test.mjs +0 -105
  741. package/scripts/topo-edge-pin-halo-test.mjs +0 -99
  742. package/scripts/topo-edge-ping-pulse-retired-test.mjs +0 -119
  743. package/scripts/topo-edge-stroke-ease-test.mjs +0 -100
  744. package/scripts/topo-edge-stroke-transition-test.mjs +0 -132
  745. package/scripts/topo-edge-tooltip-test.mjs +0 -70
  746. package/scripts/topo-edge-visible-brightness-test.mjs +0 -84
  747. package/scripts/topo-edge-visible-halo-layers-test.mjs +0 -87
  748. package/scripts/topo-edge-visible-linecap-test.mjs +0 -89
  749. package/scripts/topo-empty-hint-tracking-test.mjs +0 -84
  750. package/scripts/topo-empty-state-breath-test.mjs +0 -150
  751. package/scripts/topo-empty-state-crossfade-test.mjs +0 -130
  752. package/scripts/topo-empty-state-recenter-test.mjs +0 -107
  753. package/scripts/topo-empty-sub-hint-italic-test.mjs +0 -83
  754. package/scripts/topo-empty-subhint-tracking-test.mjs +0 -87
  755. package/scripts/topo-endpoint-ring-brightness-test.mjs +0 -83
  756. package/scripts/topo-endpoint-ring-fade-test.mjs +0 -132
  757. package/scripts/topo-endpoint-ring-flow-halo-test.mjs +0 -107
  758. package/scripts/topo-endpoint-ring-halo-layers-test.mjs +0 -100
  759. package/scripts/topo-endpoint-ring-r-hover-test.mjs +0 -89
  760. package/scripts/topo-endpoint-ring-test.mjs +0 -93
  761. package/scripts/topo-endpoint-ring-thicken-test.mjs +0 -112
  762. package/scripts/topo-esc-clears-pin-test.mjs +0 -98
  763. package/scripts/topo-filter-pill-aliases-test.mjs +0 -121
  764. package/scripts/topo-filter-pill-body-click-test.mjs +0 -112
  765. package/scripts/topo-filter-pill-count-tabular-test.mjs +0 -135
  766. package/scripts/topo-filter-pill-count-test.mjs +0 -110
  767. package/scripts/topo-filter-pill-glow-test.mjs +0 -90
  768. package/scripts/topo-filter-pill-halo-layers-test.mjs +0 -27
  769. package/scripts/topo-filter-pill-hover-lift-test.mjs +0 -101
  770. package/scripts/topo-filter-pill-hover-opacity-test.mjs +0 -110
  771. package/scripts/topo-filter-pill-mobile-test.mjs +0 -90
  772. package/scripts/topo-filter-pill-value-fw-test.mjs +0 -88
  773. package/scripts/topo-filter-pill-weight-test.mjs +0 -75
  774. package/scripts/topo-filter-pill-x-hover-scale-test.mjs +0 -99
  775. package/scripts/topo-filter-pills-press-test.mjs +0 -96
  776. package/scripts/topo-fit-key-test.mjs +0 -106
  777. package/scripts/topo-fleet-count-attrs-test.mjs +0 -87
  778. package/scripts/topo-fleet-density-tier-test.mjs +0 -84
  779. package/scripts/topo-flow-arrow-brightness-test.mjs +0 -82
  780. package/scripts/topo-flow-rail-brightness-test.mjs +0 -80
  781. package/scripts/topo-flow-rail-hover-sw-test.mjs +0 -113
  782. package/scripts/topo-flow-rail-linecap-test.mjs +0 -79
  783. package/scripts/topo-focus-outline-transition-test.mjs +0 -107
  784. package/scripts/topo-freshness-chip-fade-test.mjs +0 -105
  785. package/scripts/topo-freshness-chip-hierarchy-test.mjs +0 -93
  786. package/scripts/topo-freshness-chip-tabular-test.mjs +0 -41
  787. package/scripts/topo-freshness-chip-test.mjs +0 -74
  788. package/scripts/topo-freshness-chip-transition-test.mjs +0 -80
  789. package/scripts/topo-freshness-chip-weight-test.mjs +0 -90
  790. package/scripts/topo-freshness-conditional-render-test.mjs +0 -92
  791. package/scripts/topo-freshness-floor-lift-test.mjs +0 -92
  792. package/scripts/topo-freshness-suffix-tabular-test.mjs +0 -88
  793. package/scripts/topo-fullscreen-active-test.mjs +0 -115
  794. package/scripts/topo-fullscreen-attr-test.mjs +0 -73
  795. package/scripts/topo-fullscreen-brightness-test.mjs +0 -84
  796. package/scripts/topo-fullscreen-icon-hover-scale-test.mjs +0 -91
  797. package/scripts/topo-fullscreen-icon-rotate-test.mjs +0 -93
  798. package/scripts/topo-grid-content-bottom-attr-test.mjs +0 -72
  799. package/scripts/topo-group-box-brightness-test.mjs +0 -84
  800. package/scripts/topo-group-box-geom-transition-test.mjs +0 -110
  801. package/scripts/topo-group-box-halo-layers-test.mjs +0 -91
  802. package/scripts/topo-group-box-pinned-state-test.mjs +0 -95
  803. package/scripts/topo-group-box-rx-pin-test.mjs +0 -103
  804. package/scripts/topo-group-box-stroke-test.mjs +0 -105
  805. package/scripts/topo-group-chat-gate-test.mjs +0 -77
  806. package/scripts/topo-group-count-test.mjs +0 -68
  807. package/scripts/topo-group-fade-cadence-test.mjs +0 -92
  808. package/scripts/topo-group-hover-test.mjs +0 -82
  809. package/scripts/topo-group-label-a11y-test.mjs +0 -113
  810. package/scripts/topo-group-label-brightness-test.mjs +0 -84
  811. package/scripts/topo-group-label-count-fontweight-test.mjs +0 -108
  812. package/scripts/topo-group-label-count-fw-test.mjs +0 -100
  813. package/scripts/topo-group-label-count-inherit-test.mjs +0 -99
  814. package/scripts/topo-group-label-fw-pin-test.mjs +0 -99
  815. package/scripts/topo-group-label-glow-test.mjs +0 -104
  816. package/scripts/topo-group-label-halo-layers-test.mjs +0 -78
  817. package/scripts/topo-group-label-hover-glow-test.mjs +0 -86
  818. package/scripts/topo-group-label-hover-test.mjs +0 -119
  819. package/scripts/topo-group-label-letter-spacing-test.mjs +0 -113
  820. package/scripts/topo-group-label-member-alias-hover-test.mjs +0 -125
  821. package/scripts/topo-group-label-pin-spacing-test.mjs +0 -136
  822. package/scripts/topo-group-label-tint-geom-test.mjs +0 -94
  823. package/scripts/topo-group-label-tint-test.mjs +0 -99
  824. package/scripts/topo-group-label-tint-transition-test.mjs +0 -97
  825. package/scripts/topo-group-label-title-test.mjs +0 -83
  826. package/scripts/topo-group-pill-glow-test.mjs +0 -76
  827. package/scripts/topo-group-pin-test.mjs +0 -119
  828. package/scripts/topo-group-pip-fadein-test.mjs +0 -104
  829. package/scripts/topo-group-pip-fontsize-test.mjs +0 -106
  830. package/scripts/topo-group-pip-singletier-drop-test.mjs +0 -131
  831. package/scripts/topo-group-pip-tabular-test.mjs +0 -95
  832. package/scripts/topo-group-status-pips-test.mjs +0 -103
  833. package/scripts/topo-group-test.mjs +0 -37
  834. package/scripts/topo-group-tier-attr-test.mjs +0 -84
  835. package/scripts/topo-group-tint-brightness-test.mjs +0 -82
  836. package/scripts/topo-group-tint-rx-pin-test.mjs +0 -107
  837. package/scripts/topo-groupbox-fadein-test.mjs +0 -95
  838. package/scripts/topo-groupbox-hover-lift-test.mjs +0 -127
  839. package/scripts/topo-groupbox-hubcore-ease-test.mjs +0 -106
  840. package/scripts/topo-groupbox-live-test.mjs +0 -100
  841. package/scripts/topo-groupbox-march-busyness-test.mjs +0 -155
  842. package/scripts/topo-groupbox-test.mjs +0 -120
  843. package/scripts/topo-h2-dual-axis-breath-test.mjs +0 -92
  844. package/scripts/topo-h2-triple-axis-breath-test.mjs +0 -142
  845. package/scripts/topo-halo-chat-gate-test.mjs +0 -72
  846. package/scripts/topo-header-gap-test.mjs +0 -94
  847. package/scripts/topo-help-overlay-r109-test.mjs +0 -67
  848. package/scripts/topo-help-overlay-r118-test.mjs +0 -69
  849. package/scripts/topo-help-overlay-r123-test.mjs +0 -69
  850. package/scripts/topo-help-overlay-r134-test.mjs +0 -74
  851. package/scripts/topo-help-overlay-r137-test.mjs +0 -81
  852. package/scripts/topo-help-overlay-r141-test.mjs +0 -86
  853. package/scripts/topo-help-overlay-r153-test.mjs +0 -85
  854. package/scripts/topo-help-overlay-r59-test.mjs +0 -67
  855. package/scripts/topo-help-overlay-r65-test.mjs +0 -64
  856. package/scripts/topo-help-overlay-r70-test.mjs +0 -63
  857. package/scripts/topo-help-overlay-r78-test.mjs +0 -59
  858. package/scripts/topo-help-overlay-r81-test.mjs +0 -58
  859. package/scripts/topo-help-overlay-r87-test.mjs +0 -64
  860. package/scripts/topo-help-overlay-r91-test.mjs +0 -65
  861. package/scripts/topo-hot-tail-crossfade-test.mjs +0 -117
  862. package/scripts/topo-hover-detail-body-fw-test.mjs +0 -101
  863. package/scripts/topo-hover-detail-halo-test.mjs +0 -76
  864. package/scripts/topo-hover-detail-model-fw-test.mjs +0 -98
  865. package/scripts/topo-hover-detail-opacity-test.mjs +0 -98
  866. package/scripts/topo-hover-detail-rx-test.mjs +0 -81
  867. package/scripts/topo-hover-ring-duration-test.mjs +0 -87
  868. package/scripts/topo-hovered-alias-attr-test.mjs +0 -111
  869. package/scripts/topo-html-overlay-padding-unify-test.mjs +0 -120
  870. package/scripts/topo-hub-a11y-test.mjs +0 -112
  871. package/scripts/topo-hub-a11y-title-test.mjs +0 -95
  872. package/scripts/topo-hub-busyness-test.mjs +0 -100
  873. package/scripts/topo-hub-center-crossfade-test.mjs +0 -124
  874. package/scripts/topo-hub-click-fit-test.mjs +0 -137
  875. package/scripts/topo-hub-core-brightness-test.mjs +0 -82
  876. package/scripts/topo-hub-core-fill-hover-test.mjs +0 -85
  877. package/scripts/topo-hub-core-halo-layers-test.mjs +0 -81
  878. package/scripts/topo-hub-digit-brightness-test.mjs +0 -79
  879. package/scripts/topo-hub-digit-fontsize-test.mjs +0 -86
  880. package/scripts/topo-hub-digit-fw-hover-test.mjs +0 -102
  881. package/scripts/topo-hub-digit-glow-test.mjs +0 -105
  882. package/scripts/topo-hub-digit-halo-layers-test.mjs +0 -76
  883. package/scripts/topo-hub-digit-ls-test.mjs +0 -119
  884. package/scripts/topo-hub-digit-scale-test.mjs +0 -129
  885. package/scripts/topo-hub-fadein-test.mjs +0 -88
  886. package/scripts/topo-hub-halo-brightness-test.mjs +0 -80
  887. package/scripts/topo-hub-halo-glow-test.mjs +0 -96
  888. package/scripts/topo-hub-halo-halo-layers-test.mjs +0 -76
  889. package/scripts/topo-hub-halo-light-trough-test.mjs +0 -88
  890. package/scripts/topo-hub-halo-r-hover-test.mjs +0 -82
  891. package/scripts/topo-hub-halo-radius-test.mjs +0 -86
  892. package/scripts/topo-hub-halo-trough-test.mjs +0 -83
  893. package/scripts/topo-hub-highlight-amplify-test.mjs +0 -139
  894. package/scripts/topo-hub-highlight-brightness-test.mjs +0 -84
  895. package/scripts/topo-hub-highlight-fill-transition-test.mjs +0 -84
  896. package/scripts/topo-hub-highlight-glow-test.mjs +0 -99
  897. package/scripts/topo-hub-highlight-halo-layers-test.mjs +0 -78
  898. package/scripts/topo-hub-highlight-opacity-test.mjs +0 -88
  899. package/scripts/topo-hub-highlight-r-test.mjs +0 -112
  900. package/scripts/topo-hub-highlight-radius-test.mjs +0 -90
  901. package/scripts/topo-hub-highlight-recede-test.mjs +0 -144
  902. package/scripts/topo-hub-highlight-theme-fill-test.mjs +0 -83
  903. package/scripts/topo-hub-hover-lift-test.mjs +0 -101
  904. package/scripts/topo-hub-hover-ring-brightness-test.mjs +0 -79
  905. package/scripts/topo-hub-hover-ring-glow-test.mjs +0 -97
  906. package/scripts/topo-hub-hover-ring-halo-layers-test.mjs +0 -71
  907. package/scripts/topo-hub-hover-ring-opacity-test.mjs +0 -96
  908. package/scripts/topo-hub-hover-ring-stroke-test.mjs +0 -86
  909. package/scripts/topo-hub-hover-ring-test.mjs +0 -82
  910. package/scripts/topo-hub-idle-breath-test.mjs +0 -109
  911. package/scripts/topo-hub-pip-theme-ease-test.mjs +0 -116
  912. package/scripts/topo-hub-recede-test.mjs +0 -124
  913. package/scripts/topo-hub-spoke-brightness-test.mjs +0 -77
  914. package/scripts/topo-hub-spoke-ease-test.mjs +0 -120
  915. package/scripts/topo-hub-spoke-glow-test.mjs +0 -112
  916. package/scripts/topo-hub-spoke-halo-layers-test.mjs +0 -97
  917. package/scripts/topo-hub-spoke-hover-opacity-test.mjs +0 -119
  918. package/scripts/topo-hub-spoke-hover-sw-test.mjs +0 -121
  919. package/scripts/topo-hub-spoke-linecap-test.mjs +0 -80
  920. package/scripts/topo-hub-spoke-self-filter-test.mjs +0 -119
  921. package/scripts/topo-hub-title-test.mjs +0 -93
  922. package/scripts/topo-hub-working-count-test.mjs +0 -99
  923. package/scripts/topo-ingroup-edge-test.mjs +0 -103
  924. package/scripts/topo-inner-radar-ring-retired-test.mjs +0 -89
  925. package/scripts/topo-inspect.mjs +0 -56
  926. package/scripts/topo-interaction-test.mjs +0 -80
  927. package/scripts/topo-kicker-breath-test.mjs +0 -100
  928. package/scripts/topo-kicker-color-test.mjs +0 -93
  929. package/scripts/topo-kicker-dual-axis-breath-test.mjs +0 -81
  930. package/scripts/topo-kicker-halo-layers-test.mjs +0 -82
  931. package/scripts/topo-kicker-tracking-test.mjs +0 -101
  932. package/scripts/topo-kicker-triple-axis-breath-test.mjs +0 -124
  933. package/scripts/topo-kicker-weight-test.mjs +0 -98
  934. package/scripts/topo-label-card-brightness-test.mjs +0 -81
  935. package/scripts/topo-label-card-opacity-hover-test.mjs +0 -99
  936. package/scripts/topo-label-card-theme-ease-test.mjs +0 -85
  937. package/scripts/topo-label-lift-test.mjs +0 -119
  938. package/scripts/topo-label-scale-test.mjs +0 -78
  939. package/scripts/topo-lastseen-tooltip-test.mjs +0 -59
  940. package/scripts/topo-layout-hover-fw-test.mjs +0 -98
  941. package/scripts/topo-layout-hover-text-preview-test.mjs +0 -101
  942. package/scripts/topo-layout-key-test.mjs +0 -91
  943. package/scripts/topo-layout-switch-crossfade-test.mjs +0 -126
  944. package/scripts/topo-layout-test.mjs +0 -113
  945. package/scripts/topo-layout-theme-attrs-test.mjs +0 -91
  946. package/scripts/topo-layout-toggle-border-unify-test.mjs +0 -104
  947. package/scripts/topo-layout-toggle-brightness-test.mjs +0 -94
  948. package/scripts/topo-layout-toggle-halo-layers-test.mjs +0 -95
  949. package/scripts/topo-layout-toggle-hover-tracking-test.mjs +0 -109
  950. package/scripts/topo-layout-toggle-radius-test.mjs +0 -87
  951. package/scripts/topo-layout-toggle-test.mjs +0 -131
  952. package/scripts/topo-layout-trailer-mr-test.mjs +0 -82
  953. package/scripts/topo-legend-compress-test.mjs +0 -107
  954. package/scripts/topo-legend-count-active-opacity-test.mjs +0 -102
  955. package/scripts/topo-legend-count-brightness-test.mjs +0 -80
  956. package/scripts/topo-legend-count-empty-test.mjs +0 -126
  957. package/scripts/topo-legend-count-halo-layers-test.mjs +0 -79
  958. package/scripts/topo-legend-count-letter-spacing-test.mjs +0 -108
  959. package/scripts/topo-legend-count-pin-fw-test.mjs +0 -90
  960. package/scripts/topo-legend-count-tabular-parity-test.mjs +0 -90
  961. package/scripts/topo-legend-count-tabular-test.mjs +0 -87
  962. package/scripts/topo-legend-count-test.mjs +0 -88
  963. package/scripts/topo-legend-count-tier-fill-test.mjs +0 -121
  964. package/scripts/topo-legend-count-weight-test.mjs +0 -86
  965. package/scripts/topo-legend-header-symmetric-inset-test.mjs +0 -112
  966. package/scripts/topo-legend-hitbox-swatch-center-test.mjs +0 -93
  967. package/scripts/topo-legend-hover-test.mjs +0 -113
  968. package/scripts/topo-legend-label-fontweight-test.mjs +0 -94
  969. package/scripts/topo-legend-label-fw-test.mjs +0 -107
  970. package/scripts/topo-legend-offline-delimiter-test.mjs +0 -84
  971. package/scripts/topo-legend-offline-label-simplify-test.mjs +0 -86
  972. package/scripts/topo-legend-panel-count-weight-test.mjs +0 -89
  973. package/scripts/topo-legend-panel-header-test.mjs +0 -83
  974. package/scripts/topo-legend-panel-title-breath-test.mjs +0 -86
  975. package/scripts/topo-legend-panel-title-fw-test.mjs +0 -95
  976. package/scripts/topo-legend-pin-ring-brightness-test.mjs +0 -82
  977. package/scripts/topo-legend-pin-ring-fade-test.mjs +0 -112
  978. package/scripts/topo-legend-pin-ring-glow-test.mjs +0 -105
  979. package/scripts/topo-legend-pin-ring-halo-layers-test.mjs +0 -71
  980. package/scripts/topo-legend-pin-ring-stroke-test.mjs +0 -101
  981. package/scripts/topo-legend-pin-test.mjs +0 -128
  982. package/scripts/topo-legend-row-count-brightness-test.mjs +0 -85
  983. package/scripts/topo-legend-row-hover-lift-test.mjs +0 -109
  984. package/scripts/topo-legend-row-label-glow-test.mjs +0 -102
  985. package/scripts/topo-legend-row-labels-simplify-test.mjs +0 -80
  986. package/scripts/topo-legend-row-letter-spacing-test.mjs +0 -101
  987. package/scripts/topo-legend-row-pin-spacing-test.mjs +0 -124
  988. package/scripts/topo-legend-row-text-cadence-test.mjs +0 -93
  989. package/scripts/topo-legend-row-tint-cadence-test.mjs +0 -92
  990. package/scripts/topo-legend-row-tint-test.mjs +0 -95
  991. package/scripts/topo-legend-row-title-test.mjs +0 -102
  992. package/scripts/topo-legend-swatch-glow-test.mjs +0 -109
  993. package/scripts/topo-legend-swatch-grow-test.mjs +0 -116
  994. package/scripts/topo-legend-swatch-member-alias-match-test.mjs +0 -139
  995. package/scripts/topo-legend-swatch-radius-test.mjs +0 -78
  996. package/scripts/topo-legend-tint-brightness-test.mjs +0 -83
  997. package/scripts/topo-legend-trio-halo-layers-test.mjs +0 -22
  998. package/scripts/topo-live-lanes.mjs +0 -48
  999. package/scripts/topo-minimap-a11y-test.mjs +0 -101
  1000. package/scripts/topo-minimap-container-halo-test.mjs +0 -82
  1001. package/scripts/topo-minimap-dot-chat-gate-test.mjs +0 -81
  1002. package/scripts/topo-minimap-dot-lift-test.mjs +0 -115
  1003. package/scripts/topo-minimap-dot-transition-test.mjs +0 -113
  1004. package/scripts/topo-minimap-hover-glow-test.mjs +0 -109
  1005. package/scripts/topo-minimap-offline-opacity-test.mjs +0 -90
  1006. package/scripts/topo-minimap-online-hover-opacity-test.mjs +0 -92
  1007. package/scripts/topo-minimap-online-opacity-test.mjs +0 -93
  1008. package/scripts/topo-minimap-online-radius-test.mjs +0 -85
  1009. package/scripts/topo-minimap-radius-test.mjs +0 -88
  1010. package/scripts/topo-minimap-rect-stroke-test.mjs +0 -94
  1011. package/scripts/topo-minimap-test.mjs +0 -68
  1012. package/scripts/topo-minimap-viewport-brightness-test.mjs +0 -84
  1013. package/scripts/topo-minimap-viewport-halo-layers-test.mjs +0 -24
  1014. package/scripts/topo-minimap-viewport-hover-test.mjs +0 -109
  1015. package/scripts/topo-minimap-viewport-linejoin-test.mjs +0 -75
  1016. package/scripts/topo-minimap-viewport-opacity-test.mjs +0 -96
  1017. package/scripts/topo-minimap-viewport-rx-test.mjs +0 -85
  1018. package/scripts/topo-minimap-viewport-smooth-test.mjs +0 -124
  1019. package/scripts/topo-minimap-zoom-glow-test.mjs +0 -86
  1020. package/scripts/topo-mobile-chips-test.mjs +0 -103
  1021. package/scripts/topo-mock-large.mjs +0 -58
  1022. package/scripts/topo-monogram-font-test.mjs +0 -112
  1023. package/scripts/topo-monogram-stroke-test.mjs +0 -101
  1024. package/scripts/topo-more-flows-fontweight-test.mjs +0 -103
  1025. package/scripts/topo-more-flows-hover-letterspacing-test.mjs +0 -98
  1026. package/scripts/topo-more-flows-letterspacing-test.mjs +0 -111
  1027. package/scripts/topo-more-flows-unit-test.mjs +0 -95
  1028. package/scripts/topo-more-footer-brightness-test.mjs +0 -94
  1029. package/scripts/topo-node-a11y-test.mjs +0 -107
  1030. package/scripts/topo-node-alias-brightness-test.mjs +0 -84
  1031. package/scripts/topo-node-alias-chat-pin-test.mjs +0 -95
  1032. package/scripts/topo-node-alias-letter-spacing-test.mjs +0 -112
  1033. package/scripts/topo-node-avatar-halo-layers-test.mjs +0 -25
  1034. package/scripts/topo-node-halo-hover-opacity-test.mjs +0 -104
  1035. package/scripts/topo-node-halo-light-offline-test.mjs +0 -80
  1036. package/scripts/topo-node-halo-offline-opacity-test.mjs +0 -87
  1037. package/scripts/topo-node-hover-lift-test.mjs +0 -85
  1038. package/scripts/topo-node-hover-ring-halo-layers-test.mjs +0 -70
  1039. package/scripts/topo-node-label-card-elevation-test.mjs +0 -157
  1040. package/scripts/topo-node-label-card-halo-test.mjs +0 -76
  1041. package/scripts/topo-node-label-card-rx-test.mjs +0 -85
  1042. package/scripts/topo-node-label-card-stroke-test.mjs +0 -135
  1043. package/scripts/topo-node-pulse-peak-test.mjs +0 -89
  1044. package/scripts/topo-node-pulse-trough-test.mjs +0 -91
  1045. package/scripts/topo-node-stroke-transition-test.mjs +0 -103
  1046. package/scripts/topo-node-sub-text-brightness-test.mjs +0 -88
  1047. package/scripts/topo-node-sub-text-fw-test.mjs +0 -75
  1048. package/scripts/topo-node-sub-text-letter-spacing-test.mjs +0 -115
  1049. package/scripts/topo-node-text-fill-transition-test.mjs +0 -119
  1050. package/scripts/topo-node-title-peers-test.mjs +0 -107
  1051. package/scripts/topo-node-title-test.mjs +0 -101
  1052. package/scripts/topo-nodesize-active-hover-test.mjs +0 -109
  1053. package/scripts/topo-nodesize-brightness-test.mjs +0 -82
  1054. package/scripts/topo-nodesize-crossfade-test.mjs +0 -141
  1055. package/scripts/topo-nodesize-halo-layers-test.mjs +0 -89
  1056. package/scripts/topo-nodesize-hover-fw-test.mjs +0 -99
  1057. package/scripts/topo-offline-dim-test.mjs +0 -70
  1058. package/scripts/topo-online-chip-nav-test.mjs +0 -143
  1059. package/scripts/topo-orbit-particles-retired-test.mjs +0 -91
  1060. package/scripts/topo-orphan-band-test.mjs +0 -106
  1061. package/scripts/topo-orphan-box-dash-test.mjs +0 -89
  1062. package/scripts/topo-orphan-fill-opacity-test.mjs +0 -91
  1063. package/scripts/topo-orphan-label-italic-test.mjs +0 -90
  1064. package/scripts/topo-orphan-label-opacity-test.mjs +0 -98
  1065. package/scripts/topo-overlap-stale-build-guard-test.mjs +0 -66
  1066. package/scripts/topo-overlap-test.mjs +0 -219
  1067. package/scripts/topo-p0round-test.mjs +0 -166
  1068. package/scripts/topo-pan-cursor-test.mjs +0 -62
  1069. package/scripts/topo-panel-count-fw-hover-test.mjs +0 -105
  1070. package/scripts/topo-panel-count-halo-layers-test.mjs +0 -91
  1071. package/scripts/topo-panel-count-hover-ls-test.mjs +0 -87
  1072. package/scripts/topo-panel-count-letterspacing-test.mjs +0 -89
  1073. package/scripts/topo-panel-count-unit-test.mjs +0 -112
  1074. package/scripts/topo-panel-elevation-test.mjs +0 -76
  1075. package/scripts/topo-panel-fadein-test.mjs +0 -102
  1076. package/scripts/topo-panel-hot-tail-fade-test.mjs +0 -132
  1077. package/scripts/topo-panel-hover-elevation-test.mjs +0 -118
  1078. package/scripts/topo-panel-rect-halo-test.mjs +0 -90
  1079. package/scripts/topo-panel-rect-opacity-hover-test.mjs +0 -109
  1080. package/scripts/topo-panel-row-brightness-test.mjs +0 -116
  1081. package/scripts/topo-panel-rx-test.mjs +0 -90
  1082. package/scripts/topo-panel-stroke-hover-test.mjs +0 -110
  1083. package/scripts/topo-panel-theme-ease-test.mjs +0 -85
  1084. package/scripts/topo-panel-title-brightness-test.mjs +0 -98
  1085. package/scripts/topo-panel-title-fill-ease-test.mjs +0 -91
  1086. package/scripts/topo-panel-title-glow-test.mjs +0 -111
  1087. package/scripts/topo-panel-title-hover-letterspacing-test.mjs +0 -97
  1088. package/scripts/topo-panel-title-tracking-test.mjs +0 -78
  1089. package/scripts/topo-panel-titles-dual-axis-breath-test.mjs +0 -94
  1090. package/scripts/topo-panel-titles-halo-layers-test.mjs +0 -23
  1091. package/scripts/topo-panel-titles-triple-axis-breath-test.mjs +0 -161
  1092. package/scripts/topo-particle-stagger-test.mjs +0 -82
  1093. package/scripts/topo-pill-x-rotate-test.mjs +0 -96
  1094. package/scripts/topo-pin-intersection-color-ease-test.mjs +0 -111
  1095. package/scripts/topo-pin-intersection-empty-test.mjs +0 -129
  1096. package/scripts/topo-pin-intersection-tabular-test.mjs +0 -96
  1097. package/scripts/topo-pin-intersection-test.mjs +0 -121
  1098. package/scripts/topo-pin-intersection-unit-test.mjs +0 -100
  1099. package/scripts/topo-pin-intersection-warning-crossfade-test.mjs +0 -107
  1100. package/scripts/topo-pin-mirror-transition-test.mjs +0 -101
  1101. package/scripts/topo-pin-persistence-test.mjs +0 -105
  1102. package/scripts/topo-pinned-aspect-test.mjs +0 -89
  1103. package/scripts/topo-pip-brightness-test.mjs +0 -85
  1104. package/scripts/topo-popover-meta-test.mjs +0 -78
  1105. package/scripts/topo-prefix-opacity-test.mjs +0 -107
  1106. package/scripts/topo-prepublish-guard-test.mjs +0 -95
  1107. package/scripts/topo-pressure-bar-halo-layers-test.mjs +0 -19
  1108. package/scripts/topo-pressure-bar-height-test.mjs +0 -92
  1109. package/scripts/topo-pressure-bar-test.mjs +0 -69
  1110. package/scripts/topo-pressure-hover-test.mjs +0 -123
  1111. package/scripts/topo-pressure-kicker-fontweight-test.mjs +0 -76
  1112. package/scripts/topo-pressure-pin-test.mjs +0 -119
  1113. package/scripts/topo-pressure-seg-glow-test.mjs +0 -92
  1114. package/scripts/topo-pressure-seg-member-alias-match-test.mjs +0 -133
  1115. package/scripts/topo-pressure-seg-motion-test.mjs +0 -101
  1116. package/scripts/topo-pressure-seg-self-hover-test.mjs +0 -126
  1117. package/scripts/topo-pressure-seg-tooltip-test.mjs +0 -98
  1118. package/scripts/topo-pressure-seg-transition-test.mjs +0 -107
  1119. package/scripts/topo-pulse-dot-crossfade-test.mjs +0 -122
  1120. package/scripts/topo-pulse-dot-retired-test.mjs +0 -86
  1121. package/scripts/topo-pulse-rate-test.mjs +0 -71
  1122. package/scripts/topo-r104-test.mjs +0 -54
  1123. package/scripts/topo-r717-scan-beam-pair-pattern-test.mjs +0 -100
  1124. package/scripts/topo-r717-triple-axis-pair-pattern-test.mjs +0 -113
  1125. package/scripts/topo-r717-triple-axis-tier-pattern-test.mjs +0 -117
  1126. package/scripts/topo-recent-count-brightness-test.mjs +0 -84
  1127. package/scripts/topo-recent-hot-pulse-test.mjs +0 -102
  1128. package/scripts/topo-recent-more-fw-test.mjs +0 -126
  1129. package/scripts/topo-recent-more-halo-layers-test.mjs +0 -90
  1130. package/scripts/topo-recent-panel-count-freshness-test.mjs +0 -109
  1131. package/scripts/topo-recent-panel-count-test.mjs +0 -72
  1132. package/scripts/topo-recent-panel-count-weight-test.mjs +0 -91
  1133. package/scripts/topo-recent-panel-footer-breath-test.mjs +0 -142
  1134. package/scripts/topo-recent-panel-hot-header-test.mjs +0 -132
  1135. package/scripts/topo-recent-panel-hot-pulse-test.mjs +0 -105
  1136. package/scripts/topo-recent-panel-hot-tabular-test.mjs +0 -113
  1137. package/scripts/topo-recent-panel-more-crossfade-test.mjs +0 -124
  1138. package/scripts/topo-recent-panel-more-cyan-hover-test.mjs +0 -151
  1139. package/scripts/topo-recent-panel-more-nav-test.mjs +0 -127
  1140. package/scripts/topo-recent-panel-more-test.mjs +0 -106
  1141. package/scripts/topo-recent-panel-readability-bump-test.mjs +0 -151
  1142. package/scripts/topo-recent-panel-title-breath-test.mjs +0 -91
  1143. package/scripts/topo-recent-panel-title-fw-test.mjs +0 -106
  1144. package/scripts/topo-recent-pip-halo-layers-test.mjs +0 -82
  1145. package/scripts/topo-recent-pip-radius-2-test.mjs +0 -72
  1146. package/scripts/topo-recent-pip-radius-test.mjs +0 -76
  1147. package/scripts/topo-recent-row-chat-gate-test.mjs +0 -75
  1148. package/scripts/topo-recent-row-content-lift-test.mjs +0 -140
  1149. package/scripts/topo-recent-row-content-opacity-test.mjs +0 -81
  1150. package/scripts/topo-recent-row-count-fill-test.mjs +0 -129
  1151. package/scripts/topo-recent-row-count-pin-fw-test.mjs +0 -106
  1152. package/scripts/topo-recent-row-count-weight-test.mjs +0 -112
  1153. package/scripts/topo-recent-row-fadein-test.mjs +0 -107
  1154. package/scripts/topo-recent-row-freshness-glow-test.mjs +0 -100
  1155. package/scripts/topo-recent-row-freshness-test.mjs +0 -102
  1156. package/scripts/topo-recent-row-fw-test.mjs +0 -115
  1157. package/scripts/topo-recent-row-hot-test.mjs +0 -110
  1158. package/scripts/topo-recent-row-hover-lift-test.mjs +0 -128
  1159. package/scripts/topo-recent-row-hover-test.mjs +0 -122
  1160. package/scripts/topo-recent-row-letter-spacing-test.mjs +0 -109
  1161. package/scripts/topo-recent-row-pin-spacing-test.mjs +0 -137
  1162. package/scripts/topo-recent-row-pin-test.mjs +0 -126
  1163. package/scripts/topo-recent-row-pip-hover-r-test.mjs +0 -104
  1164. package/scripts/topo-recent-row-text-cadence-test.mjs +0 -99
  1165. package/scripts/topo-recent-row-text-fontweight-test.mjs +0 -90
  1166. package/scripts/topo-recent-row-text-glow-test.mjs +0 -86
  1167. package/scripts/topo-recent-row-text-halo-layers-test.mjs +0 -67
  1168. package/scripts/topo-recent-row-tint-cadence-test.mjs +0 -96
  1169. package/scripts/topo-recent-row-tint-test.mjs +0 -91
  1170. package/scripts/topo-recent-row-title-test.mjs +0 -112
  1171. package/scripts/topo-recent-row-ts-alpha-test.mjs +0 -100
  1172. package/scripts/topo-recent-row-ts-lift-test.mjs +0 -97
  1173. package/scripts/topo-recent-row-ts-tabular-test.mjs +0 -108
  1174. package/scripts/topo-recent-row-ts-test.mjs +0 -95
  1175. package/scripts/topo-recent-row-typography-test.mjs +0 -119
  1176. package/scripts/topo-recent-signal-empty-hint-test.mjs +0 -73
  1177. package/scripts/topo-recent-signal-empty-test.mjs +0 -63
  1178. package/scripts/topo-recent-tint-brightness-test.mjs +0 -80
  1179. package/scripts/topo-recent-ts-brightness-test.mjs +0 -86
  1180. package/scripts/topo-reduced-motion-attr-test.mjs +0 -69
  1181. package/scripts/topo-reduced-motion-test.mjs +0 -77
  1182. package/scripts/topo-rename-test.mjs +0 -107
  1183. package/scripts/topo-reset-brightness-test.mjs +0 -83
  1184. package/scripts/topo-reset-hover-rotate-test.mjs +0 -102
  1185. package/scripts/topo-reset-icon-hover-scale-test.mjs +0 -102
  1186. package/scripts/topo-reset-spin-test.mjs +0 -120
  1187. package/scripts/topo-respiratory-axis-count-stats-test.mjs +0 -154
  1188. package/scripts/topo-respiratory-patterns-catalog-test.mjs +0 -112
  1189. package/scripts/topo-respiratory-rolodex-test.mjs +0 -83
  1190. package/scripts/topo-respiratory-tiers-catalog-test.mjs +0 -119
  1191. package/scripts/topo-respiratory-triple-axis-surfaces-catalog-test.mjs +0 -127
  1192. package/scripts/topo-runtime-badge-brightness-test.mjs +0 -78
  1193. package/scripts/topo-runtime-badge-glow-test.mjs +0 -108
  1194. package/scripts/topo-runtime-badge-grow-test.mjs +0 -114
  1195. package/scripts/topo-runtime-badge-halo-layers-test.mjs +0 -87
  1196. package/scripts/topo-runtime-badge-rotate-test.mjs +0 -85
  1197. package/scripts/topo-runtime-icon-hover-test.mjs +0 -96
  1198. package/scripts/topo-section-title-breath-test.mjs +0 -83
  1199. package/scripts/topo-section-title-halo-layers-test.mjs +0 -88
  1200. package/scripts/topo-shot.mjs +0 -31
  1201. package/scripts/topo-spoke-active-opacity-test.mjs +0 -104
  1202. package/scripts/topo-spoke-active-stroke-test.mjs +0 -95
  1203. package/scripts/topo-spoke-chat-gate-test.mjs +0 -72
  1204. package/scripts/topo-spoke-idle-opacity-test.mjs +0 -91
  1205. package/scripts/topo-spokes-retired-test.mjs +0 -93
  1206. package/scripts/topo-starfield-density-test.mjs +0 -89
  1207. package/scripts/topo-starfield-hue-test.mjs +0 -109
  1208. package/scripts/topo-status-chip-hover-test.mjs +0 -101
  1209. package/scripts/topo-status-chip-tooltip-test.mjs +0 -95
  1210. package/scripts/topo-status-pin-pill-halo-layers-test.mjs +0 -17
  1211. package/scripts/topo-status-ring-brightness-test.mjs +0 -84
  1212. package/scripts/topo-status-ring-chat-gate-test.mjs +0 -72
  1213. package/scripts/topo-status-ring-halo-layers-test.mjs +0 -105
  1214. package/scripts/topo-status-ring-hover-sw-test.mjs +0 -105
  1215. package/scripts/topo-status-ring-status-halo-test.mjs +0 -110
  1216. package/scripts/topo-statusbar-chips-self-hover-test.mjs +0 -177
  1217. package/scripts/topo-sub-text-chat-brightness-test.mjs +0 -81
  1218. package/scripts/topo-svg-focus-test.mjs +0 -112
  1219. package/scripts/topo-svg-focus-transition-test.mjs +0 -105
  1220. package/scripts/topo-svg-title-a11y-r731-test.mjs +0 -93
  1221. package/scripts/topo-svg-title-a11y-test.mjs +0 -88
  1222. package/scripts/topo-sweep-busyness-test.mjs +0 -94
  1223. package/scripts/topo-tabular-nums-sweep-test.mjs +0 -93
  1224. package/scripts/topo-tier-guide-dashes-test.mjs +0 -86
  1225. package/scripts/topo-tier-ring-fadein-test.mjs +0 -107
  1226. package/scripts/topo-tier-ring-occupancy-test.mjs +0 -87
  1227. package/scripts/topo-tier-ring-test.mjs +0 -69
  1228. package/scripts/topo-tier-ring-tint-test.mjs +0 -110
  1229. package/scripts/topo-tier-stagger-test.mjs +0 -89
  1230. package/scripts/topo-title-block-entrance-animation-test.mjs +0 -127
  1231. package/scripts/topo-title-block-envelope-breath-test.mjs +0 -87
  1232. package/scripts/topo-title-block-tight-leading-test.mjs +0 -95
  1233. package/scripts/topo-title-tracking-test.mjs +0 -98
  1234. package/scripts/topo-titleblock-gap-test.mjs +0 -86
  1235. package/scripts/topo-titleblock-h2-hover-fw-test.mjs +0 -109
  1236. package/scripts/topo-titleblock-h2-hover-tracking-test.mjs +0 -128
  1237. package/scripts/topo-titleblock-kicker-hover-test.mjs +0 -134
  1238. package/scripts/topo-titleblock-margin-test.mjs +0 -83
  1239. package/scripts/topo-toggle-inactive-cyan-hover-test.mjs +0 -110
  1240. package/scripts/topo-top-rail-theme-ease-test.mjs +0 -89
  1241. package/scripts/topo-tree-diag.mjs +0 -95
  1242. package/scripts/topo-tz-ghost-test.mjs +0 -69
  1243. package/scripts/topo-vendor-activelinks-press-test.mjs +0 -100
  1244. package/scripts/topo-vendor-chip-glow-test.mjs +0 -97
  1245. package/scripts/topo-vendor-chip-halo-layers-test.mjs +0 -18
  1246. package/scripts/topo-vendor-chip-hover-lift-test.mjs +0 -87
  1247. package/scripts/topo-vendor-chip-hover-test.mjs +0 -111
  1248. package/scripts/topo-vendor-chip-pin-halo-test.mjs +0 -88
  1249. package/scripts/topo-vendor-chip-self-hover-test.mjs +0 -131
  1250. package/scripts/topo-vendor-chip-tabular-test.mjs +0 -92
  1251. package/scripts/topo-vendor-chip-threshold-test.mjs +0 -78
  1252. package/scripts/topo-vendor-chip-weight-test.mjs +0 -87
  1253. package/scripts/topo-vendor-count-suffix-halo-layers-test.mjs +0 -79
  1254. package/scripts/topo-vendor-count-suffix-test.mjs +0 -95
  1255. package/scripts/topo-vendor-distribution-wrapper-halo-test.mjs +0 -93
  1256. package/scripts/topo-vendor-glyph-fontweight-test.mjs +0 -102
  1257. package/scripts/topo-vendor-letter-halo-layers-test.mjs +0 -93
  1258. package/scripts/topo-vendor-letter-hover-scale-test.mjs +0 -129
  1259. package/scripts/topo-vendor-letter-tooltip-test.mjs +0 -92
  1260. package/scripts/topo-vendor-pill-glow-test.mjs +0 -98
  1261. package/scripts/topo-vendor-pill-test.mjs +0 -125
  1262. package/scripts/topo-vendor-pin-test.mjs +0 -125
  1263. package/scripts/topo-vendor-suffix-hover-brighten-test.mjs +0 -87
  1264. package/scripts/topo-vendor-test.mjs +0 -97
  1265. package/scripts/topo-view-smooth-test.mjs +0 -131
  1266. package/scripts/topo-watermark-breath-test.mjs +0 -100
  1267. package/scripts/topo-watermark-dual-axis-breath-test.mjs +0 -88
  1268. package/scripts/topo-watermark-envelope-breath-test.mjs +0 -88
  1269. package/scripts/topo-watermark-recede-test.mjs +0 -114
  1270. package/scripts/topo-watermark-tracking-test.mjs +0 -99
  1271. package/scripts/topo-watermark-triple-axis-breath-test.mjs +0 -129
  1272. package/scripts/topo-wheel-zoom-test.mjs +0 -79
  1273. package/scripts/topo-working-chip-pin-test.mjs +0 -154
  1274. package/scripts/topo-working-halo-breath-retired-test.mjs +0 -99
  1275. package/scripts/topo-working-online-chip-halo-layers-test.mjs +0 -94
  1276. package/scripts/topo-wrapper-flow-arrow-theme-test.mjs +0 -97
  1277. package/scripts/topo-wrapper-radius-test.mjs +0 -73
  1278. package/scripts/topo-wrapper-shadow-theme-ease-test.mjs +0 -89
  1279. package/scripts/topo-zoom-attr-test.mjs +0 -74
  1280. package/scripts/topo-zoom-buttons-brightness-test.mjs +0 -94
  1281. package/scripts/topo-zoom-icon-hover-scale-test.mjs +0 -114
  1282. package/scripts/topo-zoom-in-out-halo-layers-test.mjs +0 -97
  1283. package/scripts/topo-zoom-keys-test.mjs +0 -89
  1284. package/scripts/topo-zoom-level-breath-test.mjs +0 -87
  1285. package/scripts/topo-zoom-level-brightness-test.mjs +0 -83
  1286. package/scripts/topo-zoom-level-color-test.mjs +0 -105
  1287. package/scripts/topo-zoom-level-dual-axis-breath-test.mjs +0 -83
  1288. package/scripts/topo-zoom-level-halo-layers-test.mjs +0 -78
  1289. package/scripts/topo-zoom-level-hover-fw-test.mjs +0 -95
  1290. package/scripts/topo-zoom-level-hover-letterspacing-test.mjs +0 -91
  1291. package/scripts/topo-zoom-level-triple-axis-breath-test.mjs +0 -148
  1292. /package/.next/static/{9xrepgGmTIkgV7uxJ0dm8 → tbzrvKcMw58fvU7N8zbS7}/_buildManifest.js +0 -0
  1293. /package/.next/static/{9xrepgGmTIkgV7uxJ0dm8 → tbzrvKcMw58fvU7N8zbS7}/_clientMiddlewareManifest.js +0 -0
  1294. /package/.next/static/{9xrepgGmTIkgV7uxJ0dm8 → tbzrvKcMw58fvU7N8zbS7}/_ssgManifest.js +0 -0
@@ -1,797 +0,0 @@
1
- # Dashboard Frontend Polish — Loop Rounds
2
-
3
- > 5-minute iterative polish loop. Each round: pick one focused UI change (no
4
- > business logic), implement, screenshot via Playwright on both themes ×
5
- > both viewports, self-score, propose next round.
6
- >
7
- > Aesthetic constraints (per Vincent):
8
- > - Minimal / restrained — NOT AI-glow heavy
9
- > - Both Dark (Cyber) and Light themes
10
- > - Mobile + Desktop both adapt
11
- > - No business logic changes
12
-
13
- ---
14
-
15
- ## Round 1 — Login page polish
16
-
17
- ### What changed
18
- - **Brand mark**: replaced flat emerald square with the existing 3-node
19
- mesh SVG (cyan/green/violet). The mark IS the agent-network concept
20
- (nodes + edges), so it doubles as both logo and visual story.
21
- - **Tagline**: added "One control plane for your AI agents · Tasks · Mesh
22
- · Messages" under the H1 — answers "what is this thing" for new users
23
- who arrive via the OSS repo.
24
- - **Background**: subtle dot grid in light themes (`24px 24px` radial
25
- dots, very low opacity) + faint radial wash. In Cyber, kept only a
26
- whisper of cyan/blue radial — the only "glow" allowed in the whole app.
27
- - **Vertical layout**: tightened padding (`py-10 sm:py-16`), removed the
28
- ~250px dead space above the logo on desktop.
29
- - **Footer hierarchy**: changed `Powered by Sleep2AGI` (single small
30
- grey line) to a 2-line block: `Powered by Sleep2AGI · Apache-2.0` then
31
- `anet.sh` (signals OSS + canonical home).
32
- - **Brand mark surface**: light theme gets a soft white chip with `0 0 0
33
- 1px var(--border)` halo; dark themes keep their navy.
34
-
35
- ### Files touched
36
- - `app/login/page.tsx` (markup + tagline + brand SVG inline)
37
- - `app/globals.css` (`.anet-login-bg`, `.anet-login-mark` rules at end of
38
- file)
39
-
40
- ### Screenshots
41
- - `/tmp/loop-r1/light-desktop.png` ✓
42
- - `/tmp/loop-r1/light-mobile.png` ✓
43
- - `/tmp/loop-r1/cyber-desktop.png` ✓
44
- - `/tmp/loop-r1/cyber-mobile.png` ✓
45
-
46
- ### Self-score: **7.8 / 10**
47
-
48
- | Dimension | Score | Notes |
49
- |----------------------------------|------:|------------------------------------------------------------------------------------------|
50
- | First-impression clarity | 9 | Tagline + mesh mark immediately tell the story |
51
- | Brand consistency | 9 | Mark = product concept, same image across themes |
52
- | Minimal/non-AI-glow | 8 | Cyber kept ~1 radial wash only (compromise: zero would feel flat) |
53
- | Light/dark theme harmony | 8 | Tagline + footer + form translate cleanly |
54
- | Mobile adaptation | 8 | Wraps fine; could shrink mark slightly on <320px screens |
55
- | Restraint (no decoration noise) | 8 | Dot grid is borderline; if it reads as "wallpaper" I'd remove it |
56
- | Affordance (what to click) | 7 | Tabs visually OK; disabled "Sign in" button in cyber is hard to tell from active until you focus an input |
57
-
58
- **Deductions**:
59
- - −0.8: brand mark is static. Could pulse subtly (one node fading in/out
60
- on a slow 4s loop) to hint at "live agent network" — but might cross
61
- back into AI-glow territory. Test in round 4 maybe.
62
- - −0.7: footer feels slightly redundant ("Apache-2.0" + "anet.sh" stacked).
63
- Could be `Sleep2AGI · Apache-2.0 · anet.sh` on one line.
64
- - −0.7: form card border in cyber theme is the same `#2a2a4a` it always
65
- was. Could be a hair brighter to lift it off the radial wash.
66
-
67
- ### Round 2 plan: **Empty states standardization**
68
-
69
- **Why**: with no agents/tasks/messages seeded, most pages currently show
70
- a giant double-dash (`--`) followed by a one-liner. Examples (audit
71
- screenshots reference):
72
- - Overview: `-- / No agents in this network`
73
- - Tasks: `-- / No tasks found / Tasks will appear here when agents send them via CommHub.`
74
- - Messages: `-- / No messages / Messages between agents will appear here.`
75
- - Nodes: `No nodes match your filters.` (no icon, no leading mark)
76
- - Tokens: `No tokens. V3 auth required.`
77
-
78
- The double-dash reads as a "loading" or "broken" affordance, not as an
79
- "intentionally empty, here's how to fill it" affordance.
80
-
81
- **Round 2 changes** (still no business logic):
82
- - Extract a shared `<EmptyState>` component into
83
- `app/components/EmptyState.tsx` (or upgrade the existing
84
- `LoadingSkeleton.tsx` export).
85
- - Drop the leading `--` line for an inline SVG glyph relevant to the page
86
- (Overview = mesh-with-no-nodes, Tasks = task-list-empty, Messages =
87
- bubble-empty, Nodes = nodes-grid-empty).
88
- - Two-line copy: a calm headline + a one-liner with a CTA where it makes
89
- sense (e.g. Overview "No agents in this network" + "Run `anet quickstart` to register your first node →" with link to docs).
90
- - Same icon/copy structure across both themes.
91
-
92
- Estimated work: 30-40 min (component + 5 page integrations + screenshots).
93
- Will start automatically on the next loop fire (`*/5`).
94
-
95
- ---
96
-
97
- _Loop active: cron `*/5 * * * *`, job `5048a197`, session-only,
98
- auto-expires in 7 days._
99
-
100
- ---
101
-
102
- ## Round 2 — Empty states standardization
103
-
104
- ### What changed
105
- - **New shared component** `app/components/EmptyState.tsx`:
106
- - 7 variants (`nodes / tasks / messages / logs / tokens / networks /
107
- generic`) each with its own line-art SVG glyph (64×64 viewBox, no
108
- fills, thin 1.25 stroke, monochrome `currentColor`, dashed where
109
- appropriate to signal "incoming").
110
- - `<NodesEmptyState hint={...}>` keeps the Overview-specific behavior
111
- (cross-network global count hint) but defaults to a "Run `anet
112
- quickstart`" CTA when no hint is present.
113
- - `compact` prop for in-card empty states (Tokens, Networks).
114
- - **Wired into 7 pages**:
115
- - `app/page.tsx` — Overview "no agents" → mesh-with-dashed-edges glyph
116
- + "Run anet quickstart →" CTA linking to anet.sh
117
- - `app/tasks/page.tsx` — "no tasks" → 3-bar stack glyph
118
- - `app/nodes/page.tsx` — "no nodes" filter-aware variant
119
- - `app/messages/page.tsx` — "no messages" → speech bubble outline
120
- - `app/logs/page.tsx` — "no audit logs" → document with lines
121
- - `app/settings/tokens/page.tsx` — "no API tokens" → key outline
122
- - `app/settings/networks/page.tsx` — "no networks" → globe-ish concentric
123
-
124
- Every previous instance of the giant `--` text plus inconsistent
125
- `text-gray-400 text-lg` / `text-gray-600 text-sm` patterns is gone.
126
-
127
- ### Self-score: **8.2 / 10**
128
-
129
- | Dimension | Score | Notes |
130
- |----------------------------------|------:|------------------------------------------------------------------------|
131
- | Visual restraint (no AI noise) | 9 | Line-art only, no fills, no gradients, no animations |
132
- | Information value per state | 9 | Each glyph IS the entity ("messages" = bubble, "tokens" = key) |
133
- | Theme parity | 9 | currentColor + opacity bands work identically in light/dark |
134
- | Mobile adaptation | 8 | All 7 pages reflow cleanly at 390×844 |
135
- | Affordance (next-step CTA) | 7 | Only Overview has a CTA right now; other pages could link to docs too |
136
- | Component reusability | 9 | Single API, drops into any page in 3 lines |
137
- | Old code removed cleanly | 8 | Old `EmptyState` export in `LoadingSkeleton.tsx` is now unused (could be deleted next round) |
138
-
139
- **Deductions**:
140
- - −0.4: only Overview has a recovery CTA. Tasks/Messages/Logs could each
141
- link to a short docs anchor — but I want to confirm with Vincent
142
- before adding outbound link sprawl.
143
- - −0.3: glyphs are static. The mesh-with-dashed-edges on Overview begs
144
- for a tiny one-shot animation (edges fade from 0.6 → 0 opacity on
145
- page load only — NOT a loop, that would be AI-noise). Maybe round N.
146
- - −0.1: the old `EmptyState` export in `LoadingSkeleton.tsx` lingers,
147
- unused. Delete in round 3.
148
-
149
- ### Round 3 plan: **Quick Actions disambiguation**
150
-
151
- **Why**: Overview's Quick Actions row currently mixes two intents:
152
- ```
153
- [0/0 Nodes] [-- Tasks] [0 Failed] [→ Messages] [→ Logs] [→ Admin]
154
- ```
155
- Three of the cells carry data ("0/0", "--", "0"), three are pure-nav
156
- placeholders ("→"). The user can't tell at a glance which cells are
157
- stat affordances vs nav. Worse, the data cells look like they SHOULD be
158
- clickable for drill-in, while the nav cells look like they have no data
159
- (false negatives).
160
-
161
- **Round 3 changes** (no business logic):
162
- - Split into 2 visually distinct strips on Overview:
163
- - **Top strip** (3 cards): pure stats — Nodes online/total, Tasks
164
- total, Failed tasks. Big number + label + small "view all →" link
165
- in corner. Hover = subtle elevation, click = navigate.
166
- - **Bottom row** (3 small icon-buttons): pure nav — Messages, Logs,
167
- Admin. Icon + label, no number, smaller affordance.
168
- - Drop the leftover `EmptyState` export from `LoadingSkeleton.tsx`.
169
-
170
- Estimated work: 30 min. Will fire on next `*/5` loop cycle.
171
-
172
- ---
173
-
174
- ## Round 3 — Quick Actions disambiguation
175
-
176
- ### What changed
177
- - Overview's previous 6-cell mixed row (3 data + 3 placeholder arrows)
178
- is now **two intentional strips**:
179
- - **Stat strip** (3 cards, larger): `Nodes 0/0 · 0% online`, `Tasks 0
180
- · all-time`, `Failed 0 · none`. Big number on the left, "View →"
181
- affordance top-right, label + sub-copy below the number. Hover =
182
- `-translate-y-px` for a one-pixel lift.
183
- - **Nav rail** (3 buttons, smaller): `Messages · Audit log · Admin`
184
- each as icon + label, flat 12px text, no data values, neutral
185
- border. Clear "navigation only" affordance.
186
- - Drop the now-unused `EmptyState` export in
187
- `app/components/LoadingSkeleton.tsx`; the new
188
- `app/components/EmptyState.tsx` is canonical.
189
-
190
- ### Self-score: **8.5 / 10**
191
-
192
- | Dimension | Score | Notes |
193
- |--------------------------|------:|----------------------------------------------------------------|
194
- | Intent clarity | 10 | Stats above, nav below — instantly readable role |
195
- | Information density | 8 | Each stat carries 3 facts (value, label, sub) without crowding |
196
- | Affordance hierarchy | 9 | "View →" tells you these are clickable, nav rail icons + label |
197
- | Mobile adaptation | 7 | 3-col stat strip at 390px is tight; numbers + "View →" squeeze |
198
- | Theme parity | 9 | Both render the same structure with theme-correct tokens |
199
- | Restraint | 9 | No gradient washes, no icons-with-color-fills, just lines |
200
-
201
- **Deductions**:
202
- - −0.7: mobile 3-col is tight at 390px. Should probably collapse to
203
- 2-col-stat + 3-col-nav on `<sm`. Defer to next round if surfaces.
204
- - −0.5: "0% online" sub-copy reads wrong when `total=0` (should be
205
- "no agents yet" or just "—"). Small copy bug, fix next round.
206
- - −0.3: nav rail icons are 16px stroke-1.5 SVG, slightly muddy at that
207
- size. Bumping to 18px would help.
208
-
209
- ### Round 4 plan: **Sidebar brand + live status**
210
-
211
- The sidebar header is still plain text:
212
- ```
213
- Agent Network
214
- Dashboard
215
- ```
216
- Round 1 introduced the 3-node mesh mark on the Login page. The sidebar
217
- should pick that up for brand continuity — users see the same visual
218
- identifier on every page.
219
-
220
- Add inline next to "Agent Network": a small **live status pulse** with
221
- `{online} online · {total} total`. The pulse uses the same 24px-hub
222
- green dot from the topology (subtle, no AI-glow). Gives every page a
223
- real-time "is my fleet up?" signal without going to /nodes.
224
-
225
- Estimated work: 25 min. Fires on next `*/5` loop cycle.
226
-
227
- ---
228
-
229
- ## Round 4 — Sidebar brand + live status
230
-
231
- ### What changed
232
- - Sidebar header (used to be plain `Agent Network / Dashboard` two-line
233
- text) is now `BrandMark + Agent Network + status pulse`.
234
- - **BrandMark**: same 3-node mesh SVG as `/login` (round 1), 32px in
235
- expanded sidebar, 28px when collapsed. Cyan ring + cyan/green/violet
236
- nodes use `currentColor` + Tailwind text-color classes so theming is
237
- automatic.
238
- - **Live pulse**: tiny 1.5×1.5px emerald dot + copy. When online > 0 it
239
- animates with `anet-brand-pulse` (1.6s slow opacity drift between
240
- 1.0 and 0.4 — NO scale, NO blur, NO glow). When `total === 0` it
241
- reads "no agents yet" with a grey dot, no animation. Respects
242
- `prefers-reduced-motion: reduce`.
243
- - Sidebar uses SWR to poll `/api/hub/status` every 10s (dedupes with
244
- the Overview's existing request, so cost is zero).
245
- - Dropped the `Dashboard` sub-label — replaced with the status line.
246
-
247
- ### Self-score: **8.6 / 10**
248
-
249
- | Dimension | Score | Notes |
250
- |--------------------------|------:|-----------------------------------------------------------------------------|
251
- | Brand continuity | 10 | Same mark on /login and the sidebar — first-impression to power-use loop |
252
- | Restraint | 9 | Opacity-only pulse, no AI-glow; respects reduced-motion |
253
- | Information density | 9 | 3 facts (brand, online count, total) in the same vertical space as before |
254
- | Theme parity | 9 | currentColor + emerald dot reads identical on both themes |
255
- | Mobile + collapse | 8 | Both states tested; 28px mark in collapsed mode reads but tight at <16px sidebar |
256
- | Affordance | 7 | The brand header isn't clickable; could route to / |
257
-
258
- **Deductions**:
259
- - −0.7: "no agents yet" copy feels slightly negative — "waiting for
260
- agents" would feel more inviting. Easy copy tweak next round.
261
- - −0.4: brand block isn't a link. Clicking the brand on most apps
262
- navigates home; we should make it a `<Link href="/">`. One-line fix.
263
- - −0.3: when sidebar is collapsed (`w-16`) the 28px mark looks small.
264
- Could bump to 32px in collapsed mode (the row is taller than the
265
- icon anyway).
266
-
267
- ### Round 5 plan: **TopoGraph light SVG variant (close issue #8)**
268
-
269
- This is the largest open visual debt. The Command Mesh SVG bg is hard-
270
- coded `linearGradient #0b1220 → #080814 → #101018` and the radar rings
271
- are `#164e63`, the hub spokes are `#155e75`, the flow particles are
272
- `#fef08a`. In Cyber that whole palette sings. In Light it's a black
273
- square inside an otherwise white page (audit doc P1-2, GitHub issue #8).
274
-
275
- **Round 5 changes** (no business logic):
276
- - Detect theme via `useEffect` + `MutationObserver` on
277
- `document.documentElement[data-theme]`, hold in component state.
278
- - Define two palette objects: `darkPalette` (current values) and
279
- `lightPalette` (white bg + subtle grey grid + emerald node + soft
280
- zinc edges, no glow filter).
281
- - Pass through the SVG attribute chain. Same component, same SVG
282
- structure, theme-aware fills/strokes.
283
- - Verify both themes with Playwright (+ desktop + mobile).
284
-
285
- Estimated work: 60-80 min — the largest single round so far. Fires on
286
- next `*/5` cycle but may span 2 cycles.
287
-
288
- ---
289
-
290
- ## Round 5 — TopoGraph light SVG variant · closes issue #8
291
-
292
- ### What changed
293
- - Added a `useTheme()` hook that watches `data-theme` on
294
- `document.documentElement` via `useEffect + MutationObserver`. Returns
295
- `'light'` for `light/mint` themes, `'dark'` for `cyber/sunset`.
296
- - Defined two `Palette` objects (DARK_PALETTE, LIGHT_PALETTE) covering
297
- panel gradient stops, radar wash colors, arrow fill, ring stroke,
298
- spoke stroke (active + idle), flow edge, flow path, flow particle,
299
- node fills (online + offline), label-box + legend-box backgrounds,
300
- legend text/headline/accent, container bg + border, top-rail gradient
301
- Tailwind tokens.
302
- - Threaded the palette through every hardcoded color in the SVG:
303
- - `linearGradient #topo-panel` stops
304
- - `radialGradient #topo-radar` stops
305
- - `filter #topo-glow` is now **omitted** in light (no Gaussian blur
306
- halo — that's the AI-glow risk vector)
307
- - `marker #topo-arrow` fill
308
- - radar rings + radial lines stroke + opacity
309
- - hub link spokes (active + idle)
310
- - directed message flow edges (with conditional `filter` for glow)
311
- - node fill (online vs offline), halo, status indicator
312
- - node label box rect fill + stroke
313
- - "recent signal" + "legend" boxes (fill, stroke, text colors)
314
- - `nodeStatus(session, isOnline, isLight)` now also returns
315
- theme-appropriate `primary / halo / text` triplets — emerald/teal/
316
- zinc in light, neon cyan/green in dark.
317
-
318
- ### Files touched
319
- - `app/components/TopoGraph.tsx` — single file, ~50 LOC added (palette
320
- + theme hook), ~20 hardcoded colors replaced with palette refs.
321
-
322
- ### Screenshots
323
- - `/tmp/loop-r5/light-desktop.png` ✓ — white-ish panel, faint emerald
324
- wash, light grey radar rings, calm legend boxes, no glow halos
325
- - `/tmp/loop-r5/cyber-desktop.png` ✓ — unchanged from 0.4.4 (verified
326
- no regression)
327
- - `/tmp/loop-r5/light-mobile.png` ✓ — "Show Topology" toggle (existing
328
- mobile gate behavior preserved)
329
- - `/tmp/loop-r5/cyber-mobile.png` ✓
330
-
331
- ### Self-score: **9.0 / 10**
332
-
333
- | Dimension | Score | Notes |
334
- |--------------------------|------:|--------------------------------------------------------------------------------|
335
- | Issue #8 closure | 10 | Light theme TopoGraph no longer reads as a black square |
336
- | No Cyber regression | 10 | Dark theme renders byte-identically; same palette values flow through |
337
- | Restraint (AI-glow) | 9 | Dropped `filter #topo-glow` in light — flat strokes only, no Gaussian halos |
338
- | Theme detection robust | 9 | MutationObserver catches runtime theme switches (live), not just initial paint |
339
- | Mobile parity | 9 | Mobile mock gate ("topology hidden") preserved; if user shows it, both work |
340
- | Code organization | 8 | Palette objects + hook are tidy; some hub-pulse `#10b981` literal still inline |
341
-
342
- **Deductions**:
343
- - −0.5: "idle-5" offline node label box overlaps the center pulse hub
344
- when offline-row positioning algorithm puts that node high. Pre-
345
- existing layout bug, surfaced more clearly in light. Future round
346
- could add layout collision avoidance.
347
- - −0.3: radar wash opacity 0.06 is very subtle in light. Might want
348
- 0.08–0.10 for slightly more depth. Tune in a future round.
349
- - −0.2: the 24px pulse hub (from 0.4.3-preview.1) uses `#10b981`
350
- literal directly. Works in both themes by accident. Should be
351
- palette-driven.
352
-
353
- ### Round 6 plan: **Settings section grouping + License chip**
354
-
355
- The Settings page (audit P1-1) is currently a long flat list:
356
- ```
357
- CommHub Connection
358
- Server Info
359
- Dashboard
360
- License
361
- Change Password
362
- API Tokens
363
- Networks
364
- Session
365
- ```
366
- Each is a separately-bordered card with no visual hierarchy. The user
367
- can't tell at a glance which sections are "connection-y", "account-y",
368
- or "advanced-y".
369
-
370
- **Round 6 changes** (no business logic):
371
- - Wrap the cards into 3 logical groups with small uppercase section
372
- headings:
373
- - **Connection** → CommHub Connection + Server Info + Dashboard
374
- - **Account** → License + Change Password + Session
375
- - **Resources** → API Tokens + Networks
376
- - License "trial" text → a proper amber pill ("trial • 14 days left").
377
- - Session card: tone down the red headline (looks like an error).
378
- "Session" → "Sign out", red → neutral grey, red `Sign out` button →
379
- ghost outline.
380
-
381
- Estimated work: 25 min. Fires next `*/5`.
382
-
383
- ---
384
-
385
- ## Round 6 — Settings section grouping + License chip + Session tone
386
-
387
- ### What changed
388
- - Wrapped the 8 settings cards into **3 logical groups** with small
389
- uppercase `text-[10px] tracking-[0.12em]` section labels:
390
- - **CONNECTION** — CommHub Connection, Server Info, Dashboard
391
- - **ACCOUNT** — License, Change Password, Sign out
392
- - **RESOURCES** — API Tokens + Networks (2-col grid)
393
- - **License chip**: added inline next to "License" headline. A pill
394
- showing `● {type} · {days_left}d left` with theme-aware coloring —
395
- green for pro, red when ≤7 days, amber otherwise. Replaces the
396
- isolated orange `trial` text inside the value rows.
397
- - **Session card** (audit P3 finding): renamed "Session" → "Sign out"
398
- with neutral grey card border and copy ("Signing out clears your
399
- dashboard session cookie. You'll return to the login page."). Red
400
- pill button → ghost outline matching the rest of the surface. No
401
- longer reads as a "danger zone" warning.
402
- - Left the legacy red-Session section in place but `display: none` so
403
- it can be removed cleanly in round 7's cleanup pass.
404
-
405
- ### Self-score: **8.8 / 10**
406
-
407
- | Dimension | Score | Notes |
408
- |--------------------------|------:|----------------------------------------------------------------------|
409
- | Hierarchy | 9 | Three small caps headings give instant orientation |
410
- | License presentation | 9 | Chip is calm and theme-aware; matches the rest of the chip system |
411
- | Session tone | 9 | No longer looks like a danger zone; reads as a quiet utility action |
412
- | Theme parity | 9 | Headings use `text-gray-600` which themes via the shim correctly |
413
- | Hidden cruft | 7 | Legacy red Session section still in DOM (display:none) — clean next round |
414
- | Information dedup | 8 | License chip + "Type: trial" row carry the same info; row could go |
415
-
416
- **Deductions**:
417
- - −0.5: License chip duplicates "Type" row info. Remove the row in
418
- round 7 so the chip is the canonical source of truth.
419
- - −0.4: hidden legacy `Session` section is still in the DOM (`hidden`
420
- class). Delete fully in round 7.
421
- - −0.3: section labels (`CONNECTION / ACCOUNT / RESOURCES`) might
422
- benefit from a thin horizontal rule underneath when each group
423
- has 2+ cards. Tiny polish.
424
-
425
- ### Round 7 plan: **Small wins batch**
426
-
427
- Bundle the lingering deductions from rounds 1, 2, 4, 6:
428
- - **Login footer one-line**: collapse `Powered by Sleep2AGI · Apache-2.0
429
- / anet.sh` to a single muted line `Sleep2AGI · Apache-2.0 · anet.sh`
430
- - **Sidebar brand**: wrap in `<Link href="/">` so clicking the brand
431
- goes home (common app convention; round 4 deduction)
432
- - **Sidebar status copy**: `no agents yet` → `waiting for agents` —
433
- feels more inviting, less negative (round 4 deduction)
434
- - **License row de-dup**: remove the standalone `Type / trial` row
435
- inside the License card now that the chip carries that fact
436
- - **Settings cleanup**: delete the `display:none` legacy Session card
437
-
438
- All are <5 LOC each, batch is ~25 LOC total. Fires next `*/5`.
439
-
440
- ---
441
-
442
- ## Round 7 — Small-wins batch
443
-
444
- ### What changed
445
- - **Login footer**: collapsed `Powered by Sleep2AGI · Apache-2.0 /
446
- anet.sh` (two lines) to a single muted line `Sleep2AGI · Apache-2.0
447
- · anet.sh`. `anet.sh` is an outbound `<a>` with hover affordance.
448
- - **Sidebar brand**: wrapped the brand block in `<Link href="/">` —
449
- clicking the brand mark or product name navigates to Overview, the
450
- standard app convention. Subtle hover (`hover:bg-[#11112a]/40` in
451
- expanded; `hover:opacity-80` when collapsed).
452
- - **Sidebar copy**: `no agents yet` → `waiting for agents`. Feels
453
- inviting (the system is ready, awaiting input) rather than
454
- negative (nothing is here yet).
455
- - **License row de-dup**: removed the standalone `Type: trial` and
456
- `Days Left: 14 days` rows from the License card. The header chip
457
- is now the canonical source of truth for license status. Only the
458
- expiring-soon warning row remains, and only when ≤7 days left.
459
- - **Settings cleanup**: deleted the `display:none` legacy red Session
460
- section. The neutral Sign out card inside the ACCOUNT group is now
461
- the only sign-out surface.
462
-
463
- ### Self-score: **8.4 / 10**
464
-
465
- | Dimension | Score | Notes |
466
- |------------------------|------:|----------------------------------------------------------------|
467
- | Deductions cleared | 9 | All 5 lingering items from rounds 1, 2, 4, 6 are now resolved |
468
- | Visible-impact | 6 | Mostly cleanup, low "wow" — but eliminates accumulated debt |
469
- | Theme parity | 9 | Each change works identically in light + cyber |
470
- | Code reduction | 8 | Net -15 LOC after removing legacy Session + dup License rows |
471
-
472
- **Deductions**:
473
- - −0.9: low individual-change visibility — this batch reads more as
474
- "removed papercuts" than "added delight". That's by design (rounds
475
- 1-6 spent most of the visible-delight budget), but tone is muted.
476
- - −0.4: didn't include a `<title>` attribute on the brand `<Link>` so
477
- hover doesn't tooltip "Home". One-line miss.
478
- - −0.3: didn't address the round 5 deduction about the offline-node
479
- label box overlapping the center pulse hub — that needs layout
480
- algorithm work, defer to a layout-focused round.
481
-
482
- ### Round 8 plan: **Ship 0.4.5-preview.0**
483
-
484
- 7 rounds of polish accumulated since 0.4.4-preview.0:
485
- - `b702291` round 1 — login brand mark + tagline + restrained surface
486
- - `64643a3` round 2 — empty states across 7 pages (line-art glyphs)
487
- - `269eeb3` round 3 — Quick Actions split (stats + nav)
488
- - `4721d60` round 4 — sidebar brand mark + live pulse
489
- - `0011eb5` round 5 — TopoGraph light SVG variant (closes #8)
490
- - `6fe0aa3` round 6 — Settings section grouping + License chip
491
- - (round 7 commit, this one) — small-wins batch
492
-
493
- Natural ship-point. Round 8 = the publish itself:
494
- 1. Bump `package.json` 0.4.4 → 0.4.5-preview.0
495
- 2. `npm publish --tag preview` (prepublishOnly hook will rebuild)
496
- 3. Push to GitHub via PAT
497
- 4. Tell 通信龙 to bump CLI preview's PINNED_DASHBOARD_VERSION
498
- 5. Telegram Vincent: `npm i -g @sleep2agi/agent-network@preview`
499
-
500
- After ship, rounds 9+ accumulate toward the **next** preview in the
501
- SAME `0.4.5-preview.N` series (Vincent's policy: don't burn base version
502
- numbers on preview-only work). Backlog ideas: layout collision
503
- avoidance in TopoGraph, hover affordances on KPI cards, Cmd+K command
504
- palette, header health banner, mobile audit.
505
-
506
- > **Version policy (round 8 + Vincent telegram)**: stable stays at
507
- > `0.4.2` until Vincent explicitly promotes a preview. All new previews
508
- > bump only the `-preview.N` suffix on the same `0.4.5` base. The
509
- > `latest` npm tag never moves without sign-off.
510
-
511
- ---
512
-
513
- ## Round 9 — Header health banner
514
-
515
- ### What changed
516
- - New `app/components/HealthBanner.tsx`: thin sticky strip mounted in
517
- `AppShell` between sidebar and page content, visible on every
518
- non-login page.
519
- - Three states, priority-ranked:
520
- - **red** — `CommHub unreachable — agents may be offline` + CTA
521
- "Open Settings →"
522
- - **amber** — `N task(s) failed recently` + CTA "Review failures →"
523
- (links to `/tasks?status=failed`). Dot pulses with the same 1.6s
524
- opacity drift as the sidebar online pulse.
525
- - **green** — `All systems go`. Quiet. No CTA. Doesn't render until
526
- at least one stats response confirms (avoids flashing green on
527
- first paint before data arrives).
528
- - Pulls from `/api/hub/stats` + `/api/hub/health` via SWR (15s refresh,
529
- 5s dedupe). Both endpoints are already polled elsewhere — request
530
- dedupes free, banner has zero net cost.
531
- - Dismissible per-session via `sessionStorage.anet-hb-dismissed = '1'`.
532
- Re-shows on next session.
533
- - Light/mint themes get bumped color saturation via `.anet-health-banner`
534
- override rules in globals.css so red/amber/green read crisply on
535
- white surfaces.
536
-
537
- ### Self-score: **8.7 / 10**
538
-
539
- | Dimension | Score | Notes |
540
- |--------------------------|------:|------------------------------------------------------------------------|
541
- | Information value | 9 | Fleet health visible from every page without navigating to /nodes |
542
- | Restraint | 9 | 32px-tall strip; opacity-only pulse; no glow; auto-dismissible |
543
- | Affordance (CTAs) | 9 | Each non-green state has a clear "fix this" link |
544
- | Theme parity | 9 | All 3 states verified in light + cyber |
545
- | Failure-state robustness | 8 | "Red" fires only when both `/stats` AND `/health` fail; safer than either alone |
546
- | Mobile | 7 | Strip wraps at 390px viewport; could collapse "Review failures →" copy further |
547
-
548
- **Deductions**:
549
- - −0.6: on very narrow mobile (<340px) the CTA + dismiss can wrap or
550
- overlap. Could collapse CTA to icon-only at that breakpoint.
551
- - −0.4: red state has a single message; doesn't distinguish "hub down"
552
- vs "auth expired" vs "network error". Future round could add error
553
- classification.
554
- - −0.3: dismiss is session-scoped. Some users may want
555
- "dismiss for this session only" vs "dismiss forever". Defer.
556
-
557
- ### Round 10 plan: **KPI card rich hover preview**
558
-
559
- Overview's stat strip (round 3) shows top-level numbers — `Nodes 4/5`,
560
- `Tasks 0`, `Failed 0` — but a power user wants to see the breakdown
561
- without clicking through. Add small CSS-only popovers that appear on
562
- hover:
563
- - Nodes hover → "3 working · 2 idle · 0 offline"
564
- - Tasks hover → "by status: 4 running, 2 replied, 1 failed, 0 expired"
565
- - Failed hover → "5 in last hour · last failure 12m ago"
566
-
567
- Pure CSS popover (no JS state), 200ms delay-show, fades out on
568
- unhover. Both themes. Doesn't affect mobile (touch shows full card
569
- already).
570
-
571
- Estimated work: 25 min. Fires next `*/5`.
572
-
573
- ---
574
-
575
- ## Round 10 — KPI card rich hover preview
576
-
577
- ### What changed
578
- - The 3-stat strip on Overview (Nodes / Tasks / Failed) now gets a
579
- **hover popover** showing the breakdown that the headline number
580
- abstracts away.
581
- - **Nodes** hover → `● working {n}` / `● idle {n}` / `● offline {n}`
582
- - **Tasks** hover → list of all populated statuses in priority
583
- order (running → replied → failed → cancelled → expired → closed
584
- → created → delivered → acked), each with its color dot + count
585
- - **Failed** hover → `no failures yet` or `{n} in current view`
586
- - **Pure CSS** popover: hidden by default, `opacity-0 translate-y-[-2px]`
587
- transitions to `opacity-100 translate-y-0` on `group-hover`. 100ms
588
- delay-show so a quick mouse-pass doesn't flicker. No React state.
589
- - `pointer-events-none` on the popover so it never intercepts the
590
- click through to the underlying Link target.
591
- - **Mobile gate**: `hidden md:block` — touch devices don't get the
592
- popover (no `:hover`). The card itself still navigates on tap, so no
593
- functionality lost.
594
- - Dot colors inlined as hex (`#4ade80` green, `#a78bfa` purple, etc.)
595
- to dodge Tailwind's purge of dynamic `bg-${family}-400` class names.
596
-
597
- ### Self-score: **8.5 / 10**
598
-
599
- **Deductions**: no `:focus-within` trigger (keyboard users miss
600
- popover); "Failed" copy doesn't show time bucket; dot hex inlined
601
- rather than centralized in a constants palette.
602
-
603
- ### Round 11 plan: **Mobile audit + polish pass**
604
-
605
- Nine rounds in, the desktop story is solid. Mobile hasn't gotten a
606
- dedicated round since the initial audit. Likely findings:
607
-
608
- - Health banner at <340px: CTA + dismiss button + truncated message
609
- competes for ~280px usable width. Collapse CTA to icon-only or
610
- move it below the message.
611
- - Stat strip 3-col at 360-390px: "View →" affordance shrinks below
612
- legibility. Either drop "View →" on mobile or stack 1-col.
613
- - Sidebar mobile drawer: not screenshot-audited against the latest
614
- brand-mark + pulse changes.
615
- - Footer text spacing on /login at 320px: wraps awkwardly.
616
-
617
- Action: capture mobile screenshots across 5-6 key pages at 390×844
618
- AND 360×740, identify worst offenders, fix the top 3.
619
-
620
- Estimated work: 30 min. Fires next `*/5`.
621
-
622
- ---
623
-
624
- ## Round 11 — Mobile audit + polish pass
625
-
626
- ### Findings (390×844 + 360×740)
627
- Captured 12 screenshots (6 pages × 2 themes × 2 viewports). Three
628
- clear regressions at narrow widths:
629
-
630
- 1. **Health banner** ran into the fixed-position hamburger button at
631
- top-left (top:4 left:3, ~44×44 hit area). Message text was
632
- truncated to "...sks failed recently" because the leading 6
633
- characters sat under the hamburger.
634
- 2. **UserBar** "Edit" + "Sign out" text links cramped against the
635
- user name + role on narrow screens, wrapping "Sign out" onto
636
- two lines.
637
- 3. **Stat strip** "View →" affordance in each card's top-right took
638
- horizontal space the headline number needed, making the 3-col
639
- grid feel cramped at 360px.
640
-
641
- ### What changed
642
- - **HealthBanner**: `pl-3` → `pl-14` on mobile (clears the hamburger
643
- button), CTA text "Review failures" / "Open Settings" collapses to
644
- a bare arrow on `<sm` with a proper `aria-label` so screen
645
- readers still hear the destination.
646
- - **UserBar Edit / Sign out**: text on `>=sm`, single inline-svg icon
647
- on `<sm` (pencil for edit, doorway-arrow for sign out). Both stay
648
- same hit area, just label-trimmed.
649
- - **Stat strip "View →"**: `hidden sm:block` so the affordance only
650
- appears on desktop. Mobile cards are fully tappable, so the
651
- affordance is implicit.
652
-
653
- ### Self-score: **9.0 / 10**
654
-
655
- | Dimension | Score | Notes |
656
- |------------------------|------:|------------------------------------------------------------------|
657
- | Defect closure | 10 | All three observed mobile regressions resolved |
658
- | Desktop non-regression | 9 | All changes wrapped in `sm:` breakpoint — pixel-identical >640px |
659
- | Restraint | 9 | Icons are simple line SVGs matching the design system |
660
- | Accessibility | 9 | `aria-label` on collapsed CTAs and icon-only buttons |
661
- | Touch target | 8 | Icons are 16px visual; full `<button>` is still 44px hit area |
662
-
663
- **Deductions**:
664
- - −0.5: not tested below 360px (e.g. 320px iPhone SE first-gen).
665
- Probably still fine but unverified.
666
- - −0.3: sidebar drawer mobile state (when hamburger is tapped) not
667
- re-screenshotted post round-4 brand changes.
668
- - −0.2: existing chip filter rows on Tasks/Messages still wrap at
669
- narrow widths. Not the most painful, deferred.
670
-
671
- ### Round 12 plan: **Loading skeleton refresh**
672
-
673
- The `LoadingSkeleton` component in `app/components/LoadingSkeleton.tsx`
674
- still uses `bg-gray-800` / `bg-gray-800/40` patterns from the
675
- pre-theme-token era. It works (CSS shim catches `bg-gray-800` in
676
- light), but it's the only surface that didn't get a deliberate
677
- restyle. Refresh to use:
678
- - subtle bg + animated pulse using the same `anet-brand-pulse`
679
- rhythm (1.6s opacity drift) for visual cohesion
680
- - proper card structure matching round 3's stat-strip shape
681
- - both themes, no AI-noise
682
-
683
- Estimated work: 20 min. Fires next `*/5`.
684
-
685
- ---
686
-
687
- ## Round 14 — Cmd+K command palette (scaffold)
688
-
689
- ### What changed
690
- - New `app/components/CommandPalette.tsx` mounted in `AppShell` so it's
691
- globally available on every non-login page.
692
- - **Keyboard shortcuts** (global, not per-page):
693
- - `⌘K` / `Ctrl+K` toggles open/closed
694
- - `/` opens when no input is focused (Linear-style)
695
- - `↑↓` navigates results, `Enter` activates, `Esc` closes
696
- - **Layout**: centered modal at 10vh-15vh from top, max-w-xl, backdrop
697
- blur over content. Search input + grouped results + footer hint bar.
698
- - **Initial command set**: 10 navigation entries covering every
699
- primary page (Overview / Tasks / Failed tasks / Nodes / Messages /
700
- Networks / Audit Log / Server Logs / Admin / Settings). Each carries
701
- a hint subtitle and a thin-stroke icon.
702
- - **Filter behavior**: case-insensitive search over title + hint + id.
703
- Active row gets emerald tint + `↵` glyph; mouse hover updates the
704
- selected index so keyboard and pointer stay in sync.
705
- - **Light/mint surface**: white modal with real soft shadow (vs the
706
- default `bg-[#0d0d1a]` navy that CSS shim would translate). Override
707
- ruled in globals.css.
708
-
709
- ### Self-score: **8.7 / 10**
710
-
711
- | Dimension | Score | Notes |
712
- |------------------------|------:|------------------------------------------------------------------------|
713
- | Adoption signal | 9 | Stripe/Linear/Vercel staple — sets reader expectation that we're modern |
714
- | Keyboard-first | 9 | All keys wired; mouse + keyboard stay in sync |
715
- | Restraint | 9 | Mono-stroke icons, single accent color, no AI shimmer |
716
- | Theme parity | 9 | Light gets a proper white surface w/ shadow; cyber uses navy |
717
- | Discoverability | 7 | No visible "press ⌘K" hint anywhere on the page yet |
718
- | Mobile | 6 | Works on mobile (tap to open via UI) — but no on-screen launcher yet |
719
-
720
- **Deductions**:
721
- - −0.7: zero on-page hint that the palette exists. Most users will
722
- never find `⌘K` without docs. Should add a tiny "⌘K" badge in
723
- sidebar footer or in the UserBar.
724
- - −0.4: no mobile launcher. Mobile has no obvious affordance.
725
- - −0.2: command set is navigation-only. Round 15 will add actions
726
- (theme toggle / sign out / Dispatch open) and recent-commands.
727
-
728
- ### Round 15 plan: **Cmd+K actions + recent-commands**
729
-
730
- Extend the scaffold with the "Actions" group:
731
- - Toggle theme (cyber ↔ light)
732
- - Open Dispatch dialog (current page's Dispatch button)
733
- - Sign out
734
- - Copy current URL
735
-
736
- Plus add a `Recents` group at the top that surfaces the last 3-5
737
- commands the user invoked (ring buffer in `sessionStorage`).
738
-
739
- Plus a discoverability nudge — tiny `⌘K` chip in sidebar footer +
740
- UserBar tooltip.
741
-
742
- Estimated work: 25 min. Fires next `*/5`.
743
-
744
- ---
745
-
746
- ## Round 12 — Loading skeleton refresh
747
-
748
- ### What changed
749
- - `LoadingSkeleton` now **mirrors the actual Overview layout** so the
750
- page doesn't shift on data arrival. Old version was generic header
751
- + broadcast + topology + 4-card grid; new version shows: 4 KPI
752
- cards, Dispatch+UserBar row, Config bar, 3-card stat strip, 3-tile
753
- nav rail, Broadcast bar, 4-card agent grid.
754
- - Switched from Tailwind's `animate-pulse` (1s opacity drift) to a
755
- custom `anet-skeleton-pulse` (1.6s) to match the same rhythm as
756
- `anet-brand-pulse` in the sidebar and the health banner amber dot.
757
- Visual cohesion across the design system.
758
- - Introduced `anet-skeleton-bar` class with explicit per-theme
759
- background: `#1a1a2a` on dark (lighter navy on dark card),
760
- `#d4d8df` on light/mint (mid-grey on white card). The previous
761
- attempt to reuse the `bg-[#1a1a2a]` shim was too subtle (light
762
- card #ffffff vs bar mapped to bg-elevated #eef0f4 = only ~7
763
- brightness levels different = invisible bars).
764
- - All bar dimensions use rem-based explicit values via inline style
765
- so they don't depend on Tailwind purge correctness.
766
- - `prefers-reduced-motion: reduce` kills the pulse on both classes.
767
-
768
- ### Self-score: **9.0 / 10**
769
-
770
- | Dimension | Score | Notes |
771
- |------------------------|------:|------------------------------------------------------------------|
772
- | No content shift | 9 | Skeleton matches Overview structure cell-for-cell |
773
- | Theme parity | 10 | Both themes get visible bars (the original sin of round 11 plan) |
774
- | Restraint | 9 | No shimmer-gradient, no animation noise, just 1.6s opacity drift |
775
- | Design-system cohesion | 9 | Same pulse rhythm as brand pulse + health banner amber |
776
- | Accessibility | 9 | prefers-reduced-motion respected on both classes |
777
-
778
- **Deductions**:
779
- - −0.5: skeleton shows the FULL Overview (8+ blocks). Most actual
780
- page-loads complete in <300ms so user barely sees this. Slower
781
- hubs may see the whole thing; some users might prefer a shorter
782
- skeleton. Could trim agent grid to 2 cards if it feels long in
783
- practice.
784
- - −0.5: the agent-card skeleton is generic (status dot + alias bar
785
- + 3 detail bars). Real cards carry status chip + agent type +
786
- server hostname + uptime — could mirror more specifically.
787
-
788
- ### Round 13 plan: **Tasks status tabs — color coding**
789
-
790
- The Tasks page filter tab strip (`All / created / delivered / acked /
791
- running / replied / closed / failed / cancelled / expired`) is all
792
- neutral-styled — no visual scannability. Color-code each by its
793
- status family using the same tokens as the chips system used
794
- elsewhere (running=green, replied=purple, failed=red, etc.), so the
795
- user can spot "failed" without reading every label.
796
-
797
- Estimated work: 20 min. Fires next `*/5`.