@sleep2agi/agent-network-dashboard 0.4.6-preview.269 → 0.4.6-preview.270

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 (139) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/build-manifest.json +3 -3
  3. package/.next/diagnostics/route-bundle-stats.json +4 -4
  4. package/.next/fallback-build-manifest.json +3 -3
  5. package/.next/server/app/_global-error.html +1 -1
  6. package/.next/server/app/_global-error.rsc +1 -1
  7. package/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  8. package/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  9. package/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  10. package/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  11. package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  12. package/.next/server/app/_not-found.html +1 -1
  13. package/.next/server/app/_not-found.rsc +1 -1
  14. package/.next/server/app/_not-found.segments/_full.segment.rsc +1 -1
  15. package/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  16. package/.next/server/app/_not-found.segments/_index.segment.rsc +1 -1
  17. package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  18. package/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  19. package/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
  20. package/.next/server/app/admin.html +1 -1
  21. package/.next/server/app/admin.rsc +1 -1
  22. package/.next/server/app/admin.segments/_full.segment.rsc +1 -1
  23. package/.next/server/app/admin.segments/_head.segment.rsc +1 -1
  24. package/.next/server/app/admin.segments/_index.segment.rsc +1 -1
  25. package/.next/server/app/admin.segments/_tree.segment.rsc +1 -1
  26. package/.next/server/app/admin.segments/admin/__PAGE__.segment.rsc +1 -1
  27. package/.next/server/app/admin.segments/admin.segment.rsc +1 -1
  28. package/.next/server/app/index.html +2 -2
  29. package/.next/server/app/index.rsc +2 -2
  30. package/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
  31. package/.next/server/app/index.segments/_full.segment.rsc +2 -2
  32. package/.next/server/app/index.segments/_head.segment.rsc +1 -1
  33. package/.next/server/app/index.segments/_index.segment.rsc +1 -1
  34. package/.next/server/app/index.segments/_tree.segment.rsc +1 -1
  35. package/.next/server/app/login/page_client-reference-manifest.js +1 -1
  36. package/.next/server/app/login.html +2 -2
  37. package/.next/server/app/login.rsc +2 -2
  38. package/.next/server/app/login.segments/_full.segment.rsc +2 -2
  39. package/.next/server/app/login.segments/_head.segment.rsc +1 -1
  40. package/.next/server/app/login.segments/_index.segment.rsc +1 -1
  41. package/.next/server/app/login.segments/_tree.segment.rsc +1 -1
  42. package/.next/server/app/login.segments/login/__PAGE__.segment.rsc +2 -2
  43. package/.next/server/app/login.segments/login.segment.rsc +1 -1
  44. package/.next/server/app/logs.html +1 -1
  45. package/.next/server/app/logs.rsc +1 -1
  46. package/.next/server/app/logs.segments/_full.segment.rsc +1 -1
  47. package/.next/server/app/logs.segments/_head.segment.rsc +1 -1
  48. package/.next/server/app/logs.segments/_index.segment.rsc +1 -1
  49. package/.next/server/app/logs.segments/_tree.segment.rsc +1 -1
  50. package/.next/server/app/logs.segments/logs/__PAGE__.segment.rsc +1 -1
  51. package/.next/server/app/logs.segments/logs.segment.rsc +1 -1
  52. package/.next/server/app/messages.html +1 -1
  53. package/.next/server/app/messages.rsc +1 -1
  54. package/.next/server/app/messages.segments/_full.segment.rsc +1 -1
  55. package/.next/server/app/messages.segments/_head.segment.rsc +1 -1
  56. package/.next/server/app/messages.segments/_index.segment.rsc +1 -1
  57. package/.next/server/app/messages.segments/_tree.segment.rsc +1 -1
  58. package/.next/server/app/messages.segments/messages/__PAGE__.segment.rsc +1 -1
  59. package/.next/server/app/messages.segments/messages.segment.rsc +1 -1
  60. package/.next/server/app/node.html +1 -1
  61. package/.next/server/app/node.rsc +1 -1
  62. package/.next/server/app/node.segments/_full.segment.rsc +1 -1
  63. package/.next/server/app/node.segments/_head.segment.rsc +1 -1
  64. package/.next/server/app/node.segments/_index.segment.rsc +1 -1
  65. package/.next/server/app/node.segments/_tree.segment.rsc +1 -1
  66. package/.next/server/app/node.segments/node/__PAGE__.segment.rsc +1 -1
  67. package/.next/server/app/node.segments/node.segment.rsc +1 -1
  68. package/.next/server/app/nodes.html +1 -1
  69. package/.next/server/app/nodes.rsc +1 -1
  70. package/.next/server/app/nodes.segments/_full.segment.rsc +1 -1
  71. package/.next/server/app/nodes.segments/_head.segment.rsc +1 -1
  72. package/.next/server/app/nodes.segments/_index.segment.rsc +1 -1
  73. package/.next/server/app/nodes.segments/_tree.segment.rsc +1 -1
  74. package/.next/server/app/nodes.segments/nodes/__PAGE__.segment.rsc +1 -1
  75. package/.next/server/app/nodes.segments/nodes.segment.rsc +1 -1
  76. package/.next/server/app/page_client-reference-manifest.js +1 -1
  77. package/.next/server/app/server-logs.html +1 -1
  78. package/.next/server/app/server-logs.rsc +1 -1
  79. package/.next/server/app/server-logs.segments/_full.segment.rsc +1 -1
  80. package/.next/server/app/server-logs.segments/_head.segment.rsc +1 -1
  81. package/.next/server/app/server-logs.segments/_index.segment.rsc +1 -1
  82. package/.next/server/app/server-logs.segments/_tree.segment.rsc +1 -1
  83. package/.next/server/app/server-logs.segments/server-logs/__PAGE__.segment.rsc +1 -1
  84. package/.next/server/app/server-logs.segments/server-logs.segment.rsc +1 -1
  85. package/.next/server/app/settings/networks.html +1 -1
  86. package/.next/server/app/settings/networks.rsc +1 -1
  87. package/.next/server/app/settings/networks.segments/_full.segment.rsc +1 -1
  88. package/.next/server/app/settings/networks.segments/_head.segment.rsc +1 -1
  89. package/.next/server/app/settings/networks.segments/_index.segment.rsc +1 -1
  90. package/.next/server/app/settings/networks.segments/_tree.segment.rsc +1 -1
  91. package/.next/server/app/settings/networks.segments/settings/networks/__PAGE__.segment.rsc +1 -1
  92. package/.next/server/app/settings/networks.segments/settings/networks.segment.rsc +1 -1
  93. package/.next/server/app/settings/networks.segments/settings.segment.rsc +1 -1
  94. package/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  95. package/.next/server/app/settings/tokens.html +1 -1
  96. package/.next/server/app/settings/tokens.rsc +1 -1
  97. package/.next/server/app/settings/tokens.segments/_full.segment.rsc +1 -1
  98. package/.next/server/app/settings/tokens.segments/_head.segment.rsc +1 -1
  99. package/.next/server/app/settings/tokens.segments/_index.segment.rsc +1 -1
  100. package/.next/server/app/settings/tokens.segments/_tree.segment.rsc +1 -1
  101. package/.next/server/app/settings/tokens.segments/settings/tokens/__PAGE__.segment.rsc +1 -1
  102. package/.next/server/app/settings/tokens.segments/settings/tokens.segment.rsc +1 -1
  103. package/.next/server/app/settings/tokens.segments/settings.segment.rsc +1 -1
  104. package/.next/server/app/settings.html +2 -2
  105. package/.next/server/app/settings.rsc +2 -2
  106. package/.next/server/app/settings.segments/_full.segment.rsc +2 -2
  107. package/.next/server/app/settings.segments/_head.segment.rsc +1 -1
  108. package/.next/server/app/settings.segments/_index.segment.rsc +1 -1
  109. package/.next/server/app/settings.segments/_tree.segment.rsc +1 -1
  110. package/.next/server/app/settings.segments/settings/__PAGE__.segment.rsc +2 -2
  111. package/.next/server/app/settings.segments/settings.segment.rsc +1 -1
  112. package/.next/server/app/tasks.html +1 -1
  113. package/.next/server/app/tasks.rsc +1 -1
  114. package/.next/server/app/tasks.segments/_full.segment.rsc +1 -1
  115. package/.next/server/app/tasks.segments/_head.segment.rsc +1 -1
  116. package/.next/server/app/tasks.segments/_index.segment.rsc +1 -1
  117. package/.next/server/app/tasks.segments/_tree.segment.rsc +1 -1
  118. package/.next/server/app/tasks.segments/tasks/__PAGE__.segment.rsc +1 -1
  119. package/.next/server/app/tasks.segments/tasks.segment.rsc +1 -1
  120. package/.next/server/chunks/ssr/agent-network-dashboard_09kk21a._.js +1 -1
  121. package/.next/server/chunks/ssr/agent-network-dashboard_09kk21a._.js.map +1 -1
  122. package/.next/server/chunks/ssr/agent-network-dashboard_app_01jhlxz._.js +1 -1
  123. package/.next/server/chunks/ssr/agent-network-dashboard_app_01jhlxz._.js.map +1 -1
  124. package/.next/server/chunks/ssr/agent-network-dashboard_app_09d29my._.js +1 -1
  125. package/.next/server/chunks/ssr/agent-network-dashboard_app_09d29my._.js.map +1 -1
  126. package/.next/server/middleware-build-manifest.js +3 -3
  127. package/.next/server/pages/404.html +1 -1
  128. package/.next/server/pages/500.html +1 -1
  129. package/.next/static/chunks/{0u84_-wys4245.js → 0.qg_sd3s8sj~.js} +1 -1
  130. package/.next/static/chunks/{0gt5hg.7dy1--.js → 0zwpi6hqmzpqh.js} +1 -1
  131. package/.next/static/chunks/{178_ke8nf4pda.js → 149kodgion8f0.js} +1 -1
  132. package/.next/trace +2 -2
  133. package/.next/trace-build +1 -1
  134. package/app/components/TopoGraph.tsx +17 -2
  135. package/package.json +1 -1
  136. package/scripts/topo-wrapper-shadow-theme-ease-test.mjs +89 -0
  137. /package/.next/static/{-XX2SSeNC8l332uvJlo8W → zfTklPhuNFS7pf_LmLAvq}/_buildManifest.js +0 -0
  138. /package/.next/static/{-XX2SSeNC8l332uvJlo8W → zfTklPhuNFS7pf_LmLAvq}/_clientMiddlewareManifest.js +0 -0
  139. /package/.next/static/{-XX2SSeNC8l332uvJlo8W → zfTklPhuNFS7pf_LmLAvq}/_ssgManifest.js +0 -0
package/.next/trace-build CHANGED
@@ -1 +1 @@
1
- [{"name":"run-turbopack","duration":5796564,"timestamp":98311323948,"id":14,"parentId":1,"tags":{},"startTime":1778906283570,"traceId":"8da832511d88b20c"},{"name":"turbopack-build-events","duration":111,"timestamp":98311622565,"id":15,"parentId":1,"tags":{},"startTime":1778906283869,"traceId":"8da832511d88b20c"},{"name":"run-typescript","duration":9104123,"timestamp":98317128755,"id":16,"parentId":1,"tags":{},"startTime":1778906289375,"traceId":"8da832511d88b20c"},{"name":"static-check","duration":842836,"timestamp":98326423494,"id":19,"parentId":1,"tags":{},"startTime":1778906298670,"traceId":"8da832511d88b20c"},{"name":"static-generation","duration":616908,"timestamp":98327278079,"id":105,"parentId":1,"tags":{},"startTime":1778906299524,"traceId":"8da832511d88b20c"},{"name":"telemetry-flush","duration":26612,"timestamp":98327924771,"id":114,"parentId":1,"tags":{},"startTime":1778906300171,"traceId":"8da832511d88b20c"},{"name":"next-build","duration":16854363,"timestamp":98311097051,"id":1,"tags":{"buildMode":"default","version":"16.2.3","bundler":"turbopack","has-custom-webpack-config":"false","use-build-worker":"true"},"startTime":1778906283343,"traceId":"8da832511d88b20c"}]
1
+ [{"name":"run-turbopack","duration":5482839,"timestamp":98567417159,"id":14,"parentId":1,"tags":{},"startTime":1778906539663,"traceId":"ffd68e306572177d"},{"name":"turbopack-build-events","duration":110,"timestamp":98567714465,"id":15,"parentId":1,"tags":{},"startTime":1778906539961,"traceId":"ffd68e306572177d"},{"name":"run-typescript","duration":8764515,"timestamp":98572908942,"id":16,"parentId":1,"tags":{},"startTime":1778906545155,"traceId":"ffd68e306572177d"},{"name":"static-check","duration":691817,"timestamp":98581855064,"id":19,"parentId":1,"tags":{},"startTime":1778906554101,"traceId":"ffd68e306572177d"},{"name":"static-generation","duration":574442,"timestamp":98582558784,"id":105,"parentId":1,"tags":{},"startTime":1778906554805,"traceId":"ffd68e306572177d"},{"name":"telemetry-flush","duration":40436,"timestamp":98583166869,"id":114,"parentId":1,"tags":{},"startTime":1778906555413,"traceId":"ffd68e306572177d"},{"name":"next-build","duration":16009809,"timestamp":98567197521,"id":1,"tags":{"buildMode":"default","version":"16.2.3","bundler":"turbopack","has-custom-webpack-config":"false","use-build-worker":"true"},"startTime":1778906539444,"traceId":"ffd68e306572177d"}]
@@ -2484,11 +2484,26 @@ export function TopoGraph({ sessions, sseSessions, renameSignal }: TopoGraphProp
2484
2484
  visually anchoring the snap. R253 declared
2485
2485
  "no visible snap remains" prematurely — this wrapper was
2486
2486
  the largest holdout. 200ms ease-out matches the panel
2487
- treatment (R247) so wrapper + panels ease as one unit. */
2487
+ treatment (R247) so wrapper + panels ease as one unit.
2488
+
2489
+ Round 263 / Loop: close R254's holdover gap — the wrapper's
2490
+ shadow-2xl + theme-conditional `shadow-{color}/{opacity}`
2491
+ Tailwind class (cyber `shadow-cyan-950/30` ↔ light
2492
+ `shadow-zinc-900/5`) ALSO changes on theme toggle, but the
2493
+ inline transition list only covered background-color +
2494
+ border-color. Result: every inner element eased through
2495
+ theme, the wrapper bg/border eased, but the wrapper's
2496
+ DROP-SHADOW snapped — a subtle but real holdover from
2497
+ R254's "TRULY complete" claim. Adding `box-shadow 200ms
2498
+ ease-out` to the transition list catches the className-
2499
+ driven box-shadow swap (CSS transition on box-shadow eases
2500
+ the shadow property even when its color comes from a
2501
+ Tailwind class change, because the property itself is
2502
+ transition-eligible regardless of source). */
2488
2503
  style={{
2489
2504
  background: pal.containerBg,
2490
2505
  borderColor: pal.containerBorder,
2491
- transition: 'background-color 200ms ease-out, border-color 200ms ease-out',
2506
+ transition: 'background-color 200ms ease-out, border-color 200ms ease-out, box-shadow 200ms ease-out',
2492
2507
  }}
2493
2508
  >
2494
2509
  <div className={`absolute inset-x-0 top-0 h-px bg-gradient-to-r ${pal.topRailGradient}`} />
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sleep2agi/agent-network-dashboard",
3
- "version": "0.4.6-preview.269",
3
+ "version": "0.4.6-preview.270",
4
4
  "description": "Agent Network Dashboard — Web UI for managing AI Agent networks",
5
5
  "scripts": {
6
6
  "dev": "next dev",
@@ -0,0 +1,89 @@
1
+ /* Round 263 verification: wrapper box-shadow joins the theme-toggle
2
+ * transition list — closes R254's holdover gap.
3
+ *
4
+ * Pre-R263 the wrapper's inline transition was:
5
+ * transition: 'background-color 200ms ease-out, border-color 200ms ease-out'
6
+ *
7
+ * The Tailwind class `shadow-2xl ${isLight ? 'shadow-zinc-900/5'
8
+ * : 'shadow-cyan-950/30'}` is THEME-CONDITIONAL — on cyber→light
9
+ * toggle the className swap changes box-shadow color (cyan-950 30%
10
+ * ↔ zinc-900 5%) but the transition list didn't include box-shadow,
11
+ * so the shadow SNAPPED while every other theme-driven element eased.
12
+ *
13
+ * R254 claimed "TopoGraph theme-toggle smoothness TRULY complete" but
14
+ * missed this one surface. R263 closes it:
15
+ * transition: '... , box-shadow 200ms ease-out'
16
+ *
17
+ * CSS box-shadow transitions interpolate the shadow color smoothly
18
+ * even when the value is set indirectly via a Tailwind class — the
19
+ * `transition` property targets the box-shadow CSS property itself,
20
+ * which is transition-eligible regardless of where the new value
21
+ * comes from (class change vs inline style change).
22
+ *
23
+ * Test scope:
24
+ * 1. Wrapper present.
25
+ * 2. Wrapper inline transition includes box-shadow at 200ms (or 0.2s).
26
+ * 3. R254 invariants intact: still has background-color + border-color
27
+ * transitions.
28
+ * 4. Wrapper has a non-empty box-shadow at rest (regression — confirms
29
+ * the shadow class actually applies).
30
+ */
31
+ import { chromium } from 'playwright';
32
+ import { readFileSync } from 'node:fs';
33
+
34
+ const TOKEN = JSON.parse(readFileSync('/home/vansin/.anet/config.json', 'utf8')).token;
35
+ const browser = await chromium.launch({ headless: true });
36
+ const ctx = await browser.newContext({ viewport: { width: 1500, height: 1500 } });
37
+ await ctx.addCookies([{ name: 'anet_dashboard_session', value: `v3:${TOKEN}`, domain: '127.0.0.1', path: '/' }]);
38
+ await ctx.addInitScript(() => {
39
+ try { localStorage.setItem('anet-theme', 'cyber'); sessionStorage.setItem('anet_v3_auth', '1'); } catch {}
40
+ });
41
+ const fresh = new Date(Date.now() - 60 * 1000).toISOString();
42
+ await ctx.route('**/api/hub/status*', async (route) => {
43
+ const r = await route.fetch();
44
+ const b = await r.json();
45
+ const nid = (b.sessions || [])[0]?.network_id || 'default';
46
+ const mk = (alias) => ({
47
+ alias, status: 'working', model: 'claude-opus-4', runtime: 'claude-code-cli',
48
+ network_id: nid, project_dir: null,
49
+ created_at: fresh, updated_at: fresh, last_seen_at: fresh,
50
+ });
51
+ await route.fulfill({ response: r, json: { ...b, sessions: [
52
+ mk('alpha'), mk('beta'), mk('gamma'), mk('delta'),
53
+ ] } });
54
+ });
55
+ await ctx.route('**/api/hub/messages*', (r) => r.fulfill({ json: { messages: [] } }));
56
+ await ctx.route('**/api/hub/tasks*', (r) => r.fulfill({ json: { tasks: [] } }));
57
+
58
+ const page = await ctx.newPage();
59
+ await page.goto('http://127.0.0.1:3000/', { waitUntil: 'domcontentloaded' });
60
+ await page.waitForFunction(() => document.querySelectorAll('g[data-node]').length === 4, { timeout: 30000 });
61
+ await page.waitForSelector('[data-topo-wrapper]', { timeout: 10000 });
62
+ await page.waitForTimeout(300);
63
+
64
+ const probe = await page.evaluate(() => {
65
+ const w = document.querySelector('[data-topo-wrapper]');
66
+ return {
67
+ transition: w?.style.transition ?? null,
68
+ boxShadow: w ? window.getComputedStyle(w).boxShadow : null,
69
+ };
70
+ });
71
+ await browser.close();
72
+
73
+ const has = (s, prop) => new RegExp(`${prop}\\s+(?:200ms|0\\.2s)`).test(s || '');
74
+
75
+ const results = {
76
+ wrapper_present: probe.transition !== null,
77
+ transition_has_box_shadow_200: has(probe.transition, 'box-shadow'),
78
+ // R254 regressions
79
+ transition_has_bg_color_200: has(probe.transition, 'background-color'),
80
+ transition_has_border_color_200: has(probe.transition, 'border-color'),
81
+ // Wrapper actually carries a box-shadow at rest (else the transition
82
+ // would have nothing to interpolate). 'none' = no shadow applied.
83
+ wrapper_has_non_empty_shadow: probe.boxShadow !== null && probe.boxShadow !== 'none' && probe.boxShadow.length > 0,
84
+ };
85
+ const ok = Object.values(results).every(Boolean);
86
+ console.log(`${ok ? '✅' : '❌'} wrapper shadow theme ease:`, JSON.stringify(results),
87
+ '\n transition:', probe.transition,
88
+ '\n boxShadow:', probe.boxShadow);
89
+ process.exit(ok ? 0 : 1);