termify-agent 1.0.41 → 1.0.43
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/agent.d.ts +43 -35
- package/dist/agent.d.ts.map +1 -1
- package/dist/agent.js +405 -307
- package/dist/agent.js.map +1 -1
- package/dist/auth.d.ts +0 -1
- package/dist/auth.d.ts.map +1 -1
- package/dist/auth.js +38 -14
- package/dist/auth.js.map +1 -1
- package/dist/config.d.ts +41 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +140 -14
- package/dist/config.js.map +1 -1
- package/dist/index.js +63 -19
- package/dist/index.js.map +1 -1
- package/dist/setup.d.ts +2 -2
- package/dist/setup.d.ts.map +1 -1
- package/dist/setup.js +3 -3
- package/dist/setup.js.map +1 -1
- package/dist/stats-manager.d.ts +10 -0
- package/dist/stats-manager.d.ts.map +1 -1
- package/dist/stats-manager.js +9 -0
- package/dist/stats-manager.js.map +1 -1
- package/dist/updater.d.ts +27 -0
- package/dist/updater.d.ts.map +1 -0
- package/dist/updater.js +153 -0
- package/dist/updater.js.map +1 -0
- package/dist/ws-client.d.ts +13 -1
- package/dist/ws-client.d.ts.map +1 -1
- package/dist/ws-client.js +56 -15
- package/dist/ws-client.js.map +1 -1
- package/mcp/termify-mcp-bundle.mjs +1715 -230
- package/package.json +1 -1
- package/scripts/install.sh +374 -0
- package/scripts/package.sh +166 -0
package/dist/agent.d.ts
CHANGED
|
@@ -1,16 +1,22 @@
|
|
|
1
1
|
import { EventEmitter } from 'events';
|
|
2
2
|
import type { DashboardTerminal, DashboardWireGuard } from './dashboard.js';
|
|
3
|
+
import type { ServerEntry } from './config.js';
|
|
3
4
|
export interface AgentOptions {
|
|
4
5
|
daemon?: boolean;
|
|
5
6
|
}
|
|
6
7
|
/**
|
|
7
|
-
* Main agent class that coordinates WebSocket
|
|
8
|
+
* Main agent class that coordinates WebSocket connections and PTY/SSH management.
|
|
9
|
+
* Supports multiple simultaneous server connections.
|
|
8
10
|
*/
|
|
9
11
|
export declare class Agent extends EventEmitter {
|
|
10
|
-
|
|
12
|
+
/** Map of serverUrl -> WSClient for multi-server support */
|
|
13
|
+
private wsClients;
|
|
14
|
+
/** Map of serverUrl -> TunnelManager (tunnels are per-server) */
|
|
15
|
+
private tunnelManagers;
|
|
16
|
+
/** Map of terminalId -> serverUrl (routes terminal I/O to the server that created it) */
|
|
17
|
+
private terminalServerMap;
|
|
11
18
|
private ptyManager;
|
|
12
19
|
private sshManager;
|
|
13
|
-
private tunnelManager;
|
|
14
20
|
private statsManager;
|
|
15
21
|
private portScanner;
|
|
16
22
|
private daemonClient;
|
|
@@ -20,83 +26,85 @@ export declare class Agent extends EventEmitter {
|
|
|
20
26
|
private isRunning;
|
|
21
27
|
private agentId;
|
|
22
28
|
private agentName;
|
|
29
|
+
/** Track which servers have connected (for events) */
|
|
30
|
+
private connectedServers;
|
|
31
|
+
private primaryServerUrl;
|
|
23
32
|
constructor();
|
|
24
33
|
/**
|
|
25
|
-
*
|
|
34
|
+
* Create a WSClient-like shim that routes per-terminal calls to the correct server
|
|
26
35
|
*/
|
|
27
|
-
private
|
|
36
|
+
private createPtyWsShim;
|
|
28
37
|
/**
|
|
29
|
-
*
|
|
38
|
+
* Get the WSClient responsible for a given terminal
|
|
39
|
+
*/
|
|
40
|
+
private getWsClientForTerminal;
|
|
41
|
+
/**
|
|
42
|
+
* Get the primary server's WSClient
|
|
43
|
+
*/
|
|
44
|
+
private getPrimaryWsClient;
|
|
45
|
+
/**
|
|
46
|
+
* Broadcast to ALL connected WSClients
|
|
47
|
+
*/
|
|
48
|
+
private broadcastAll;
|
|
49
|
+
/**
|
|
50
|
+
* Setup shared PTY/SSH data handlers (these route output to the correct server)
|
|
51
|
+
*/
|
|
52
|
+
private setupSharedHandlers;
|
|
53
|
+
/**
|
|
54
|
+
* Add a server connection with all event wiring
|
|
55
|
+
*/
|
|
56
|
+
addServerConnection(entry: ServerEntry): void;
|
|
57
|
+
/**
|
|
58
|
+
* Start the agent — connects to all configured servers
|
|
30
59
|
*/
|
|
31
60
|
start(options?: AgentOptions): Promise<boolean>;
|
|
32
61
|
/**
|
|
33
|
-
* Stop the agent
|
|
62
|
+
* Stop the agent — disconnects from ALL servers
|
|
34
63
|
*/
|
|
35
64
|
stop(): void;
|
|
36
65
|
/**
|
|
37
|
-
* Hibernate the agent
|
|
38
|
-
* Used during graceful shutdown (Cmd+Q, SIGTERM) to preserve terminal state.
|
|
66
|
+
* Hibernate the agent — kills PTYs silently, disconnects ALL servers
|
|
39
67
|
*/
|
|
40
68
|
hibernate(): void;
|
|
41
69
|
/**
|
|
42
|
-
* Start collecting and sending system stats
|
|
70
|
+
* Start collecting and sending system stats — broadcast to ALL servers
|
|
43
71
|
*/
|
|
44
72
|
private startStatsCollection;
|
|
45
73
|
/**
|
|
46
|
-
* Initialize WireGuard
|
|
47
|
-
* Non-blocking — called with .catch() so it never delays the connection.
|
|
74
|
+
* Initialize WireGuard (primary server only)
|
|
48
75
|
*/
|
|
49
76
|
private initWireGuard;
|
|
50
77
|
/**
|
|
51
|
-
* Report WireGuard status to server
|
|
78
|
+
* Report WireGuard status to primary server
|
|
52
79
|
*/
|
|
53
80
|
private reportWgStatus;
|
|
54
81
|
/**
|
|
55
82
|
* Handle shutdown signals
|
|
56
83
|
*/
|
|
57
84
|
private handleShutdown;
|
|
58
|
-
/**
|
|
59
|
-
* Check if agent is running
|
|
60
|
-
*/
|
|
61
85
|
get running(): boolean;
|
|
62
|
-
/**
|
|
63
|
-
* Check if connected to server
|
|
64
|
-
*/
|
|
65
86
|
get connected(): boolean;
|
|
66
|
-
/**
|
|
67
|
-
* Get current agent ID
|
|
68
|
-
*/
|
|
69
87
|
get id(): string | null;
|
|
70
|
-
/**
|
|
71
|
-
* Get current agent name
|
|
72
|
-
*/
|
|
73
88
|
get name(): string | null;
|
|
74
|
-
/**
|
|
75
|
-
* Get number of active terminals (local + SSH)
|
|
76
|
-
*/
|
|
77
89
|
get terminalCount(): number;
|
|
78
90
|
/**
|
|
79
|
-
* Get
|
|
91
|
+
* Get number of connected servers
|
|
80
92
|
*/
|
|
93
|
+
get serverCount(): number;
|
|
81
94
|
getStatus(): {
|
|
82
95
|
running: boolean;
|
|
83
96
|
connected: boolean;
|
|
84
97
|
agentId: string | null;
|
|
85
98
|
agentName: string | null;
|
|
86
99
|
terminalCount: number;
|
|
100
|
+
serverCount: number;
|
|
87
101
|
config: {
|
|
88
102
|
serverUrl: string;
|
|
89
103
|
machineId: string;
|
|
90
104
|
lastConnected: string | null;
|
|
91
105
|
};
|
|
92
106
|
};
|
|
93
|
-
/**
|
|
94
|
-
* Get combined list of all terminals for dashboard display
|
|
95
|
-
*/
|
|
96
107
|
getTerminals(): DashboardTerminal[];
|
|
97
|
-
/**
|
|
98
|
-
* Get WireGuard info for dashboard display
|
|
99
|
-
*/
|
|
100
108
|
getWireGuardInfo(): DashboardWireGuard;
|
|
101
109
|
}
|
|
102
110
|
//# sourceMappingURL=agent.d.ts.map
|
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;AAKtC,OAAO,KAAK,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAKtC,OAAO,KAAK,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAW5E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAG/C,MAAM,WAAW,YAAY;IAC3B,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED;;;GAGG;AACH,qBAAa,KAAM,SAAQ,YAAY;IACrC,4DAA4D;IAC5D,OAAO,CAAC,SAAS,CAAoC;IACrD,iEAAiE;IACjE,OAAO,CAAC,cAAc,CAAyC;IAC/D,yFAAyF;IACzF,OAAO,CAAC,iBAAiB,CAAkC;IAE3D,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,SAAS,CAAmB;IACpC,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,OAAO,CAAuB;IACtC,OAAO,CAAC,SAAS,CAAuB;IACxC,sDAAsD;IACtD,OAAO,CAAC,gBAAgB,CAA0B;IAClD,OAAO,CAAC,gBAAgB,CAAuB;;IAmD/C;;OAEG;IACH,OAAO,CAAC,eAAe;IA+BvB;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAO9B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAS1B;;OAEG;IACH,OAAO,CAAC,YAAY;IAMpB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IA2C3B;;OAEG;IACH,mBAAmB,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI;IAsa7C;;OAEG;IACG,KAAK,CAAC,OAAO,GAAE,YAAiB,GAAG,OAAO,CAAC,OAAO,CAAC;IAqDzD;;OAEG;IACH,IAAI,IAAI,IAAI;IAmCZ;;OAEG;IACH,SAAS,IAAI,IAAI;IAiCjB;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAc5B;;OAEG;YACW,aAAa;IAmB3B;;OAEG;IACH,OAAO,CAAC,cAAc;IAgBtB;;OAEG;IACH,OAAO,CAAC,cAAc;IAMtB,IAAI,OAAO,IAAI,OAAO,CAErB;IAED,IAAI,SAAS,IAAI,OAAO,CAEvB;IAED,IAAI,EAAE,IAAI,MAAM,GAAG,IAAI,CAEtB;IAED,IAAI,IAAI,IAAI,MAAM,GAAG,IAAI,CAExB;IAED,IAAI,aAAa,IAAI,MAAM,CAE1B;IAED;;OAEG;IACH,IAAI,WAAW,IAAI,MAAM,CAExB;IAED,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,WAAW,EAAE,MAAM,CAAC;QACpB,MAAM,EAAE;YACN,SAAS,EAAE,MAAM,CAAC;YAClB,SAAS,EAAE,MAAM,CAAC;YAClB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;SAC9B,CAAC;KACH;IAiBD,YAAY,IAAI,iBAAiB,EAAE;IAkBnC,gBAAgB,IAAI,kBAAkB;CAQvC"}
|