@rethinkingstudio/clawpilot 1.1.10 → 1.1.11

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/index.js CHANGED
@@ -11,13 +11,14 @@ const { version } = require("../package.json");
11
11
  const program = new Command();
12
12
  program
13
13
  .name("clawpilot")
14
- .description("ClawPilot relay client — connects Mac mini to the cloud relay server")
14
+ .description("ClawPilot relay client — connects OpenClaw gateway hosts to the cloud relay server")
15
15
  .version(version);
16
16
  program
17
17
  .command("pair")
18
18
  .description("Register with relay server and display QR code for iOS pairing")
19
19
  .option("-s, --server <url>", "Relay server URL", "https://clawpilot.codeaddict.cn")
20
- .option("-n, --name <name>", "Display name for this Mac")
20
+ .option("-n, --name <name>", "Display name for this host")
21
+ .option("--code-only", "Print only the access code and skip QR code output", false)
21
22
  .action(async (opts) => {
22
23
  try {
23
24
  await pairCommand(opts);
@@ -29,7 +30,7 @@ program
29
30
  });
30
31
  program
31
32
  .command("run")
32
- .description("Run relay client in foreground (used by launchd service — use 'install' instead)")
33
+ .description("Run relay client in foreground (used by the background service manager)")
33
34
  .action(async () => {
34
35
  try {
35
36
  await runCommand();
@@ -41,31 +42,31 @@ program
41
42
  });
42
43
  program
43
44
  .command("stop")
44
- .description("Stop relay client and remove launchd service")
45
+ .description("Stop relay client background service")
45
46
  .action(() => {
46
47
  stopCommand();
47
48
  });
48
49
  program
49
50
  .command("status")
50
- .description("Show pairing config, gateway URL, and launchd service status")
51
+ .description("Show pairing config, gateway URL, and background service status")
51
52
  .action(() => {
52
53
  statusCommand();
53
54
  });
54
55
  program
55
56
  .command("install")
56
- .description("Register as a launchd service (auto-start on login)")
57
+ .description("Register as a background service (launchd on macOS, systemd --user on Linux)")
57
58
  .action(() => {
58
59
  installCommand();
59
60
  });
60
61
  program
61
62
  .command("restart")
62
- .description("Restart the relay launchd service")
63
+ .description("Restart the relay background service")
63
64
  .action(() => {
64
65
  restartCommand();
65
66
  });
66
67
  program
67
68
  .command("uninstall")
68
- .description("Remove launchd service")
69
+ .description("Remove background service")
69
70
  .action(() => {
70
71
  uninstallCommand();
71
72
  });
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AACvC,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,WAAW,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACpH,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE1D,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC/C,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,iBAAiB,CAAwB,CAAC;AAEtE,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,WAAW,CAAC;KACjB,WAAW,CAAC,sEAAsE,CAAC;KACnF,OAAO,CAAC,OAAO,CAAC,CAAC;AAEpB,OAAO;KACJ,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,gEAAgE,CAAC;KAC7E,MAAM,CAAC,oBAAoB,EAAE,kBAAkB,EAAE,iCAAiC,CAAC;KACnF,MAAM,CAAC,mBAAmB,EAAE,2BAA2B,CAAC;KACxD,MAAM,CAAC,KAAK,EAAE,IAAsC,EAAE,EAAE;IACvD,IAAI,CAAC;QACH,MAAM,WAAW,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QAClE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,OAAO;KACJ,OAAO,CAAC,KAAK,CAAC;KACd,WAAW,CAAC,kFAAkF,CAAC;KAC/F,MAAM,CAAC,KAAK,IAAI,EAAE;IACjB,IAAI,CAAC;QACH,MAAM,UAAU,EAAE,CAAC;IACrB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QAClE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,OAAO;KACJ,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,8CAA8C,CAAC;KAC3D,MAAM,CAAC,GAAG,EAAE;IACX,WAAW,EAAE,CAAC;AAChB,CAAC,CAAC,CAAC;AAEL,OAAO;KACJ,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CAAC,8DAA8D,CAAC;KAC3E,MAAM,CAAC,GAAG,EAAE;IACX,aAAa,EAAE,CAAC;AAClB,CAAC,CAAC,CAAC;AAEL,OAAO;KACJ,OAAO,CAAC,SAAS,CAAC;KAClB,WAAW,CAAC,qDAAqD,CAAC;KAClE,MAAM,CAAC,GAAG,EAAE;IACX,cAAc,EAAE,CAAC;AACnB,CAAC,CAAC,CAAC;AAEL,OAAO;KACJ,OAAO,CAAC,SAAS,CAAC;KAClB,WAAW,CAAC,mCAAmC,CAAC;KAChD,MAAM,CAAC,GAAG,EAAE;IACX,cAAc,EAAE,CAAC;AACnB,CAAC,CAAC,CAAC;AAEL,OAAO;KACJ,OAAO,CAAC,WAAW,CAAC;KACpB,WAAW,CAAC,wBAAwB,CAAC;KACrC,MAAM,CAAC,GAAG,EAAE;IACX,gBAAgB,EAAE,CAAC;AACrB,CAAC,CAAC,CAAC;AAEL,OAAO;KACJ,OAAO,CAAC,WAAW,CAAC;KACpB,WAAW,CAAC,qEAAqE,CAAC;KAClF,MAAM,CAAC,KAAK,IAAI,EAAE;IACjB,IAAI,CAAC;QACH,MAAM,eAAe,EAAE,CAAC;IAC1B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QAClE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,OAAO;KACJ,OAAO,CAAC,OAAO,CAAC;KAChB,WAAW,CAAC,oFAAoF,CAAC;KACjG,MAAM,CAAC,GAAG,EAAE;IACX,YAAY,EAAE,CAAC;AACjB,CAAC,CAAC,CAAC;AAEL,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ export type ServicePlatform = "macos" | "linux" | "unsupported";
2
+ export interface ServiceStatus {
3
+ platform: ServicePlatform;
4
+ installed: boolean;
5
+ running: boolean;
6
+ serviceName: string;
7
+ manager: string;
8
+ servicePath?: string;
9
+ logPath: string;
10
+ startHint?: string;
11
+ }
12
+ export declare function getServicePlatform(): ServicePlatform;
13
+ export declare function installService(): boolean;
14
+ export declare function restartService(): boolean;
15
+ export declare function stopService(): boolean;
16
+ export declare function uninstallService(): boolean;
17
+ export declare function getServiceStatus(): ServiceStatus;
18
+ export declare const servicePaths: {
19
+ logPath: string;
20
+ errorLogPath: string;
21
+ macPlistPath: string;
22
+ linuxServicePath: string;
23
+ linuxNohupPidPath: string;
24
+ linuxNohupStartScriptPath: string;
25
+ };
@@ -0,0 +1,426 @@
1
+ import { existsSync, mkdirSync, readFileSync, unlinkSync, writeFileSync } from "fs";
2
+ import { execSync } from "child_process";
3
+ import { homedir } from "os";
4
+ import { join } from "path";
5
+ const MAC_LABEL = "com.rethinkingstudio.clawpilot";
6
+ const MAC_LABEL_OLD = "com.rethinkingstudio.clawai";
7
+ const MAC_PLIST_DIR = join(homedir(), "Library", "LaunchAgents");
8
+ const MAC_PLIST_PATH = join(MAC_PLIST_DIR, `${MAC_LABEL}.plist`);
9
+ const MAC_PLIST_PATH_OLD = join(MAC_PLIST_DIR, `${MAC_LABEL_OLD}.plist`);
10
+ const LINUX_SERVICE_NAME = "clawpilot.service";
11
+ const LINUX_SYSTEMD_USER_DIR = join(homedir(), ".config", "systemd", "user");
12
+ const LINUX_SERVICE_PATH = join(LINUX_SYSTEMD_USER_DIR, LINUX_SERVICE_NAME);
13
+ const LOG_DIR = join(homedir(), ".clawai");
14
+ const LOG_PATH = join(LOG_DIR, "clawpilot.log");
15
+ const ERROR_LOG_PATH = join(LOG_DIR, "clawpilot-error.log");
16
+ const LINUX_NOHUP_PID_PATH = join(LOG_DIR, "clawpilot.pid");
17
+ const LINUX_NOHUP_START_SCRIPT_PATH = join(LOG_DIR, "clawpilot-start.sh");
18
+ function detectPlatform() {
19
+ if (process.platform === "darwin")
20
+ return "macos";
21
+ if (process.platform === "linux")
22
+ return "linux";
23
+ return "unsupported";
24
+ }
25
+ function shellEscape(arg) {
26
+ return `'${arg.replace(/'/g, `'\\''`)}'`;
27
+ }
28
+ function run(command, stdio = "pipe") {
29
+ execSync(command, { stdio });
30
+ }
31
+ function commandExists(command) {
32
+ try {
33
+ run(`command -v ${command}`, "pipe");
34
+ return true;
35
+ }
36
+ catch {
37
+ return false;
38
+ }
39
+ }
40
+ function getProgramArgs() {
41
+ const nodeBin = process.execPath;
42
+ const scriptPath = process.argv[1];
43
+ return nodeBin === scriptPath ? [scriptPath, "run"] : [nodeBin, scriptPath, "run"];
44
+ }
45
+ function ensureLogDir() {
46
+ mkdirSync(LOG_DIR, { recursive: true });
47
+ }
48
+ function canUseSystemdUser() {
49
+ if (!commandExists("systemctl"))
50
+ return false;
51
+ try {
52
+ run("systemctl --user show-environment", "pipe");
53
+ return true;
54
+ }
55
+ catch {
56
+ return false;
57
+ }
58
+ }
59
+ function isPidRunning(pid) {
60
+ try {
61
+ process.kill(pid, 0);
62
+ return true;
63
+ }
64
+ catch {
65
+ return false;
66
+ }
67
+ }
68
+ function readNohupPid() {
69
+ if (!existsSync(LINUX_NOHUP_PID_PATH))
70
+ return null;
71
+ try {
72
+ const raw = readFileSync(LINUX_NOHUP_PID_PATH, "utf-8").trim();
73
+ const pid = Number(raw);
74
+ return Number.isInteger(pid) && pid > 0 ? pid : null;
75
+ }
76
+ catch {
77
+ return null;
78
+ }
79
+ }
80
+ function removeNohupPidFile() {
81
+ if (existsSync(LINUX_NOHUP_PID_PATH)) {
82
+ unlinkSync(LINUX_NOHUP_PID_PATH);
83
+ }
84
+ }
85
+ function getNohupStartCommand() {
86
+ return `bash ${shellEscape(LINUX_NOHUP_START_SCRIPT_PATH)}`;
87
+ }
88
+ function writeLinuxNohupStartScript() {
89
+ const args = getProgramArgs().map(shellEscape).join(" ");
90
+ const script = `#!/usr/bin/env bash
91
+ set -euo pipefail
92
+
93
+ mkdir -p ${shellEscape(LOG_DIR)}
94
+ if [ -f ${shellEscape(LINUX_NOHUP_PID_PATH)} ]; then
95
+ pid="$(cat ${shellEscape(LINUX_NOHUP_PID_PATH)} 2>/dev/null || true)"
96
+ if [ -n "$pid" ] && kill -0 "$pid" 2>/dev/null; then
97
+ echo "clawpilot is already running (pid=$pid)"
98
+ exit 0
99
+ fi
100
+ fi
101
+
102
+ nohup ${args} >> ${shellEscape(LOG_PATH)} 2>> ${shellEscape(ERROR_LOG_PATH)} < /dev/null &
103
+ echo $! > ${shellEscape(LINUX_NOHUP_PID_PATH)}
104
+ echo "clawpilot started in nohup mode (pid=$(cat ${shellEscape(LINUX_NOHUP_PID_PATH)}))"
105
+ `;
106
+ writeFileSync(LINUX_NOHUP_START_SCRIPT_PATH, script, { encoding: "utf-8", mode: 0o755 });
107
+ }
108
+ function installMacService() {
109
+ const argsXml = getProgramArgs().map((arg) => ` <string>${arg}</string>`).join("\n");
110
+ const plistContent = `<?xml version="1.0" encoding="UTF-8"?>
111
+ <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN"
112
+ "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
113
+ <plist version="1.0">
114
+ <dict>
115
+ <key>Label</key>
116
+ <string>${MAC_LABEL}</string>
117
+ <key>ProgramArguments</key>
118
+ <array>
119
+ ${argsXml}
120
+ </array>
121
+ <key>RunAtLoad</key>
122
+ <true/>
123
+ <key>KeepAlive</key>
124
+ <true/>
125
+ <key>StandardOutPath</key>
126
+ <string>${LOG_PATH}</string>
127
+ <key>StandardErrorPath</key>
128
+ <string>${ERROR_LOG_PATH}</string>
129
+ </dict>
130
+ </plist>`;
131
+ mkdirSync(MAC_PLIST_DIR, { recursive: true });
132
+ ensureLogDir();
133
+ try {
134
+ run(`launchctl unload -w "${MAC_PLIST_PATH}"`);
135
+ }
136
+ catch {
137
+ // Ignore if not loaded.
138
+ }
139
+ writeFileSync(MAC_PLIST_PATH, plistContent, "utf-8");
140
+ try {
141
+ run(`launchctl load -w "${MAC_PLIST_PATH}"`, "inherit");
142
+ return true;
143
+ }
144
+ catch {
145
+ return false;
146
+ }
147
+ }
148
+ function installLinuxServiceSystemd() {
149
+ mkdirSync(LINUX_SYSTEMD_USER_DIR, { recursive: true });
150
+ ensureLogDir();
151
+ const args = getProgramArgs().map(shellEscape).join(" ");
152
+ const serviceContent = `[Unit]
153
+ Description=ClawPilot relay client
154
+ After=network-online.target
155
+ Wants=network-online.target
156
+
157
+ [Service]
158
+ Type=simple
159
+ ExecStart=${args}
160
+ Restart=always
161
+ RestartSec=5
162
+ WorkingDirectory=${shellEscape(process.cwd())}
163
+ StandardOutput=append:${LOG_PATH}
164
+ StandardError=append:${ERROR_LOG_PATH}
165
+
166
+ [Install]
167
+ WantedBy=default.target
168
+ `;
169
+ writeFileSync(LINUX_SERVICE_PATH, serviceContent, "utf-8");
170
+ run("systemctl --user daemon-reload", "inherit");
171
+ run(`systemctl --user enable --now ${LINUX_SERVICE_NAME}`, "inherit");
172
+ return true;
173
+ }
174
+ function installLinuxServiceNohup() {
175
+ ensureLogDir();
176
+ writeLinuxNohupStartScript();
177
+ run(`sh -lc ${shellEscape(getNohupStartCommand())}`, "inherit");
178
+ const pid = readNohupPid();
179
+ return pid != null && isPidRunning(pid);
180
+ }
181
+ function installLinuxService() {
182
+ if (canUseSystemdUser()) {
183
+ try {
184
+ return installLinuxServiceSystemd();
185
+ }
186
+ catch {
187
+ // Fall back to nohup below.
188
+ }
189
+ }
190
+ try {
191
+ return installLinuxServiceNohup();
192
+ }
193
+ catch {
194
+ return false;
195
+ }
196
+ }
197
+ function uninstallMacArtifacts() {
198
+ let changed = false;
199
+ try {
200
+ run(`launchctl unload -w "${MAC_PLIST_PATH}"`);
201
+ changed = true;
202
+ }
203
+ catch {
204
+ // ignore
205
+ }
206
+ if (existsSync(MAC_PLIST_PATH)) {
207
+ unlinkSync(MAC_PLIST_PATH);
208
+ changed = true;
209
+ }
210
+ try {
211
+ run(`launchctl unload -w "${MAC_PLIST_PATH_OLD}"`);
212
+ changed = true;
213
+ }
214
+ catch {
215
+ // ignore
216
+ }
217
+ if (existsSync(MAC_PLIST_PATH_OLD)) {
218
+ unlinkSync(MAC_PLIST_PATH_OLD);
219
+ changed = true;
220
+ }
221
+ return changed;
222
+ }
223
+ function uninstallLinuxArtifacts(removeFile) {
224
+ let changed = false;
225
+ if (canUseSystemdUser()) {
226
+ try {
227
+ run(`systemctl --user stop ${LINUX_SERVICE_NAME}`);
228
+ changed = true;
229
+ }
230
+ catch {
231
+ // ignore
232
+ }
233
+ try {
234
+ run(`systemctl --user disable ${LINUX_SERVICE_NAME}`);
235
+ changed = true;
236
+ }
237
+ catch {
238
+ // ignore
239
+ }
240
+ try {
241
+ run("systemctl --user daemon-reload");
242
+ }
243
+ catch {
244
+ // ignore
245
+ }
246
+ }
247
+ const nohupPid = readNohupPid();
248
+ if (nohupPid != null) {
249
+ try {
250
+ process.kill(nohupPid, "SIGTERM");
251
+ changed = true;
252
+ }
253
+ catch {
254
+ // ignore
255
+ }
256
+ removeNohupPidFile();
257
+ changed = true;
258
+ }
259
+ if (removeFile && existsSync(LINUX_SERVICE_PATH)) {
260
+ unlinkSync(LINUX_SERVICE_PATH);
261
+ changed = true;
262
+ }
263
+ if (removeFile && existsSync(LINUX_NOHUP_START_SCRIPT_PATH)) {
264
+ unlinkSync(LINUX_NOHUP_START_SCRIPT_PATH);
265
+ changed = true;
266
+ }
267
+ return changed;
268
+ }
269
+ function restartMacService() {
270
+ return installMacService();
271
+ }
272
+ function restartLinuxService() {
273
+ if (canUseSystemdUser() && existsSync(LINUX_SERVICE_PATH)) {
274
+ try {
275
+ run("systemctl --user daemon-reload", "inherit");
276
+ run(`systemctl --user restart ${LINUX_SERVICE_NAME}`, "inherit");
277
+ return true;
278
+ }
279
+ catch {
280
+ // Fall back to nohup restart below.
281
+ }
282
+ }
283
+ uninstallLinuxArtifacts(false);
284
+ try {
285
+ return installLinuxServiceNohup();
286
+ }
287
+ catch {
288
+ return false;
289
+ }
290
+ }
291
+ export function getServicePlatform() {
292
+ return detectPlatform();
293
+ }
294
+ export function installService() {
295
+ switch (detectPlatform()) {
296
+ case "macos":
297
+ return installMacService();
298
+ case "linux":
299
+ return installLinuxService();
300
+ default:
301
+ return false;
302
+ }
303
+ }
304
+ export function restartService() {
305
+ switch (detectPlatform()) {
306
+ case "macos":
307
+ return restartMacService();
308
+ case "linux":
309
+ return restartLinuxService();
310
+ default:
311
+ return false;
312
+ }
313
+ }
314
+ export function stopService() {
315
+ switch (detectPlatform()) {
316
+ case "macos":
317
+ return uninstallMacArtifacts();
318
+ case "linux":
319
+ return uninstallLinuxArtifacts(false);
320
+ default:
321
+ return false;
322
+ }
323
+ }
324
+ export function uninstallService() {
325
+ switch (detectPlatform()) {
326
+ case "macos":
327
+ return uninstallMacArtifacts();
328
+ case "linux":
329
+ return uninstallLinuxArtifacts(true);
330
+ default:
331
+ return false;
332
+ }
333
+ }
334
+ export function getServiceStatus() {
335
+ const platform = detectPlatform();
336
+ if (platform === "macos") {
337
+ let running = false;
338
+ try {
339
+ run(`launchctl list ${MAC_LABEL}`);
340
+ running = true;
341
+ }
342
+ catch {
343
+ running = false;
344
+ }
345
+ return {
346
+ platform,
347
+ installed: existsSync(MAC_PLIST_PATH),
348
+ running,
349
+ serviceName: MAC_LABEL,
350
+ manager: "launchd",
351
+ servicePath: MAC_PLIST_PATH,
352
+ logPath: LOG_PATH,
353
+ startHint: `launchctl start ${MAC_LABEL}`,
354
+ };
355
+ }
356
+ if (platform === "linux") {
357
+ const pid = readNohupPid();
358
+ const hasNohupArtifacts = pid != null || existsSync(LINUX_NOHUP_START_SCRIPT_PATH);
359
+ const running = pid != null && isPidRunning(pid);
360
+ if (!running && pid != null) {
361
+ removeNohupPidFile();
362
+ }
363
+ if (running || (hasNohupArtifacts && !canUseSystemdUser())) {
364
+ return {
365
+ platform,
366
+ installed: hasNohupArtifacts,
367
+ running,
368
+ serviceName: "clawpilot (nohup)",
369
+ manager: "nohup",
370
+ servicePath: existsSync(LINUX_NOHUP_START_SCRIPT_PATH) ? LINUX_NOHUP_START_SCRIPT_PATH : undefined,
371
+ logPath: LOG_PATH,
372
+ startHint: getNohupStartCommand(),
373
+ };
374
+ }
375
+ const hasSystemdServiceFile = existsSync(LINUX_SERVICE_PATH);
376
+ if (hasSystemdServiceFile) {
377
+ let systemdRunning = false;
378
+ if (canUseSystemdUser()) {
379
+ try {
380
+ run(`systemctl --user is-active --quiet ${LINUX_SERVICE_NAME}`);
381
+ systemdRunning = true;
382
+ }
383
+ catch {
384
+ systemdRunning = false;
385
+ }
386
+ }
387
+ return {
388
+ platform,
389
+ installed: true,
390
+ running: systemdRunning,
391
+ serviceName: LINUX_SERVICE_NAME,
392
+ manager: "systemd",
393
+ servicePath: LINUX_SERVICE_PATH,
394
+ logPath: LOG_PATH,
395
+ startHint: `systemctl --user start ${LINUX_SERVICE_NAME}`,
396
+ };
397
+ }
398
+ return {
399
+ platform,
400
+ installed: hasNohupArtifacts,
401
+ running,
402
+ serviceName: "clawpilot (nohup)",
403
+ manager: "nohup",
404
+ servicePath: existsSync(LINUX_NOHUP_START_SCRIPT_PATH) ? LINUX_NOHUP_START_SCRIPT_PATH : undefined,
405
+ logPath: LOG_PATH,
406
+ startHint: getNohupStartCommand(),
407
+ };
408
+ }
409
+ return {
410
+ platform,
411
+ installed: false,
412
+ running: false,
413
+ serviceName: "",
414
+ manager: "unsupported",
415
+ logPath: LOG_PATH,
416
+ };
417
+ }
418
+ export const servicePaths = {
419
+ logPath: LOG_PATH,
420
+ errorLogPath: ERROR_LOG_PATH,
421
+ macPlistPath: MAC_PLIST_PATH,
422
+ linuxServicePath: LINUX_SERVICE_PATH,
423
+ linuxNohupPidPath: LINUX_NOHUP_PID_PATH,
424
+ linuxNohupStartScriptPath: LINUX_NOHUP_START_SCRIPT_PATH,
425
+ };
426
+ //# sourceMappingURL=service-manager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"service-manager.js","sourceRoot":"","sources":["../../src/platform/service-manager.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rethinkingstudio/clawpilot",
3
- "version": "1.1.10",
3
+ "version": "1.1.11",
4
4
  "description": "ClawAI relay client for Mac mini",
5
5
  "type": "module",
6
6
  "bin": {