termify-agent 1.0.15 → 1.0.19
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/binaries/stats-agent-darwin-arm64 +0 -0
- package/binaries/stats-agent-darwin-x64 +0 -0
- package/binaries/stats-agent-linux-arm64 +0 -0
- package/binaries/stats-agent-linux-x64 +0 -0
- package/dist/agent.d.ts +0 -1
- package/dist/agent.d.ts.map +1 -1
- package/dist/agent.js +2 -28
- package/dist/agent.js.map +1 -1
- package/dist/stats-manager.d.ts.map +1 -1
- package/dist/stats-manager.js +5 -1
- package/dist/stats-manager.js.map +1 -1
- package/package.json +3 -2
- package/scripts/postinstall.js +146 -44
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
package/dist/agent.d.ts
CHANGED
package/dist/agent.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAStC,MAAM,WAAW,YAAY;IAC3B,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED;;GAEG;AACH,qBAAa,KAAM,SAAQ,YAAY;IACrC,OAAO,CAAC,QAAQ,CAAW;IAC3B,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAStC,MAAM,WAAW,YAAY;IAC3B,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED;;GAEG;AACH,qBAAa,KAAM,SAAQ,YAAY;IACrC,OAAO,CAAC,QAAQ,CAAW;IAC3B,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,OAAO,CAAuB;IACtC,OAAO,CAAC,SAAS,CAAuB;;IAmBxC;;OAEG;IACH,OAAO,CAAC,aAAa;IAgHrB;;OAEG;IACG,KAAK,CAAC,OAAO,GAAE,YAAiB,GAAG,OAAO,CAAC,OAAO,CAAC;IAgCzD;;OAEG;IACH,IAAI,IAAI,IAAI;IAuBZ;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAe5B;;OAEG;IACH,OAAO,CAAC,cAAc;IAMtB;;OAEG;IACH,IAAI,OAAO,IAAI,OAAO,CAErB;IAED;;OAEG;IACH,IAAI,SAAS,IAAI,OAAO,CAEvB;IAED;;OAEG;IACH,IAAI,EAAE,IAAI,MAAM,GAAG,IAAI,CAEtB;IAED;;OAEG;IACH,IAAI,IAAI,IAAI,MAAM,GAAG,IAAI,CAExB;IAED;;OAEG;IACH,IAAI,aAAa,IAAI,MAAM,CAE1B;IAED;;OAEG;IACH,SAAS,IAAI;QACX,OAAO,EAAE,OAAO,CAAC;QACjB,SAAS,EAAE,OAAO,CAAC;QACnB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;QACvB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;QACzB,aAAa,EAAE,MAAM,CAAC;QACtB,MAAM,EAAE;YACN,SAAS,EAAE,MAAM,CAAC;YAClB,SAAS,EAAE,MAAM,CAAC;YAClB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;SAC9B,CAAC;KACH;CAeF"}
|
package/dist/agent.js
CHANGED
|
@@ -15,7 +15,6 @@ export class Agent extends EventEmitter {
|
|
|
15
15
|
sshManager;
|
|
16
16
|
statsManager;
|
|
17
17
|
daemonClient;
|
|
18
|
-
useDaemonForStats = false;
|
|
19
18
|
isRunning = false;
|
|
20
19
|
agentId = null;
|
|
21
20
|
agentName = null;
|
|
@@ -155,7 +154,6 @@ export class Agent extends EventEmitter {
|
|
|
155
154
|
const daemonConnected = await this.daemonClient.connect();
|
|
156
155
|
if (daemonConnected) {
|
|
157
156
|
logger.info('Connected to termify-daemon for process monitoring');
|
|
158
|
-
this.useDaemonForStats = true;
|
|
159
157
|
}
|
|
160
158
|
else {
|
|
161
159
|
logger.warn('termify-daemon not available, falling back to stats-agent and pgrep');
|
|
@@ -188,35 +186,11 @@ export class Agent extends EventEmitter {
|
|
|
188
186
|
* Start collecting and sending system stats
|
|
189
187
|
*/
|
|
190
188
|
startStatsCollection() {
|
|
191
|
-
//
|
|
192
|
-
|
|
193
|
-
logger.info('Using termify-daemon for stats collection');
|
|
194
|
-
this.daemonClient.on('stats', (stats) => {
|
|
195
|
-
// Convert daemon stats to full stats format
|
|
196
|
-
// Note: daemon provides basic CPU/RAM, for full stats we still use stats-agent
|
|
197
|
-
this.wsClient.sendStats({
|
|
198
|
-
cpu: [],
|
|
199
|
-
cpuAvg: stats.cpuPercent,
|
|
200
|
-
memory: {
|
|
201
|
-
total: stats.memTotal,
|
|
202
|
-
used: stats.memUsed,
|
|
203
|
-
swapTotal: 0,
|
|
204
|
-
swapUsed: 0,
|
|
205
|
-
},
|
|
206
|
-
disks: [],
|
|
207
|
-
network: [],
|
|
208
|
-
processes: [],
|
|
209
|
-
});
|
|
210
|
-
});
|
|
211
|
-
this.daemonClient.startStatsCollection(5000);
|
|
212
|
-
return;
|
|
213
|
-
}
|
|
214
|
-
// Fall back to stats-agent for full stats
|
|
215
|
-
// Set up callback to send stats via WebSocket
|
|
189
|
+
// Always use stats-agent for complete system metrics
|
|
190
|
+
// (daemon only provides basic CPU/RAM, missing disks, network, per-core CPU, swap)
|
|
216
191
|
this.statsManager.setStatsCallback((stats) => {
|
|
217
192
|
this.wsClient.sendStats(stats);
|
|
218
193
|
});
|
|
219
|
-
// Start the stats-agent process
|
|
220
194
|
const started = this.statsManager.start();
|
|
221
195
|
if (started) {
|
|
222
196
|
logger.info('Stats collection started via stats-agent');
|
package/dist/agent.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent.js","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,eAAe,
|
|
1
|
+
{"version":3,"file":"agent.js","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stats-manager.d.ts","sourceRoot":"","sources":["../src/stats-manager.ts"],"names":[],"mappings":"AA+CA;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,GAAG,EAAE,MAAM,EAAE,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE;QACN,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;QACb,SAAS,EAAE,MAAM,CAAC;QAClB,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC;IACF,KAAK,EAAE,KAAK,CAAC;QACX,IAAI,EAAE,MAAM,CAAC;QACb,SAAS,EAAE,MAAM,CAAC;QAClB,KAAK,EAAE,MAAM,CAAC;KACf,CAAC,CAAC;IACH,OAAO,EAAE,KAAK,CAAC;QACb,SAAS,EAAE,MAAM,CAAC;QAClB,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,EAAE,MAAM,CAAC;QAClB,QAAQ,EAAE,MAAM,CAAC;QACjB,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC,CAAC;IACH,SAAS,EAAE,KAAK,CAAC;QACf,GAAG,EAAE,MAAM,CAAC;QACZ,IAAI,EAAE,MAAM,CAAC;QACb,GAAG,EAAE,MAAM,CAAC;QACZ,MAAM,EAAE,MAAM,CAAC;QACf,GAAG,EAAE,MAAM,CAAC;KACb,CAAC,CAAC;IACH,EAAE,CAAC,EAAE;QACH,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,EAAE,MAAM,CAAC;QACf,OAAO,EAAE,MAAM,CAAC;QAChB,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;CACH;AAED,KAAK,aAAa,GAAG,CAAC,KAAK,EAAE,SAAS,KAAK,IAAI,CAAC;AAEhD;;GAEG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,OAAO,CAA6B;IAC5C,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,aAAa,CAA8B;IACnD,OAAO,CAAC,MAAM,CAAM;IACpB,OAAO,CAAC,eAAe,CAAS;gBAEpB,eAAe,SAAI;IAI/B;;OAEG;IACH,KAAK,IAAI,OAAO;IAmDhB;;OAEG;IACH,IAAI,IAAI,IAAI;IAaZ;;OAEG;IACH,gBAAgB,CAAC,QAAQ,EAAE,aAAa,GAAG,IAAI;IAI/C;;OAEG;IACH,OAAO,CAAC,UAAU;IAuBlB;;OAEG;IACH,OAAO,CAAC,YAAY;
|
|
1
|
+
{"version":3,"file":"stats-manager.d.ts","sourceRoot":"","sources":["../src/stats-manager.ts"],"names":[],"mappings":"AA+CA;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,GAAG,EAAE,MAAM,EAAE,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE;QACN,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;QACb,SAAS,EAAE,MAAM,CAAC;QAClB,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC;IACF,KAAK,EAAE,KAAK,CAAC;QACX,IAAI,EAAE,MAAM,CAAC;QACb,SAAS,EAAE,MAAM,CAAC;QAClB,KAAK,EAAE,MAAM,CAAC;KACf,CAAC,CAAC;IACH,OAAO,EAAE,KAAK,CAAC;QACb,SAAS,EAAE,MAAM,CAAC;QAClB,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,EAAE,MAAM,CAAC;QAClB,QAAQ,EAAE,MAAM,CAAC;QACjB,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC,CAAC;IACH,SAAS,EAAE,KAAK,CAAC;QACf,GAAG,EAAE,MAAM,CAAC;QACZ,IAAI,EAAE,MAAM,CAAC;QACb,GAAG,EAAE,MAAM,CAAC;QACZ,MAAM,EAAE,MAAM,CAAC;QACf,GAAG,EAAE,MAAM,CAAC;KACb,CAAC,CAAC;IACH,EAAE,CAAC,EAAE;QACH,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,EAAE,MAAM,CAAC;QACf,OAAO,EAAE,MAAM,CAAC;QAChB,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;CACH;AAED,KAAK,aAAa,GAAG,CAAC,KAAK,EAAE,SAAS,KAAK,IAAI,CAAC;AAEhD;;GAEG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,OAAO,CAA6B;IAC5C,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,aAAa,CAA8B;IACnD,OAAO,CAAC,MAAM,CAAM;IACpB,OAAO,CAAC,eAAe,CAAS;gBAEpB,eAAe,SAAI;IAI/B;;OAEG;IACH,KAAK,IAAI,OAAO;IAmDhB;;OAEG;IACH,IAAI,IAAI,IAAI;IAaZ;;OAEG;IACH,gBAAgB,CAAC,QAAQ,EAAE,aAAa,GAAG,IAAI;IAI/C;;OAEG;IACH,OAAO,CAAC,UAAU;IAuBlB;;OAEG;IACH,OAAO,CAAC,YAAY;IA6BpB;;OAEG;IACH,OAAO,CAAC,UAAU;IAyClB;;OAEG;IACH,IAAI,OAAO,IAAI,OAAO,CAErB;CACF"}
|
package/dist/stats-manager.js
CHANGED
|
@@ -115,7 +115,11 @@ export class StatsManager {
|
|
|
115
115
|
swapTotal: rust.memory.swap_total,
|
|
116
116
|
swapUsed: rust.memory.swap_used,
|
|
117
117
|
},
|
|
118
|
-
disks: rust.disks
|
|
118
|
+
disks: rust.disks
|
|
119
|
+
// Filter out small volumes (< 1GB) - usually app containers/DMGs
|
|
120
|
+
.filter((d) => d.total > 1024 * 1024 * 1024)
|
|
121
|
+
// Remove duplicates by name (macOS APFS reports system + data volumes)
|
|
122
|
+
.filter((d, i, arr) => arr.findIndex((x) => x.name === d.name) === i),
|
|
119
123
|
network: rust.network.map((n) => ({
|
|
120
124
|
interface: n.interface,
|
|
121
125
|
rxBytes: n.rx_bytes,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stats-manager.js","sourceRoot":"","sources":["../src/stats-manager.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"stats-manager.js","sourceRoot":"","sources":["../src/stats-manager.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "termify-agent",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.19",
|
|
4
4
|
"description": "Termify Agent CLI - Connect your local terminal to Termify",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -46,6 +46,7 @@
|
|
|
46
46
|
"files": [
|
|
47
47
|
"dist",
|
|
48
48
|
"bin",
|
|
49
|
-
"scripts"
|
|
49
|
+
"scripts",
|
|
50
|
+
"binaries"
|
|
50
51
|
]
|
|
51
52
|
}
|
package/scripts/postinstall.js
CHANGED
|
@@ -5,66 +5,142 @@
|
|
|
5
5
|
*
|
|
6
6
|
* Runs automatically after `npm install` to:
|
|
7
7
|
* 1. Rebuild node-pty native module for the current platform
|
|
8
|
-
* 2.
|
|
9
|
-
* 3.
|
|
8
|
+
* 2. Install termify-daemon binary (bundled first, download as fallback)
|
|
9
|
+
* 3. Install stats-agent binary (bundled first, download as fallback)
|
|
10
10
|
*/
|
|
11
11
|
|
|
12
12
|
import { execSync } from 'child_process';
|
|
13
|
-
import { createWriteStream, mkdirSync, chmodSync, existsSync, unlinkSync } from 'fs';
|
|
14
|
-
import { join } from 'path';
|
|
13
|
+
import { createWriteStream, mkdirSync, chmodSync, existsSync, unlinkSync, copyFileSync } from 'fs';
|
|
14
|
+
import { join, dirname } from 'path';
|
|
15
15
|
import { homedir, platform, arch } from 'os';
|
|
16
16
|
import { get } from 'https';
|
|
17
|
+
import { fileURLToPath } from 'url';
|
|
18
|
+
|
|
19
|
+
const __filename = fileURLToPath(import.meta.url);
|
|
20
|
+
const __dirname = dirname(__filename);
|
|
17
21
|
|
|
18
22
|
const DOWNLOAD_BASE_URL = 'https://termify.justdiego.com/api/downloads';
|
|
19
23
|
const TERMIFY_DIR = join(homedir(), '.termify');
|
|
20
24
|
const DAEMON_PATH = join(TERMIFY_DIR, 'termify-daemon');
|
|
21
25
|
const STATS_AGENT_PATH = join(TERMIFY_DIR, 'stats-agent');
|
|
22
26
|
|
|
27
|
+
/**
|
|
28
|
+
* Test if node-pty actually works by spawning a shell
|
|
29
|
+
*/
|
|
30
|
+
function testNodePty() {
|
|
31
|
+
try {
|
|
32
|
+
const testScript = `
|
|
33
|
+
const pty = require('node-pty');
|
|
34
|
+
const term = pty.spawn(process.platform === 'win32' ? 'cmd.exe' : '/bin/sh', [], {
|
|
35
|
+
name: 'xterm-256color',
|
|
36
|
+
cols: 80,
|
|
37
|
+
rows: 24,
|
|
38
|
+
cwd: process.env.HOME || process.env.USERPROFILE || '/',
|
|
39
|
+
env: process.env
|
|
40
|
+
});
|
|
41
|
+
term.kill();
|
|
42
|
+
process.exit(0);
|
|
43
|
+
`;
|
|
44
|
+
execSync(`node -e "${testScript.replace(/"/g, '\\"').replace(/\n/g, ' ')}"`, {
|
|
45
|
+
stdio: 'pipe',
|
|
46
|
+
timeout: 10000,
|
|
47
|
+
cwd: process.cwd(),
|
|
48
|
+
});
|
|
49
|
+
return true;
|
|
50
|
+
} catch (err) {
|
|
51
|
+
return false;
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
|
|
23
55
|
/**
|
|
24
56
|
* Step 1: Rebuild node-pty with improved error handling
|
|
57
|
+
* For Node.js v24+, prebuilds may not be compatible, so we compile from source
|
|
25
58
|
*/
|
|
26
59
|
function rebuildNodePty() {
|
|
27
|
-
console.log('[termify-agent]
|
|
60
|
+
console.log('[termify-agent] Setting up node-pty for your platform...');
|
|
61
|
+
console.log(`[termify-agent] Node.js version: ${process.version}`);
|
|
62
|
+
|
|
63
|
+
// First, check if node-pty already works
|
|
64
|
+
if (testNodePty()) {
|
|
65
|
+
console.log('[termify-agent] node-pty is already working.');
|
|
66
|
+
return true;
|
|
67
|
+
}
|
|
28
68
|
|
|
69
|
+
console.log('[termify-agent] node-pty prebuilt not working, attempting rebuild...');
|
|
70
|
+
|
|
71
|
+
// Try npm rebuild first
|
|
29
72
|
try {
|
|
30
|
-
// First try regular rebuild
|
|
31
73
|
execSync('npm rebuild node-pty', {
|
|
32
74
|
stdio: 'pipe',
|
|
33
75
|
timeout: 180000,
|
|
34
76
|
});
|
|
35
|
-
|
|
36
|
-
|
|
77
|
+
|
|
78
|
+
if (testNodePty()) {
|
|
79
|
+
console.log('[termify-agent] node-pty rebuilt successfully.');
|
|
80
|
+
return true;
|
|
81
|
+
}
|
|
37
82
|
} catch (err) {
|
|
38
|
-
|
|
39
|
-
|
|
83
|
+
// Continue to next step
|
|
84
|
+
}
|
|
40
85
|
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
86
|
+
// Prebuilds don't work (common with Node.js v24+), compile from source with node-gyp
|
|
87
|
+
console.log('[termify-agent] Prebuilds not compatible, compiling from source...');
|
|
88
|
+
console.log('[termify-agent] This may take a minute (requires Xcode Command Line Tools on macOS)...');
|
|
89
|
+
|
|
90
|
+
try {
|
|
91
|
+
const nodePtyDir = join(process.cwd(), 'node_modules', 'node-pty');
|
|
92
|
+
execSync('npx node-gyp rebuild', {
|
|
93
|
+
stdio: 'inherit',
|
|
94
|
+
timeout: 300000,
|
|
95
|
+
cwd: nodePtyDir,
|
|
96
|
+
});
|
|
97
|
+
|
|
98
|
+
if (testNodePty()) {
|
|
99
|
+
console.log('[termify-agent] node-pty compiled from source successfully.');
|
|
48
100
|
return true;
|
|
49
|
-
} catch (err2) {
|
|
50
|
-
console.error('[termify-agent] CRITICAL: node-pty installation failed.');
|
|
51
|
-
console.error('[termify-agent] Terminal features will NOT work.');
|
|
52
|
-
console.error('[termify-agent] Manual fix required:');
|
|
53
|
-
console.error(`[termify-agent] cd ${process.cwd()}`);
|
|
54
|
-
console.error('[termify-agent] npm rebuild node-pty');
|
|
55
|
-
console.error('[termify-agent]');
|
|
56
|
-
console.error('[termify-agent] If that fails, try:');
|
|
57
|
-
console.error('[termify-agent] rm -rf node_modules/node-pty');
|
|
58
|
-
console.error('[termify-agent] npm install node-pty');
|
|
59
|
-
return false;
|
|
60
101
|
}
|
|
102
|
+
} catch (err) {
|
|
103
|
+
console.warn('[termify-agent] Warning: node-gyp rebuild failed.');
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
// Last resort: try removing and reinstalling
|
|
107
|
+
console.warn('[termify-agent] Attempting full reinstall of node-pty...');
|
|
108
|
+
try {
|
|
109
|
+
execSync('rm -rf node_modules/node-pty && npm install node-pty', {
|
|
110
|
+
stdio: 'pipe',
|
|
111
|
+
timeout: 180000,
|
|
112
|
+
});
|
|
113
|
+
|
|
114
|
+
// Try node-gyp again after fresh install
|
|
115
|
+
const nodePtyDir = join(process.cwd(), 'node_modules', 'node-pty');
|
|
116
|
+
execSync('npx node-gyp rebuild', {
|
|
117
|
+
stdio: 'inherit',
|
|
118
|
+
timeout: 300000,
|
|
119
|
+
cwd: nodePtyDir,
|
|
120
|
+
});
|
|
121
|
+
|
|
122
|
+
if (testNodePty()) {
|
|
123
|
+
console.log('[termify-agent] node-pty reinstalled and compiled successfully.');
|
|
124
|
+
return true;
|
|
125
|
+
}
|
|
126
|
+
} catch (err2) {
|
|
127
|
+
// Continue to error message
|
|
61
128
|
}
|
|
129
|
+
|
|
130
|
+
console.error('[termify-agent] CRITICAL: node-pty installation failed.');
|
|
131
|
+
console.error('[termify-agent] Terminal features will NOT work.');
|
|
132
|
+
console.error('[termify-agent] ');
|
|
133
|
+
console.error('[termify-agent] Manual fix required:');
|
|
134
|
+
console.error('[termify-agent] 1. Install Xcode Command Line Tools: xcode-select --install');
|
|
135
|
+
console.error(`[termify-agent] 2. cd ${join(process.cwd(), 'node_modules', 'node-pty')}`);
|
|
136
|
+
console.error('[termify-agent] 3. npx node-gyp rebuild');
|
|
137
|
+
return false;
|
|
62
138
|
}
|
|
63
139
|
|
|
64
140
|
/**
|
|
65
|
-
* Step 2:
|
|
141
|
+
* Step 2: Install termify-daemon binary (bundled first, download as fallback)
|
|
66
142
|
*/
|
|
67
|
-
async function
|
|
143
|
+
async function installDaemon() {
|
|
68
144
|
const plat = platform();
|
|
69
145
|
const ar = arch();
|
|
70
146
|
|
|
@@ -87,21 +163,34 @@ async function downloadDaemon() {
|
|
|
87
163
|
|
|
88
164
|
// Skip if already exists (user can delete to force re-download)
|
|
89
165
|
if (existsSync(DAEMON_PATH)) {
|
|
90
|
-
console.log('[termify-agent] termify-daemon binary already exists, skipping
|
|
166
|
+
console.log('[termify-agent] termify-daemon binary already exists, skipping.');
|
|
91
167
|
return true;
|
|
92
168
|
}
|
|
93
169
|
|
|
94
|
-
console.log(`[termify-agent] Downloading termify-daemon for ${binaryName}...`);
|
|
95
|
-
|
|
96
170
|
// Ensure ~/.termify directory exists
|
|
97
171
|
mkdirSync(TERMIFY_DIR, { recursive: true });
|
|
98
172
|
|
|
173
|
+
// Try bundled binary first
|
|
174
|
+
const bundledPath = join(__dirname, '..', 'binaries', `termify-daemon-${binaryName}`);
|
|
175
|
+
if (existsSync(bundledPath)) {
|
|
176
|
+
try {
|
|
177
|
+
copyFileSync(bundledPath, DAEMON_PATH);
|
|
178
|
+
chmodSync(DAEMON_PATH, 0o755);
|
|
179
|
+
console.log(`[termify-agent] termify-daemon installed from bundled binary (${binaryName})`);
|
|
180
|
+
return true;
|
|
181
|
+
} catch (err) {
|
|
182
|
+
console.warn(`[termify-agent] Warning: Failed to copy bundled termify-daemon: ${err.message}`);
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
// Fallback: download from server
|
|
187
|
+
console.log(`[termify-agent] Downloading termify-daemon for ${binaryName}...`);
|
|
99
188
|
const url = `${DOWNLOAD_BASE_URL}/termify-daemon/${binaryName}`;
|
|
100
189
|
|
|
101
190
|
try {
|
|
102
191
|
await downloadFile(url, DAEMON_PATH);
|
|
103
192
|
chmodSync(DAEMON_PATH, 0o755);
|
|
104
|
-
console.log(`[termify-agent] termify-daemon installed to ${DAEMON_PATH}`);
|
|
193
|
+
console.log(`[termify-agent] termify-daemon downloaded and installed to ${DAEMON_PATH}`);
|
|
105
194
|
return true;
|
|
106
195
|
} catch (err) {
|
|
107
196
|
console.warn(`[termify-agent] Warning: Failed to download termify-daemon: ${err.message}`);
|
|
@@ -111,9 +200,9 @@ async function downloadDaemon() {
|
|
|
111
200
|
}
|
|
112
201
|
|
|
113
202
|
/**
|
|
114
|
-
* Step 3:
|
|
203
|
+
* Step 3: Install stats-agent binary (bundled first, download as fallback)
|
|
115
204
|
*/
|
|
116
|
-
async function
|
|
205
|
+
async function installStatsAgent() {
|
|
117
206
|
const plat = platform();
|
|
118
207
|
const ar = arch();
|
|
119
208
|
|
|
@@ -136,21 +225,34 @@ async function downloadStatsAgent() {
|
|
|
136
225
|
|
|
137
226
|
// Skip if already exists
|
|
138
227
|
if (existsSync(STATS_AGENT_PATH)) {
|
|
139
|
-
console.log('[termify-agent] stats-agent binary already exists, skipping
|
|
228
|
+
console.log('[termify-agent] stats-agent binary already exists, skipping.');
|
|
140
229
|
return;
|
|
141
230
|
}
|
|
142
231
|
|
|
143
|
-
console.log(`[termify-agent] Downloading stats-agent for ${binaryName}...`);
|
|
144
|
-
|
|
145
232
|
// Ensure ~/.termify directory exists
|
|
146
233
|
mkdirSync(TERMIFY_DIR, { recursive: true });
|
|
147
234
|
|
|
235
|
+
// Try bundled binary first
|
|
236
|
+
const bundledPath = join(__dirname, '..', 'binaries', `stats-agent-${binaryName}`);
|
|
237
|
+
if (existsSync(bundledPath)) {
|
|
238
|
+
try {
|
|
239
|
+
copyFileSync(bundledPath, STATS_AGENT_PATH);
|
|
240
|
+
chmodSync(STATS_AGENT_PATH, 0o755);
|
|
241
|
+
console.log(`[termify-agent] stats-agent installed from bundled binary (${binaryName})`);
|
|
242
|
+
return;
|
|
243
|
+
} catch (err) {
|
|
244
|
+
console.warn(`[termify-agent] Warning: Failed to copy bundled stats-agent: ${err.message}`);
|
|
245
|
+
}
|
|
246
|
+
}
|
|
247
|
+
|
|
248
|
+
// Fallback: download from server
|
|
249
|
+
console.log(`[termify-agent] Downloading stats-agent for ${binaryName}...`);
|
|
148
250
|
const url = `${DOWNLOAD_BASE_URL}/stats-agent/${binaryName}`;
|
|
149
251
|
|
|
150
252
|
try {
|
|
151
253
|
await downloadFile(url, STATS_AGENT_PATH);
|
|
152
254
|
chmodSync(STATS_AGENT_PATH, 0o755);
|
|
153
|
-
console.log(`[termify-agent] stats-agent installed to ${STATS_AGENT_PATH}`);
|
|
255
|
+
console.log(`[termify-agent] stats-agent downloaded and installed to ${STATS_AGENT_PATH}`);
|
|
154
256
|
} catch (err) {
|
|
155
257
|
console.warn(`[termify-agent] Warning: Failed to download stats-agent: ${err.message}`);
|
|
156
258
|
console.warn('[termify-agent] Detailed system stats collection will be disabled.');
|
|
@@ -213,16 +315,16 @@ async function main() {
|
|
|
213
315
|
console.error('[termify-agent] WARNING: Terminal features may not work until node-pty is fixed.');
|
|
214
316
|
}
|
|
215
317
|
|
|
216
|
-
// Step 2:
|
|
318
|
+
// Step 2: Install termify-daemon (efficient process monitoring)
|
|
217
319
|
try {
|
|
218
|
-
await
|
|
320
|
+
await installDaemon();
|
|
219
321
|
} catch (err) {
|
|
220
322
|
console.warn(`[termify-agent] Warning: ${err.message}`);
|
|
221
323
|
}
|
|
222
324
|
|
|
223
|
-
// Step 3:
|
|
325
|
+
// Step 3: Install stats-agent (system stats collection)
|
|
224
326
|
try {
|
|
225
|
-
await
|
|
327
|
+
await installStatsAgent();
|
|
226
328
|
} catch (err) {
|
|
227
329
|
// Non-fatal - stats is optional
|
|
228
330
|
console.warn(`[termify-agent] Warning: ${err.message}`);
|