@agent-relay/dashboard-server 2.0.20 → 2.0.25

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 (62) hide show
  1. package/dist/index.d.ts +30 -8
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/index.js +31 -7
  4. package/dist/index.js.map +1 -1
  5. package/dist/mocks/fixtures.d.ts +1 -1
  6. package/dist/mocks/fixtures.d.ts.map +1 -1
  7. package/dist/mocks/fixtures.js.map +1 -1
  8. package/dist/mocks/index.d.ts.map +1 -1
  9. package/dist/mocks/index.js.map +1 -1
  10. package/dist/mocks/routes.d.ts.map +1 -1
  11. package/dist/mocks/routes.js +172 -7
  12. package/dist/mocks/routes.js.map +1 -1
  13. package/dist/mocks/types.d.ts.map +1 -1
  14. package/dist/mocks/types.js.map +1 -1
  15. package/dist/proxy-server.d.ts +45 -0
  16. package/dist/proxy-server.d.ts.map +1 -0
  17. package/dist/proxy-server.js +320 -0
  18. package/dist/proxy-server.js.map +1 -0
  19. package/dist/server.d.ts +3 -44
  20. package/dist/server.d.ts.map +1 -1
  21. package/dist/server.js +5149 -267
  22. package/dist/server.js.map +1 -1
  23. package/dist/services/health-worker-manager.d.ts +62 -0
  24. package/dist/services/health-worker-manager.d.ts.map +1 -0
  25. package/dist/services/health-worker-manager.js +144 -0
  26. package/dist/services/health-worker-manager.js.map +1 -0
  27. package/dist/services/health-worker.d.ts +9 -0
  28. package/dist/services/health-worker.d.ts.map +1 -0
  29. package/dist/services/health-worker.js +79 -0
  30. package/dist/services/health-worker.js.map +1 -0
  31. package/dist/services/index.d.ts +10 -0
  32. package/dist/services/index.d.ts.map +1 -0
  33. package/dist/services/index.js +10 -0
  34. package/dist/services/index.js.map +1 -0
  35. package/dist/services/metrics.d.ts +105 -0
  36. package/dist/services/metrics.d.ts.map +1 -0
  37. package/dist/services/metrics.js +193 -0
  38. package/dist/services/metrics.js.map +1 -0
  39. package/dist/services/needs-attention.d.ts +24 -0
  40. package/dist/services/needs-attention.d.ts.map +1 -0
  41. package/dist/services/needs-attention.js +78 -0
  42. package/dist/services/needs-attention.js.map +1 -0
  43. package/dist/services/user-bridge.d.ts +158 -0
  44. package/dist/services/user-bridge.d.ts.map +1 -0
  45. package/dist/services/user-bridge.js +390 -0
  46. package/dist/services/user-bridge.js.map +1 -0
  47. package/dist/start.d.ts.map +1 -1
  48. package/dist/start.js +1 -1
  49. package/dist/start.js.map +1 -1
  50. package/dist/types/index.d.ts +128 -0
  51. package/dist/types/index.d.ts.map +1 -0
  52. package/dist/types/index.js +7 -0
  53. package/dist/types/index.js.map +1 -0
  54. package/dist/types/threading.d.ts +8 -0
  55. package/dist/types/threading.d.ts.map +1 -0
  56. package/dist/types/threading.js +2 -0
  57. package/dist/types/threading.js.map +1 -0
  58. package/package.json +14 -3
  59. package/dist/vitest.config.d.ts +0 -3
  60. package/dist/vitest.config.d.ts.map +0 -1
  61. package/dist/vitest.config.js +0 -27
  62. package/dist/vitest.config.js.map +0 -1
package/dist/start.js CHANGED
@@ -5,7 +5,7 @@
5
5
  * Start the dashboard server from the command line.
6
6
  * Supports both proxy mode (connects to relay daemon) and mock mode (standalone).
7
7
  */
8
- import { startServer } from './server.js';
8
+ import { startServer } from './proxy-server.js';
9
9
  // Parse command line arguments
10
10
  const args = process.argv.slice(2);
11
11
  const options = {};
package/dist/start.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"start.js","sourceRoot":"","sources":["../start.ts"],"names":[],"mappings":";AACA;;;;;GAKG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1C,+BAA+B;AAC/B,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACnC,MAAM,OAAO,GAAqC,EAAE,CAAC;AAErD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;IACrC,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,IAAI,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;QACrC,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;IAC3B,CAAC;SAAM,IAAI,GAAG,KAAK,aAAa,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;QACjD,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;IAC/B,CAAC;SAAM,IAAI,GAAG,KAAK,cAAc,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;QAClD,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;IAChC,CAAC;SAAM,IAAI,GAAG,KAAK,WAAW,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;QAC/C,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;IACzB,CAAC;SAAM,IAAI,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;QAC5C,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;IACtB,CAAC;SAAM,IAAI,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;QAC5C,OAAO,CAAC,GAAG,CAAC;;;;;;;;;;;;;;;;;;;;;;CAsBf,CAAC,CAAC;QACC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED,mBAAmB;AACnB,WAAW,CAAC;IACV,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAc,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS;IACrE,QAAQ,EAAE,OAAO,CAAC,QAA8B;IAChD,SAAS,EAAE,OAAO,CAAC,SAA+B;IAClD,OAAO,EAAE,OAAO,CAAC,OAA8B;IAC/C,IAAI,EAAE,OAAO,CAAC,IAA2B;CAC1C,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;IACf,OAAO,CAAC,KAAK,CAAC,mCAAmC,EAAE,GAAG,CAAC,CAAC;IACxD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"start.js","sourceRoot":"","sources":["../src/start.ts"],"names":[],"mappings":";AACA;;;;;GAKG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,+BAA+B;AAC/B,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACnC,MAAM,OAAO,GAAqC,EAAE,CAAC;AAErD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;IACrC,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,IAAI,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;QACrC,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;IAC3B,CAAC;SAAM,IAAI,GAAG,KAAK,aAAa,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;QACjD,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;IAC/B,CAAC;SAAM,IAAI,GAAG,KAAK,cAAc,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;QAClD,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;IAChC,CAAC;SAAM,IAAI,GAAG,KAAK,WAAW,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;QAC/C,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;IACzB,CAAC;SAAM,IAAI,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;QAC5C,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;IACtB,CAAC;SAAM,IAAI,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;QAC5C,OAAO,CAAC,GAAG,CAAC;;;;;;;;;;;;;;;;;;;;;;CAsBf,CAAC,CAAC;QACC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED,mBAAmB;AACnB,WAAW,CAAC;IACV,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAc,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS;IACrE,QAAQ,EAAE,OAAO,CAAC,QAA8B;IAChD,SAAS,EAAE,OAAO,CAAC,SAA+B;IAClD,OAAO,EAAE,OAAO,CAAC,OAA8B;IAC/C,IAAI,EAAE,OAAO,CAAC,IAA2B;CAC1C,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;IACf,OAAO,CAAC,KAAK,CAAC,mCAAmC,EAAE,GAAG,CAAC,CAAC;IACxD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
@@ -0,0 +1,128 @@
1
+ /**
2
+ * Dashboard Server Types
3
+ *
4
+ * Core interfaces and types for the dashboard server.
5
+ */
6
+ import type { Express } from 'express';
7
+ import type { Server } from 'http';
8
+ import type { WebSocketServer } from 'ws';
9
+ /**
10
+ * Options for starting the dashboard server
11
+ */
12
+ export interface DashboardOptions {
13
+ /** Port to listen on */
14
+ port: number;
15
+ /** Data directory for storage */
16
+ dataDir: string;
17
+ /** Team directory for configuration */
18
+ teamDir: string;
19
+ /** Path to SQLite database (defaults to dataDir/dashboard.db) */
20
+ dbPath?: string;
21
+ /** Enable agent spawning API */
22
+ enableSpawner?: boolean;
23
+ /** Project root for spawner (defaults to dataDir) */
24
+ projectRoot?: string;
25
+ /** Tmux session name for workers */
26
+ tmuxSession?: string;
27
+ /**
28
+ * Callback to mark an agent as spawning (before HELLO completes).
29
+ * Messages sent to this agent will be queued for delivery after registration.
30
+ */
31
+ onMarkSpawning?: (agentName: string) => void;
32
+ /**
33
+ * Callback to clear the spawning flag for an agent.
34
+ * Called when spawn fails or is cancelled.
35
+ */
36
+ onClearSpawning?: (agentName: string) => void;
37
+ }
38
+ /**
39
+ * Options for the proxy/mock server (simpler mode)
40
+ */
41
+ export interface ProxyServerOptions {
42
+ /** Port to listen on (default: 3888) */
43
+ port?: number;
44
+ /** Relay daemon URL to proxy to (default: http://localhost:3889) */
45
+ relayUrl?: string;
46
+ /** Path to static files directory (default: ../out) */
47
+ staticDir?: string;
48
+ /** Enable verbose logging */
49
+ verbose?: boolean;
50
+ /** Run in mock mode (no relay daemon required) */
51
+ mock?: boolean;
52
+ /** CORS allowed origins (comma-separated, or '*' for all) */
53
+ corsOrigins?: string;
54
+ /** Request timeout in milliseconds (default: 30000) */
55
+ requestTimeout?: number;
56
+ }
57
+ /**
58
+ * Dashboard server instance (returned by proxy server)
59
+ */
60
+ export interface DashboardServer {
61
+ app: Express;
62
+ server: Server;
63
+ wss: WebSocketServer;
64
+ close: () => Promise<void>;
65
+ mode: 'proxy' | 'mock';
66
+ }
67
+ /**
68
+ * Agent state tracking
69
+ */
70
+ export interface AgentState {
71
+ name: string;
72
+ status: 'idle' | 'working' | 'waiting' | 'error';
73
+ lastSeen: string;
74
+ lastUpdated: string;
75
+ currentTask?: string;
76
+ completedTasks?: string[];
77
+ context?: string;
78
+ }
79
+ /**
80
+ * Channel record for tracking channel state
81
+ */
82
+ export interface ChannelRecord {
83
+ id: string;
84
+ visibility: 'public' | 'private';
85
+ status: 'active' | 'archived';
86
+ createdAt?: number;
87
+ createdBy?: string;
88
+ description?: string;
89
+ lastActivityAt: number;
90
+ lastMessage?: {
91
+ content: string;
92
+ from: string;
93
+ timestamp: string;
94
+ };
95
+ members: Set<string>;
96
+ dmParticipants?: string[];
97
+ }
98
+ /**
99
+ * Thread metadata for conversation threading
100
+ */
101
+ export interface ThreadMetadata {
102
+ threadId: string;
103
+ parentId?: string;
104
+ replyCount?: number;
105
+ lastReplyAt?: string;
106
+ participants?: string[];
107
+ }
108
+ /**
109
+ * Server context passed to route handlers
110
+ */
111
+ export interface ServerContext {
112
+ /** Data directory */
113
+ dataDir: string;
114
+ /** Team directory */
115
+ teamDir: string;
116
+ /** Database path */
117
+ dbPath?: string;
118
+ /** Project root */
119
+ projectRoot?: string;
120
+ /** Default workspace ID */
121
+ defaultWorkspaceId?: string;
122
+ /** Enable spawner */
123
+ enableSpawner?: boolean;
124
+ /** Spawn callbacks */
125
+ onMarkSpawning?: (name: string) => void;
126
+ onClearSpawning?: (name: string) => void;
127
+ }
128
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Dashboard Server Types
3
+ *
4
+ * Core interfaces and types for the dashboard server.
5
+ */
6
+ export {};
7
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG"}
@@ -0,0 +1,8 @@
1
+ export interface ThreadMetadata {
2
+ threadId: string;
3
+ replyCount: number;
4
+ participants: string[];
5
+ lastReplyAt: number;
6
+ lastReplyPreview?: string;
7
+ }
8
+ //# sourceMappingURL=threading.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"threading.d.ts","sourceRoot":"","sources":["../../src/types/threading.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=threading.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"threading.js","sourceRoot":"","sources":["../../src/types/threading.ts"],"names":[],"mappings":""}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agent-relay/dashboard-server",
3
- "version": "2.0.20",
3
+ "version": "2.0.25",
4
4
  "description": "Express server for Agent Relay dashboard - serves UI and proxies to relay daemon",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -19,8 +19,8 @@
19
19
  "README.md"
20
20
  ],
21
21
  "scripts": {
22
- "dev": "tsx watch start.ts -p 3889",
23
- "dev:mock": "tsx watch start.ts -p 3889 --mock --verbose",
22
+ "dev": "tsx watch src/start.ts -p 3889",
23
+ "dev:mock": "tsx watch src/start.ts -p 3889 --mock --verbose",
24
24
  "build": "tsc",
25
25
  "start": "node dist/start.js",
26
26
  "start:mock": "node dist/start.js --mock",
@@ -32,6 +32,15 @@
32
32
  "prepublishOnly": "npm run build"
33
33
  },
34
34
  "dependencies": {
35
+ "@agent-relay/bridge": "^2.0.19",
36
+ "@agent-relay/config": "^2.0.19",
37
+ "@agent-relay/daemon": "^2.0.19",
38
+ "@agent-relay/protocol": "^2.0.19",
39
+ "@agent-relay/resiliency": "^2.0.19",
40
+ "@agent-relay/sdk": "^2.0.19",
41
+ "@agent-relay/storage": "^2.0.19",
42
+ "@agent-relay/trajectory": "^2.0.19",
43
+ "@agent-relay/utils": "^2.0.19",
35
44
  "express": "^5.2.1",
36
45
  "http-proxy-middleware": "^3.0.0",
37
46
  "ws": "^8.18.3"
@@ -39,8 +48,10 @@
39
48
  "devDependencies": {
40
49
  "@types/express": "^5.0.6",
41
50
  "@types/node": "^22.19.3",
51
+ "@types/supertest": "^6.0.2",
42
52
  "@types/ws": "^8.18.1",
43
53
  "@vitest/coverage-v8": "^3.2.4",
54
+ "supertest": "^7.0.0",
44
55
  "tsx": "^4.19.0",
45
56
  "typescript": "^5.9.3",
46
57
  "vitest": "^3.2.4"
@@ -1,3 +0,0 @@
1
- declare const _default: import("vite").UserConfig;
2
- export default _default;
3
- //# sourceMappingURL=vitest.config.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"vitest.config.d.ts","sourceRoot":"","sources":["../vitest.config.ts"],"names":[],"mappings":";AAEA,wBAwBG"}
@@ -1,27 +0,0 @@
1
- import { defineConfig } from 'vitest/config';
2
- export default defineConfig({
3
- test: {
4
- globals: true,
5
- environment: 'node',
6
- include: [
7
- '**/*.test.ts',
8
- ],
9
- exclude: [
10
- 'node_modules',
11
- 'dist',
12
- ],
13
- coverage: {
14
- provider: 'v8',
15
- reporter: ['text', 'json', 'html'],
16
- include: [
17
- '**/*.ts',
18
- ],
19
- exclude: [
20
- 'node_modules',
21
- 'dist',
22
- '**/*.test.ts',
23
- ],
24
- },
25
- },
26
- });
27
- //# sourceMappingURL=vitest.config.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"vitest.config.js","sourceRoot":"","sources":["../vitest.config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAE7C,eAAe,YAAY,CAAC;IAC1B,IAAI,EAAE;QACJ,OAAO,EAAE,IAAI;QACb,WAAW,EAAE,MAAM;QACnB,OAAO,EAAE;YACP,cAAc;SACf;QACD,OAAO,EAAE;YACP,cAAc;YACd,MAAM;SACP;QACD,QAAQ,EAAE;YACR,QAAQ,EAAE,IAAI;YACd,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;YAClC,OAAO,EAAE;gBACP,SAAS;aACV;YACD,OAAO,EAAE;gBACP,cAAc;gBACd,MAAM;gBACN,cAAc;aACf;SACF;KACF;CACF,CAAC,CAAC"}