From f1575f6d8de2f4efa0805a2d11a4a421a1a8228f Mon Sep 17 00:00:00 2001 From: Gal Zahavi <38544478+galz10@users.noreply.github.com> Date: Tue, 19 Aug 2025 16:03:51 -0700 Subject: feat(core): refactor shell execution to use node-pty (#6491) Co-authored-by: Jacob Richman --- packages/core/src/config/config.ts | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'packages/core/src/config') diff --git a/packages/core/src/config/config.ts b/packages/core/src/config/config.ts index 5ab39e83..8c95a99d 100644 --- a/packages/core/src/config/config.ts +++ b/packages/core/src/config/config.ts @@ -202,6 +202,7 @@ export interface ConfigParameters { chatCompression?: ChatCompressionSettings; interactive?: boolean; trustedFolder?: boolean; + shouldUseNodePtyShell?: boolean; } export class Config { @@ -267,6 +268,7 @@ export class Config { private readonly chatCompression: ChatCompressionSettings | undefined; private readonly interactive: boolean; private readonly trustedFolder: boolean | undefined; + private readonly shouldUseNodePtyShell: boolean; private initialized: boolean = false; constructor(params: ConfigParameters) { @@ -334,6 +336,7 @@ export class Config { this.chatCompression = params.chatCompression; this.interactive = params.interactive ?? false; this.trustedFolder = params.trustedFolder; + this.shouldUseNodePtyShell = params.shouldUseNodePtyShell ?? false; if (params.contextFileName) { setGeminiMdFilename(params.contextFileName); @@ -728,6 +731,10 @@ export class Config { return this.interactive; } + getShouldUseNodePtyShell(): boolean { + return this.shouldUseNodePtyShell; + } + async getGitService(): Promise { if (!this.gitService) { this.gitService = new GitService(this.targetDir); -- cgit v1.2.3