@agent-relay/dashboard-server 2.0.19 → 2.0.20

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 (57) hide show
  1. package/dist/index.d.ts +10 -13
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/index.js +10 -12
  4. package/dist/index.js.map +1 -1
  5. package/dist/mocks/fixtures.d.ts +241 -0
  6. package/dist/mocks/fixtures.d.ts.map +1 -0
  7. package/dist/mocks/fixtures.js +459 -0
  8. package/dist/mocks/fixtures.js.map +1 -0
  9. package/dist/mocks/index.d.ts +7 -0
  10. package/dist/mocks/index.d.ts.map +1 -0
  11. package/dist/mocks/index.js +7 -0
  12. package/dist/mocks/index.js.map +1 -0
  13. package/dist/mocks/routes.d.ts +12 -0
  14. package/dist/mocks/routes.d.ts.map +1 -0
  15. package/dist/mocks/routes.js +586 -0
  16. package/dist/mocks/routes.js.map +1 -0
  17. package/dist/mocks/types.d.ts +127 -0
  18. package/dist/mocks/types.d.ts.map +1 -0
  19. package/dist/mocks/types.js +8 -0
  20. package/dist/mocks/types.js.map +1 -0
  21. package/dist/server.d.ts +43 -23
  22. package/dist/server.d.ts.map +1 -1
  23. package/dist/server.js +260 -5094
  24. package/dist/server.js.map +1 -1
  25. package/dist/start.d.ts +4 -1
  26. package/dist/start.d.ts.map +1 -1
  27. package/dist/start.js +63 -9
  28. package/dist/start.js.map +1 -1
  29. package/dist/vitest.config.d.ts +3 -0
  30. package/dist/vitest.config.d.ts.map +1 -0
  31. package/dist/vitest.config.js +27 -0
  32. package/dist/vitest.config.js.map +1 -0
  33. package/package.json +30 -19
  34. package/dist/health-worker-manager.d.ts +0 -62
  35. package/dist/health-worker-manager.d.ts.map +0 -1
  36. package/dist/health-worker-manager.js +0 -144
  37. package/dist/health-worker-manager.js.map +0 -1
  38. package/dist/health-worker.d.ts +0 -9
  39. package/dist/health-worker.d.ts.map +0 -1
  40. package/dist/health-worker.js +0 -79
  41. package/dist/health-worker.js.map +0 -1
  42. package/dist/metrics.d.ts +0 -105
  43. package/dist/metrics.d.ts.map +0 -1
  44. package/dist/metrics.js +0 -193
  45. package/dist/metrics.js.map +0 -1
  46. package/dist/needs-attention.d.ts +0 -24
  47. package/dist/needs-attention.d.ts.map +0 -1
  48. package/dist/needs-attention.js +0 -78
  49. package/dist/needs-attention.js.map +0 -1
  50. package/dist/types/threading.d.ts +0 -8
  51. package/dist/types/threading.d.ts.map +0 -1
  52. package/dist/types/threading.js +0 -2
  53. package/dist/types/threading.js.map +0 -1
  54. package/dist/user-bridge.d.ts +0 -158
  55. package/dist/user-bridge.d.ts.map +0 -1
  56. package/dist/user-bridge.js +0 -390
  57. package/dist/user-bridge.js.map +0 -1
@@ -0,0 +1,459 @@
1
+ /**
2
+ * Mock Data Fixtures
3
+ *
4
+ * Provides realistic mock data for standalone dashboard testing.
5
+ * Enables the dashboard to run without a relay daemon connection.
6
+ */
7
+ // ===== Agents =====
8
+ export const mockAgents = [
9
+ {
10
+ name: 'claude-1',
11
+ status: 'online',
12
+ cli: 'claude-code',
13
+ currentTask: 'Implementing user authentication',
14
+ lastActive: new Date(Date.now() - 60000).toISOString(),
15
+ messageCount: 42,
16
+ projectPath: '/Users/dev/projects/webapp',
17
+ },
18
+ {
19
+ name: 'architect',
20
+ status: 'busy',
21
+ cli: 'claude-code',
22
+ currentTask: 'Designing API schema',
23
+ lastActive: new Date(Date.now() - 30000).toISOString(),
24
+ messageCount: 28,
25
+ projectPath: '/Users/dev/projects/api-service',
26
+ },
27
+ {
28
+ name: 'reviewer',
29
+ status: 'online',
30
+ cli: 'claude-code',
31
+ currentTask: 'Reviewing pull requests',
32
+ lastActive: new Date(Date.now() - 120000).toISOString(),
33
+ messageCount: 15,
34
+ projectPath: '/Users/dev/projects/webapp',
35
+ },
36
+ {
37
+ name: 'tester',
38
+ status: 'offline',
39
+ cli: 'claude-code',
40
+ lastActive: new Date(Date.now() - 3600000).toISOString(),
41
+ messageCount: 8,
42
+ projectPath: '/Users/dev/projects/webapp',
43
+ },
44
+ ];
45
+ // ===== Messages =====
46
+ export const mockMessages = [
47
+ {
48
+ id: 'msg-001',
49
+ from: 'user',
50
+ to: 'claude-1',
51
+ content: 'Please implement user authentication with JWT tokens',
52
+ timestamp: new Date(Date.now() - 300000).toISOString(),
53
+ },
54
+ {
55
+ id: 'msg-002',
56
+ from: 'claude-1',
57
+ to: 'user',
58
+ content: 'I\'ll implement JWT authentication. Let me start by creating the auth middleware.',
59
+ timestamp: new Date(Date.now() - 295000).toISOString(),
60
+ thread: 'msg-001',
61
+ },
62
+ {
63
+ id: 'msg-003',
64
+ from: 'claude-1',
65
+ to: 'architect',
66
+ content: 'What\'s the preferred token expiration time for the JWT implementation?',
67
+ timestamp: new Date(Date.now() - 290000).toISOString(),
68
+ },
69
+ {
70
+ id: 'msg-004',
71
+ from: 'architect',
72
+ to: 'claude-1',
73
+ content: 'Use 15 minutes for access tokens and 7 days for refresh tokens.',
74
+ timestamp: new Date(Date.now() - 280000).toISOString(),
75
+ thread: 'msg-003',
76
+ },
77
+ {
78
+ id: 'msg-005',
79
+ from: 'reviewer',
80
+ to: '*',
81
+ content: 'PR #42 has been reviewed. Ready for merge.',
82
+ timestamp: new Date(Date.now() - 200000).toISOString(),
83
+ isBroadcast: true,
84
+ },
85
+ ];
86
+ // ===== Sessions =====
87
+ export const mockSessions = [
88
+ {
89
+ id: 'session-001',
90
+ agentName: 'claude-1',
91
+ cli: 'claude-code',
92
+ startedAt: new Date(Date.now() - 7200000).toISOString(),
93
+ messageCount: 42,
94
+ isActive: true,
95
+ },
96
+ {
97
+ id: 'session-002',
98
+ agentName: 'architect',
99
+ cli: 'claude-code',
100
+ startedAt: new Date(Date.now() - 3600000).toISOString(),
101
+ messageCount: 28,
102
+ isActive: true,
103
+ },
104
+ {
105
+ id: 'session-003',
106
+ agentName: 'reviewer',
107
+ cli: 'claude-code',
108
+ startedAt: new Date(Date.now() - 1800000).toISOString(),
109
+ messageCount: 15,
110
+ isActive: true,
111
+ },
112
+ {
113
+ id: 'session-004',
114
+ agentName: 'tester',
115
+ cli: 'claude-code',
116
+ startedAt: new Date(Date.now() - 86400000).toISOString(),
117
+ endedAt: new Date(Date.now() - 82800000).toISOString(),
118
+ messageCount: 8,
119
+ isActive: false,
120
+ closedBy: 'agent',
121
+ },
122
+ ];
123
+ // ===== Channels =====
124
+ export const mockChannels = [
125
+ {
126
+ id: 'general',
127
+ name: 'general',
128
+ description: 'General discussion channel',
129
+ memberCount: 4,
130
+ isPrivate: false,
131
+ createdAt: new Date(Date.now() - 86400000 * 7).toISOString(),
132
+ },
133
+ {
134
+ id: 'development',
135
+ name: 'development',
136
+ description: 'Development updates and discussions',
137
+ memberCount: 3,
138
+ isPrivate: false,
139
+ createdAt: new Date(Date.now() - 86400000 * 5).toISOString(),
140
+ },
141
+ {
142
+ id: 'reviews',
143
+ name: 'reviews',
144
+ description: 'Code review discussions',
145
+ memberCount: 2,
146
+ isPrivate: false,
147
+ createdAt: new Date(Date.now() - 86400000 * 3).toISOString(),
148
+ },
149
+ ];
150
+ // ===== Decisions =====
151
+ export const mockDecisions = [
152
+ {
153
+ id: 'decision-001',
154
+ agentName: 'claude-1',
155
+ title: 'Database Migration Approval',
156
+ description: 'Ready to run database migration that adds user_preferences table.',
157
+ options: [
158
+ { id: 'approve', label: 'Approve', description: 'Run the migration' },
159
+ { id: 'reject', label: 'Reject', description: 'Cancel the migration' },
160
+ ],
161
+ urgency: 'medium',
162
+ category: 'approval',
163
+ createdAt: new Date(Date.now() - 60000).toISOString(),
164
+ },
165
+ {
166
+ id: 'decision-002',
167
+ agentName: 'architect',
168
+ title: 'API Design Choice',
169
+ description: 'Which authentication method should we use for the new API?',
170
+ options: [
171
+ { id: 'jwt', label: 'JWT', description: 'Stateless token-based auth' },
172
+ { id: 'session', label: 'Session', description: 'Server-side session storage' },
173
+ { id: 'oauth', label: 'OAuth 2.0', description: 'Delegated authentication' },
174
+ ],
175
+ urgency: 'high',
176
+ category: 'choice',
177
+ createdAt: new Date(Date.now() - 120000).toISOString(),
178
+ },
179
+ ];
180
+ // ===== Tasks =====
181
+ export const mockTasks = [
182
+ {
183
+ id: 'task-001',
184
+ agentName: 'claude-1',
185
+ title: 'Implement user authentication',
186
+ description: 'Add JWT-based authentication to the API',
187
+ priority: 'high',
188
+ status: 'in_progress',
189
+ createdAt: new Date(Date.now() - 3600000).toISOString(),
190
+ assignedAt: new Date(Date.now() - 3500000).toISOString(),
191
+ },
192
+ {
193
+ id: 'task-002',
194
+ agentName: 'reviewer',
195
+ title: 'Review PR #42',
196
+ description: 'Code review for authentication feature',
197
+ priority: 'medium',
198
+ status: 'completed',
199
+ createdAt: new Date(Date.now() - 7200000).toISOString(),
200
+ assignedAt: new Date(Date.now() - 7100000).toISOString(),
201
+ completedAt: new Date(Date.now() - 200000).toISOString(),
202
+ result: 'Approved with minor suggestions',
203
+ },
204
+ {
205
+ id: 'task-003',
206
+ agentName: 'tester',
207
+ title: 'Write integration tests',
208
+ description: 'Create integration tests for auth endpoints',
209
+ priority: 'medium',
210
+ status: 'pending',
211
+ createdAt: new Date(Date.now() - 1800000).toISOString(),
212
+ },
213
+ ];
214
+ // ===== Fleet =====
215
+ export const mockFleetStats = {
216
+ totalAgents: 4,
217
+ onlineAgents: 3,
218
+ busyAgents: 1,
219
+ pendingDecisions: 2,
220
+ activeTasks: 2,
221
+ };
222
+ export const mockFleetServers = [
223
+ {
224
+ id: 'server-1',
225
+ name: 'local',
226
+ status: 'healthy',
227
+ agents: mockAgents.slice(0, 2).map(a => ({ name: a.name, status: a.status })),
228
+ cpuUsage: 45,
229
+ memoryUsage: 62,
230
+ activeConnections: 3,
231
+ uptime: 86400,
232
+ lastHeartbeat: new Date().toISOString(),
233
+ },
234
+ ];
235
+ // ===== Metrics =====
236
+ const onlineAgentCount = mockAgents.filter(a => a.status !== 'offline').length;
237
+ const offlineAgentCount = mockAgents.filter(a => a.status === 'offline').length;
238
+ export const mockMetrics = {
239
+ // Top-level metrics expected by metrics page
240
+ timestamp: new Date().toISOString(),
241
+ totalAgents: mockAgents.length,
242
+ onlineAgents: onlineAgentCount,
243
+ offlineAgents: offlineAgentCount,
244
+ totalMessages: 1247,
245
+ throughput: {
246
+ messagesLastMinute: 3,
247
+ messagesLastHour: 87,
248
+ messagesLast24Hours: 1247,
249
+ avgMessagesPerMinute: 0.87,
250
+ },
251
+ // Agent-level metrics
252
+ agents: mockAgents.map(a => ({
253
+ name: a.name,
254
+ isOnline: a.status !== 'offline',
255
+ messagesSent: Math.floor(Math.random() * 100),
256
+ messagesReceived: Math.floor(Math.random() * 100),
257
+ firstSeen: new Date(Date.now() - 86400000 * 7).toISOString(),
258
+ lastSeen: a.lastActive || new Date().toISOString(),
259
+ uptimeSeconds: Math.floor(Math.random() * 86400),
260
+ })),
261
+ // Session metrics
262
+ sessions: {
263
+ totalSessions: mockSessions.length,
264
+ activeSessions: mockSessions.filter(s => s.isActive).length,
265
+ closedByAgent: 1,
266
+ closedByDisconnect: 0,
267
+ closedByError: 0,
268
+ errorRate: 0,
269
+ recentSessions: mockSessions.slice(0, 5).map(s => ({
270
+ agentName: s.agentName,
271
+ startedAt: s.startedAt,
272
+ endedAt: s.endedAt,
273
+ messageCount: s.messageCount,
274
+ closedBy: s.closedBy,
275
+ })),
276
+ },
277
+ // Legacy structure for compatibility
278
+ system: {
279
+ totalAgents: mockAgents.length,
280
+ onlineAgents: onlineAgentCount,
281
+ totalMessages: 1247,
282
+ totalSessions: mockSessions.length,
283
+ activeSessions: mockSessions.filter(s => s.isActive).length,
284
+ },
285
+ };
286
+ // ===== History =====
287
+ export const mockHistorySessions = mockSessions.map(s => ({
288
+ ...s,
289
+ duration: s.endedAt
290
+ ? `${Math.floor((new Date(s.endedAt).getTime() - new Date(s.startedAt).getTime()) / 60000)}m`
291
+ : `${Math.floor((Date.now() - new Date(s.startedAt).getTime()) / 60000)}m`,
292
+ summary: `Session for ${s.agentName}`,
293
+ }));
294
+ export const mockHistoryStats = {
295
+ messageCount: mockMessages.length,
296
+ sessionCount: mockSessions.length,
297
+ activeSessions: mockSessions.filter(s => s.isActive).length,
298
+ uniqueAgents: new Set(mockAgents.map(a => a.name)).size,
299
+ oldestMessageDate: mockMessages.length > 0
300
+ ? mockMessages.reduce((oldest, m) => new Date(m.timestamp) < new Date(oldest.timestamp) ? m : oldest).timestamp
301
+ : null,
302
+ };
303
+ // ===== Spawned Agents =====
304
+ export const mockSpawnedAgents = [
305
+ {
306
+ name: 'claude-1',
307
+ cli: 'claude-code',
308
+ startedAt: new Date(Date.now() - 7200000).toISOString(),
309
+ },
310
+ {
311
+ name: 'architect',
312
+ cli: 'claude-code',
313
+ startedAt: new Date(Date.now() - 3600000).toISOString(),
314
+ },
315
+ ];
316
+ // ===== Files =====
317
+ export const mockFiles = [
318
+ { path: '/src/index.ts', name: 'index.ts', isDirectory: false },
319
+ { path: '/src/app.ts', name: 'app.ts', isDirectory: false },
320
+ { path: '/src/components', name: 'components', isDirectory: true },
321
+ { path: '/src/components/App.tsx', name: 'App.tsx', isDirectory: false },
322
+ { path: '/src/lib', name: 'lib', isDirectory: true },
323
+ { path: '/src/lib/api.ts', name: 'api.ts', isDirectory: false },
324
+ { path: '/package.json', name: 'package.json', isDirectory: false },
325
+ { path: '/tsconfig.json', name: 'tsconfig.json', isDirectory: false },
326
+ ];
327
+ // ===== Conversations =====
328
+ export const mockConversations = [
329
+ {
330
+ participants: ['user', 'claude-1'],
331
+ lastMessage: 'I\'ll implement JWT authentication. Let me start by creating the auth middleware.',
332
+ lastTimestamp: new Date(Date.now() - 295000).toISOString(),
333
+ messageCount: 2,
334
+ },
335
+ {
336
+ participants: ['claude-1', 'architect'],
337
+ lastMessage: 'Use 15 minutes for access tokens and 7 days for refresh tokens.',
338
+ lastTimestamp: new Date(Date.now() - 280000).toISOString(),
339
+ messageCount: 2,
340
+ },
341
+ ];
342
+ // ===== Billing =====
343
+ export const mockBillingPlans = [
344
+ {
345
+ tier: 'free',
346
+ name: 'Free',
347
+ description: 'Get started with basic features',
348
+ price: { monthly: 0, yearly: 0 },
349
+ features: [
350
+ '1 workspace',
351
+ '2 agents',
352
+ 'Basic messaging',
353
+ 'Community support',
354
+ ],
355
+ limits: { workspaces: 1, agents: 2, messagesPerDay: 100 },
356
+ },
357
+ {
358
+ tier: 'pro',
359
+ name: 'Pro',
360
+ description: 'For individual developers and small teams',
361
+ price: { monthly: 29, yearly: 278 },
362
+ features: [
363
+ '5 workspaces',
364
+ '10 agents',
365
+ 'Unlimited messaging',
366
+ 'Priority support',
367
+ 'Advanced analytics',
368
+ ],
369
+ limits: { workspaces: 5, agents: 10, messagesPerDay: -1 },
370
+ recommended: true,
371
+ },
372
+ {
373
+ tier: 'team',
374
+ name: 'Team',
375
+ description: 'For growing teams with collaboration needs',
376
+ price: { monthly: 79, yearly: 758 },
377
+ features: [
378
+ 'Unlimited workspaces',
379
+ '50 agents',
380
+ 'Unlimited messaging',
381
+ 'Team management',
382
+ 'SSO integration',
383
+ 'Dedicated support',
384
+ ],
385
+ limits: { workspaces: -1, agents: 50, messagesPerDay: -1 },
386
+ },
387
+ {
388
+ tier: 'enterprise',
389
+ name: 'Enterprise',
390
+ description: 'Custom solutions for large organizations',
391
+ price: { monthly: 0, yearly: 0 },
392
+ features: [
393
+ 'Unlimited everything',
394
+ 'Custom integrations',
395
+ 'SLA guarantee',
396
+ 'Dedicated account manager',
397
+ 'On-premise deployment',
398
+ ],
399
+ limits: { workspaces: -1, agents: -1, messagesPerDay: -1 },
400
+ },
401
+ ];
402
+ export const mockSubscription = {
403
+ id: 'sub_mock123',
404
+ tier: 'pro',
405
+ status: 'active',
406
+ currentPeriodStart: new Date(Date.now() - 15 * 24 * 60 * 60 * 1000).toISOString(),
407
+ currentPeriodEnd: new Date(Date.now() + 15 * 24 * 60 * 60 * 1000).toISOString(),
408
+ cancelAtPeriodEnd: false,
409
+ interval: 'month',
410
+ };
411
+ export const mockInvoices = [
412
+ {
413
+ id: 'inv_001',
414
+ number: 'INV-2024-001',
415
+ amount: 2900,
416
+ status: 'paid',
417
+ date: new Date(Date.now() - 30 * 24 * 60 * 60 * 1000).toISOString(),
418
+ pdfUrl: '#',
419
+ },
420
+ {
421
+ id: 'inv_002',
422
+ number: 'INV-2024-002',
423
+ amount: 2900,
424
+ status: 'paid',
425
+ date: new Date(Date.now() - 60 * 24 * 60 * 60 * 1000).toISOString(),
426
+ pdfUrl: '#',
427
+ },
428
+ {
429
+ id: 'inv_003',
430
+ number: 'INV-2024-003',
431
+ amount: 2900,
432
+ status: 'paid',
433
+ date: new Date(Date.now() - 90 * 24 * 60 * 60 * 1000).toISOString(),
434
+ pdfUrl: '#',
435
+ },
436
+ ];
437
+ // ===== Cloud/Workspace =====
438
+ export const mockWorkspaces = [
439
+ {
440
+ id: 'ws_mock1',
441
+ name: 'Development',
442
+ status: 'running',
443
+ createdAt: new Date(Date.now() - 30 * 24 * 60 * 60 * 1000).toISOString(),
444
+ },
445
+ {
446
+ id: 'ws_mock2',
447
+ name: 'Production',
448
+ status: 'stopped',
449
+ createdAt: new Date(Date.now() - 60 * 24 * 60 * 60 * 1000).toISOString(),
450
+ },
451
+ ];
452
+ export const mockUser = {
453
+ id: 'user_mock1',
454
+ email: 'demo@agent-relay.com',
455
+ displayName: 'Demo User',
456
+ avatarUrl: null,
457
+ createdAt: new Date(Date.now() - 90 * 24 * 60 * 60 * 1000).toISOString(),
458
+ };
459
+ //# sourceMappingURL=fixtures.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fixtures.js","sourceRoot":"","sources":["../../mocks/fixtures.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Mock Module Exports
3
+ */
4
+ export * from './fixtures.js';
5
+ export * from './routes.js';
6
+ export * from './types.js';
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../mocks/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Mock Module Exports
3
+ */
4
+ export * from './fixtures.js';
5
+ export * from './routes.js';
6
+ export * from './types.js';
7
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../mocks/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Mock API Routes
3
+ *
4
+ * Provides mock API endpoints that return fixture data.
5
+ * Used when running the dashboard in standalone/demo mode.
6
+ */
7
+ import type { Express } from 'express';
8
+ /**
9
+ * Register mock API routes on the Express app
10
+ */
11
+ export declare function registerMockRoutes(app: Express, verbose: boolean): void;
12
+ //# sourceMappingURL=routes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"routes.d.ts","sourceRoot":"","sources":["../../mocks/routes.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAqB,MAAM,SAAS,CAAC;AAuB1D;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI,CA6pBvE"}