feat(plan): refactor TestRig and eval helper to support configurable approval modes (#17171)

This commit is contained in:
Jerop Kipruto
2026-01-21 10:43:48 -05:00
committed by GitHub
parent 0605e6e3e9
commit c21c297133
4 changed files with 26 additions and 22 deletions

View File

@@ -400,14 +400,14 @@ export class TestRig {
args?: string | string[];
stdin?: string;
stdinDoesNotEnd?: boolean;
yolo?: boolean;
approvalMode?: 'default' | 'auto_edit' | 'yolo' | 'plan';
timeout?: number;
env?: Record<string, string | undefined>;
}): Promise<string> {
const yolo = options.yolo !== false;
const { command, initialArgs } = this._getCommandAndArgs(
yolo ? ['--yolo'] : [],
);
const approvalMode = options.approvalMode ?? 'yolo';
const { command, initialArgs } = this._getCommandAndArgs([
`--approval-mode=${approvalMode}`,
]);
const commandArgs = [...initialArgs];
const execOptions: {
cwd: string;
@@ -1128,13 +1128,13 @@ export class TestRig {
async runInteractive(options?: {
args?: string | string[];
yolo?: boolean;
approvalMode?: 'default' | 'auto_edit' | 'yolo' | 'plan';
env?: Record<string, string | undefined>;
}): Promise<InteractiveRun> {
const yolo = options?.yolo !== false;
const { command, initialArgs } = this._getCommandAndArgs(
yolo ? ['--yolo'] : [],
);
const approvalMode = options?.approvalMode ?? 'yolo';
const { command, initialArgs } = this._getCommandAndArgs([
`--approval-mode=${approvalMode}`,
]);
const commandArgs = [...initialArgs];
const envVars = {