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

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 (1295) 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/0milchnxu3pma.js +1 -0
  190. package/.next/static/chunks/0oo6ou1f1vfaj.js +1 -0
  191. package/.next/static/chunks/0uzchut_f9a6m.js +1 -0
  192. package/.next/static/chunks/0~dcueyvq.4ra.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/bin/start.js +3 -3
  514. package/capacitor.config.ts +21 -0
  515. package/electron-builder.json +18 -0
  516. package/package.json +16 -1
  517. package/public/sw.js +37 -0
  518. package/tests/e2e.spec.ts +75 -0
  519. package/tests/theme-screenshots.spec.ts +57 -0
  520. package/.next/server/chunks/ssr/[root-of-the-server]__0u5aqkk._.js +0 -8
  521. package/.next/server/chunks/ssr/[root-of-the-server]__0u5aqkk._.js.map +0 -1
  522. package/.next/server/chunks/ssr/agent-network-dashboard_app_components_0mvyi-4._.js +0 -9
  523. package/.next/server/chunks/ssr/agent-network-dashboard_app_components_0mvyi-4._.js.map +0 -1
  524. package/.next/static/chunks/0800ik2kbhsed.js +0 -1
  525. package/.next/static/chunks/0ii3jngq3fijk.js +0 -1
  526. package/.next/static/chunks/0iwava1u7a3b4.js +0 -7
  527. package/.next/static/chunks/0wtj3tufk2aod.css +0 -2
  528. package/.next/static/chunks/0xpmd4b37kj~e.js +0 -1
  529. package/.next/static/chunks/0~ykmap37nw9d.js +0 -1
  530. package/docs/api-alignment.md +0 -64
  531. package/docs/design-task-chat.md +0 -84
  532. package/docs/loop-design-rounds.md +0 -797
  533. package/docs/oss-readiness-report.md +0 -189
  534. package/docs/rfc/v0.10.0-hero3-dashboard-upgrade.md +0 -230
  535. package/docs/screenshots/0.4.5-preview.1/cyber-admin.png +0 -0
  536. package/docs/screenshots/0.4.5-preview.1/cyber-cmdk-search.png +0 -0
  537. package/docs/screenshots/0.4.5-preview.1/cyber-cmdk.png +0 -0
  538. package/docs/screenshots/0.4.5-preview.1/cyber-login.png +0 -0
  539. package/docs/screenshots/0.4.5-preview.1/cyber-overview.png +0 -0
  540. package/docs/screenshots/0.4.5-preview.1/cyber-settings.png +0 -0
  541. package/docs/screenshots/0.4.5-preview.1/cyber-tasks.png +0 -0
  542. package/docs/screenshots/0.4.5-preview.1/light-admin.png +0 -0
  543. package/docs/screenshots/0.4.5-preview.1/light-cmdk-search.png +0 -0
  544. package/docs/screenshots/0.4.5-preview.1/light-cmdk.png +0 -0
  545. package/docs/screenshots/0.4.5-preview.1/light-login.png +0 -0
  546. package/docs/screenshots/0.4.5-preview.1/light-overview.png +0 -0
  547. package/docs/screenshots/0.4.5-preview.1/light-settings.png +0 -0
  548. package/docs/screenshots/0.4.5-preview.1/light-tasks.png +0 -0
  549. package/scripts/chat-popover-test.mjs +0 -234
  550. package/scripts/chat-theme-test.mjs +0 -98
  551. package/scripts/empty-state-test.mjs +0 -41
  552. package/scripts/fold-only.mjs +0 -47
  553. package/scripts/help-overlay-topo-test.mjs +0 -44
  554. package/scripts/intern-alias-test.mjs +0 -46
  555. package/scripts/loop-review.mjs +0 -270
  556. package/scripts/network-derive-shot.mjs +0 -16
  557. package/scripts/network-derive-test.mjs +0 -28
  558. package/scripts/p0-147-screenshot.mjs +0 -53
  559. package/scripts/p0-servers-drawer-screenshot.mjs +0 -101
  560. package/scripts/p0-topo-screenshot.mjs +0 -82
  561. package/scripts/p150-orphan-layout-screenshot.mjs +0 -82
  562. package/scripts/p157-rc2-dedup-test.mjs +0 -110
  563. package/scripts/p157-servers-copy-test.mjs +0 -95
  564. package/scripts/servers-drawer-live-test.mjs +0 -96
  565. package/scripts/topo-50-test.mjs +0 -54
  566. package/scripts/topo-a11y-titles-catalog-test.mjs +0 -132
  567. package/scripts/topo-active-chrome-hover-text-test.mjs +0 -107
  568. package/scripts/topo-active-filter-pill-test.mjs +0 -101
  569. package/scripts/topo-active-links-chip-halo-layers-test.mjs +0 -81
  570. package/scripts/topo-active-links-chip-hover-lift-test.mjs +0 -93
  571. package/scripts/topo-active-links-chip-hover-test.mjs +0 -103
  572. package/scripts/topo-active-links-chip-nav-test.mjs +0 -117
  573. package/scripts/topo-active-links-chip-self-hover-test.mjs +0 -171
  574. package/scripts/topo-active-links-chip-test.mjs +0 -73
  575. package/scripts/topo-active-links-empty-recede-test.mjs +0 -125
  576. package/scripts/topo-active-links-freshness-color-test.mjs +0 -86
  577. package/scripts/topo-active-links-freshness-test.mjs +0 -113
  578. package/scripts/topo-active-links-tooltip-test.mjs +0 -79
  579. package/scripts/topo-active-links-unit-test.mjs +0 -79
  580. package/scripts/topo-active-pulse-ease-test.mjs +0 -120
  581. package/scripts/topo-alias-chat-brightness-test.mjs +0 -79
  582. package/scripts/topo-alias-glow-test.mjs +0 -121
  583. package/scripts/topo-alias-text-halo-layers-test.mjs +0 -98
  584. package/scripts/topo-animation-temporal-modes-catalog-test.mjs +0 -144
  585. package/scripts/topo-any-hover-attr-test.mjs +0 -83
  586. package/scripts/topo-any-pinned-attr-test.mjs +0 -86
  587. package/scripts/topo-arrow-tier-test.mjs +0 -61
  588. package/scripts/topo-auto-fit-test.mjs +0 -73
  589. package/scripts/topo-avatar-brightness-test.mjs +0 -116
  590. package/scripts/topo-avatar-chat-gate-test.mjs +0 -77
  591. package/scripts/topo-avatar-drop-shadow-test.mjs +0 -86
  592. package/scripts/topo-avatar-fallback-hover-test.mjs +0 -104
  593. package/scripts/topo-avatar-fallback-rotate-test.mjs +0 -92
  594. package/scripts/topo-avatar-rotate-test.mjs +0 -85
  595. package/scripts/topo-avatar-scale-test.mjs +0 -89
  596. package/scripts/topo-badge-chat-gate-test.mjs +0 -74
  597. package/scripts/topo-brand-drop-shadow-test.mjs +0 -71
  598. package/scripts/topo-brand-logo-breath-test.mjs +0 -102
  599. package/scripts/topo-brand-logo-halo-layers-test.mjs +0 -85
  600. package/scripts/topo-brand-logo-hover-brightness-test.mjs +0 -105
  601. package/scripts/topo-brand-logo-hover-rotate-test.mjs +0 -93
  602. package/scripts/topo-brand-logo-hover-test.mjs +0 -85
  603. package/scripts/topo-brand-logo-transition-test.mjs +0 -94
  604. package/scripts/topo-brand-shot.mjs +0 -61
  605. package/scripts/topo-brand-watermark-test.mjs +0 -97
  606. package/scripts/topo-canvas-aria-test.mjs +0 -108
  607. package/scripts/topo-canvas-brand-fade-test.mjs +0 -87
  608. package/scripts/topo-canvas-desc-a11y-test.mjs +0 -87
  609. package/scripts/topo-canvas-entrance-animation-test.mjs +0 -117
  610. package/scripts/topo-canvas-scan-beam-diagonal-test.mjs +0 -148
  611. package/scripts/topo-canvas-scan-beam-test.mjs +0 -109
  612. package/scripts/topo-canvas-scan-beam-vertical-test.mjs +0 -123
  613. package/scripts/topo-card-chat-brightness-test.mjs +0 -86
  614. package/scripts/topo-chat-focus-ring-test.mjs +0 -77
  615. package/scripts/topo-chat-ring-breath-curve-test.mjs +0 -114
  616. package/scripts/topo-chat-ring-brightness-test.mjs +0 -80
  617. package/scripts/topo-chat-ring-halo-layers-test.mjs +0 -100
  618. package/scripts/topo-chat-ring-r-breath-test.mjs +0 -121
  619. package/scripts/topo-chat-ring-status-halo-test.mjs +0 -106
  620. package/scripts/topo-chat-ring-sw-breath-test.mjs +0 -123
  621. package/scripts/topo-chat-target-breath-test.mjs +0 -84
  622. package/scripts/topo-chat-target-ring-ease-test.mjs +0 -82
  623. package/scripts/topo-chat-target-ring-fade-test.mjs +0 -124
  624. package/scripts/topo-chip-digit-fontweight-test.mjs +0 -105
  625. package/scripts/topo-chip-digit-hover-bold-test.mjs +0 -94
  626. package/scripts/topo-chip-empty-recede-test.mjs +0 -116
  627. package/scripts/topo-chip-focus-test.mjs +0 -95
  628. package/scripts/topo-chip-pin-halo-test.mjs +0 -85
  629. package/scripts/topo-chip-pin-mirror-test.mjs +0 -113
  630. package/scripts/topo-chip-row-digit-ls-test.mjs +0 -135
  631. package/scripts/topo-chip-row-gap-test.mjs +0 -90
  632. package/scripts/topo-chip-row-group-hover-brighten-test.mjs +0 -107
  633. package/scripts/topo-chip-row-hover-lift-test.mjs +0 -95
  634. package/scripts/topo-chip-row-member-alias-lit-test.mjs +0 -154
  635. package/scripts/topo-chip-row-press-test.mjs +0 -93
  636. package/scripts/topo-chip-row-semantic-gap-test.mjs +0 -97
  637. package/scripts/topo-chip-row-tabular-test.mjs +0 -111
  638. package/scripts/topo-chip-row-tier-glow-brightness-test.mjs +0 -99
  639. package/scripts/topo-chip-row-unit-hover-tracking-test.mjs +0 -124
  640. package/scripts/topo-chip-unit-demotion-test.mjs +0 -93
  641. package/scripts/topo-chiprow-data-weight-test.mjs +0 -94
  642. package/scripts/topo-chrome-a11y-test.mjs +0 -107
  643. package/scripts/topo-chrome-active-weight-test.mjs +0 -104
  644. package/scripts/topo-chrome-button-hover-lift-test.mjs +0 -94
  645. package/scripts/topo-chrome-control-halo-layers-test.mjs +0 -22
  646. package/scripts/topo-chrome-focus-ring-unify-test.mjs +0 -100
  647. package/scripts/topo-chrome-fullscreen-breath-test.mjs +0 -121
  648. package/scripts/topo-chrome-fullscreen-icon-sw-test.mjs +0 -92
  649. package/scripts/topo-chrome-gap-test.mjs +0 -73
  650. package/scripts/topo-chrome-icon-stroke-test.mjs +0 -95
  651. package/scripts/topo-chrome-inactive-color-test.mjs +0 -90
  652. package/scripts/topo-chrome-layout-trailer-breath-test.mjs +0 -86
  653. package/scripts/topo-chrome-nodesize-trailer-breath-test.mjs +0 -86
  654. package/scripts/topo-chrome-pop-extension-test.mjs +0 -98
  655. package/scripts/topo-chrome-pop-nodesize-test.mjs +0 -88
  656. package/scripts/topo-chrome-press-fullstrip-test.mjs +0 -105
  657. package/scripts/topo-chrome-press-scale-test.mjs +0 -100
  658. package/scripts/topo-chrome-press-state-test.mjs +0 -135
  659. package/scripts/topo-chrome-reset-breath-test.mjs +0 -115
  660. package/scripts/topo-chrome-reset-icon-sw-test.mjs +0 -80
  661. package/scripts/topo-chrome-segmented-radius-test.mjs +0 -100
  662. package/scripts/topo-chrome-strip-entrance-animation-test.mjs +0 -115
  663. package/scripts/topo-chrome-strip-semantic-gap-test.mjs +0 -99
  664. package/scripts/topo-chrome-strip-theme-ease-test.mjs +0 -99
  665. package/scripts/topo-chrome-wrapper-halo-test.mjs +0 -83
  666. package/scripts/topo-chrome-zoom-icon-sw-test.mjs +0 -90
  667. package/scripts/topo-chrome-zoom-level-pop-test.mjs +0 -122
  668. package/scripts/topo-chrome-zoom-pop-test.mjs +0 -130
  669. package/scripts/topo-chrome-zoom-readout-weight-test.mjs +0 -81
  670. package/scripts/topo-chrome-zoom-wrapper-breath-test.mjs +0 -85
  671. package/scripts/topo-click-ripple-ease-test.mjs +0 -94
  672. package/scripts/topo-click-ripple-glow-test.mjs +0 -86
  673. package/scripts/topo-click-ripple-halo-layers-test.mjs +0 -79
  674. package/scripts/topo-click-ripple-opacity-test.mjs +0 -99
  675. package/scripts/topo-click-ripple-sw-test.mjs +0 -110
  676. package/scripts/topo-click-ripple-test.mjs +0 -66
  677. package/scripts/topo-cluster-count-attr-test.mjs +0 -80
  678. package/scripts/topo-cluster-test.mjs +0 -41
  679. package/scripts/topo-cmdk-edge-clear-test.mjs +0 -109
  680. package/scripts/topo-cmdk-layout-view-test.mjs +0 -108
  681. package/scripts/topo-cmdk-pin-test.mjs +0 -123
  682. package/scripts/topo-cmdk-vendor-clear-test.mjs +0 -133
  683. package/scripts/topo-cmdk-vendor-pin-test.mjs +0 -103
  684. package/scripts/topo-controls-shot.mjs +0 -24
  685. package/scripts/topo-corner-radius-unify-test.mjs +0 -103
  686. package/scripts/topo-crescent-breath-test.mjs +0 -104
  687. package/scripts/topo-crescent-envelope-breath-test.mjs +0 -103
  688. package/scripts/topo-crescent-recede-test.mjs +0 -111
  689. package/scripts/topo-cwd-tooltip-test.mjs +0 -64
  690. package/scripts/topo-dashboard-version-attr-test.mjs +0 -69
  691. package/scripts/topo-dblclick-reset-test.mjs +0 -74
  692. package/scripts/topo-dense-alias-chat-halo-test.mjs +0 -73
  693. package/scripts/topo-dense-alias-fill-transition-test.mjs +0 -133
  694. package/scripts/topo-dense-alias-halo-layers-test.mjs +0 -80
  695. package/scripts/topo-dense-alias-opacity-test.mjs +0 -68
  696. package/scripts/topo-density-test.mjs +0 -57
  697. package/scripts/topo-discrete-zoom-smooth-test.mjs +0 -125
  698. package/scripts/topo-dual-axis-surfaces-catalog-test.mjs +0 -94
  699. package/scripts/topo-edge-badge-circle-brightness-test.mjs +0 -82
  700. package/scripts/topo-edge-badge-circle-hot-pulse-test.mjs +0 -100
  701. package/scripts/topo-edge-badge-click-pin-test.mjs +0 -94
  702. package/scripts/topo-edge-badge-crossfade-test.mjs +0 -138
  703. package/scripts/topo-edge-badge-digit-fw-test.mjs +0 -103
  704. package/scripts/topo-edge-badge-digit-halo-layers-test.mjs +0 -107
  705. package/scripts/topo-edge-badge-endpoint-gate-test.mjs +0 -94
  706. package/scripts/topo-edge-badge-fontsize-test.mjs +0 -90
  707. package/scripts/topo-edge-badge-halo-layers-test.mjs +0 -85
  708. package/scripts/topo-edge-badge-hot-glow-test.mjs +0 -101
  709. package/scripts/topo-edge-badge-hot-pulse-test.mjs +0 -92
  710. package/scripts/topo-edge-badge-hot-test.mjs +0 -115
  711. package/scripts/topo-edge-badge-hover-glow-test.mjs +0 -90
  712. package/scripts/topo-edge-badge-hover-opacity-test.mjs +0 -94
  713. package/scripts/topo-edge-badge-hover-stroke-test.mjs +0 -92
  714. package/scripts/topo-edge-badge-hover-test.mjs +0 -85
  715. package/scripts/topo-edge-badge-letter-spacing-test.mjs +0 -86
  716. package/scripts/topo-edge-badge-lift-test.mjs +0 -150
  717. package/scripts/topo-edge-badge-opacity-test.mjs +0 -80
  718. package/scripts/topo-edge-badge-pin-opacity-test.mjs +0 -86
  719. package/scripts/topo-edge-badge-ripple-test.mjs +0 -111
  720. package/scripts/topo-edge-badge-stroke-test.mjs +0 -92
  721. package/scripts/topo-edge-badge-stroke-transition-test.mjs +0 -118
  722. package/scripts/topo-edge-badge-text-brightness-test.mjs +0 -83
  723. package/scripts/topo-edge-badge-text-pin-test.mjs +0 -121
  724. package/scripts/topo-edge-badge-theme-ease-test.mjs +0 -89
  725. package/scripts/topo-edge-chat-gate-test.mjs +0 -71
  726. package/scripts/topo-edge-count-badge-test.mjs +0 -86
  727. package/scripts/topo-edge-endpoint-highlight-test.mjs +0 -111
  728. package/scripts/topo-edge-endpoint-hover-sw-test.mjs +0 -127
  729. package/scripts/topo-edge-fadein-test.mjs +0 -106
  730. package/scripts/topo-edge-flow-rail-halo-layers-test.mjs +0 -89
  731. package/scripts/topo-edge-focus-test.mjs +0 -113
  732. package/scripts/topo-edge-freshness-floor-test.mjs +0 -99
  733. package/scripts/topo-edge-hover-test.mjs +0 -93
  734. package/scripts/topo-edge-particle-brightness-test.mjs +0 -82
  735. package/scripts/topo-edge-particle-halo-layers-test.mjs +0 -91
  736. package/scripts/topo-edge-particle-hover-r-test.mjs +0 -113
  737. package/scripts/topo-edge-particle-opacity-lift-test.mjs +0 -109
  738. package/scripts/topo-edge-particle-radius-test.mjs +0 -76
  739. package/scripts/topo-edge-pill-glow-test.mjs +0 -67
  740. package/scripts/topo-edge-pill-hot-test.mjs +0 -129
  741. package/scripts/topo-edge-pill-test.mjs +0 -105
  742. package/scripts/topo-edge-pin-halo-test.mjs +0 -99
  743. package/scripts/topo-edge-ping-pulse-retired-test.mjs +0 -119
  744. package/scripts/topo-edge-stroke-ease-test.mjs +0 -100
  745. package/scripts/topo-edge-stroke-transition-test.mjs +0 -132
  746. package/scripts/topo-edge-tooltip-test.mjs +0 -70
  747. package/scripts/topo-edge-visible-brightness-test.mjs +0 -84
  748. package/scripts/topo-edge-visible-halo-layers-test.mjs +0 -87
  749. package/scripts/topo-edge-visible-linecap-test.mjs +0 -89
  750. package/scripts/topo-empty-hint-tracking-test.mjs +0 -84
  751. package/scripts/topo-empty-state-breath-test.mjs +0 -150
  752. package/scripts/topo-empty-state-crossfade-test.mjs +0 -130
  753. package/scripts/topo-empty-state-recenter-test.mjs +0 -107
  754. package/scripts/topo-empty-sub-hint-italic-test.mjs +0 -83
  755. package/scripts/topo-empty-subhint-tracking-test.mjs +0 -87
  756. package/scripts/topo-endpoint-ring-brightness-test.mjs +0 -83
  757. package/scripts/topo-endpoint-ring-fade-test.mjs +0 -132
  758. package/scripts/topo-endpoint-ring-flow-halo-test.mjs +0 -107
  759. package/scripts/topo-endpoint-ring-halo-layers-test.mjs +0 -100
  760. package/scripts/topo-endpoint-ring-r-hover-test.mjs +0 -89
  761. package/scripts/topo-endpoint-ring-test.mjs +0 -93
  762. package/scripts/topo-endpoint-ring-thicken-test.mjs +0 -112
  763. package/scripts/topo-esc-clears-pin-test.mjs +0 -98
  764. package/scripts/topo-filter-pill-aliases-test.mjs +0 -121
  765. package/scripts/topo-filter-pill-body-click-test.mjs +0 -112
  766. package/scripts/topo-filter-pill-count-tabular-test.mjs +0 -135
  767. package/scripts/topo-filter-pill-count-test.mjs +0 -110
  768. package/scripts/topo-filter-pill-glow-test.mjs +0 -90
  769. package/scripts/topo-filter-pill-halo-layers-test.mjs +0 -27
  770. package/scripts/topo-filter-pill-hover-lift-test.mjs +0 -101
  771. package/scripts/topo-filter-pill-hover-opacity-test.mjs +0 -110
  772. package/scripts/topo-filter-pill-mobile-test.mjs +0 -90
  773. package/scripts/topo-filter-pill-value-fw-test.mjs +0 -88
  774. package/scripts/topo-filter-pill-weight-test.mjs +0 -75
  775. package/scripts/topo-filter-pill-x-hover-scale-test.mjs +0 -99
  776. package/scripts/topo-filter-pills-press-test.mjs +0 -96
  777. package/scripts/topo-fit-key-test.mjs +0 -106
  778. package/scripts/topo-fleet-count-attrs-test.mjs +0 -87
  779. package/scripts/topo-fleet-density-tier-test.mjs +0 -84
  780. package/scripts/topo-flow-arrow-brightness-test.mjs +0 -82
  781. package/scripts/topo-flow-rail-brightness-test.mjs +0 -80
  782. package/scripts/topo-flow-rail-hover-sw-test.mjs +0 -113
  783. package/scripts/topo-flow-rail-linecap-test.mjs +0 -79
  784. package/scripts/topo-focus-outline-transition-test.mjs +0 -107
  785. package/scripts/topo-freshness-chip-fade-test.mjs +0 -105
  786. package/scripts/topo-freshness-chip-hierarchy-test.mjs +0 -93
  787. package/scripts/topo-freshness-chip-tabular-test.mjs +0 -41
  788. package/scripts/topo-freshness-chip-test.mjs +0 -74
  789. package/scripts/topo-freshness-chip-transition-test.mjs +0 -80
  790. package/scripts/topo-freshness-chip-weight-test.mjs +0 -90
  791. package/scripts/topo-freshness-conditional-render-test.mjs +0 -92
  792. package/scripts/topo-freshness-floor-lift-test.mjs +0 -92
  793. package/scripts/topo-freshness-suffix-tabular-test.mjs +0 -88
  794. package/scripts/topo-fullscreen-active-test.mjs +0 -115
  795. package/scripts/topo-fullscreen-attr-test.mjs +0 -73
  796. package/scripts/topo-fullscreen-brightness-test.mjs +0 -84
  797. package/scripts/topo-fullscreen-icon-hover-scale-test.mjs +0 -91
  798. package/scripts/topo-fullscreen-icon-rotate-test.mjs +0 -93
  799. package/scripts/topo-grid-content-bottom-attr-test.mjs +0 -72
  800. package/scripts/topo-group-box-brightness-test.mjs +0 -84
  801. package/scripts/topo-group-box-geom-transition-test.mjs +0 -110
  802. package/scripts/topo-group-box-halo-layers-test.mjs +0 -91
  803. package/scripts/topo-group-box-pinned-state-test.mjs +0 -95
  804. package/scripts/topo-group-box-rx-pin-test.mjs +0 -103
  805. package/scripts/topo-group-box-stroke-test.mjs +0 -105
  806. package/scripts/topo-group-chat-gate-test.mjs +0 -77
  807. package/scripts/topo-group-count-test.mjs +0 -68
  808. package/scripts/topo-group-fade-cadence-test.mjs +0 -92
  809. package/scripts/topo-group-hover-test.mjs +0 -82
  810. package/scripts/topo-group-label-a11y-test.mjs +0 -113
  811. package/scripts/topo-group-label-brightness-test.mjs +0 -84
  812. package/scripts/topo-group-label-count-fontweight-test.mjs +0 -108
  813. package/scripts/topo-group-label-count-fw-test.mjs +0 -100
  814. package/scripts/topo-group-label-count-inherit-test.mjs +0 -99
  815. package/scripts/topo-group-label-fw-pin-test.mjs +0 -99
  816. package/scripts/topo-group-label-glow-test.mjs +0 -104
  817. package/scripts/topo-group-label-halo-layers-test.mjs +0 -78
  818. package/scripts/topo-group-label-hover-glow-test.mjs +0 -86
  819. package/scripts/topo-group-label-hover-test.mjs +0 -119
  820. package/scripts/topo-group-label-letter-spacing-test.mjs +0 -113
  821. package/scripts/topo-group-label-member-alias-hover-test.mjs +0 -125
  822. package/scripts/topo-group-label-pin-spacing-test.mjs +0 -136
  823. package/scripts/topo-group-label-tint-geom-test.mjs +0 -94
  824. package/scripts/topo-group-label-tint-test.mjs +0 -99
  825. package/scripts/topo-group-label-tint-transition-test.mjs +0 -97
  826. package/scripts/topo-group-label-title-test.mjs +0 -83
  827. package/scripts/topo-group-pill-glow-test.mjs +0 -76
  828. package/scripts/topo-group-pin-test.mjs +0 -119
  829. package/scripts/topo-group-pip-fadein-test.mjs +0 -104
  830. package/scripts/topo-group-pip-fontsize-test.mjs +0 -106
  831. package/scripts/topo-group-pip-singletier-drop-test.mjs +0 -131
  832. package/scripts/topo-group-pip-tabular-test.mjs +0 -95
  833. package/scripts/topo-group-status-pips-test.mjs +0 -103
  834. package/scripts/topo-group-test.mjs +0 -37
  835. package/scripts/topo-group-tier-attr-test.mjs +0 -84
  836. package/scripts/topo-group-tint-brightness-test.mjs +0 -82
  837. package/scripts/topo-group-tint-rx-pin-test.mjs +0 -107
  838. package/scripts/topo-groupbox-fadein-test.mjs +0 -95
  839. package/scripts/topo-groupbox-hover-lift-test.mjs +0 -127
  840. package/scripts/topo-groupbox-hubcore-ease-test.mjs +0 -106
  841. package/scripts/topo-groupbox-live-test.mjs +0 -100
  842. package/scripts/topo-groupbox-march-busyness-test.mjs +0 -155
  843. package/scripts/topo-groupbox-test.mjs +0 -120
  844. package/scripts/topo-h2-dual-axis-breath-test.mjs +0 -92
  845. package/scripts/topo-h2-triple-axis-breath-test.mjs +0 -142
  846. package/scripts/topo-halo-chat-gate-test.mjs +0 -72
  847. package/scripts/topo-header-gap-test.mjs +0 -94
  848. package/scripts/topo-help-overlay-r109-test.mjs +0 -67
  849. package/scripts/topo-help-overlay-r118-test.mjs +0 -69
  850. package/scripts/topo-help-overlay-r123-test.mjs +0 -69
  851. package/scripts/topo-help-overlay-r134-test.mjs +0 -74
  852. package/scripts/topo-help-overlay-r137-test.mjs +0 -81
  853. package/scripts/topo-help-overlay-r141-test.mjs +0 -86
  854. package/scripts/topo-help-overlay-r153-test.mjs +0 -85
  855. package/scripts/topo-help-overlay-r59-test.mjs +0 -67
  856. package/scripts/topo-help-overlay-r65-test.mjs +0 -64
  857. package/scripts/topo-help-overlay-r70-test.mjs +0 -63
  858. package/scripts/topo-help-overlay-r78-test.mjs +0 -59
  859. package/scripts/topo-help-overlay-r81-test.mjs +0 -58
  860. package/scripts/topo-help-overlay-r87-test.mjs +0 -64
  861. package/scripts/topo-help-overlay-r91-test.mjs +0 -65
  862. package/scripts/topo-hot-tail-crossfade-test.mjs +0 -117
  863. package/scripts/topo-hover-detail-body-fw-test.mjs +0 -101
  864. package/scripts/topo-hover-detail-halo-test.mjs +0 -76
  865. package/scripts/topo-hover-detail-model-fw-test.mjs +0 -98
  866. package/scripts/topo-hover-detail-opacity-test.mjs +0 -98
  867. package/scripts/topo-hover-detail-rx-test.mjs +0 -81
  868. package/scripts/topo-hover-ring-duration-test.mjs +0 -87
  869. package/scripts/topo-hovered-alias-attr-test.mjs +0 -111
  870. package/scripts/topo-html-overlay-padding-unify-test.mjs +0 -120
  871. package/scripts/topo-hub-a11y-test.mjs +0 -112
  872. package/scripts/topo-hub-a11y-title-test.mjs +0 -95
  873. package/scripts/topo-hub-busyness-test.mjs +0 -100
  874. package/scripts/topo-hub-center-crossfade-test.mjs +0 -124
  875. package/scripts/topo-hub-click-fit-test.mjs +0 -137
  876. package/scripts/topo-hub-core-brightness-test.mjs +0 -82
  877. package/scripts/topo-hub-core-fill-hover-test.mjs +0 -85
  878. package/scripts/topo-hub-core-halo-layers-test.mjs +0 -81
  879. package/scripts/topo-hub-digit-brightness-test.mjs +0 -79
  880. package/scripts/topo-hub-digit-fontsize-test.mjs +0 -86
  881. package/scripts/topo-hub-digit-fw-hover-test.mjs +0 -102
  882. package/scripts/topo-hub-digit-glow-test.mjs +0 -105
  883. package/scripts/topo-hub-digit-halo-layers-test.mjs +0 -76
  884. package/scripts/topo-hub-digit-ls-test.mjs +0 -119
  885. package/scripts/topo-hub-digit-scale-test.mjs +0 -129
  886. package/scripts/topo-hub-fadein-test.mjs +0 -88
  887. package/scripts/topo-hub-halo-brightness-test.mjs +0 -80
  888. package/scripts/topo-hub-halo-glow-test.mjs +0 -96
  889. package/scripts/topo-hub-halo-halo-layers-test.mjs +0 -76
  890. package/scripts/topo-hub-halo-light-trough-test.mjs +0 -88
  891. package/scripts/topo-hub-halo-r-hover-test.mjs +0 -82
  892. package/scripts/topo-hub-halo-radius-test.mjs +0 -86
  893. package/scripts/topo-hub-halo-trough-test.mjs +0 -83
  894. package/scripts/topo-hub-highlight-amplify-test.mjs +0 -139
  895. package/scripts/topo-hub-highlight-brightness-test.mjs +0 -84
  896. package/scripts/topo-hub-highlight-fill-transition-test.mjs +0 -84
  897. package/scripts/topo-hub-highlight-glow-test.mjs +0 -99
  898. package/scripts/topo-hub-highlight-halo-layers-test.mjs +0 -78
  899. package/scripts/topo-hub-highlight-opacity-test.mjs +0 -88
  900. package/scripts/topo-hub-highlight-r-test.mjs +0 -112
  901. package/scripts/topo-hub-highlight-radius-test.mjs +0 -90
  902. package/scripts/topo-hub-highlight-recede-test.mjs +0 -144
  903. package/scripts/topo-hub-highlight-theme-fill-test.mjs +0 -83
  904. package/scripts/topo-hub-hover-lift-test.mjs +0 -101
  905. package/scripts/topo-hub-hover-ring-brightness-test.mjs +0 -79
  906. package/scripts/topo-hub-hover-ring-glow-test.mjs +0 -97
  907. package/scripts/topo-hub-hover-ring-halo-layers-test.mjs +0 -71
  908. package/scripts/topo-hub-hover-ring-opacity-test.mjs +0 -96
  909. package/scripts/topo-hub-hover-ring-stroke-test.mjs +0 -86
  910. package/scripts/topo-hub-hover-ring-test.mjs +0 -82
  911. package/scripts/topo-hub-idle-breath-test.mjs +0 -109
  912. package/scripts/topo-hub-pip-theme-ease-test.mjs +0 -116
  913. package/scripts/topo-hub-recede-test.mjs +0 -124
  914. package/scripts/topo-hub-spoke-brightness-test.mjs +0 -77
  915. package/scripts/topo-hub-spoke-ease-test.mjs +0 -120
  916. package/scripts/topo-hub-spoke-glow-test.mjs +0 -112
  917. package/scripts/topo-hub-spoke-halo-layers-test.mjs +0 -97
  918. package/scripts/topo-hub-spoke-hover-opacity-test.mjs +0 -119
  919. package/scripts/topo-hub-spoke-hover-sw-test.mjs +0 -121
  920. package/scripts/topo-hub-spoke-linecap-test.mjs +0 -80
  921. package/scripts/topo-hub-spoke-self-filter-test.mjs +0 -119
  922. package/scripts/topo-hub-title-test.mjs +0 -93
  923. package/scripts/topo-hub-working-count-test.mjs +0 -99
  924. package/scripts/topo-ingroup-edge-test.mjs +0 -103
  925. package/scripts/topo-inner-radar-ring-retired-test.mjs +0 -89
  926. package/scripts/topo-inspect.mjs +0 -56
  927. package/scripts/topo-interaction-test.mjs +0 -80
  928. package/scripts/topo-kicker-breath-test.mjs +0 -100
  929. package/scripts/topo-kicker-color-test.mjs +0 -93
  930. package/scripts/topo-kicker-dual-axis-breath-test.mjs +0 -81
  931. package/scripts/topo-kicker-halo-layers-test.mjs +0 -82
  932. package/scripts/topo-kicker-tracking-test.mjs +0 -101
  933. package/scripts/topo-kicker-triple-axis-breath-test.mjs +0 -124
  934. package/scripts/topo-kicker-weight-test.mjs +0 -98
  935. package/scripts/topo-label-card-brightness-test.mjs +0 -81
  936. package/scripts/topo-label-card-opacity-hover-test.mjs +0 -99
  937. package/scripts/topo-label-card-theme-ease-test.mjs +0 -85
  938. package/scripts/topo-label-lift-test.mjs +0 -119
  939. package/scripts/topo-label-scale-test.mjs +0 -78
  940. package/scripts/topo-lastseen-tooltip-test.mjs +0 -59
  941. package/scripts/topo-layout-hover-fw-test.mjs +0 -98
  942. package/scripts/topo-layout-hover-text-preview-test.mjs +0 -101
  943. package/scripts/topo-layout-key-test.mjs +0 -91
  944. package/scripts/topo-layout-switch-crossfade-test.mjs +0 -126
  945. package/scripts/topo-layout-test.mjs +0 -113
  946. package/scripts/topo-layout-theme-attrs-test.mjs +0 -91
  947. package/scripts/topo-layout-toggle-border-unify-test.mjs +0 -104
  948. package/scripts/topo-layout-toggle-brightness-test.mjs +0 -94
  949. package/scripts/topo-layout-toggle-halo-layers-test.mjs +0 -95
  950. package/scripts/topo-layout-toggle-hover-tracking-test.mjs +0 -109
  951. package/scripts/topo-layout-toggle-radius-test.mjs +0 -87
  952. package/scripts/topo-layout-toggle-test.mjs +0 -131
  953. package/scripts/topo-layout-trailer-mr-test.mjs +0 -82
  954. package/scripts/topo-legend-compress-test.mjs +0 -107
  955. package/scripts/topo-legend-count-active-opacity-test.mjs +0 -102
  956. package/scripts/topo-legend-count-brightness-test.mjs +0 -80
  957. package/scripts/topo-legend-count-empty-test.mjs +0 -126
  958. package/scripts/topo-legend-count-halo-layers-test.mjs +0 -79
  959. package/scripts/topo-legend-count-letter-spacing-test.mjs +0 -108
  960. package/scripts/topo-legend-count-pin-fw-test.mjs +0 -90
  961. package/scripts/topo-legend-count-tabular-parity-test.mjs +0 -90
  962. package/scripts/topo-legend-count-tabular-test.mjs +0 -87
  963. package/scripts/topo-legend-count-test.mjs +0 -88
  964. package/scripts/topo-legend-count-tier-fill-test.mjs +0 -121
  965. package/scripts/topo-legend-count-weight-test.mjs +0 -86
  966. package/scripts/topo-legend-header-symmetric-inset-test.mjs +0 -112
  967. package/scripts/topo-legend-hitbox-swatch-center-test.mjs +0 -93
  968. package/scripts/topo-legend-hover-test.mjs +0 -113
  969. package/scripts/topo-legend-label-fontweight-test.mjs +0 -94
  970. package/scripts/topo-legend-label-fw-test.mjs +0 -107
  971. package/scripts/topo-legend-offline-delimiter-test.mjs +0 -84
  972. package/scripts/topo-legend-offline-label-simplify-test.mjs +0 -86
  973. package/scripts/topo-legend-panel-count-weight-test.mjs +0 -89
  974. package/scripts/topo-legend-panel-header-test.mjs +0 -83
  975. package/scripts/topo-legend-panel-title-breath-test.mjs +0 -86
  976. package/scripts/topo-legend-panel-title-fw-test.mjs +0 -95
  977. package/scripts/topo-legend-pin-ring-brightness-test.mjs +0 -82
  978. package/scripts/topo-legend-pin-ring-fade-test.mjs +0 -112
  979. package/scripts/topo-legend-pin-ring-glow-test.mjs +0 -105
  980. package/scripts/topo-legend-pin-ring-halo-layers-test.mjs +0 -71
  981. package/scripts/topo-legend-pin-ring-stroke-test.mjs +0 -101
  982. package/scripts/topo-legend-pin-test.mjs +0 -128
  983. package/scripts/topo-legend-row-count-brightness-test.mjs +0 -85
  984. package/scripts/topo-legend-row-hover-lift-test.mjs +0 -109
  985. package/scripts/topo-legend-row-label-glow-test.mjs +0 -102
  986. package/scripts/topo-legend-row-labels-simplify-test.mjs +0 -80
  987. package/scripts/topo-legend-row-letter-spacing-test.mjs +0 -101
  988. package/scripts/topo-legend-row-pin-spacing-test.mjs +0 -124
  989. package/scripts/topo-legend-row-text-cadence-test.mjs +0 -93
  990. package/scripts/topo-legend-row-tint-cadence-test.mjs +0 -92
  991. package/scripts/topo-legend-row-tint-test.mjs +0 -95
  992. package/scripts/topo-legend-row-title-test.mjs +0 -102
  993. package/scripts/topo-legend-swatch-glow-test.mjs +0 -109
  994. package/scripts/topo-legend-swatch-grow-test.mjs +0 -116
  995. package/scripts/topo-legend-swatch-member-alias-match-test.mjs +0 -139
  996. package/scripts/topo-legend-swatch-radius-test.mjs +0 -78
  997. package/scripts/topo-legend-tint-brightness-test.mjs +0 -83
  998. package/scripts/topo-legend-trio-halo-layers-test.mjs +0 -22
  999. package/scripts/topo-live-lanes.mjs +0 -48
  1000. package/scripts/topo-minimap-a11y-test.mjs +0 -101
  1001. package/scripts/topo-minimap-container-halo-test.mjs +0 -82
  1002. package/scripts/topo-minimap-dot-chat-gate-test.mjs +0 -81
  1003. package/scripts/topo-minimap-dot-lift-test.mjs +0 -115
  1004. package/scripts/topo-minimap-dot-transition-test.mjs +0 -113
  1005. package/scripts/topo-minimap-hover-glow-test.mjs +0 -109
  1006. package/scripts/topo-minimap-offline-opacity-test.mjs +0 -90
  1007. package/scripts/topo-minimap-online-hover-opacity-test.mjs +0 -92
  1008. package/scripts/topo-minimap-online-opacity-test.mjs +0 -93
  1009. package/scripts/topo-minimap-online-radius-test.mjs +0 -85
  1010. package/scripts/topo-minimap-radius-test.mjs +0 -88
  1011. package/scripts/topo-minimap-rect-stroke-test.mjs +0 -94
  1012. package/scripts/topo-minimap-test.mjs +0 -68
  1013. package/scripts/topo-minimap-viewport-brightness-test.mjs +0 -84
  1014. package/scripts/topo-minimap-viewport-halo-layers-test.mjs +0 -24
  1015. package/scripts/topo-minimap-viewport-hover-test.mjs +0 -109
  1016. package/scripts/topo-minimap-viewport-linejoin-test.mjs +0 -75
  1017. package/scripts/topo-minimap-viewport-opacity-test.mjs +0 -96
  1018. package/scripts/topo-minimap-viewport-rx-test.mjs +0 -85
  1019. package/scripts/topo-minimap-viewport-smooth-test.mjs +0 -124
  1020. package/scripts/topo-minimap-zoom-glow-test.mjs +0 -86
  1021. package/scripts/topo-mobile-chips-test.mjs +0 -103
  1022. package/scripts/topo-mock-large.mjs +0 -58
  1023. package/scripts/topo-monogram-font-test.mjs +0 -112
  1024. package/scripts/topo-monogram-stroke-test.mjs +0 -101
  1025. package/scripts/topo-more-flows-fontweight-test.mjs +0 -103
  1026. package/scripts/topo-more-flows-hover-letterspacing-test.mjs +0 -98
  1027. package/scripts/topo-more-flows-letterspacing-test.mjs +0 -111
  1028. package/scripts/topo-more-flows-unit-test.mjs +0 -95
  1029. package/scripts/topo-more-footer-brightness-test.mjs +0 -94
  1030. package/scripts/topo-node-a11y-test.mjs +0 -107
  1031. package/scripts/topo-node-alias-brightness-test.mjs +0 -84
  1032. package/scripts/topo-node-alias-chat-pin-test.mjs +0 -95
  1033. package/scripts/topo-node-alias-letter-spacing-test.mjs +0 -112
  1034. package/scripts/topo-node-avatar-halo-layers-test.mjs +0 -25
  1035. package/scripts/topo-node-halo-hover-opacity-test.mjs +0 -104
  1036. package/scripts/topo-node-halo-light-offline-test.mjs +0 -80
  1037. package/scripts/topo-node-halo-offline-opacity-test.mjs +0 -87
  1038. package/scripts/topo-node-hover-lift-test.mjs +0 -85
  1039. package/scripts/topo-node-hover-ring-halo-layers-test.mjs +0 -70
  1040. package/scripts/topo-node-label-card-elevation-test.mjs +0 -157
  1041. package/scripts/topo-node-label-card-halo-test.mjs +0 -76
  1042. package/scripts/topo-node-label-card-rx-test.mjs +0 -85
  1043. package/scripts/topo-node-label-card-stroke-test.mjs +0 -135
  1044. package/scripts/topo-node-pulse-peak-test.mjs +0 -89
  1045. package/scripts/topo-node-pulse-trough-test.mjs +0 -91
  1046. package/scripts/topo-node-stroke-transition-test.mjs +0 -103
  1047. package/scripts/topo-node-sub-text-brightness-test.mjs +0 -88
  1048. package/scripts/topo-node-sub-text-fw-test.mjs +0 -75
  1049. package/scripts/topo-node-sub-text-letter-spacing-test.mjs +0 -115
  1050. package/scripts/topo-node-text-fill-transition-test.mjs +0 -119
  1051. package/scripts/topo-node-title-peers-test.mjs +0 -107
  1052. package/scripts/topo-node-title-test.mjs +0 -101
  1053. package/scripts/topo-nodesize-active-hover-test.mjs +0 -109
  1054. package/scripts/topo-nodesize-brightness-test.mjs +0 -82
  1055. package/scripts/topo-nodesize-crossfade-test.mjs +0 -141
  1056. package/scripts/topo-nodesize-halo-layers-test.mjs +0 -89
  1057. package/scripts/topo-nodesize-hover-fw-test.mjs +0 -99
  1058. package/scripts/topo-offline-dim-test.mjs +0 -70
  1059. package/scripts/topo-online-chip-nav-test.mjs +0 -143
  1060. package/scripts/topo-orbit-particles-retired-test.mjs +0 -91
  1061. package/scripts/topo-orphan-band-test.mjs +0 -106
  1062. package/scripts/topo-orphan-box-dash-test.mjs +0 -89
  1063. package/scripts/topo-orphan-fill-opacity-test.mjs +0 -91
  1064. package/scripts/topo-orphan-label-italic-test.mjs +0 -90
  1065. package/scripts/topo-orphan-label-opacity-test.mjs +0 -98
  1066. package/scripts/topo-overlap-stale-build-guard-test.mjs +0 -66
  1067. package/scripts/topo-overlap-test.mjs +0 -219
  1068. package/scripts/topo-p0round-test.mjs +0 -166
  1069. package/scripts/topo-pan-cursor-test.mjs +0 -62
  1070. package/scripts/topo-panel-count-fw-hover-test.mjs +0 -105
  1071. package/scripts/topo-panel-count-halo-layers-test.mjs +0 -91
  1072. package/scripts/topo-panel-count-hover-ls-test.mjs +0 -87
  1073. package/scripts/topo-panel-count-letterspacing-test.mjs +0 -89
  1074. package/scripts/topo-panel-count-unit-test.mjs +0 -112
  1075. package/scripts/topo-panel-elevation-test.mjs +0 -76
  1076. package/scripts/topo-panel-fadein-test.mjs +0 -102
  1077. package/scripts/topo-panel-hot-tail-fade-test.mjs +0 -132
  1078. package/scripts/topo-panel-hover-elevation-test.mjs +0 -118
  1079. package/scripts/topo-panel-rect-halo-test.mjs +0 -90
  1080. package/scripts/topo-panel-rect-opacity-hover-test.mjs +0 -109
  1081. package/scripts/topo-panel-row-brightness-test.mjs +0 -116
  1082. package/scripts/topo-panel-rx-test.mjs +0 -90
  1083. package/scripts/topo-panel-stroke-hover-test.mjs +0 -110
  1084. package/scripts/topo-panel-theme-ease-test.mjs +0 -85
  1085. package/scripts/topo-panel-title-brightness-test.mjs +0 -98
  1086. package/scripts/topo-panel-title-fill-ease-test.mjs +0 -91
  1087. package/scripts/topo-panel-title-glow-test.mjs +0 -111
  1088. package/scripts/topo-panel-title-hover-letterspacing-test.mjs +0 -97
  1089. package/scripts/topo-panel-title-tracking-test.mjs +0 -78
  1090. package/scripts/topo-panel-titles-dual-axis-breath-test.mjs +0 -94
  1091. package/scripts/topo-panel-titles-halo-layers-test.mjs +0 -23
  1092. package/scripts/topo-panel-titles-triple-axis-breath-test.mjs +0 -161
  1093. package/scripts/topo-particle-stagger-test.mjs +0 -82
  1094. package/scripts/topo-pill-x-rotate-test.mjs +0 -96
  1095. package/scripts/topo-pin-intersection-color-ease-test.mjs +0 -111
  1096. package/scripts/topo-pin-intersection-empty-test.mjs +0 -129
  1097. package/scripts/topo-pin-intersection-tabular-test.mjs +0 -96
  1098. package/scripts/topo-pin-intersection-test.mjs +0 -121
  1099. package/scripts/topo-pin-intersection-unit-test.mjs +0 -100
  1100. package/scripts/topo-pin-intersection-warning-crossfade-test.mjs +0 -107
  1101. package/scripts/topo-pin-mirror-transition-test.mjs +0 -101
  1102. package/scripts/topo-pin-persistence-test.mjs +0 -105
  1103. package/scripts/topo-pinned-aspect-test.mjs +0 -89
  1104. package/scripts/topo-pip-brightness-test.mjs +0 -85
  1105. package/scripts/topo-popover-meta-test.mjs +0 -78
  1106. package/scripts/topo-prefix-opacity-test.mjs +0 -107
  1107. package/scripts/topo-prepublish-guard-test.mjs +0 -95
  1108. package/scripts/topo-pressure-bar-halo-layers-test.mjs +0 -19
  1109. package/scripts/topo-pressure-bar-height-test.mjs +0 -92
  1110. package/scripts/topo-pressure-bar-test.mjs +0 -69
  1111. package/scripts/topo-pressure-hover-test.mjs +0 -123
  1112. package/scripts/topo-pressure-kicker-fontweight-test.mjs +0 -76
  1113. package/scripts/topo-pressure-pin-test.mjs +0 -119
  1114. package/scripts/topo-pressure-seg-glow-test.mjs +0 -92
  1115. package/scripts/topo-pressure-seg-member-alias-match-test.mjs +0 -133
  1116. package/scripts/topo-pressure-seg-motion-test.mjs +0 -101
  1117. package/scripts/topo-pressure-seg-self-hover-test.mjs +0 -126
  1118. package/scripts/topo-pressure-seg-tooltip-test.mjs +0 -98
  1119. package/scripts/topo-pressure-seg-transition-test.mjs +0 -107
  1120. package/scripts/topo-pulse-dot-crossfade-test.mjs +0 -122
  1121. package/scripts/topo-pulse-dot-retired-test.mjs +0 -86
  1122. package/scripts/topo-pulse-rate-test.mjs +0 -71
  1123. package/scripts/topo-r104-test.mjs +0 -54
  1124. package/scripts/topo-r717-scan-beam-pair-pattern-test.mjs +0 -100
  1125. package/scripts/topo-r717-triple-axis-pair-pattern-test.mjs +0 -113
  1126. package/scripts/topo-r717-triple-axis-tier-pattern-test.mjs +0 -117
  1127. package/scripts/topo-recent-count-brightness-test.mjs +0 -84
  1128. package/scripts/topo-recent-hot-pulse-test.mjs +0 -102
  1129. package/scripts/topo-recent-more-fw-test.mjs +0 -126
  1130. package/scripts/topo-recent-more-halo-layers-test.mjs +0 -90
  1131. package/scripts/topo-recent-panel-count-freshness-test.mjs +0 -109
  1132. package/scripts/topo-recent-panel-count-test.mjs +0 -72
  1133. package/scripts/topo-recent-panel-count-weight-test.mjs +0 -91
  1134. package/scripts/topo-recent-panel-footer-breath-test.mjs +0 -142
  1135. package/scripts/topo-recent-panel-hot-header-test.mjs +0 -132
  1136. package/scripts/topo-recent-panel-hot-pulse-test.mjs +0 -105
  1137. package/scripts/topo-recent-panel-hot-tabular-test.mjs +0 -113
  1138. package/scripts/topo-recent-panel-more-crossfade-test.mjs +0 -124
  1139. package/scripts/topo-recent-panel-more-cyan-hover-test.mjs +0 -151
  1140. package/scripts/topo-recent-panel-more-nav-test.mjs +0 -127
  1141. package/scripts/topo-recent-panel-more-test.mjs +0 -106
  1142. package/scripts/topo-recent-panel-readability-bump-test.mjs +0 -151
  1143. package/scripts/topo-recent-panel-title-breath-test.mjs +0 -91
  1144. package/scripts/topo-recent-panel-title-fw-test.mjs +0 -106
  1145. package/scripts/topo-recent-pip-halo-layers-test.mjs +0 -82
  1146. package/scripts/topo-recent-pip-radius-2-test.mjs +0 -72
  1147. package/scripts/topo-recent-pip-radius-test.mjs +0 -76
  1148. package/scripts/topo-recent-row-chat-gate-test.mjs +0 -75
  1149. package/scripts/topo-recent-row-content-lift-test.mjs +0 -140
  1150. package/scripts/topo-recent-row-content-opacity-test.mjs +0 -81
  1151. package/scripts/topo-recent-row-count-fill-test.mjs +0 -129
  1152. package/scripts/topo-recent-row-count-pin-fw-test.mjs +0 -106
  1153. package/scripts/topo-recent-row-count-weight-test.mjs +0 -112
  1154. package/scripts/topo-recent-row-fadein-test.mjs +0 -107
  1155. package/scripts/topo-recent-row-freshness-glow-test.mjs +0 -100
  1156. package/scripts/topo-recent-row-freshness-test.mjs +0 -102
  1157. package/scripts/topo-recent-row-fw-test.mjs +0 -115
  1158. package/scripts/topo-recent-row-hot-test.mjs +0 -110
  1159. package/scripts/topo-recent-row-hover-lift-test.mjs +0 -128
  1160. package/scripts/topo-recent-row-hover-test.mjs +0 -122
  1161. package/scripts/topo-recent-row-letter-spacing-test.mjs +0 -109
  1162. package/scripts/topo-recent-row-pin-spacing-test.mjs +0 -137
  1163. package/scripts/topo-recent-row-pin-test.mjs +0 -126
  1164. package/scripts/topo-recent-row-pip-hover-r-test.mjs +0 -104
  1165. package/scripts/topo-recent-row-text-cadence-test.mjs +0 -99
  1166. package/scripts/topo-recent-row-text-fontweight-test.mjs +0 -90
  1167. package/scripts/topo-recent-row-text-glow-test.mjs +0 -86
  1168. package/scripts/topo-recent-row-text-halo-layers-test.mjs +0 -67
  1169. package/scripts/topo-recent-row-tint-cadence-test.mjs +0 -96
  1170. package/scripts/topo-recent-row-tint-test.mjs +0 -91
  1171. package/scripts/topo-recent-row-title-test.mjs +0 -112
  1172. package/scripts/topo-recent-row-ts-alpha-test.mjs +0 -100
  1173. package/scripts/topo-recent-row-ts-lift-test.mjs +0 -97
  1174. package/scripts/topo-recent-row-ts-tabular-test.mjs +0 -108
  1175. package/scripts/topo-recent-row-ts-test.mjs +0 -95
  1176. package/scripts/topo-recent-row-typography-test.mjs +0 -119
  1177. package/scripts/topo-recent-signal-empty-hint-test.mjs +0 -73
  1178. package/scripts/topo-recent-signal-empty-test.mjs +0 -63
  1179. package/scripts/topo-recent-tint-brightness-test.mjs +0 -80
  1180. package/scripts/topo-recent-ts-brightness-test.mjs +0 -86
  1181. package/scripts/topo-reduced-motion-attr-test.mjs +0 -69
  1182. package/scripts/topo-reduced-motion-test.mjs +0 -77
  1183. package/scripts/topo-rename-test.mjs +0 -107
  1184. package/scripts/topo-reset-brightness-test.mjs +0 -83
  1185. package/scripts/topo-reset-hover-rotate-test.mjs +0 -102
  1186. package/scripts/topo-reset-icon-hover-scale-test.mjs +0 -102
  1187. package/scripts/topo-reset-spin-test.mjs +0 -120
  1188. package/scripts/topo-respiratory-axis-count-stats-test.mjs +0 -154
  1189. package/scripts/topo-respiratory-patterns-catalog-test.mjs +0 -112
  1190. package/scripts/topo-respiratory-rolodex-test.mjs +0 -83
  1191. package/scripts/topo-respiratory-tiers-catalog-test.mjs +0 -119
  1192. package/scripts/topo-respiratory-triple-axis-surfaces-catalog-test.mjs +0 -127
  1193. package/scripts/topo-runtime-badge-brightness-test.mjs +0 -78
  1194. package/scripts/topo-runtime-badge-glow-test.mjs +0 -108
  1195. package/scripts/topo-runtime-badge-grow-test.mjs +0 -114
  1196. package/scripts/topo-runtime-badge-halo-layers-test.mjs +0 -87
  1197. package/scripts/topo-runtime-badge-rotate-test.mjs +0 -85
  1198. package/scripts/topo-runtime-icon-hover-test.mjs +0 -96
  1199. package/scripts/topo-section-title-breath-test.mjs +0 -83
  1200. package/scripts/topo-section-title-halo-layers-test.mjs +0 -88
  1201. package/scripts/topo-shot.mjs +0 -31
  1202. package/scripts/topo-spoke-active-opacity-test.mjs +0 -104
  1203. package/scripts/topo-spoke-active-stroke-test.mjs +0 -95
  1204. package/scripts/topo-spoke-chat-gate-test.mjs +0 -72
  1205. package/scripts/topo-spoke-idle-opacity-test.mjs +0 -91
  1206. package/scripts/topo-spokes-retired-test.mjs +0 -93
  1207. package/scripts/topo-starfield-density-test.mjs +0 -89
  1208. package/scripts/topo-starfield-hue-test.mjs +0 -109
  1209. package/scripts/topo-status-chip-hover-test.mjs +0 -101
  1210. package/scripts/topo-status-chip-tooltip-test.mjs +0 -95
  1211. package/scripts/topo-status-pin-pill-halo-layers-test.mjs +0 -17
  1212. package/scripts/topo-status-ring-brightness-test.mjs +0 -84
  1213. package/scripts/topo-status-ring-chat-gate-test.mjs +0 -72
  1214. package/scripts/topo-status-ring-halo-layers-test.mjs +0 -105
  1215. package/scripts/topo-status-ring-hover-sw-test.mjs +0 -105
  1216. package/scripts/topo-status-ring-status-halo-test.mjs +0 -110
  1217. package/scripts/topo-statusbar-chips-self-hover-test.mjs +0 -177
  1218. package/scripts/topo-sub-text-chat-brightness-test.mjs +0 -81
  1219. package/scripts/topo-svg-focus-test.mjs +0 -112
  1220. package/scripts/topo-svg-focus-transition-test.mjs +0 -105
  1221. package/scripts/topo-svg-title-a11y-r731-test.mjs +0 -93
  1222. package/scripts/topo-svg-title-a11y-test.mjs +0 -88
  1223. package/scripts/topo-sweep-busyness-test.mjs +0 -94
  1224. package/scripts/topo-tabular-nums-sweep-test.mjs +0 -93
  1225. package/scripts/topo-tier-guide-dashes-test.mjs +0 -86
  1226. package/scripts/topo-tier-ring-fadein-test.mjs +0 -107
  1227. package/scripts/topo-tier-ring-occupancy-test.mjs +0 -87
  1228. package/scripts/topo-tier-ring-test.mjs +0 -69
  1229. package/scripts/topo-tier-ring-tint-test.mjs +0 -110
  1230. package/scripts/topo-tier-stagger-test.mjs +0 -89
  1231. package/scripts/topo-title-block-entrance-animation-test.mjs +0 -127
  1232. package/scripts/topo-title-block-envelope-breath-test.mjs +0 -87
  1233. package/scripts/topo-title-block-tight-leading-test.mjs +0 -95
  1234. package/scripts/topo-title-tracking-test.mjs +0 -98
  1235. package/scripts/topo-titleblock-gap-test.mjs +0 -86
  1236. package/scripts/topo-titleblock-h2-hover-fw-test.mjs +0 -109
  1237. package/scripts/topo-titleblock-h2-hover-tracking-test.mjs +0 -128
  1238. package/scripts/topo-titleblock-kicker-hover-test.mjs +0 -134
  1239. package/scripts/topo-titleblock-margin-test.mjs +0 -83
  1240. package/scripts/topo-toggle-inactive-cyan-hover-test.mjs +0 -110
  1241. package/scripts/topo-top-rail-theme-ease-test.mjs +0 -89
  1242. package/scripts/topo-tree-diag.mjs +0 -95
  1243. package/scripts/topo-tz-ghost-test.mjs +0 -69
  1244. package/scripts/topo-vendor-activelinks-press-test.mjs +0 -100
  1245. package/scripts/topo-vendor-chip-glow-test.mjs +0 -97
  1246. package/scripts/topo-vendor-chip-halo-layers-test.mjs +0 -18
  1247. package/scripts/topo-vendor-chip-hover-lift-test.mjs +0 -87
  1248. package/scripts/topo-vendor-chip-hover-test.mjs +0 -111
  1249. package/scripts/topo-vendor-chip-pin-halo-test.mjs +0 -88
  1250. package/scripts/topo-vendor-chip-self-hover-test.mjs +0 -131
  1251. package/scripts/topo-vendor-chip-tabular-test.mjs +0 -92
  1252. package/scripts/topo-vendor-chip-threshold-test.mjs +0 -78
  1253. package/scripts/topo-vendor-chip-weight-test.mjs +0 -87
  1254. package/scripts/topo-vendor-count-suffix-halo-layers-test.mjs +0 -79
  1255. package/scripts/topo-vendor-count-suffix-test.mjs +0 -95
  1256. package/scripts/topo-vendor-distribution-wrapper-halo-test.mjs +0 -93
  1257. package/scripts/topo-vendor-glyph-fontweight-test.mjs +0 -102
  1258. package/scripts/topo-vendor-letter-halo-layers-test.mjs +0 -93
  1259. package/scripts/topo-vendor-letter-hover-scale-test.mjs +0 -129
  1260. package/scripts/topo-vendor-letter-tooltip-test.mjs +0 -92
  1261. package/scripts/topo-vendor-pill-glow-test.mjs +0 -98
  1262. package/scripts/topo-vendor-pill-test.mjs +0 -125
  1263. package/scripts/topo-vendor-pin-test.mjs +0 -125
  1264. package/scripts/topo-vendor-suffix-hover-brighten-test.mjs +0 -87
  1265. package/scripts/topo-vendor-test.mjs +0 -97
  1266. package/scripts/topo-view-smooth-test.mjs +0 -131
  1267. package/scripts/topo-watermark-breath-test.mjs +0 -100
  1268. package/scripts/topo-watermark-dual-axis-breath-test.mjs +0 -88
  1269. package/scripts/topo-watermark-envelope-breath-test.mjs +0 -88
  1270. package/scripts/topo-watermark-recede-test.mjs +0 -114
  1271. package/scripts/topo-watermark-tracking-test.mjs +0 -99
  1272. package/scripts/topo-watermark-triple-axis-breath-test.mjs +0 -129
  1273. package/scripts/topo-wheel-zoom-test.mjs +0 -79
  1274. package/scripts/topo-working-chip-pin-test.mjs +0 -154
  1275. package/scripts/topo-working-halo-breath-retired-test.mjs +0 -99
  1276. package/scripts/topo-working-online-chip-halo-layers-test.mjs +0 -94
  1277. package/scripts/topo-wrapper-flow-arrow-theme-test.mjs +0 -97
  1278. package/scripts/topo-wrapper-radius-test.mjs +0 -73
  1279. package/scripts/topo-wrapper-shadow-theme-ease-test.mjs +0 -89
  1280. package/scripts/topo-zoom-attr-test.mjs +0 -74
  1281. package/scripts/topo-zoom-buttons-brightness-test.mjs +0 -94
  1282. package/scripts/topo-zoom-icon-hover-scale-test.mjs +0 -114
  1283. package/scripts/topo-zoom-in-out-halo-layers-test.mjs +0 -97
  1284. package/scripts/topo-zoom-keys-test.mjs +0 -89
  1285. package/scripts/topo-zoom-level-breath-test.mjs +0 -87
  1286. package/scripts/topo-zoom-level-brightness-test.mjs +0 -83
  1287. package/scripts/topo-zoom-level-color-test.mjs +0 -105
  1288. package/scripts/topo-zoom-level-dual-axis-breath-test.mjs +0 -83
  1289. package/scripts/topo-zoom-level-halo-layers-test.mjs +0 -78
  1290. package/scripts/topo-zoom-level-hover-fw-test.mjs +0 -95
  1291. package/scripts/topo-zoom-level-hover-letterspacing-test.mjs +0 -91
  1292. package/scripts/topo-zoom-level-triple-axis-breath-test.mjs +0 -148
  1293. /package/.next/static/{9xrepgGmTIkgV7uxJ0dm8 → TvIJHvMV6_ETYDMkMySqd}/_buildManifest.js +0 -0
  1294. /package/.next/static/{9xrepgGmTIkgV7uxJ0dm8 → TvIJHvMV6_ETYDMkMySqd}/_clientMiddlewareManifest.js +0 -0
  1295. /package/.next/static/{9xrepgGmTIkgV7uxJ0dm8 → TvIJHvMV6_ETYDMkMySqd}/_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`.