@sleep2agi/agent-network-dashboard 0.5.3-preview.63 → 0.5.3-preview.65
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.
- package/.next/BUILD_ID +1 -1
- package/.next/build-manifest.json +3 -3
- package/.next/diagnostics/route-bundle-stats.json +5 -5
- package/.next/fallback-build-manifest.json +3 -3
- package/.next/server/app/_global-error.html +1 -1
- package/.next/server/app/_global-error.rsc +1 -1
- package/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/_not-found.html +1 -1
- package/.next/server/app/_not-found.rsc +1 -1
- package/.next/server/app/_not-found.segments/_full.segment.rsc +1 -1
- package/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
- package/.next/server/app/_not-found.segments/_index.segment.rsc +1 -1
- package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
- package/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/admin.html +1 -1
- package/.next/server/app/admin.rsc +1 -1
- package/.next/server/app/admin.segments/_full.segment.rsc +1 -1
- package/.next/server/app/admin.segments/_head.segment.rsc +1 -1
- package/.next/server/app/admin.segments/_index.segment.rsc +1 -1
- package/.next/server/app/admin.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/admin.segments/admin/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/admin.segments/admin.segment.rsc +1 -1
- package/.next/server/app/index.html +2 -2
- package/.next/server/app/index.rsc +2 -2
- package/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
- package/.next/server/app/index.segments/_full.segment.rsc +2 -2
- package/.next/server/app/index.segments/_head.segment.rsc +1 -1
- package/.next/server/app/index.segments/_index.segment.rsc +1 -1
- package/.next/server/app/index.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/login/page_client-reference-manifest.js +1 -1
- package/.next/server/app/login.html +2 -2
- package/.next/server/app/login.rsc +2 -2
- package/.next/server/app/login.segments/_full.segment.rsc +2 -2
- package/.next/server/app/login.segments/_head.segment.rsc +1 -1
- package/.next/server/app/login.segments/_index.segment.rsc +1 -1
- package/.next/server/app/login.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/login.segments/login/__PAGE__.segment.rsc +2 -2
- package/.next/server/app/login.segments/login.segment.rsc +1 -1
- package/.next/server/app/logs.html +1 -1
- package/.next/server/app/logs.rsc +1 -1
- package/.next/server/app/logs.segments/_full.segment.rsc +1 -1
- package/.next/server/app/logs.segments/_head.segment.rsc +1 -1
- package/.next/server/app/logs.segments/_index.segment.rsc +1 -1
- package/.next/server/app/logs.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/logs.segments/logs/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/logs.segments/logs.segment.rsc +1 -1
- package/.next/server/app/messages.html +1 -1
- package/.next/server/app/messages.rsc +1 -1
- package/.next/server/app/messages.segments/_full.segment.rsc +1 -1
- package/.next/server/app/messages.segments/_head.segment.rsc +1 -1
- package/.next/server/app/messages.segments/_index.segment.rsc +1 -1
- package/.next/server/app/messages.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/messages.segments/messages/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/messages.segments/messages.segment.rsc +1 -1
- package/.next/server/app/node.html +1 -1
- package/.next/server/app/node.rsc +1 -1
- package/.next/server/app/node.segments/_full.segment.rsc +1 -1
- package/.next/server/app/node.segments/_head.segment.rsc +1 -1
- package/.next/server/app/node.segments/_index.segment.rsc +1 -1
- package/.next/server/app/node.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/node.segments/node/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/node.segments/node.segment.rsc +1 -1
- package/.next/server/app/nodes.html +1 -1
- package/.next/server/app/nodes.rsc +1 -1
- package/.next/server/app/nodes.segments/_full.segment.rsc +1 -1
- package/.next/server/app/nodes.segments/_head.segment.rsc +1 -1
- package/.next/server/app/nodes.segments/_index.segment.rsc +1 -1
- package/.next/server/app/nodes.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/nodes.segments/nodes/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/nodes.segments/nodes.segment.rsc +1 -1
- package/.next/server/app/page_client-reference-manifest.js +1 -1
- package/.next/server/app/server-logs.html +1 -1
- package/.next/server/app/server-logs.rsc +1 -1
- package/.next/server/app/server-logs.segments/_full.segment.rsc +1 -1
- package/.next/server/app/server-logs.segments/_head.segment.rsc +1 -1
- package/.next/server/app/server-logs.segments/_index.segment.rsc +1 -1
- package/.next/server/app/server-logs.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/server-logs.segments/server-logs/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/server-logs.segments/server-logs.segment.rsc +1 -1
- package/.next/server/app/settings/networks.html +1 -1
- package/.next/server/app/settings/networks.rsc +1 -1
- package/.next/server/app/settings/networks.segments/_full.segment.rsc +1 -1
- package/.next/server/app/settings/networks.segments/_head.segment.rsc +1 -1
- package/.next/server/app/settings/networks.segments/_index.segment.rsc +1 -1
- package/.next/server/app/settings/networks.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/settings/networks.segments/settings/networks/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/settings/networks.segments/settings/networks.segment.rsc +1 -1
- package/.next/server/app/settings/networks.segments/settings.segment.rsc +1 -1
- package/.next/server/app/settings/page_client-reference-manifest.js +1 -1
- package/.next/server/app/settings/tokens.html +1 -1
- package/.next/server/app/settings/tokens.rsc +1 -1
- package/.next/server/app/settings/tokens.segments/_full.segment.rsc +1 -1
- package/.next/server/app/settings/tokens.segments/_head.segment.rsc +1 -1
- package/.next/server/app/settings/tokens.segments/_index.segment.rsc +1 -1
- package/.next/server/app/settings/tokens.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/settings/tokens.segments/settings/tokens/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/settings/tokens.segments/settings/tokens.segment.rsc +1 -1
- package/.next/server/app/settings/tokens.segments/settings.segment.rsc +1 -1
- package/.next/server/app/settings.html +2 -2
- package/.next/server/app/settings.rsc +2 -2
- package/.next/server/app/settings.segments/_full.segment.rsc +2 -2
- package/.next/server/app/settings.segments/_head.segment.rsc +1 -1
- package/.next/server/app/settings.segments/_index.segment.rsc +1 -1
- package/.next/server/app/settings.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/settings.segments/settings/__PAGE__.segment.rsc +2 -2
- package/.next/server/app/settings.segments/settings.segment.rsc +1 -1
- package/.next/server/app/tasks.html +1 -1
- package/.next/server/app/tasks.rsc +1 -1
- package/.next/server/app/tasks.segments/_full.segment.rsc +1 -1
- package/.next/server/app/tasks.segments/_head.segment.rsc +1 -1
- package/.next/server/app/tasks.segments/_index.segment.rsc +1 -1
- package/.next/server/app/tasks.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/tasks.segments/tasks/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/tasks.segments/tasks.segment.rsc +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__0sv~g.o._.js +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__0sv~g.o._.js.map +1 -1
- package/.next/server/chunks/ssr/agent-network-dashboard_09kk21a._.js +2 -2
- package/.next/server/chunks/ssr/agent-network-dashboard_09kk21a._.js.map +1 -1
- package/.next/server/chunks/ssr/agent-network-dashboard_app_01jhlxz._.js +1 -1
- package/.next/server/chunks/ssr/agent-network-dashboard_app_01jhlxz._.js.map +1 -1
- package/.next/server/chunks/ssr/agent-network-dashboard_app_09d29my._.js +1 -1
- package/.next/server/chunks/ssr/agent-network-dashboard_app_09d29my._.js.map +1 -1
- package/.next/server/middleware-build-manifest.js +3 -3
- package/.next/server/pages/404.html +1 -1
- package/.next/server/pages/500.html +1 -1
- package/.next/static/chunks/{0-dtvojz9-gsa.js → 06vyer1tqqx.j.js} +1 -1
- package/.next/static/chunks/{0wqkrak2kvtfy.js → 0g0x--w-5..e7.js} +2 -2
- package/.next/static/chunks/{0u84lvj2d~wc1.js → 0n81v61d_4oc7.js} +1 -1
- package/.next/static/chunks/{0iumpndh3ydsx.js → 12a8.iez7d6-s.js} +1 -1
- package/.next/trace +2 -2
- package/.next/trace-build +1 -1
- package/app/components/TopoGraph.tsx +91 -3
- package/package.json +1 -1
- package/scripts/topo-orphan-label-opacity-test.mjs +98 -0
- package/scripts/topo-panel-title-glow-test.mjs +111 -0
- /package/.next/static/{Vlju3sXMYTardVKfQ4o3v → caJGDEJfdQAgCYpZJXaQB}/_buildManifest.js +0 -0
- /package/.next/static/{Vlju3sXMYTardVKfQ4o3v → caJGDEJfdQAgCYpZJXaQB}/_clientMiddlewareManifest.js +0 -0
- /package/.next/static/{Vlju3sXMYTardVKfQ4o3v → caJGDEJfdQAgCYpZJXaQB}/_ssgManifest.js +0 -0
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
/* Round 550 verification: panel-title texts (recent + legend) gain
|
|
2
|
+
* pal.legendAccent drop-shadow on active state. 14th + 15th anchors
|
|
3
|
+
* in drop-shadow family (counted as R550 + sibling).
|
|
4
|
+
*
|
|
5
|
+
* Source-canonical for the LIVE state probe (DOM filter readback via
|
|
6
|
+
* SVG is reliable here — text element, no shared-gate IIFE). Pin
|
|
7
|
+
* trigger: click a status legend row to set pinnedStatus → glow on
|
|
8
|
+
* legend-panel title. activeEdgeKey would require flow data — for
|
|
9
|
+
* recent-panel just source-side regex confirms the wiring.
|
|
10
|
+
*
|
|
11
|
+
* Test phases:
|
|
12
|
+
* 1. rest: both panel titles' computed filter = 'none'
|
|
13
|
+
* 2. legend title — click pressure-bar working seg to pin → filter
|
|
14
|
+
* contains drop-shadow with the cyan accent
|
|
15
|
+
* 3. source regex confirms both texts wired with the filter
|
|
16
|
+
* conditional + transition list extension
|
|
17
|
+
*/
|
|
18
|
+
import { chromium } from 'playwright';
|
|
19
|
+
import { readFileSync } from 'node:fs';
|
|
20
|
+
|
|
21
|
+
const TOKEN = JSON.parse(readFileSync('/home/vansin/.anet/config.json', 'utf8')).token;
|
|
22
|
+
const fresh = new Date(Date.now() - 60 * 1000).toISOString();
|
|
23
|
+
|
|
24
|
+
const browser = await chromium.launch({ headless: true });
|
|
25
|
+
const ctx = await browser.newContext({ viewport: { width: 1500, height: 1200 } });
|
|
26
|
+
await ctx.addCookies([{ name: 'anet_dashboard_session', value: `v3:${TOKEN}`, domain: '127.0.0.1', path: '/' }]);
|
|
27
|
+
await ctx.addInitScript(() => {
|
|
28
|
+
try {
|
|
29
|
+
localStorage.setItem('anet-theme', 'cyber');
|
|
30
|
+
localStorage.setItem('anet-topo-layout', 'ring');
|
|
31
|
+
sessionStorage.setItem('anet_v3_auth', '1');
|
|
32
|
+
} catch {}
|
|
33
|
+
});
|
|
34
|
+
await ctx.route('**/api/hub/status*', async (route) => {
|
|
35
|
+
const r = await route.fetch();
|
|
36
|
+
const b = await r.json();
|
|
37
|
+
const nid = (b.sessions || [])[0]?.network_id || 'default';
|
|
38
|
+
const mk = (alias, status) => ({
|
|
39
|
+
alias, status, model: 'claude-opus-4', runtime: 'claude-code-cli',
|
|
40
|
+
network_id: nid, project_dir: null,
|
|
41
|
+
created_at: fresh, updated_at: fresh, last_seen_at: fresh,
|
|
42
|
+
});
|
|
43
|
+
await route.fulfill({ response: r, json: { ...b, sessions: [
|
|
44
|
+
mk('a·1', 'working'), mk('a·2', 'idle'), mk('a·3', 'offline'),
|
|
45
|
+
] } });
|
|
46
|
+
});
|
|
47
|
+
// Provide one message so flowLinks > 0 → recent-panel renders.
|
|
48
|
+
// buildFlowLinks reads from_alias/to_alias/content/created_at (banked R520).
|
|
49
|
+
await ctx.route('**/api/hub/messages*', (r) => r.fulfill({ json: { messages: [
|
|
50
|
+
{ from_alias: 'a·1', to_alias: 'a·2', content: 'hi', created_at: fresh },
|
|
51
|
+
] } }));
|
|
52
|
+
await ctx.route('**/api/hub/tasks*', (r) => r.fulfill({ json: { tasks: [] } }));
|
|
53
|
+
const page = await ctx.newPage();
|
|
54
|
+
await page.goto('http://127.0.0.1:3000/', { waitUntil: 'networkidle' });
|
|
55
|
+
await page.waitForSelector('[data-legend-panel-title]', { timeout: 15000 });
|
|
56
|
+
await page.waitForTimeout(500);
|
|
57
|
+
|
|
58
|
+
// Phase 1: rest filters
|
|
59
|
+
const restLegend = await page.evaluate(() => {
|
|
60
|
+
const el = document.querySelector('[data-legend-panel-title]');
|
|
61
|
+
if (!el) return null;
|
|
62
|
+
const cs = getComputedStyle(el);
|
|
63
|
+
return { filter: cs.filter, glowAttr: el.getAttribute('data-legend-panel-title-glow') };
|
|
64
|
+
});
|
|
65
|
+
const restRecent = await page.evaluate(() => {
|
|
66
|
+
const el = document.querySelector('[data-recent-panel-title]');
|
|
67
|
+
if (!el) return null;
|
|
68
|
+
const cs = getComputedStyle(el);
|
|
69
|
+
return { filter: cs.filter, glowAttr: el.getAttribute('data-recent-panel-title-glow') };
|
|
70
|
+
});
|
|
71
|
+
|
|
72
|
+
// Phase 2: click pressure-bar working seg to pin → triggers
|
|
73
|
+
// pinnedStatus='working' → legend title should glow.
|
|
74
|
+
await page.click('[data-pressure-seg="working"]');
|
|
75
|
+
await page.waitForTimeout(400);
|
|
76
|
+
const pinnedLegend = await page.evaluate(() => {
|
|
77
|
+
const el = document.querySelector('[data-legend-panel-title]');
|
|
78
|
+
if (!el) return null;
|
|
79
|
+
const cs = getComputedStyle(el);
|
|
80
|
+
return { filter: cs.filter, glowAttr: el.getAttribute('data-legend-panel-title-glow') };
|
|
81
|
+
});
|
|
82
|
+
|
|
83
|
+
await browser.close();
|
|
84
|
+
|
|
85
|
+
const src = readFileSync('/home/vansin/agent-network-dashboard/app/components/TopoGraph.tsx', 'utf8');
|
|
86
|
+
const sourceRecentFilter =
|
|
87
|
+
/filter: activeEdgeKey \? `drop-shadow\(0 0 2px \$\{pal\.legendAccent\}80\)` : undefined/.test(src);
|
|
88
|
+
const sourceLegendFilter =
|
|
89
|
+
/filter: pinnedStatus \? `drop-shadow\(0 0 2px \$\{pal\.legendAccent\}80\)` : undefined/.test(src);
|
|
90
|
+
const sourceRecentTransition =
|
|
91
|
+
/transition: 'fill 200ms ease-out, letter-spacing 200ms ease-out, font-weight 200ms ease-out, filter 200ms ease-out'/.test(src);
|
|
92
|
+
|
|
93
|
+
const results = {
|
|
94
|
+
rest_legend_filter_none: restLegend?.filter === 'none',
|
|
95
|
+
rest_recent_filter_none: restRecent?.filter === 'none',
|
|
96
|
+
rest_legend_glow_attr_false: restLegend?.glowAttr === 'false',
|
|
97
|
+
rest_recent_glow_attr_false: restRecent?.glowAttr === 'false',
|
|
98
|
+
pinned_legend_glow_attr: pinnedLegend?.glowAttr === 'true',
|
|
99
|
+
// Computed filter contains drop-shadow with rgb/rgba (hex+alpha resolves to rgba)
|
|
100
|
+
pinned_legend_filter_set: /drop-shadow\(/.test(pinnedLegend?.filter || ''),
|
|
101
|
+
source_recent_filter: sourceRecentFilter,
|
|
102
|
+
source_legend_filter: sourceLegendFilter,
|
|
103
|
+
source_recent_transition: sourceRecentTransition,
|
|
104
|
+
};
|
|
105
|
+
const ok = Object.values(results).every(Boolean);
|
|
106
|
+
console.log(`${ok ? '✅' : '❌'} R550 panel-title pin-gated drop-shadow (14th + 15th anchors):`,
|
|
107
|
+
JSON.stringify(results, null, 2),
|
|
108
|
+
'\n rest legend:', JSON.stringify(restLegend),
|
|
109
|
+
'\n rest recent:', JSON.stringify(restRecent),
|
|
110
|
+
'\n pinned legend:', JSON.stringify(pinnedLegend));
|
|
111
|
+
process.exit(ok ? 0 : 1);
|
|
File without changes
|
/package/.next/static/{Vlju3sXMYTardVKfQ4o3v → caJGDEJfdQAgCYpZJXaQB}/_clientMiddlewareManifest.js
RENAMED
|
File without changes
|
|
File without changes
|