refactor: consolidate daemon runtime and start hints

This commit is contained in:
Peter Steinberger
2026-03-07 21:00:55 +00:00
parent a91731a831
commit b955ba1688
5 changed files with 161 additions and 75 deletions

View File

@@ -0,0 +1,47 @@
import { resolveGatewayLogPaths } from "./launchd.js";
export function buildPlatformRuntimeLogHints(params: {
platform?: NodeJS.Platform;
env?: NodeJS.ProcessEnv;
systemdServiceName: string;
windowsTaskName: string;
}): string[] {
const platform = params.platform ?? process.platform;
const env = params.env ?? process.env;
if (platform === "darwin") {
const logs = resolveGatewayLogPaths(env);
return [
`Launchd stdout (if installed): ${logs.stdoutPath}`,
`Launchd stderr (if installed): ${logs.stderrPath}`,
];
}
if (platform === "linux") {
return [`Logs: journalctl --user -u ${params.systemdServiceName}.service -n 200 --no-pager`];
}
if (platform === "win32") {
return [`Logs: schtasks /Query /TN "${params.windowsTaskName}" /V /FO LIST`];
}
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;
}
}