Files
openclaw/node-runtime-recovery.d.mts
Peter Steinberger 71fac53596 fix: preserve standalone CLI commands across startup respawns (#174545)
* fix: preserve standalone CLI commands across startup respawns

Resolve launcher-bound runtime arguments at the CLI invocation owner. Consume a one-child parent PID signal in compiled runtimes while preserving the loose preload and detached worker lifetimes.

* test: keep respawn transport guard independent of local names

* test: include respawn owner dependencies in CLI fixtures
2026-10-16 12:34:54 -07:00

43 lines
1.4 KiB
TypeScript

export function consumeLauncherRootOptionToken(args: string[], index: number): number;
export function watchCliRespawnParent(): void;
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(invocation: {
command: string;
args: string[];
env: NodeJS.ProcessEnv;
}): Promise<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>;