diff --git a/src/infra/system-run-command.ts b/src/infra/system-run-command.ts index 12a5d32485d..3051a607683 100644 --- a/src/infra/system-run-command.ts +++ b/src/infra/system-run-command.ts @@ -167,52 +167,23 @@ export function resolveSystemRunCommand(params: { command?: unknown; rawCommand?: unknown; }): ResolvedSystemRunCommand { - const raw = normalizeRawCommandText(params.rawCommand); - const command = Array.isArray(params.command) ? params.command : []; - if (command.length === 0) { - if (raw) { - return { - ok: false, - message: "rawCommand requires params.command", - details: { code: "MISSING_COMMAND" }, - }; - } - return { - ok: true, - argv: [], - commandText: "", - shellPayload: null, - previewText: null, - }; - } - - const argv = command.map((v) => String(v)); - const validation = validateSystemRunCommandConsistency({ - argv, - rawCommand: raw, - allowLegacyShellText: false, - }); - if (!validation.ok) { - return { - ok: false, - message: validation.message, - details: validation.details ?? { code: "RAW_COMMAND_MISMATCH" }, - }; - } - - return { - ok: true, - argv, - commandText: validation.commandText, - shellPayload: validation.shellPayload, - previewText: validation.previewText, - }; + return resolveSystemRunCommandWithMode(params, false); } export function resolveSystemRunCommandRequest(params: { command?: unknown; rawCommand?: unknown; }): ResolvedSystemRunCommand { + return resolveSystemRunCommandWithMode(params, true); +} + +function resolveSystemRunCommandWithMode( + params: { + command?: unknown; + rawCommand?: unknown; + }, + allowLegacyShellText: boolean, +): ResolvedSystemRunCommand { const raw = normalizeRawCommandText(params.rawCommand); const command = Array.isArray(params.command) ? params.command : []; if (command.length === 0) { @@ -236,7 +207,7 @@ export function resolveSystemRunCommandRequest(params: { const validation = validateSystemRunCommandConsistency({ argv, rawCommand: raw, - allowLegacyShellText: true, + allowLegacyShellText, }); if (!validation.ok) { return {