31 lines
1.2 KiB
TypeScript
31 lines
1.2 KiB
TypeScript
export interface ShellConfig {
|
|
shell: string;
|
|
args: string[];
|
|
commandTransport?: "argv" | "stdin";
|
|
}
|
|
/**
|
|
* Resolve shell configuration based on platform and an optional explicit shell path.
|
|
* Resolution order:
|
|
* 1. User-specified shellPath
|
|
* 2. On Windows: Git Bash in known locations, then bash on PATH
|
|
* 3. On Unix: /bin/bash, then bash on PATH, then fallback to sh
|
|
*/
|
|
export declare function getShellConfig(customShellPath?: string): ShellConfig;
|
|
export declare function getShellEnv(): NodeJS.ProcessEnv;
|
|
/**
|
|
* Sanitize binary output for display/storage.
|
|
* Removes characters that crash string-width or cause display issues:
|
|
* - Control characters (except tab, newline, carriage return)
|
|
* - Lone surrogates
|
|
* - Unicode Format characters (crash string-width due to a bug)
|
|
* - Characters with undefined code points
|
|
*/
|
|
export declare function sanitizeBinaryOutput(str: string): string;
|
|
export declare function trackDetachedChildPid(pid: number): void;
|
|
export declare function untrackDetachedChildPid(pid: number): void;
|
|
export declare function killTrackedDetachedChildren(): void;
|
|
/**
|
|
* Kill a process and all its children (cross-platform)
|
|
*/
|
|
export declare function killProcessTree(pid: number): void;
|
|
//# sourceMappingURL=shell.d.ts.map
|