@openclaw-cloud/agent-controller 0.9.4 → 0.9.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.
@@ -1,19 +1,30 @@
1
1
  import fs from 'node:fs/promises';
2
- import { homedir } from 'node:os';
2
+ import { homedir, userInfo } from 'node:os';
3
3
  import { join } from 'node:path';
4
4
  import { execAsync } from '../utils/exec.js';
5
5
  import { which } from './common.js';
6
- export async function installLinux(config) {
7
- const home = homedir();
8
- const systemdDir = join(home, '.config', 'systemd', 'user');
9
- const servicePath = join(systemdDir, 'agent-controller.service');
10
- const nodePath = process.execPath;
11
- let agentControllerPath = await which('agent-controller');
12
- if (!agentControllerPath) {
13
- agentControllerPath = join(nodePath, '..', 'agent-controller');
6
+ const SYSTEM_SERVICE_PATH = '/etc/systemd/system/agent-controller.service';
7
+ const DBUS_ERROR_PATTERNS = [
8
+ 'No medium found',
9
+ 'Failed to connect to bus',
10
+ 'No such file or directory',
11
+ ];
12
+ async function isUserSystemdAvailable() {
13
+ try {
14
+ await execAsync('systemctl --user status 2>&1');
15
+ return true;
14
16
  }
15
- await fs.mkdir(systemdDir, { recursive: true });
16
- const service = `[Unit]
17
+ catch (err) {
18
+ const msg = err instanceof Error ? err.message : String(err);
19
+ if (DBUS_ERROR_PATTERNS.some(pattern => msg.includes(pattern))) {
20
+ return false;
21
+ }
22
+ // Non-D-Bus errors (e.g. no services running) — user systemd is still available
23
+ return true;
24
+ }
25
+ }
26
+ function buildUserService(nodePath, agentControllerPath, config) {
27
+ return `[Unit]
17
28
  Description=OpenClaw Agent Controller
18
29
  After=network.target
19
30
 
@@ -30,6 +41,42 @@ ExecStart="${nodePath}" "${agentControllerPath}"
30
41
  [Install]
31
42
  WantedBy=default.target
32
43
  `;
44
+ }
45
+ function buildSystemService(nodePath, agentControllerPath, config) {
46
+ const home = homedir();
47
+ const info = userInfo();
48
+ const isRoot = info.uid === 0;
49
+ const userGroupLines = isRoot ? '' : `User=${info.username}\nGroup=${info.gid}\n`;
50
+ return `[Unit]
51
+ Description=OpenClaw Agent Controller
52
+ After=network.target
53
+
54
+ [Service]
55
+ Type=simple
56
+ Restart=always
57
+ RestartSec=10
58
+ ${userGroupLines}WorkingDirectory=${home}
59
+ Environment=HOME=${home}
60
+ Environment=CENTRIFUGO_URL=${config.centrifugoUrl}
61
+ Environment=AGENT_TOKEN=${config.agentToken}
62
+ Environment=AGENT_ID=${config.agentId}
63
+ Environment=BACKEND_URL=${config.backendInternalUrl}
64
+ ExecStart="${nodePath}" "${agentControllerPath}"
65
+
66
+ [Install]
67
+ WantedBy=multi-user.target
68
+ `;
69
+ }
70
+ export async function installLinux(config) {
71
+ const home = homedir();
72
+ const systemdDir = join(home, '.config', 'systemd', 'user');
73
+ const userServicePath = join(systemdDir, 'agent-controller.service');
74
+ const nodePath = process.execPath;
75
+ let agentControllerPath = await which('agent-controller');
76
+ if (!agentControllerPath) {
77
+ agentControllerPath = join(nodePath, '..', 'agent-controller');
78
+ }
79
+ await fs.mkdir(systemdDir, { recursive: true });
33
80
  // Stop existing service before reinstalling
34
81
  try {
35
82
  await execAsync('systemctl --user stop agent-controller 2>/dev/null');
@@ -38,48 +85,98 @@ WantedBy=default.target
38
85
  catch {
39
86
  // Not running — fine
40
87
  }
41
- await fs.writeFile(servicePath, service, 'utf8');
42
- console.log(`Written: ${servicePath}`);
43
- try {
44
- await execAsync('systemctl --user daemon-reload');
45
- console.log('systemd daemon reloaded.');
46
- await execAsync('systemctl --user enable --now agent-controller');
47
- console.log('Service enabled and started.');
88
+ await fs.writeFile(userServicePath, buildUserService(nodePath, agentControllerPath, config), 'utf8');
89
+ console.log(`Written: ${userServicePath}`);
90
+ const userSystemdOk = await isUserSystemdAvailable();
91
+ if (!userSystemdOk) {
92
+ console.log('User systemd session not available. Falling back to system-level service...');
93
+ const systemService = buildSystemService(nodePath, agentControllerPath, config);
94
+ await fs.writeFile(SYSTEM_SERVICE_PATH, systemService, 'utf8');
95
+ console.log(`Written: ${SYSTEM_SERVICE_PATH}`);
96
+ try {
97
+ await execAsync('systemctl daemon-reload');
98
+ console.log('systemd daemon reloaded.');
99
+ await execAsync('systemctl enable --now agent-controller');
100
+ console.log('Service enabled and started.');
101
+ }
102
+ catch (err) {
103
+ console.warn('systemctl command failed:', err instanceof Error ? err.message : err);
104
+ }
105
+ console.log('');
106
+ console.log('Agent Controller installed as a systemd system service.');
107
+ console.log('');
108
+ console.log('Useful commands:');
109
+ console.log(' Start: systemctl start agent-controller');
110
+ console.log(' Stop: systemctl stop agent-controller');
111
+ console.log(' Status: systemctl status agent-controller');
112
+ console.log(' Logs: journalctl -u agent-controller -f');
113
+ console.log(' Uninstall: agent-controller uninstall');
114
+ }
115
+ else {
116
+ try {
117
+ await execAsync('systemctl --user daemon-reload');
118
+ console.log('systemd daemon reloaded.');
119
+ await execAsync('systemctl --user enable --now agent-controller');
120
+ console.log('Service enabled and started.');
121
+ }
122
+ catch (err) {
123
+ console.warn('systemctl command failed:', err instanceof Error ? err.message : err);
124
+ }
125
+ console.log('');
126
+ console.log('Agent Controller installed as a systemd user service.');
127
+ console.log('');
128
+ console.log('Useful commands:');
129
+ console.log(' Start: systemctl --user start agent-controller');
130
+ console.log(' Stop: systemctl --user stop agent-controller');
131
+ console.log(' Status: systemctl --user status agent-controller');
132
+ console.log(' Logs: journalctl --user -u agent-controller -f');
133
+ console.log(' Uninstall: agent-controller uninstall');
48
134
  }
49
- catch (err) {
50
- console.warn('systemctl command failed:', err instanceof Error ? err.message : err);
51
- }
52
- console.log('');
53
- console.log('Agent Controller installed as a systemd user service.');
54
- console.log('');
55
- console.log('Useful commands:');
56
- console.log(' Start: systemctl --user start agent-controller');
57
- console.log(' Stop: systemctl --user stop agent-controller');
58
- console.log(' Status: systemctl --user status agent-controller');
59
- console.log(' Logs: journalctl --user -u agent-controller -f');
60
- console.log(' Uninstall: agent-controller uninstall');
61
135
  }
62
136
  export async function uninstallLinux() {
137
+ let userDisableSucceeded = false;
63
138
  try {
64
139
  await execAsync('systemctl --user disable --now agent-controller');
65
- console.log('Service disabled and stopped.');
140
+ console.log('Service disabled and stopped (user).');
141
+ userDisableSucceeded = true;
66
142
  }
67
143
  catch (err) {
68
- console.warn('systemctl disable failed (may not be enabled):', err instanceof Error ? err.message : err);
144
+ console.warn('systemctl --user disable failed, trying system-level:', err instanceof Error ? err.message : err);
145
+ }
146
+ if (!userDisableSucceeded) {
147
+ try {
148
+ await execAsync('systemctl disable --now agent-controller');
149
+ console.log('Service disabled and stopped (system).');
150
+ }
151
+ catch (err) {
152
+ console.warn('systemctl disable failed (may not be enabled):', err instanceof Error ? err.message : err);
153
+ }
154
+ }
155
+ const userServicePath = join(homedir(), '.config', 'systemd', 'user', 'agent-controller.service');
156
+ try {
157
+ await fs.unlink(userServicePath);
158
+ console.log(`Removed: ${userServicePath}`);
159
+ }
160
+ catch {
161
+ console.log(`Service file not found: ${userServicePath}`);
69
162
  }
70
- const servicePath = join(homedir(), '.config', 'systemd', 'user', 'agent-controller.service');
71
163
  try {
72
- await fs.unlink(servicePath);
73
- console.log(`Removed: ${servicePath}`);
164
+ await fs.unlink(SYSTEM_SERVICE_PATH);
165
+ console.log(`Removed: ${SYSTEM_SERVICE_PATH}`);
74
166
  }
75
167
  catch {
76
- console.log(`Service file not found: ${servicePath}`);
168
+ // Not present fine
77
169
  }
78
170
  try {
79
171
  await execAsync('systemctl --user daemon-reload');
80
172
  }
81
173
  catch {
82
- // best-effort
174
+ try {
175
+ await execAsync('systemctl daemon-reload');
176
+ }
177
+ catch {
178
+ // best-effort
179
+ }
83
180
  }
84
181
  console.log('Agent Controller uninstalled.');
85
182
  }
@@ -1 +1 @@
1
- {"version":3,"file":"linux.js","sourceRoot":"","sources":["../../src/platform/linux.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"linux.js","sourceRoot":"","sources":["../../src/platform/linux.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openclaw-cloud/agent-controller",
3
- "version": "0.9.4",
3
+ "version": "0.9.5",
4
4
  "type": "module",
5
5
  "main": "dist/index.js",
6
6
  "bin": {