247-cli 2.23.3 → 2.23.5

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 (66) hide show
  1. package/agent/dist/db/index.d.ts.map +1 -1
  2. package/agent/dist/db/index.js +25 -3
  3. package/agent/dist/db/index.js.map +1 -1
  4. package/agent/dist/db/schema.d.ts +3 -9
  5. package/agent/dist/db/schema.d.ts.map +1 -1
  6. package/agent/dist/db/schema.js +33 -7
  7. package/agent/dist/db/schema.js.map +1 -1
  8. package/agent/dist/db/sessions.d.ts +2 -19
  9. package/agent/dist/db/sessions.d.ts.map +1 -1
  10. package/agent/dist/db/sessions.js +7 -58
  11. package/agent/dist/db/sessions.js.map +1 -1
  12. package/agent/dist/routes/index.d.ts +0 -1
  13. package/agent/dist/routes/index.d.ts.map +1 -1
  14. package/agent/dist/routes/index.js +0 -1
  15. package/agent/dist/routes/index.js.map +1 -1
  16. package/agent/dist/routes/sessions.d.ts.map +1 -1
  17. package/agent/dist/routes/sessions.js +15 -68
  18. package/agent/dist/routes/sessions.js.map +1 -1
  19. package/agent/dist/server.d.ts.map +1 -1
  20. package/agent/dist/server.js +22 -17
  21. package/agent/dist/server.js.map +1 -1
  22. package/agent/dist/updater.d.ts +1 -2
  23. package/agent/dist/updater.d.ts.map +1 -1
  24. package/agent/dist/updater.js +3 -25
  25. package/agent/dist/updater.js.map +1 -1
  26. package/agent/dist/websocket-handlers.d.ts +17 -4
  27. package/agent/dist/websocket-handlers.d.ts.map +1 -1
  28. package/agent/dist/websocket-handlers.js +80 -79
  29. package/agent/dist/websocket-handlers.js.map +1 -1
  30. package/agent/node_modules/247-shared/dist/types/index.d.ts +1 -26
  31. package/agent/node_modules/247-shared/dist/types/index.d.ts.map +1 -1
  32. package/agent/node_modules/247-shared/package.json +1 -1
  33. package/dist/commands/doctor.d.ts.map +1 -1
  34. package/dist/commands/doctor.js +5 -23
  35. package/dist/commands/doctor.js.map +1 -1
  36. package/dist/commands/status.d.ts.map +1 -1
  37. package/dist/commands/status.js +0 -11
  38. package/dist/commands/status.js.map +1 -1
  39. package/dist/index.d.ts.map +1 -1
  40. package/dist/index.js +1 -3
  41. package/dist/index.js.map +1 -1
  42. package/dist/lib/paths.d.ts +1 -3
  43. package/dist/lib/paths.d.ts.map +1 -1
  44. package/dist/lib/paths.js +1 -2
  45. package/dist/lib/paths.js.map +1 -1
  46. package/package.json +1 -1
  47. package/agent/dist/routes/attention.d.ts +0 -10
  48. package/agent/dist/routes/attention.d.ts.map +0 -1
  49. package/agent/dist/routes/attention.js +0 -123
  50. package/agent/dist/routes/attention.js.map +0 -1
  51. package/agent/dist/setup-hooks.d.ts +0 -10
  52. package/agent/dist/setup-hooks.d.ts.map +0 -1
  53. package/agent/dist/setup-hooks.js +0 -157
  54. package/agent/dist/setup-hooks.js.map +0 -1
  55. package/agent/dist/status.d.ts +0 -45
  56. package/agent/dist/status.d.ts.map +0 -1
  57. package/agent/dist/status.js +0 -140
  58. package/agent/dist/status.js.map +0 -1
  59. package/dist/commands/hooks.d.ts +0 -3
  60. package/dist/commands/hooks.d.ts.map +0 -1
  61. package/dist/commands/hooks.js +0 -85
  62. package/dist/commands/hooks.js.map +0 -1
  63. package/dist/hooks/installer.d.ts +0 -21
  64. package/dist/hooks/installer.d.ts.map +0 -1
  65. package/dist/hooks/installer.js +0 -114
  66. package/dist/hooks/installer.js.map +0 -1
@@ -6,15 +6,28 @@ import express from 'express';
6
6
  import cors from 'cors';
7
7
  import { WebSocketServer } from 'ws';
8
8
  import { createServer as createHttpServer } from 'http';
9
+ import { execSync } from 'child_process';
9
10
  import { initDatabase, closeDatabase } from './db/index.js';
10
11
  import * as sessionsDb from './db/sessions.js';
11
12
  // Routes
12
- import { createProjectRoutes, createSessionRoutes, createAttentionRoutes, createPairRoutes, } from './routes/index.js';
13
- // Hook setup
14
- import { ensureHooksConfigured } from './setup-hooks.js';
15
- // Status and WebSocket
16
- import { tmuxSessionStatus, cleanupStatusMaps, getActiveTmuxSessions } from './status.js';
17
- import { handleTerminalConnection, handleStatusConnection } from './websocket-handlers.js';
13
+ import { createProjectRoutes, createSessionRoutes, createPairRoutes } from './routes/index.js';
14
+ // WebSocket
15
+ import { handleTerminalConnection, handleSessionsConnection } from './websocket-handlers.js';
16
+ // Utility to get active tmux sessions
17
+ function getActiveTmuxSessions() {
18
+ try {
19
+ const output = execSync('tmux list-sessions -F "#{session_name}" 2>/dev/null', {
20
+ encoding: 'utf-8',
21
+ });
22
+ return new Set(output
23
+ .trim()
24
+ .split('\n')
25
+ .filter((s) => s));
26
+ }
27
+ catch {
28
+ return new Set();
29
+ }
30
+ }
18
31
  export async function createServer() {
19
32
  const app = express();
20
33
  app.use(cors());
@@ -26,14 +39,9 @@ export async function createServer() {
26
39
  // Reconcile sessions with active tmux sessions
27
40
  const activeTmuxSessions = getActiveTmuxSessions();
28
41
  sessionsDb.reconcileWithTmux(activeTmuxSessions);
29
- // Populate in-memory Map from database
42
+ // Load existing sessions
30
43
  const dbSessions = sessionsDb.getAllSessions();
31
- for (const session of dbSessions) {
32
- tmuxSessionStatus.set(session.name, sessionsDb.toHookStatus(session));
33
- }
34
44
  console.log(`[DB] Loaded ${dbSessions.length} sessions from database`);
35
- // Configure attention hook for Claude Code integration
36
- ensureHooksConfigured();
37
45
  // Health check endpoint for container orchestration
38
46
  app.get('/health', (_req, res) => {
39
47
  res.json({ status: 'ok', timestamp: Date.now() });
@@ -41,7 +49,6 @@ export async function createServer() {
41
49
  // Mount API routes
42
50
  app.use('/api', createProjectRoutes());
43
51
  app.use('/api/sessions', createSessionRoutes());
44
- app.use('/api/attention', createAttentionRoutes());
45
52
  // Mount pairing routes (both at /pair and /api/pair for flexibility)
46
53
  app.use('/pair', createPairRoutes());
47
54
  app.use('/api/pair', createPairRoutes());
@@ -54,16 +61,14 @@ export async function createServer() {
54
61
  });
55
62
  return;
56
63
  }
57
- if (url.pathname === '/status') {
64
+ if (url.pathname === '/sessions') {
58
65
  wss.handleUpgrade(req, socket, head, (ws) => {
59
- handleStatusConnection(ws, url);
66
+ handleSessionsConnection(ws, url);
60
67
  });
61
68
  return;
62
69
  }
63
70
  socket.destroy();
64
71
  });
65
- // Periodic cleanup
66
- setInterval(cleanupStatusMaps, 60 * 60 * 1000);
67
72
  // Graceful shutdown
68
73
  const shutdown = () => {
69
74
  console.log('[Server] Shutting down...');
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
@@ -12,8 +12,7 @@ export declare function isUpdateInProgress(): boolean;
12
12
  * Creates a detached shell script that:
13
13
  * 1. Waits for the agent to exit
14
14
  * 2. Runs npm install -g
15
- * 3. Updates hooks
16
- * 4. Restarts the agent via service manager
15
+ * 3. Restarts the agent via service manager
17
16
  */
18
17
  export declare function triggerUpdate(targetVersion: string): void;
19
18
  //# sourceMappingURL=updater.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"updater.d.ts","sourceRoot":"","sources":["../src/updater.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAeH;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,OAAO,CAE5C;AAyBD;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,aAAa,EAAE,MAAM,GAAG,IAAI,CA2FzD"}
1
+ {"version":3,"file":"updater.d.ts","sourceRoot":"","sources":["../src/updater.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAaH;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,OAAO,CAE5C;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,aAAa,EAAE,MAAM,GAAG,IAAI,CAwFzD"}
@@ -6,9 +6,8 @@
6
6
  import { spawn } from 'child_process';
7
7
  import { writeFileSync } from 'fs';
8
8
  import { platform } from 'os';
9
- import { WebSocket } from 'ws';
10
9
  import { logger } from './logger.js';
11
- import { statusSubscribers } from './status.js';
10
+ import { broadcastUpdatePending } from './websocket-handlers.js';
12
11
  const UPDATE_SCRIPT = '/tmp/247-update.sh';
13
12
  const PACKAGE_NAME = '247-cli';
14
13
  let updateInProgress = false;
@@ -18,30 +17,12 @@ let updateInProgress = false;
18
17
  export function isUpdateInProgress() {
19
18
  return updateInProgress;
20
19
  }
21
- /**
22
- * Broadcast update-pending message to all connected clients.
23
- */
24
- function broadcastUpdatePending(targetVersion) {
25
- const message = {
26
- type: 'update-pending',
27
- targetVersion,
28
- message: `Agent updating to version ${targetVersion}...`,
29
- };
30
- const messageStr = JSON.stringify(message);
31
- for (const ws of statusSubscribers) {
32
- if (ws.readyState === WebSocket.OPEN) {
33
- ws.send(messageStr);
34
- }
35
- }
36
- logger.main.info({ targetVersion, subscribers: statusSubscribers.size }, 'Broadcast update-pending to all clients');
37
- }
38
20
  /**
39
21
  * Trigger an auto-update to the specified version.
40
22
  * Creates a detached shell script that:
41
23
  * 1. Waits for the agent to exit
42
24
  * 2. Runs npm install -g
43
- * 3. Updates hooks
44
- * 4. Restarts the agent via service manager
25
+ * 3. Restarts the agent via service manager
45
26
  */
46
27
  export function triggerUpdate(targetVersion) {
47
28
  if (updateInProgress) {
@@ -51,7 +32,7 @@ export function triggerUpdate(targetVersion) {
51
32
  updateInProgress = true;
52
33
  logger.main.info({ targetVersion }, 'Auto-update triggered');
53
34
  // Broadcast to all connected clients
54
- broadcastUpdatePending(targetVersion);
35
+ broadcastUpdatePending(targetVersion, `Agent updating to version ${targetVersion}...`);
55
36
  // Determine restart command based on platform
56
37
  const os = platform();
57
38
  let restartCommand;
@@ -93,9 +74,6 @@ if [ -f "$CLI_BIN" ]; then
93
74
  echo "[247] Fixed executable permissions"
94
75
  fi
95
76
 
96
- echo "[247] Updating hooks..."
97
- 247 hooks update || true
98
-
99
77
  echo "[247] Restarting agent..."
100
78
  ${restartCommand}
101
79
 
@@ -1 +1 @@
1
- {"version":3,"file":"updater.js","sourceRoot":"","sources":["../src/updater.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"updater.js","sourceRoot":"","sources":["../src/updater.ts"],"names":[],"mappings":"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"}
@@ -1,14 +1,27 @@
1
1
  /**
2
- * WebSocket handlers for terminal connections and status subscriptions.
3
- * Simplified version without worktree or execution manager features.
2
+ * WebSocket handlers for terminal connections and sessions subscriptions.
3
+ * Simplified version without status tracking, worktree or execution manager features.
4
4
  */
5
5
  import { WebSocket } from 'ws';
6
+ import type { WSSessionInfo } from '247-shared';
7
+ /**
8
+ * Broadcast session removed event to all subscribers
9
+ */
10
+ export declare function broadcastSessionRemoved(sessionName: string): void;
11
+ /**
12
+ * Broadcast session archived event to all subscribers
13
+ */
14
+ export declare function broadcastSessionArchived(sessionName: string, session: WSSessionInfo): void;
6
15
  /**
7
16
  * Handle terminal WebSocket connections
8
17
  */
9
18
  export declare function handleTerminalConnection(ws: WebSocket, url: URL): void;
10
19
  /**
11
- * Handle status WebSocket connections (real-time session updates)
20
+ * Broadcast update-pending message to all sessions subscribers
21
+ */
22
+ export declare function broadcastUpdatePending(targetVersion: string, message: string): void;
23
+ /**
24
+ * Handle sessions WebSocket connections (real-time session list updates)
12
25
  */
13
- export declare function handleStatusConnection(ws: WebSocket, url?: URL): void;
26
+ export declare function handleSessionsConnection(ws: WebSocket, url?: URL): void;
14
27
  //# sourceMappingURL=websocket-handlers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"websocket-handlers.d.ts","sourceRoot":"","sources":["../src/websocket-handlers.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AAkC/B;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,GAAG,GAAG,IAAI,CAgMtE;AAsDD;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,EAAE,EAAE,SAAS,EAAE,GAAG,CAAC,EAAE,GAAG,GAAG,IAAI,CAqGrE"}
1
+ {"version":3,"file":"websocket-handlers.d.ts","sourceRoot":"","sources":["../src/websocket-handlers.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AAK/B,OAAO,KAAK,EAAoB,aAAa,EAA8B,MAAM,YAAY,CAAC;AA4B9F;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAYjE;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,GAAG,IAAI,CAa1F;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,GAAG,GAAG,IAAI,CAmKtE;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,aAAa,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAanF;AAyCD;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,EAAE,EAAE,SAAS,EAAE,GAAG,CAAC,EAAE,GAAG,GAAG,IAAI,CAqFvE"}
@@ -1,12 +1,24 @@
1
1
  /**
2
- * WebSocket handlers for terminal connections and status subscriptions.
3
- * Simplified version without worktree or execution manager features.
2
+ * WebSocket handlers for terminal connections and sessions subscriptions.
3
+ * Simplified version without status tracking, worktree or execution manager features.
4
4
  */
5
5
  import { WebSocket } from 'ws';
6
6
  import { execSync } from 'child_process';
7
7
  import { createTerminal } from './terminal.js';
8
8
  import { config } from './config.js';
9
9
  import * as sessionsDb from './db/sessions.js';
10
+ import { getAgentVersion, needsUpdate } from './version.js';
11
+ import { triggerUpdate, isUpdateInProgress } from './updater.js';
12
+ // Connection tracking
13
+ const activeConnections = new Map();
14
+ const sessionsSubscribers = new Set();
15
+ // Generate unique session name
16
+ let sessionCounter = 0;
17
+ function generateSessionName(project) {
18
+ const timestamp = Date.now().toString(36);
19
+ const counter = (sessionCounter++).toString(36);
20
+ return `${project}--${timestamp}${counter}`;
21
+ }
10
22
  /**
11
23
  * Check if a tmux session exists
12
24
  */
@@ -19,9 +31,37 @@ function tmuxSessionExists(sessionName) {
19
31
  return false;
20
32
  }
21
33
  }
22
- import { tmuxSessionStatus, activeConnections, statusSubscribers, generateSessionName, broadcastStatusUpdate, } from './status.js';
23
- import { getAgentVersion, needsUpdate } from './version.js';
24
- import { triggerUpdate, isUpdateInProgress } from './updater.js';
34
+ /**
35
+ * Broadcast session removed event to all subscribers
36
+ */
37
+ export function broadcastSessionRemoved(sessionName) {
38
+ const message = {
39
+ type: 'session-removed',
40
+ sessionName,
41
+ };
42
+ const payload = JSON.stringify(message);
43
+ for (const ws of sessionsSubscribers) {
44
+ if (ws.readyState === WebSocket.OPEN) {
45
+ ws.send(payload);
46
+ }
47
+ }
48
+ }
49
+ /**
50
+ * Broadcast session archived event to all subscribers
51
+ */
52
+ export function broadcastSessionArchived(sessionName, session) {
53
+ const message = {
54
+ type: 'session-archived',
55
+ sessionName,
56
+ session,
57
+ };
58
+ const payload = JSON.stringify(message);
59
+ for (const ws of sessionsSubscribers) {
60
+ if (ws.readyState === WebSocket.OPEN) {
61
+ ws.send(payload);
62
+ }
63
+ }
64
+ }
25
65
  /**
26
66
  * Handle terminal WebSocket connections
27
67
  */
@@ -42,17 +82,14 @@ export function handleTerminalConnection(ws, url) {
42
82
  console.log(`New terminal connection for project: ${project}`);
43
83
  console.log(`Project path: ${projectPath}`);
44
84
  // Buffer for messages received before async setup completes
45
- // This prevents race condition where client sends messages before handler is registered
46
85
  const messageBuffer = [];
47
86
  let setupComplete = false;
48
87
  let terminalRef = null;
49
88
  // Register message handler IMMEDIATELY (before any async code)
50
- // This ensures no messages are lost during async initialization
51
89
  ws.on('message', (data) => {
52
90
  const msgStr = data.toString();
53
91
  console.log(`[Terminal] Received message for '${sessionName}': ${msgStr.substring(0, 100)}...`);
54
92
  if (!setupComplete || !terminalRef) {
55
- // Buffer message for later processing
56
93
  console.log(`[Terminal] Buffering message (setup not complete)`);
57
94
  messageBuffer.push(data);
58
95
  return;
@@ -85,7 +122,7 @@ export function handleTerminalConnection(ws, url) {
85
122
  let terminal;
86
123
  try {
87
124
  terminal = createTerminal(projectPath, sessionName, {});
88
- terminalRef = terminal; // Store reference for early message handler
125
+ terminalRef = terminal;
89
126
  }
90
127
  catch (err) {
91
128
  console.error('Failed to create terminal:', err);
@@ -112,47 +149,23 @@ export function handleTerminalConnection(ws, url) {
112
149
  });
113
150
  }
114
151
  else {
115
- // New session - register and broadcast
152
+ // New session - register in DB
116
153
  const now = Date.now();
117
- let createdAt = now;
118
154
  try {
119
- const dbSession = sessionsDb.upsertSession(sessionName, {
155
+ sessionsDb.upsertSession(sessionName, {
120
156
  project: project,
121
- status: 'init',
122
- attentionReason: undefined,
123
157
  lastEvent: 'SessionCreated',
124
158
  lastActivity: now,
125
- lastStatusChange: now,
126
159
  });
127
- if (dbSession?.created_at)
128
- createdAt = dbSession.created_at;
129
160
  }
130
161
  catch (err) {
131
162
  console.error(`Failed to persist session '${sessionName}':`, err);
132
163
  }
133
- tmuxSessionStatus.set(sessionName, {
134
- status: 'init',
135
- lastEvent: 'SessionCreated',
136
- lastActivity: now,
137
- lastStatusChange: now,
138
- project: project,
139
- });
140
- broadcastStatusUpdate({
141
- name: sessionName,
142
- project: project,
143
- status: 'init',
144
- statusSource: 'hook',
145
- lastEvent: 'SessionCreated',
146
- lastStatusChange: now,
147
- createdAt,
148
- lastActivity: undefined,
149
- });
150
164
  }
151
165
  // Forward terminal output
152
166
  terminal.onData((data) => {
153
167
  if (ws.readyState === WebSocket.OPEN) {
154
168
  ws.send(data);
155
- // Log first 100 chars of significant output for debugging
156
169
  if (data.length > 10 && !data.startsWith('\x1b')) {
157
170
  console.log(`[Terminal] Sending ${data.length} bytes to client: ${data.substring(0, 100).replace(/\n/g, '\\n')}...`);
158
171
  }
@@ -177,7 +190,7 @@ export function handleTerminalConnection(ws, url) {
177
190
  console.error('Failed to parse buffered message:', err);
178
191
  }
179
192
  }
180
- messageBuffer.length = 0; // Clear buffer
193
+ messageBuffer.length = 0;
181
194
  }
182
195
  ws.on('close', () => {
183
196
  console.log(`Client disconnected, tmux session '${sessionName}' preserved`);
@@ -199,26 +212,29 @@ export function handleTerminalConnection(ws, url) {
199
212
  ws.on('error', (err) => console.error('WebSocket error:', err));
200
213
  })();
201
214
  }
215
+ /**
216
+ * Broadcast update-pending message to all sessions subscribers
217
+ */
218
+ export function broadcastUpdatePending(targetVersion, message) {
219
+ const msg = {
220
+ type: 'update-pending',
221
+ targetVersion,
222
+ message,
223
+ };
224
+ const payload = JSON.stringify(msg);
225
+ for (const ws of sessionsSubscribers) {
226
+ if (ws.readyState === WebSocket.OPEN) {
227
+ ws.send(payload);
228
+ }
229
+ }
230
+ }
202
231
  /**
203
232
  * Handle individual terminal messages
204
233
  */
205
- function handleTerminalMessage(msg, terminal, ws, sessionName, project, _projectPath) {
234
+ function handleTerminalMessage(msg, terminal, ws, _sessionName, _project, _projectPath) {
206
235
  switch (msg.type) {
207
236
  case 'input':
208
237
  terminal.write(msg.data);
209
- if (msg.data.includes('\r') || msg.data.includes('\n')) {
210
- const existing = tmuxSessionStatus.get(sessionName);
211
- if (existing?.status === 'needs_attention' && existing?.attentionReason === 'input') {
212
- const now = Date.now();
213
- tmuxSessionStatus.set(sessionName, {
214
- status: 'working',
215
- lastEvent: 'UserInput',
216
- lastActivity: now,
217
- lastStatusChange: now,
218
- project,
219
- });
220
- }
221
- }
222
238
  break;
223
239
  case 'resize':
224
240
  terminal.resize(msg.cols, msg.rows);
@@ -242,11 +258,11 @@ function handleTerminalMessage(msg, terminal, ws, sessionName, project, _project
242
258
  }
243
259
  }
244
260
  /**
245
- * Handle status WebSocket connections (real-time session updates)
261
+ * Handle sessions WebSocket connections (real-time session list updates)
246
262
  */
247
- export function handleStatusConnection(ws, url) {
248
- console.log('[Status WS] New subscriber connected');
249
- statusSubscribers.add(ws);
263
+ export function handleSessionsConnection(ws, url) {
264
+ console.log('[Sessions WS] New subscriber connected');
265
+ sessionsSubscribers.add(ws);
250
266
  // Extract web version from query params and check for updates
251
267
  const webVersion = url?.searchParams.get('v');
252
268
  const agentVersion = getAgentVersion();
@@ -259,7 +275,7 @@ export function handleStatusConnection(ws, url) {
259
275
  ws.send(JSON.stringify(versionMessage));
260
276
  }
261
277
  // Check if update needed (only upgrade, never downgrade)
262
- // Skip auto-update in cloud/Docker environments - they get updated via new image deployments
278
+ // Skip auto-update in cloud/Docker environments
263
279
  const isCloudAgent = process.env.CLOUD_AGENT === 'true';
264
280
  if (webVersion &&
265
281
  !isUpdateInProgress() &&
@@ -282,29 +298,14 @@ export function handleStatusConnection(ws, url) {
282
298
  for (const line of stdout.trim().split('\n').filter(Boolean)) {
283
299
  const [name, created] = line.split('|');
284
300
  const [project] = name.split('--');
285
- let status = 'init';
286
- let attentionReason;
287
- let statusSource = 'tmux';
288
- let lastEvent;
289
- let lastStatusChange;
290
- const hookData = tmuxSessionStatus.get(name);
291
- if (hookData) {
292
- status = hookData.status;
293
- attentionReason = hookData.attentionReason;
294
- statusSource = 'hook';
295
- lastEvent = hookData.lastEvent;
296
- lastStatusChange = hookData.lastStatusChange;
297
- }
301
+ // Get DB data if available
302
+ const dbSession = sessionsDb.getSession(name);
298
303
  sessions.push({
299
304
  name,
300
305
  project,
301
306
  createdAt: parseInt(created) * 1000,
302
- status,
303
- attentionReason,
304
- statusSource,
305
- lastActivity: hookData?.lastActivity,
306
- lastEvent,
307
- lastStatusChange,
307
+ lastActivity: dbSession?.last_activity,
308
+ lastEvent: dbSession?.last_event ?? undefined,
308
309
  });
309
310
  }
310
311
  const message = { type: 'sessions-list', sessions };
@@ -313,7 +314,7 @@ export function handleStatusConnection(ws, url) {
313
314
  }
314
315
  }
315
316
  catch (err) {
316
- console.error('[Status WS] Failed to get initial sessions:', err);
317
+ console.error('[Sessions WS] Failed to get initial sessions:', err);
317
318
  if (ws.readyState === WebSocket.OPEN) {
318
319
  const message = { type: 'sessions-list', sessions: [] };
319
320
  ws.send(JSON.stringify(message));
@@ -321,12 +322,12 @@ export function handleStatusConnection(ws, url) {
321
322
  }
322
323
  })();
323
324
  ws.on('close', () => {
324
- statusSubscribers.delete(ws);
325
- console.log(`[Status WS] Subscriber disconnected (remaining: ${statusSubscribers.size})`);
325
+ sessionsSubscribers.delete(ws);
326
+ console.log(`[Sessions WS] Subscriber disconnected (remaining: ${sessionsSubscribers.size})`);
326
327
  });
327
328
  ws.on('error', (err) => {
328
- console.error('[Status WS] Error:', err);
329
- statusSubscribers.delete(ws);
329
+ console.error('[Sessions WS] Error:', err);
330
+ sessionsSubscribers.delete(ws);
330
331
  });
331
332
  }
332
333
  //# sourceMappingURL=websocket-handlers.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"websocket-handlers.js","sourceRoot":"","sources":["../src/websocket-handlers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"websocket-handlers.js","sourceRoot":"","sources":["../src/websocket-handlers.ts"],"names":[],"mappings":"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"}
@@ -14,7 +14,6 @@ export interface Session {
14
14
  id: string;
15
15
  machineId: string;
16
16
  project: string | null;
17
- status: SessionStatus;
18
17
  tmuxSession: string | null;
19
18
  startedAt: Date;
20
19
  endedAt: Date | null;
@@ -55,32 +54,17 @@ export type WSMessageFromAgent = {
55
54
  data: string;
56
55
  lines: number;
57
56
  };
58
- export type SessionStatus = 'init' | 'working' | 'needs_attention' | 'idle';
59
- export type AttentionReason = 'permission' | 'input' | 'plan_approval' | 'task_complete';
60
- export type StatusSource = 'hook' | 'tmux';
61
57
  export interface WSSessionInfo {
62
58
  name: string;
63
59
  project: string;
64
- status: SessionStatus;
65
- attentionReason?: AttentionReason;
66
- statusSource: StatusSource;
67
60
  lastEvent?: string;
68
- lastStatusChange?: number;
69
61
  createdAt: number;
70
62
  lastActivity?: number;
71
63
  archivedAt?: number;
72
64
  }
73
- export type WSStatusMessageToAgent = {
74
- type: 'status-subscribe';
75
- } | {
76
- type: 'status-unsubscribe';
77
- };
78
- export type WSStatusMessageFromAgent = {
65
+ export type WSSessionsMessageFromAgent = {
79
66
  type: 'sessions-list';
80
67
  sessions: WSSessionInfo[];
81
- } | {
82
- type: 'status-update';
83
- session: WSSessionInfo;
84
68
  } | {
85
69
  type: 'session-removed';
86
70
  sessionName: string;
@@ -133,15 +117,6 @@ export interface SessionInputResponse {
133
117
  bytesSent?: number;
134
118
  error?: string;
135
119
  }
136
- export interface HookStatusRequest {
137
- event: string;
138
- status: SessionStatus;
139
- attention_reason?: AttentionReason;
140
- session_id?: string;
141
- tmux_session?: string;
142
- project?: string;
143
- timestamp?: string;
144
- }
145
120
  export interface AgentConfig {
146
121
  machine: {
147
122
  id: string;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "247-shared",
3
- "version": "2.23.3",
3
+ "version": "2.23.5",
4
4
  "private": true,
5
5
  "type": "module",
6
6
  "exports": {
@@ -1 +1 @@
1
- {"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAiBpC,eAAO,MAAM,aAAa,SAyRtB,CAAC"}
1
+ {"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAgBpC,eAAO,MAAM,aAAa,SAwQtB,CAAC"}