openclaw/src/test-utils/system-run-prepare-payload.ts
2026-03-11 01:43:06 +00:00

32 lines
1017 B
TypeScript

import { formatExecCommand } from "../infra/system-run-command.js";
type SystemRunPrepareInput = {
command?: unknown;
rawCommand?: unknown;
cwd?: unknown;
agentId?: unknown;
sessionKey?: unknown;
};
export function buildSystemRunPreparePayload(params: SystemRunPrepareInput) {
const argv = Array.isArray(params.command) ? params.command.map(String) : [];
const previewCommand =
typeof params.rawCommand === "string" && params.rawCommand.trim().length > 0
? params.rawCommand
: null;
const commandText = formatExecCommand(argv) || "";
const commandPreview = previewCommand && previewCommand !== commandText ? previewCommand : null;
return {
payload: {
plan: {
argv,
cwd: typeof params.cwd === "string" ? params.cwd : null,
commandText,
commandPreview,
agentId: typeof params.agentId === "string" ? params.agentId : null,
sessionKey: typeof params.sessionKey === "string" ? params.sessionKey : null,
},
},
};
}