init claude-code
This commit is contained in:
@@ -0,0 +1,33 @@
|
||||
export const SHELL_TYPES = ['bash', 'powershell'] as const
|
||||
export type ShellType = (typeof SHELL_TYPES)[number]
|
||||
export const DEFAULT_HOOK_SHELL: ShellType = 'bash'
|
||||
|
||||
export type ShellProvider = {
|
||||
type: ShellType
|
||||
shellPath: string
|
||||
detached: boolean
|
||||
|
||||
/**
|
||||
* Build the full command string including all shell-specific setup.
|
||||
* For bash: source snapshot, session env, disable extglob, eval-wrap, pwd tracking.
|
||||
*/
|
||||
buildExecCommand(
|
||||
command: string,
|
||||
opts: {
|
||||
id: number | string
|
||||
sandboxTmpDir?: string
|
||||
useSandbox: boolean
|
||||
},
|
||||
): Promise<{ commandString: string; cwdFilePath: string }>
|
||||
|
||||
/**
|
||||
* Shell args for spawn (e.g., ['-c', '-l', cmd] for bash).
|
||||
*/
|
||||
getSpawnArgs(commandString: string): string[]
|
||||
|
||||
/**
|
||||
* Extra env vars for this shell type.
|
||||
* May perform async initialization (e.g., tmux socket setup for bash).
|
||||
*/
|
||||
getEnvironmentOverrides(command: string): Promise<Record<string, string>>
|
||||
}
|
||||
Reference in New Issue
Block a user