@sleep2agi/agent-network-dashboard 0.4.6-preview.282 → 0.4.6-preview.283

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 (141) 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 +3 -3
  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/{0my515m3gk_js.js → 0770ctmo-jd~3.js} +3 -3
  130. package/.next/static/chunks/{15v_s2m~-o.q-.js → 12ih-cxmgr09g.js} +1 -1
  131. package/.next/static/chunks/{0.17023t0q5iy.js → 13ku0uxsx2o6i.js} +1 -1
  132. package/.next/trace +2 -2
  133. package/.next/trace-build +1 -1
  134. package/app/components/TopoGraph.tsx +22 -2
  135. package/package.json +1 -1
  136. package/scripts/topo-orbit-particles-retired-test.mjs +91 -0
  137. package/scripts/topo-orbit-busyness-test.mjs +0 -96
  138. package/scripts/topo-orbit-opacity-bucket-test.mjs +0 -124
  139. /package/.next/static/{jm9NWDYTm3hLXINnznnDk → gPw1YGsDb6psvirUWKGfQ}/_buildManifest.js +0 -0
  140. /package/.next/static/{jm9NWDYTm3hLXINnznnDk → gPw1YGsDb6psvirUWKGfQ}/_clientMiddlewareManifest.js +0 -0
  141. /package/.next/static/{jm9NWDYTm3hLXINnznnDk → gPw1YGsDb6psvirUWKGfQ}/_ssgManifest.js +0 -0
@@ -1,124 +0,0 @@
1
- /* Round 216 verification: outer-ring orbit particle opacity scales
2
- * with busy bucket alongside R131's speed scaling. Idle fleet → dim
3
- * particles; busy fleet → bright. transitions on opacity 300ms.
4
- *
5
- * Bucket map: workingCount 0 → busy 0; 1-2 → 1; 3-5 → 2; 6+ → 3
6
- * opacity [0.5, 0.7, 0.85, 1.0]
7
- *
8
- * Test scenarios (cyber dark, orbit particles only render in dark):
9
- * A. 0 working sessions (4 idle): busy=0, opacity≈0.5
10
- * B. 2 working sessions (2 working+2 idle): busy=1, opacity≈0.7
11
- * C. 6 working sessions: busy=3, opacity≈1.0
12
- * Every orbit particle has style.transition: 'opacity 300ms'
13
- * Every orbit <g> exposes data-topo-orbit-opacity matching the
14
- * bucket value (test verifies derivation + DOM agreement).
15
- */
16
- import { chromium } from 'playwright';
17
- import { readFileSync } from 'node:fs';
18
-
19
- const TOKEN = JSON.parse(readFileSync('/home/vansin/.anet/config.json', 'utf8')).token;
20
- const browser = await chromium.launch({ headless: true });
21
-
22
- async function pageFor(workingN) {
23
- const ctx = await browser.newContext({ viewport: { width: 1500, height: 1500 } });
24
- await ctx.addCookies([{ name: 'anet_dashboard_session', value: `v3:${TOKEN}`, domain: '127.0.0.1', path: '/' }]);
25
- await ctx.addInitScript(() => {
26
- try { localStorage.setItem('anet-theme', 'cyber'); sessionStorage.setItem('anet_v3_auth', '1'); } catch {}
27
- });
28
- const fresh = new Date(Date.now() - 60 * 1000).toISOString();
29
- const totalSessions = Math.max(workingN, 4);
30
- await ctx.route('**/api/hub/status*', async (route) => {
31
- const r = await route.fetch();
32
- const b = await r.json();
33
- const nid = (b.sessions || [])[0]?.network_id || 'default';
34
- const mk = (alias, status) => ({
35
- alias, status, model: 'claude-opus-4', runtime: 'claude-code-cli',
36
- network_id: nid, project_dir: null,
37
- created_at: fresh, updated_at: fresh, last_seen_at: fresh,
38
- });
39
- const sessions = [];
40
- for (let i = 0; i < totalSessions; i++) {
41
- sessions.push(mk(`node-${(i + 1).toString().padStart(2, '0')}`, i < workingN ? 'working' : 'idle'));
42
- }
43
- await route.fulfill({ response: r, json: { ...b, sessions } });
44
- });
45
- await ctx.route('**/api/hub/messages*', (r2) => r2.fulfill({ json: { messages: [] } }));
46
- await ctx.route('**/api/hub/tasks*', (r2) => r2.fulfill({ json: { tasks: [] } }));
47
- const page = await ctx.newPage();
48
- await page.goto('http://127.0.0.1:3000/', { waitUntil: 'domcontentloaded' });
49
- await page.waitForFunction((n) => document.querySelectorAll('g[data-node]').length === n, totalSessions, { timeout: 30000 });
50
- await page.waitForSelector('[data-topo-orbit-bucket]', { timeout: 10000, state: 'attached' });
51
- await page.waitForTimeout(300);
52
- return page;
53
- }
54
-
55
- const probe = async (page) => page.evaluate(() => {
56
- return [...document.querySelectorAll('[data-topo-orbit-bucket]')].map(el => {
57
- const inner = el.querySelector('circle');
58
- return {
59
- bucket: el.getAttribute('data-topo-orbit-bucket'),
60
- bucketOpacity: el.getAttribute('data-topo-orbit-opacity'),
61
- dur: el.getAttribute('data-topo-orbit-dur'),
62
- circleOpacity: parseFloat(inner?.getAttribute('opacity') || ''),
63
- transition: inner?.style.transition,
64
- };
65
- });
66
- });
67
-
68
- // Scenario A: 0 working → busy=0, opacity=0.5
69
- const pageA = await pageFor(0);
70
- const probeA = await probe(pageA);
71
- await pageA.close();
72
-
73
- // Scenario B: 2 working → busy=1, opacity=0.7
74
- const pageB = await pageFor(2);
75
- const probeB = await probe(pageB);
76
- await pageB.close();
77
-
78
- // Scenario C: 6 working → busy=3, opacity=1.0
79
- const pageC = await pageFor(6);
80
- const probeC = await probe(pageC);
81
- await pageC.close();
82
- await browser.close();
83
-
84
- const near = (got, want, tol = 0.05) => Math.abs(got - want) < tol;
85
- const hasOpacityT = (s) => /opacity\s+(?:300ms|0\.3s)/.test(s || '');
86
-
87
- const results = {
88
- // 4 orbit particles in each scenario (R50 phase array of 4)
89
- A_four_particles: probeA.length === 4,
90
- B_four_particles: probeB.length === 4,
91
- C_four_particles: probeC.length === 4,
92
-
93
- // Scenario A — idle fleet (busy=0)
94
- A_bucket_0: probeA.every(p => p.bucket === '0'),
95
- A_opacity_half: probeA.every(p => near(p.circleOpacity, 0.5)),
96
- A_data_attr_matches: probeA.every(p => parseFloat(p.bucketOpacity) === p.circleOpacity),
97
-
98
- // Scenario B — light load (busy=1)
99
- B_bucket_1: probeB.every(p => p.bucket === '1'),
100
- B_opacity_0p7: probeB.every(p => near(p.circleOpacity, 0.7)),
101
-
102
- // Scenario C — heavy load (busy=3)
103
- C_bucket_3: probeC.every(p => p.bucket === '3'),
104
- C_opacity_full: probeC.every(p => near(p.circleOpacity, 1.0)),
105
-
106
- // Brightness actually grew across buckets
107
- brightness_grew: probeA[0].circleOpacity < probeB[0].circleOpacity
108
- && probeB[0].circleOpacity < probeC[0].circleOpacity,
109
-
110
- // Transitions present in every particle of every scenario
111
- A_all_have_transition: probeA.every(p => hasOpacityT(p.transition)),
112
- B_all_have_transition: probeB.every(p => hasOpacityT(p.transition)),
113
- C_all_have_transition: probeC.every(p => hasOpacityT(p.transition)),
114
-
115
- // R131's existing speed scaling still derives — dur shortens as
116
- // bucket grows
117
- speed_scales: parseFloat(probeA[0].dur || '0') > parseFloat(probeC[0].dur || '99'),
118
- };
119
- const ok = Object.values(results).every(Boolean);
120
- console.log(`${ok ? '✅' : '❌'} orbit opacity bucket:`, JSON.stringify(results),
121
- `\n probeA (0 working):`, probeA.slice(0, 1),
122
- `\n probeB (2 working):`, probeB.slice(0, 1),
123
- `\n probeC (6 working):`, probeC.slice(0, 1));
124
- process.exit(ok ? 0 : 1);