forked from openclaw/openclaw
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathruntime-hints.ts
More file actions
59 lines (56 loc) · 1.98 KB
/
Copy pathruntime-hints.ts
File metadata and controls
59 lines (56 loc) · 1.98 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
import { toPosixPath } from "./output.js";
import { resolveGatewayRestartLogPath, resolveGatewaySupervisorLogPaths } from "./restart-logs.js";
function toDarwinDisplayPath(value: string): string {
return toPosixPath(value).replace(/^[A-Za-z]:/, "");
}
export function buildPlatformRuntimeLogHints(params: {
platform?: NodeJS.Platform;
env?: NodeJS.ProcessEnv;
systemdServiceName: string;
windowsTaskName: string;
}): string[] {
const platform = params.platform ?? process.platform;
const env = { ...process.env, ...params.env };
if (platform === "darwin") {
const logs = resolveGatewaySupervisorLogPaths(env, { platform });
return [
`Launchd stdout (if installed): ${toDarwinDisplayPath(logs.stdoutPath)}`,
"Launchd stderr (if installed): suppressed",
`Restart attempts: ${toDarwinDisplayPath(resolveGatewayRestartLogPath(env))}`,
];
}
if (platform === "linux") {
return [
`Logs: journalctl --user -u ${params.systemdServiceName}.service -n 200 --no-pager`,
`Restart attempts: ${resolveGatewayRestartLogPath(env)}`,
];
}
if (platform === "win32") {
return [
`Logs: schtasks /Query /TN "${params.windowsTaskName}" /V /FO LIST`,
`Restart attempts: ${resolveGatewayRestartLogPath(env)}`,
];
}
return [];
}
export function buildPlatformServiceStartHints(params: {
platform?: NodeJS.Platform;
installCommand: string;
startCommand: string;
launchAgentPlistPath: string;
systemdServiceName: string;
windowsTaskName: string;
}): string[] {
const platform = params.platform ?? process.platform;
const base = [params.installCommand, params.startCommand];
switch (platform) {
case "darwin":
return [...base, `launchctl bootstrap gui/$UID ${params.launchAgentPlistPath}`];
case "linux":
return [...base, `systemctl --user start ${params.systemdServiceName}.service`];
case "win32":
return [...base, `schtasks /Run /TN "${params.windowsTaskName}"`];
default:
return base;
}
}