247-cli 1.0.0 → 1.0.2
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/agent/dist/heartbeat-monitor.d.ts +5 -2
- package/agent/dist/heartbeat-monitor.d.ts.map +1 -1
- package/agent/dist/heartbeat-monitor.js +9 -6
- package/agent/dist/heartbeat-monitor.js.map +1 -1
- package/agent/dist/routes/heartbeat.d.ts.map +1 -1
- package/agent/dist/routes/heartbeat.js +20 -0
- package/agent/dist/routes/heartbeat.js.map +1 -1
- package/agent/dist/terminal.d.ts.map +1 -1
- package/agent/dist/terminal.js +0 -1
- package/agent/dist/terminal.js.map +1 -1
- package/agent/node_modules/247-shared/package.json +1 -1
- package/dist/index.js +1 -1
- package/package.json +1 -1
|
@@ -4,8 +4,11 @@
|
|
|
4
4
|
*
|
|
5
5
|
* Logic:
|
|
6
6
|
* - Heartbeat received → status "working"
|
|
7
|
-
* - No heartbeat for
|
|
8
|
-
* - tmux session removed →
|
|
7
|
+
* - No heartbeat for 3s → status "idle" (Claude stopped working, but NOT needs_attention)
|
|
8
|
+
* - tmux session removed → cleanup (handled by cleanupStatusMaps)
|
|
9
|
+
*
|
|
10
|
+
* Note: "needs_attention" should only be set when Claude explicitly needs user input,
|
|
11
|
+
* not just because heartbeats stopped. A timeout means Claude is idle, not blocked.
|
|
9
12
|
*/
|
|
10
13
|
/**
|
|
11
14
|
* Start the heartbeat timeout monitor.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"heartbeat-monitor.d.ts","sourceRoot":"","sources":["../src/heartbeat-monitor.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"heartbeat-monitor.d.ts","sourceRoot":"","sources":["../src/heartbeat-monitor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAgBH;;;GAGG;AACH,wBAAgB,qBAAqB,IAAI,IAAI,CA2E5C;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,IAAI,IAAI,CAM3C"}
|
|
@@ -4,8 +4,11 @@
|
|
|
4
4
|
*
|
|
5
5
|
* Logic:
|
|
6
6
|
* - Heartbeat received → status "working"
|
|
7
|
-
* - No heartbeat for
|
|
8
|
-
* - tmux session removed →
|
|
7
|
+
* - No heartbeat for 3s → status "idle" (Claude stopped working, but NOT needs_attention)
|
|
8
|
+
* - tmux session removed → cleanup (handled by cleanupStatusMaps)
|
|
9
|
+
*
|
|
10
|
+
* Note: "needs_attention" should only be set when Claude explicitly needs user input,
|
|
11
|
+
* not just because heartbeats stopped. A timeout means Claude is idle, not blocked.
|
|
9
12
|
*/
|
|
10
13
|
import { lastHeartbeat } from './routes/heartbeat.js';
|
|
11
14
|
import { tmuxSessionStatus, broadcastStatusUpdate } from './status.js';
|
|
@@ -35,7 +38,7 @@ export function startHeartbeatMonitor() {
|
|
|
35
38
|
if (timeSinceLastBeat > HEARTBEAT_TIMEOUT_MS && status?.status === 'working') {
|
|
36
39
|
const newStatus = {
|
|
37
40
|
...status,
|
|
38
|
-
status: '
|
|
41
|
+
status: 'idle',
|
|
39
42
|
lastEvent: 'HeartbeatTimeout',
|
|
40
43
|
lastStatusChange: now,
|
|
41
44
|
};
|
|
@@ -43,7 +46,7 @@ export function startHeartbeatMonitor() {
|
|
|
43
46
|
// Persist to database
|
|
44
47
|
sessionsDb.upsertSession(sessionName, {
|
|
45
48
|
project: status.project || sessionName.split('--')[0] || '',
|
|
46
|
-
status: '
|
|
49
|
+
status: 'idle',
|
|
47
50
|
lastEvent: 'HeartbeatTimeout',
|
|
48
51
|
lastActivity: status.lastActivity,
|
|
49
52
|
lastStatusChange: now,
|
|
@@ -57,7 +60,7 @@ export function startHeartbeatMonitor() {
|
|
|
57
60
|
broadcastStatusUpdate({
|
|
58
61
|
name: sessionName,
|
|
59
62
|
project: status.project || '',
|
|
60
|
-
status: '
|
|
63
|
+
status: 'idle',
|
|
61
64
|
statusSource: 'hook',
|
|
62
65
|
lastEvent: 'HeartbeatTimeout',
|
|
63
66
|
lastStatusChange: now,
|
|
@@ -79,7 +82,7 @@ export function startHeartbeatMonitor() {
|
|
|
79
82
|
linesAdded: status.linesAdded,
|
|
80
83
|
linesRemoved: status.linesRemoved,
|
|
81
84
|
});
|
|
82
|
-
console.log(`[HeartbeatMonitor] ${sessionName} →
|
|
85
|
+
console.log(`[HeartbeatMonitor] ${sessionName} → idle (no heartbeat for ${timeSinceLastBeat}ms)`);
|
|
83
86
|
}
|
|
84
87
|
}
|
|
85
88
|
}, CHECK_INTERVAL_MS);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"heartbeat-monitor.js","sourceRoot":"","sources":["../src/heartbeat-monitor.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"heartbeat-monitor.js","sourceRoot":"","sources":["../src/heartbeat-monitor.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"heartbeat.d.ts","sourceRoot":"","sources":["../../src/routes/heartbeat.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,MAAM,EAAE,KAAK,MAAM,IAAI,UAAU,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"heartbeat.d.ts","sourceRoot":"","sources":["../../src/routes/heartbeat.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,MAAM,EAAE,KAAK,MAAM,IAAI,UAAU,EAAE,MAAM,SAAS,CAAC;AAO5D,QAAA,MAAM,MAAM,EAAE,UAAqB,CAAC;AAGpC,eAAO,MAAM,aAAa,qBAA4B,CAAC;AAsJvD,wBAAgB,qBAAqB,IAAI,MAAM,CAE9C;AAED,eAAe,MAAM,CAAC"}
|
|
@@ -4,12 +4,26 @@
|
|
|
4
4
|
*/
|
|
5
5
|
import { Router } from 'express';
|
|
6
6
|
import path from 'path';
|
|
7
|
+
import { execSync } from 'child_process';
|
|
7
8
|
import { tmuxSessionStatus, broadcastStatusUpdate } from '../status.js';
|
|
8
9
|
import * as sessionsDb from '../db/sessions.js';
|
|
9
10
|
import { getEnvironmentMetadata, getSessionEnvironment } from '../db/environments.js';
|
|
10
11
|
const router = Router();
|
|
11
12
|
// Track last heartbeat per session for timeout detection
|
|
12
13
|
export const lastHeartbeat = new Map();
|
|
14
|
+
/**
|
|
15
|
+
* Check if a tmux session exists.
|
|
16
|
+
* Prevents ghost sessions from being created by stale heartbeats.
|
|
17
|
+
*/
|
|
18
|
+
function tmuxSessionExists(sessionName) {
|
|
19
|
+
try {
|
|
20
|
+
execSync(`tmux has-session -t "${sessionName}" 2>/dev/null`);
|
|
21
|
+
return true;
|
|
22
|
+
}
|
|
23
|
+
catch {
|
|
24
|
+
return false;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
13
27
|
/**
|
|
14
28
|
* Receive heartbeat from Claude Code statusLine.
|
|
15
29
|
* Any heartbeat means Claude is actively working.
|
|
@@ -20,6 +34,12 @@ router.post('/', (req, res) => {
|
|
|
20
34
|
if (!tmux_session) {
|
|
21
35
|
return res.status(400).json({ error: 'Missing tmux_session' });
|
|
22
36
|
}
|
|
37
|
+
// Validate that the tmux session actually exists (prevents ghost sessions)
|
|
38
|
+
if (!tmuxSessionExists(tmux_session)) {
|
|
39
|
+
// Silently ignore heartbeats for non-existent sessions
|
|
40
|
+
// This can happen when a session is killed but Claude Code is still running briefly
|
|
41
|
+
return res.status(404).json({ error: 'Session not found' });
|
|
42
|
+
}
|
|
23
43
|
const now = Date.now();
|
|
24
44
|
lastHeartbeat.set(tmux_session, now);
|
|
25
45
|
// Extract project from cwd or session name
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"heartbeat.js","sourceRoot":"","sources":["../../src/routes/heartbeat.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,MAAM,EAA6B,MAAM,SAAS,CAAC;AAC5D,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAmB,MAAM,cAAc,CAAC;AACzF,OAAO,KAAK,UAAU,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAEtF,MAAM,MAAM,GAAe,MAAM,EAAE,CAAC;AAEpC,yDAAyD;AACzD,MAAM,CAAC,MAAM,aAAa,GAAG,IAAI,GAAG,EAAkB,CAAC;AA+
|
|
1
|
+
{"version":3,"file":"heartbeat.js","sourceRoot":"","sources":["../../src/routes/heartbeat.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"terminal.d.ts","sourceRoot":"","sources":["../src/terminal.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,QAAQ;IACvB,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACzC,MAAM,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI,CAAC;IAC/C,MAAM,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,GAAG,IAAI,CAAC;IAC7D,IAAI,IAAI,IAAI,CAAC;IACb,MAAM,IAAI,IAAI,CAAC;IACf,cAAc,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAChD,iBAAiB,IAAI,OAAO,CAAC;IAC7B,OAAO,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,IAAI,CAAC;CACrC;AAED,wBAAgB,cAAc,CAC5B,GAAG,EAAE,MAAM,EACX,WAAW,EAAE,MAAM,EACnB,aAAa,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAM,GACzC,QAAQ,
|
|
1
|
+
{"version":3,"file":"terminal.d.ts","sourceRoot":"","sources":["../src/terminal.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,QAAQ;IACvB,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACzC,MAAM,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI,CAAC;IAC/C,MAAM,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,GAAG,IAAI,CAAC;IAC7D,IAAI,IAAI,IAAI,CAAC;IACb,MAAM,IAAI,IAAI,CAAC;IACf,cAAc,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAChD,iBAAiB,IAAI,OAAO,CAAC;IAC7B,OAAO,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,IAAI,CAAC;CACrC;AAED,wBAAgB,cAAc,CAC5B,GAAG,EAAE,MAAM,EACX,WAAW,EAAE,MAAM,EACnB,aAAa,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAM,GACzC,QAAQ,CAwJV"}
|
package/agent/dist/terminal.js
CHANGED
|
@@ -95,7 +95,6 @@ export function createTerminal(cwd, sessionName, customEnvVars = {}) {
|
|
|
95
95
|
}
|
|
96
96
|
else {
|
|
97
97
|
// For existing sessions, just ensure mouse is enabled
|
|
98
|
-
// Environment variables were already injected when the session was created
|
|
99
98
|
// isReady is already true for existing sessions (set above)
|
|
100
99
|
setTimeout(() => {
|
|
101
100
|
exec(`tmux set-option -t "${sessionName}" mouse on`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"terminal.js","sourceRoot":"","sources":["../src/terminal.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"terminal.js","sourceRoot":"","sources":["../src/terminal.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -15,7 +15,7 @@ const program = new Command();
|
|
|
15
15
|
program
|
|
16
16
|
.name('247')
|
|
17
17
|
.description('247 - Access Claude Code from anywhere 24/7\nby The Vibe Company')
|
|
18
|
-
.version('1.0.
|
|
18
|
+
.version('1.0.2')
|
|
19
19
|
.option('-P, --profile <name>', 'Use a specific profile (dev, prod, etc.)');
|
|
20
20
|
// Add commands
|
|
21
21
|
program.addCommand(initCommand);
|