From c26c586426bb0f9f1c92b0aeb1b2d56f726c5219 Mon Sep 17 00:00:00 2001 From: cte Date: Thu, 17 Jul 2025 10:30:04 -0700 Subject: [PATCH 1/3] Allow command execution timeout to be set via IPC task execution --- packages/types/src/global-settings.ts | 2 ++ src/extension/api.ts | 18 ++++++++++++++++++ 2 files changed, 20 insertions(+) diff --git a/packages/types/src/global-settings.ts b/packages/types/src/global-settings.ts index 514b15d7836..cf163e26a66 100644 --- a/packages/types/src/global-settings.ts +++ b/packages/types/src/global-settings.ts @@ -50,6 +50,7 @@ export const globalSettingsSchema = z.object({ alwaysAllowUpdateTodoList: z.boolean().optional(), allowedCommands: z.array(z.string()).optional(), deniedCommands: z.array(z.string()).optional(), + commandExecutionTimeout: z.number().optional(), allowedMaxRequests: z.number().nullish(), autoCondenseContext: z.boolean().optional(), autoCondenseContextPercent: z.number().optional(), @@ -200,6 +201,7 @@ export const EVALS_SETTINGS: RooCodeSettings = { alwaysAllowUpdateTodoList: true, followupAutoApproveTimeoutMs: 0, allowedCommands: ["*"], + commandExecutionTimeout: 30_000, browserToolEnabled: false, browserViewportSize: "900x600", diff --git a/src/extension/api.ts b/src/extension/api.ts index 3bb538dcb30..6681d10032d 100644 --- a/src/extension/api.ts +++ b/src/extension/api.ts @@ -125,6 +125,22 @@ export class API extends EventEmitter implements RooCodeAPI { .getConfiguration(Package.name) .update("allowedCommands", configuration.allowedCommands, vscode.ConfigurationTarget.Global) } + + if (configuration.deniedCommands) { + await vscode.workspace + .getConfiguration(Package.name) + .update("deniedCommands", configuration.deniedCommands, vscode.ConfigurationTarget.Global) + } + + if (configuration.commandExecutionTimeout) { + await vscode.workspace + .getConfiguration(Package.name) + .update( + "commandExecutionTimeout", + configuration.commandExecutionTimeout, + vscode.ConfigurationTarget.Global, + ) + } } await provider.removeClineFromStack() @@ -223,9 +239,11 @@ export class API extends EventEmitter implements RooCodeAPI { cline.on("taskCompleted", async (_, tokenUsage, toolUsage) => { let isSubtask = false + if (cline.rootTask != undefined) { isSubtask = true } + this.emit(RooCodeEventName.TaskCompleted, cline.taskId, tokenUsage, toolUsage, { isSubtask: isSubtask }) this.taskMap.delete(cline.taskId) From 99aab9f4d8d9fd77389d2cb01f4a503d301c3e79 Mon Sep 17 00:00:00 2001 From: cte Date: Thu, 17 Jul 2025 10:31:12 -0700 Subject: [PATCH 2/3] Bump @roo-code/types version --- packages/types/npm/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/types/npm/package.json b/packages/types/npm/package.json index 54188d73bc8..76bc0eb4e4b 100644 --- a/packages/types/npm/package.json +++ b/packages/types/npm/package.json @@ -1,6 +1,6 @@ { "name": "@roo-code/types", - "version": "1.32.0", + "version": "1.34.0", "description": "TypeScript type definitions for Roo Code.", "publishConfig": { "access": "public", From 571163558366eeb20dfcfd937f866e8c5cedaaf4 Mon Sep 17 00:00:00 2001 From: Chris Estreich Date: Thu, 17 Jul 2025 10:36:34 -0700 Subject: [PATCH 3/3] Update src/extension/api.ts Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com> --- src/extension/api.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/extension/api.ts b/src/extension/api.ts index 6681d10032d..4000e43133f 100644 --- a/src/extension/api.ts +++ b/src/extension/api.ts @@ -132,7 +132,7 @@ export class API extends EventEmitter implements RooCodeAPI { .update("deniedCommands", configuration.deniedCommands, vscode.ConfigurationTarget.Global) } - if (configuration.commandExecutionTimeout) { + if (configuration.commandExecutionTimeout !== undefined) { await vscode.workspace .getConfiguration(Package.name) .update(