mirror of
https://github.com/openclaw/openclaw.git
synced 2026-10-03 01:29:56 +00:00
* fix(runtime): reuse an available compatible Node at startup Share startup recovery between the launcher and legacy CLI runtime admission so older updaters can run target Doctor through dist/index.js under an already installed compatible Node. Preserve process-contract exclusions, arguments, environment, standard streams, and exit status. Refs #140465 * test(runtime): include recovery proof in E2E routing * fix(runtime): secure Node discovery and decode service scripts Reject relative candidates and cwd-resolved runtimes before probing, except for explicit absolute PATH directories. Parse generated Windows command quoting and recorded code pages without loading application dependencies. Skip CP850 and CP949 with a diagnostic instead of guessing executable paths. Use real task-writer fixtures for encoding, quoting, and fallback coverage. Refs #140465 * fix(runtime): reject cwd-local manager symlinks * test(runtime): keep recovery home outside launcher cwd * fix(runtime): isolate recovery from dotenv environment * fix(runtime): canonicalize discovery paths before use * fix(runtime): preserve private Node recovery from home * refactor(runtime): trim Node recovery comments and aliases Behavior-neutral cleanup of the recovery launcher module: fold the serviceHome and managerHome aliases into homeDir and shorten five comment blocks to the invariant they protect.
18 lines
815 B
TypeScript
18 lines
815 B
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 },
|
|
): 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>;
|