@agent-relay/dashboard-server 2.0.18 → 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.
- package/dist/index.d.ts +10 -13
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +10 -12
- package/dist/index.js.map +1 -1
- package/dist/mocks/fixtures.d.ts +241 -0
- package/dist/mocks/fixtures.d.ts.map +1 -0
- package/dist/mocks/fixtures.js +459 -0
- package/dist/mocks/fixtures.js.map +1 -0
- package/dist/mocks/index.d.ts +7 -0
- package/dist/mocks/index.d.ts.map +1 -0
- package/dist/mocks/index.js +7 -0
- package/dist/mocks/index.js.map +1 -0
- package/dist/mocks/routes.d.ts +12 -0
- package/dist/mocks/routes.d.ts.map +1 -0
- package/dist/mocks/routes.js +586 -0
- package/dist/mocks/routes.js.map +1 -0
- package/dist/mocks/types.d.ts +127 -0
- package/dist/mocks/types.d.ts.map +1 -0
- package/dist/mocks/types.js +8 -0
- package/dist/mocks/types.js.map +1 -0
- package/dist/server.d.ts +43 -23
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +260 -5094
- package/dist/server.js.map +1 -1
- package/dist/start.d.ts +4 -1
- package/dist/start.d.ts.map +1 -1
- package/dist/start.js +63 -9
- package/dist/start.js.map +1 -1
- package/dist/vitest.config.d.ts +3 -0
- package/dist/vitest.config.d.ts.map +1 -0
- package/dist/vitest.config.js +27 -0
- package/dist/vitest.config.js.map +1 -0
- package/package.json +30 -19
- package/dist/health-worker-manager.d.ts +0 -62
- package/dist/health-worker-manager.d.ts.map +0 -1
- package/dist/health-worker-manager.js +0 -144
- package/dist/health-worker-manager.js.map +0 -1
- package/dist/health-worker.d.ts +0 -9
- package/dist/health-worker.d.ts.map +0 -1
- package/dist/health-worker.js +0 -79
- package/dist/health-worker.js.map +0 -1
- package/dist/metrics.d.ts +0 -105
- package/dist/metrics.d.ts.map +0 -1
- package/dist/metrics.js +0 -193
- package/dist/metrics.js.map +0 -1
- package/dist/needs-attention.d.ts +0 -24
- package/dist/needs-attention.d.ts.map +0 -1
- package/dist/needs-attention.js +0 -78
- package/dist/needs-attention.js.map +0 -1
- package/dist/types/threading.d.ts +0 -8
- package/dist/types/threading.d.ts.map +0 -1
- package/dist/types/threading.js +0 -2
- package/dist/types/threading.js.map +0 -1
- package/dist/user-bridge.d.ts +0 -158
- package/dist/user-bridge.d.ts.map +0 -1
- package/dist/user-bridge.js +0 -390
- package/dist/user-bridge.js.map +0 -1
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Server Types
|
|
3
|
+
*
|
|
4
|
+
* Shared types for the dashboard server, matching the protocol types
|
|
5
|
+
* used by the relay daemon.
|
|
6
|
+
*/
|
|
7
|
+
export interface Agent {
|
|
8
|
+
name: string;
|
|
9
|
+
status: 'online' | 'offline' | 'busy' | 'idle';
|
|
10
|
+
cli?: string;
|
|
11
|
+
currentTask?: string;
|
|
12
|
+
lastActive?: string;
|
|
13
|
+
messageCount?: number;
|
|
14
|
+
projectPath?: string;
|
|
15
|
+
}
|
|
16
|
+
export interface Message {
|
|
17
|
+
id: string;
|
|
18
|
+
from: string;
|
|
19
|
+
to: string;
|
|
20
|
+
content: string;
|
|
21
|
+
timestamp: string;
|
|
22
|
+
thread?: string;
|
|
23
|
+
isBroadcast?: boolean;
|
|
24
|
+
isUrgent?: boolean;
|
|
25
|
+
status?: string;
|
|
26
|
+
data?: Record<string, unknown>;
|
|
27
|
+
attachments?: Array<{
|
|
28
|
+
id: string;
|
|
29
|
+
filename: string;
|
|
30
|
+
mimeType: string;
|
|
31
|
+
size: number;
|
|
32
|
+
}>;
|
|
33
|
+
}
|
|
34
|
+
export interface Session {
|
|
35
|
+
id: string;
|
|
36
|
+
agentName: string;
|
|
37
|
+
cli?: string;
|
|
38
|
+
startedAt: string;
|
|
39
|
+
endedAt?: string;
|
|
40
|
+
messageCount: number;
|
|
41
|
+
isActive: boolean;
|
|
42
|
+
closedBy?: 'agent' | 'disconnect' | 'error';
|
|
43
|
+
}
|
|
44
|
+
export interface Channel {
|
|
45
|
+
id: string;
|
|
46
|
+
name: string;
|
|
47
|
+
description?: string;
|
|
48
|
+
memberCount: number;
|
|
49
|
+
isPrivate: boolean;
|
|
50
|
+
createdAt: string;
|
|
51
|
+
}
|
|
52
|
+
export interface Decision {
|
|
53
|
+
id: string;
|
|
54
|
+
agentName: string;
|
|
55
|
+
title: string;
|
|
56
|
+
description: string;
|
|
57
|
+
options?: Array<{
|
|
58
|
+
id: string;
|
|
59
|
+
label: string;
|
|
60
|
+
description?: string;
|
|
61
|
+
}>;
|
|
62
|
+
urgency: 'low' | 'medium' | 'high' | 'critical';
|
|
63
|
+
category: 'approval' | 'choice' | 'input' | 'confirmation';
|
|
64
|
+
createdAt: string;
|
|
65
|
+
expiresAt?: string;
|
|
66
|
+
}
|
|
67
|
+
export interface Task {
|
|
68
|
+
id: string;
|
|
69
|
+
agentName: string;
|
|
70
|
+
title: string;
|
|
71
|
+
description: string;
|
|
72
|
+
priority: 'low' | 'medium' | 'high' | 'critical';
|
|
73
|
+
status: 'pending' | 'assigned' | 'in_progress' | 'completed' | 'failed';
|
|
74
|
+
createdAt: string;
|
|
75
|
+
assignedAt?: string;
|
|
76
|
+
completedAt?: string;
|
|
77
|
+
result?: string;
|
|
78
|
+
}
|
|
79
|
+
export interface FleetStats {
|
|
80
|
+
totalAgents: number;
|
|
81
|
+
onlineAgents: number;
|
|
82
|
+
busyAgents: number;
|
|
83
|
+
pendingDecisions: number;
|
|
84
|
+
activeTasks: number;
|
|
85
|
+
}
|
|
86
|
+
export interface FleetServer {
|
|
87
|
+
id: string;
|
|
88
|
+
name: string;
|
|
89
|
+
status: 'healthy' | 'degraded' | 'offline';
|
|
90
|
+
agents: Array<{
|
|
91
|
+
name: string;
|
|
92
|
+
status: string;
|
|
93
|
+
}>;
|
|
94
|
+
cpuUsage: number;
|
|
95
|
+
memoryUsage: number;
|
|
96
|
+
activeConnections: number;
|
|
97
|
+
uptime: number;
|
|
98
|
+
lastHeartbeat: string;
|
|
99
|
+
}
|
|
100
|
+
export interface DashboardData {
|
|
101
|
+
agents: Agent[];
|
|
102
|
+
messages: Message[];
|
|
103
|
+
sessions?: Session[];
|
|
104
|
+
}
|
|
105
|
+
export interface HistorySession extends Session {
|
|
106
|
+
duration: string;
|
|
107
|
+
summary?: string;
|
|
108
|
+
}
|
|
109
|
+
export interface HistoryStats {
|
|
110
|
+
messageCount: number;
|
|
111
|
+
sessionCount: number;
|
|
112
|
+
activeSessions: number;
|
|
113
|
+
uniqueAgents: number;
|
|
114
|
+
oldestMessageDate: string | null;
|
|
115
|
+
}
|
|
116
|
+
export interface FileSearchResult {
|
|
117
|
+
path: string;
|
|
118
|
+
name: string;
|
|
119
|
+
isDirectory: boolean;
|
|
120
|
+
}
|
|
121
|
+
export interface Conversation {
|
|
122
|
+
participants: string[];
|
|
123
|
+
lastMessage: string;
|
|
124
|
+
lastTimestamp: string;
|
|
125
|
+
messageCount: number;
|
|
126
|
+
}
|
|
127
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../mocks/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../mocks/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG"}
|
package/dist/server.d.ts
CHANGED
|
@@ -1,25 +1,45 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
1
|
+
/**
|
|
2
|
+
* Relay Dashboard Server
|
|
3
|
+
*
|
|
4
|
+
* A flexible server that can operate in two modes:
|
|
5
|
+
* 1. Proxy mode (default): Proxies API/WebSocket requests to a relay daemon
|
|
6
|
+
* 2. Mock mode: Returns fixture data for standalone testing/demos
|
|
7
|
+
*
|
|
8
|
+
* This allows the dashboard to run independently without any external dependencies.
|
|
9
|
+
*/
|
|
10
|
+
import { type Express } from 'express';
|
|
11
|
+
import { type Server } from 'http';
|
|
12
|
+
import { WebSocketServer } from 'ws';
|
|
13
|
+
export interface DashboardServerOptions {
|
|
14
|
+
/** Port to listen on (default: 3888) */
|
|
15
|
+
port?: number;
|
|
16
|
+
/** Relay daemon URL to proxy to (default: http://localhost:3889) */
|
|
17
|
+
relayUrl?: string;
|
|
18
|
+
/** Path to static files directory (default: ../out) */
|
|
19
|
+
staticDir?: string;
|
|
20
|
+
/** Enable verbose logging */
|
|
21
|
+
verbose?: boolean;
|
|
22
|
+
/** Run in mock mode (no relay daemon required) */
|
|
23
|
+
mock?: boolean;
|
|
24
|
+
/** CORS allowed origins (comma-separated, or '*' for all) */
|
|
25
|
+
corsOrigins?: string;
|
|
26
|
+
/** Request timeout in milliseconds (default: 30000) */
|
|
27
|
+
requestTimeout?: number;
|
|
22
28
|
}
|
|
23
|
-
export
|
|
24
|
-
|
|
29
|
+
export interface DashboardServer {
|
|
30
|
+
app: Express;
|
|
31
|
+
server: Server;
|
|
32
|
+
wss: WebSocketServer;
|
|
33
|
+
close: () => Promise<void>;
|
|
34
|
+
mode: 'proxy' | 'mock';
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Create the dashboard server without starting it
|
|
38
|
+
*/
|
|
39
|
+
export declare function createServer(options?: DashboardServerOptions): DashboardServer;
|
|
40
|
+
/**
|
|
41
|
+
* Start the dashboard server
|
|
42
|
+
* Automatically finds an available port if the preferred port is in use
|
|
43
|
+
*/
|
|
44
|
+
export declare function startServer(options?: DashboardServerOptions): Promise<DashboardServer>;
|
|
25
45
|
//# sourceMappingURL=server.d.ts.map
|
package/dist/server.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../server.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAgB,EAAE,KAAK,OAAO,EAAkD,MAAM,SAAS,CAAC;AAChG,OAAO,EAAoC,KAAK,MAAM,EAA6C,MAAM,MAAM,CAAC;AAEhH,OAAO,EAAE,eAAe,EAAa,MAAM,IAAI,CAAC;AAahD,MAAM,WAAW,sBAAsB;IACrC,wCAAwC;IACxC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,oEAAoE;IACpE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,uDAAuD;IACvD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,6BAA6B;IAC7B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,kDAAkD;IAClD,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,6DAA6D;IAC7D,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,uDAAuD;IACvD,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,eAAe;IAC9B,GAAG,EAAE,OAAO,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,eAAe,CAAC;IACrB,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3B,IAAI,EAAE,OAAO,GAAG,MAAM,CAAC;CACxB;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,OAAO,GAAE,sBAA2B,GAAG,eAAe,CAsKlF;AA4JD;;;GAGG;AACH,wBAAsB,WAAW,CAAC,OAAO,GAAE,sBAA2B,GAAG,OAAO,CAAC,eAAe,CAAC,CAmBhG"}
|