Files
openclaw/node-runtime-recovery.d.mts
97c7b35933 fix: complete Gateway upgrades after Node prefix changes (#145335)
Complete managed Gateway upgrades after Node prefix changes while preserving the verified service during preparation and recovering only owned failed activations.

Keep requester/executor and original/candidate ownership through native children; retain uncertain cleanup and original failure outcomes. Source and isolated native component checks are documented in the canonical PR. The wider first-hop installer and other platform journeys remain separate program work.

Closes #107930. Canonical PR history retains the original contributor commits; repository-supported squash preserves explicit contributor credit.

Co-authored-by: Jason (Json) <263060202+fuller-stack-dev@users.noreply.github.com>
Co-authored-by: Peter Steinberger <steipete@gmail.com>
Co-authored-by: Dallin Romney <dallinromney@gmail.com>
2026-09-19 16:58:05 -06:00

38 lines
1.3 KiB
TypeScript

export function consumeLauncherRootOptionToken(args: string[], index: number): number;
export function isForegroundGmailRunInvocation(argv: string[]): boolean;
export function isNativeHookRelayInvocation(argv: string[]): boolean;
export function resolveRecoveryPath(
value: string | null | undefined,
homeDir?: string | null,
options?: { allowMissing?: boolean; allowCwd?: boolean; trustedRoot?: string },
): string | null;
export function isUsableNode(
nodePath: string,
options?: {
allowCwd?: boolean;
trustedRoot?: string;
env?: NodeJS.ProcessEnv;
acceptVersion?: (version: string) => boolean;
},
): boolean;
export function runRespawnedChild(command: string, args: string[], env: NodeJS.ProcessEnv): true;
export function recoverNodeRuntime(options?: {
homeDir?: string;
allowInstall?: boolean;
env?: NodeJS.ProcessEnv;
}): Promise<boolean>;
export type NodeRuntimeInstallCommand = (
command: string,
args: string[],
env: NodeJS.ProcessEnv,
) => Promise<number | null>;
export function findUsableNodeRuntime(options?: {
homeDir?: string;
allowInstall?: boolean;
env?: NodeJS.ProcessEnv;
acceptVersion?: (version: string) => boolean;
nodeVersion?: string;
installCommand?: NodeRuntimeInstallCommand;
}): Promise<{ nodePath: string; reason: string } | null>;