Skip to content

Commit 80fcd1b

Browse files
Allow command execution timeout to be set via IPC task execution (#5825)
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
1 parent c417f43 commit 80fcd1b

File tree

3 files changed

+21
-1
lines changed

3 files changed

+21
-1
lines changed

packages/types/npm/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@roo-code/types",
3-
"version": "1.32.0",
3+
"version": "1.34.0",
44
"description": "TypeScript type definitions for Roo Code.",
55
"publishConfig": {
66
"access": "public",

packages/types/src/global-settings.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,7 @@ export const globalSettingsSchema = z.object({
5050
alwaysAllowUpdateTodoList: z.boolean().optional(),
5151
allowedCommands: z.array(z.string()).optional(),
5252
deniedCommands: z.array(z.string()).optional(),
53+
commandExecutionTimeout: z.number().optional(),
5354
allowedMaxRequests: z.number().nullish(),
5455
autoCondenseContext: z.boolean().optional(),
5556
autoCondenseContextPercent: z.number().optional(),
@@ -200,6 +201,7 @@ export const EVALS_SETTINGS: RooCodeSettings = {
200201
alwaysAllowUpdateTodoList: true,
201202
followupAutoApproveTimeoutMs: 0,
202203
allowedCommands: ["*"],
204+
commandExecutionTimeout: 30_000,
203205

204206
browserToolEnabled: false,
205207
browserViewportSize: "900x600",

src/extension/api.ts

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -125,6 +125,22 @@ export class API extends EventEmitter<RooCodeEvents> implements RooCodeAPI {
125125
.getConfiguration(Package.name)
126126
.update("allowedCommands", configuration.allowedCommands, vscode.ConfigurationTarget.Global)
127127
}
128+
129+
if (configuration.deniedCommands) {
130+
await vscode.workspace
131+
.getConfiguration(Package.name)
132+
.update("deniedCommands", configuration.deniedCommands, vscode.ConfigurationTarget.Global)
133+
}
134+
135+
if (configuration.commandExecutionTimeout !== undefined) {
136+
await vscode.workspace
137+
.getConfiguration(Package.name)
138+
.update(
139+
"commandExecutionTimeout",
140+
configuration.commandExecutionTimeout,
141+
vscode.ConfigurationTarget.Global,
142+
)
143+
}
128144
}
129145

130146
await provider.removeClineFromStack()
@@ -223,9 +239,11 @@ export class API extends EventEmitter<RooCodeEvents> implements RooCodeAPI {
223239

224240
cline.on("taskCompleted", async (_, tokenUsage, toolUsage) => {
225241
let isSubtask = false
242+
226243
if (cline.rootTask != undefined) {
227244
isSubtask = true
228245
}
246+
229247
this.emit(RooCodeEventName.TaskCompleted, cline.taskId, tokenUsage, toolUsage, { isSubtask: isSubtask })
230248
this.taskMap.delete(cline.taskId)
231249

0 commit comments

Comments
 (0)