refactor: centralize systemd unavailable classification

This commit is contained in:
Peter Steinberger
2026-03-24 21:56:53 -07:00
parent 30e80fb947
commit 94425764a8
13 changed files with 197 additions and 64 deletions

View File

@@ -4,6 +4,7 @@ import {
resolveGatewaySystemdServiceName,
resolveGatewayWindowsTaskName,
} from "../../daemon/constants.js";
import { resolveDaemonContainerContext } from "../../daemon/container-context.js";
import { formatRuntimeStatus } from "../../daemon/runtime-format.js";
import {
buildPlatformRuntimeLogHints,
@@ -17,6 +18,7 @@ import { createDaemonActionContext } from "./response.js";
export { formatRuntimeStatus };
export { parsePort };
export { resolveDaemonContainerContext };
export function createDaemonInstallActionContext(jsonFlag: unknown) {
const json = Boolean(jsonFlag);
@@ -181,7 +183,7 @@ export function renderRuntimeHints(
export function renderGatewayServiceStartHints(env: NodeJS.ProcessEnv = process.env): string[] {
const profile = env.OPENCLAW_PROFILE;
const container = env.OPENCLAW_CONTAINER_HINT?.trim() || env.OPENCLAW_CONTAINER?.trim();
const container = resolveDaemonContainerContext(env);
const hints = buildPlatformServiceStartHints({
installCommand: formatCliCommand("openclaw gateway install", env),
startCommand: formatCliCommand("openclaw gateway", env),
@@ -199,7 +201,7 @@ export function filterContainerGenericHints(
hints: string[],
env: NodeJS.ProcessEnv = process.env,
): string[] {
if (!(env.OPENCLAW_CONTAINER_HINT?.trim() || env.OPENCLAW_CONTAINER?.trim())) {
if (!resolveDaemonContainerContext(env)) {
return hints;
}
return hints.filter(