From 17599a8ea21367b9df1765d6c4768edbdecc440a Mon Sep 17 00:00:00 2001 From: Peter Steinberger Date: Mon, 9 Mar 2026 06:14:58 +0000 Subject: [PATCH] refactor: flatten supervisor marker hints --- src/infra/supervisor-markers.ts | 32 +++++++++++--------------------- 1 file changed, 11 insertions(+), 21 deletions(-) diff --git a/src/infra/supervisor-markers.ts b/src/infra/supervisor-markers.ts index 5b714735724..cbe8d4807bf 100644 --- a/src/infra/supervisor-markers.ts +++ b/src/infra/supervisor-markers.ts @@ -1,23 +1,13 @@ -const LAUNCHD_SUPERVISOR_HINT_ENV_VARS = [ - "LAUNCH_JOB_LABEL", - "LAUNCH_JOB_NAME", - "XPC_SERVICE_NAME", - "OPENCLAW_LAUNCHD_LABEL", -] as const; - -const SYSTEMD_SUPERVISOR_HINT_ENV_VARS = [ - "OPENCLAW_SYSTEMD_UNIT", - "INVOCATION_ID", - "SYSTEMD_EXEC_PID", - "JOURNAL_STREAM", -] as const; - -const WINDOWS_TASK_SUPERVISOR_HINT_ENV_VARS = ["OPENCLAW_WINDOWS_TASK_NAME"] as const; +const SUPERVISOR_HINTS = { + launchd: ["LAUNCH_JOB_LABEL", "LAUNCH_JOB_NAME", "XPC_SERVICE_NAME", "OPENCLAW_LAUNCHD_LABEL"], + systemd: ["OPENCLAW_SYSTEMD_UNIT", "INVOCATION_ID", "SYSTEMD_EXEC_PID", "JOURNAL_STREAM"], + schtasks: ["OPENCLAW_WINDOWS_TASK_NAME"], +} as const; export const SUPERVISOR_HINT_ENV_VARS = [ - ...LAUNCHD_SUPERVISOR_HINT_ENV_VARS, - ...SYSTEMD_SUPERVISOR_HINT_ENV_VARS, - ...WINDOWS_TASK_SUPERVISOR_HINT_ENV_VARS, + ...SUPERVISOR_HINTS.launchd, + ...SUPERVISOR_HINTS.systemd, + ...SUPERVISOR_HINTS.schtasks, "OPENCLAW_SERVICE_MARKER", "OPENCLAW_SERVICE_KIND", ] as const; @@ -36,13 +26,13 @@ export function detectRespawnSupervisor( platform: NodeJS.Platform = process.platform, ): RespawnSupervisor | null { if (platform === "darwin") { - return hasAnyHint(env, LAUNCHD_SUPERVISOR_HINT_ENV_VARS) ? "launchd" : null; + return hasAnyHint(env, SUPERVISOR_HINTS.launchd) ? "launchd" : null; } if (platform === "linux") { - return hasAnyHint(env, SYSTEMD_SUPERVISOR_HINT_ENV_VARS) ? "systemd" : null; + return hasAnyHint(env, SUPERVISOR_HINTS.systemd) ? "systemd" : null; } if (platform === "win32") { - if (hasAnyHint(env, WINDOWS_TASK_SUPERVISOR_HINT_ENV_VARS)) { + if (hasAnyHint(env, SUPERVISOR_HINTS.schtasks)) { return "schtasks"; } const marker = env.OPENCLAW_SERVICE_MARKER?.trim();