mirror of
https://github.com/morluto/rea.git
synced 2026-11-13 18:22:42 +00:00
fix(capture): retain Electron observations and HAR resource failures
This commit is contained in:
1 parent
6c13fc8e0a
commit
44fd18305f
27 files changed
+1462
-145
No files matched your search
+35
-28
@@ -44,7 +44,7 @@ const registerElectronActiveCommand = (
|
||||
logger: Logger,
|
||||
): void => {
|
||||
cli.command(CLI_COMMANDS.captureElectronScenario, {
|
||||
description: "Run one bounded owned Electron scenario",
|
||||
description: "Run one owned Electron scenario with cancellable actions",
|
||||
args: z.object({
|
||||
inputJson: z
|
||||
.string()
|
||||
@@ -53,33 +53,40 @@ const registerElectronActiveCommand = (
|
||||
),
|
||||
}),
|
||||
run: ({ args }) =>
|
||||
logCliCommand(logger, CLI_COMMANDS.captureElectronScenario, async () => {
|
||||
const input = await parseCliJsonInput(
|
||||
args.inputJson,
|
||||
"capture_electron_scenario",
|
||||
);
|
||||
if (!input.ok) return input.error;
|
||||
const parsed = electronActiveObservationInputSchema.safeParse(
|
||||
resolveCliJsonPaths(input.value, [
|
||||
["executable_path"],
|
||||
["application_path"],
|
||||
["application_root"],
|
||||
]),
|
||||
);
|
||||
if (!parsed.success)
|
||||
return inputError(
|
||||
"capture_electron_scenario",
|
||||
parsed.error.issues,
|
||||
input.value,
|
||||
);
|
||||
const { createElectronScenarioProvider } =
|
||||
await import("../composition/electronScenario.js");
|
||||
const result = await captureElectronScenario(
|
||||
createElectronScenarioProvider(),
|
||||
parsed.data,
|
||||
);
|
||||
return result.ok ? result.value : cliError(result.error);
|
||||
}),
|
||||
withCommandCancellation((signal) =>
|
||||
logCliCommand(
|
||||
logger,
|
||||
CLI_COMMANDS.captureElectronScenario,
|
||||
async () => {
|
||||
const input = await parseCliJsonInput(
|
||||
args.inputJson,
|
||||
"capture_electron_scenario",
|
||||
);
|
||||
if (!input.ok) return input.error;
|
||||
const parsed = electronActiveObservationInputSchema.safeParse(
|
||||
resolveCliJsonPaths(input.value, [
|
||||
["executable_path"],
|
||||
["application_path"],
|
||||
["application_root"],
|
||||
]),
|
||||
);
|
||||
if (!parsed.success)
|
||||
return inputError(
|
||||
"capture_electron_scenario",
|
||||
parsed.error.issues,
|
||||
input.value,
|
||||
);
|
||||
const { createElectronScenarioProvider } =
|
||||
await import("../composition/electronScenario.js");
|
||||
const result = await captureElectronScenario(
|
||||
createElectronScenarioProvider(),
|
||||
parsed.data,
|
||||
{ signal },
|
||||
);
|
||||
return result.ok ? result.value : cliError(result.error);
|
||||
},
|
||||
),
|
||||
),
|
||||
});
|
||||
};
|
||||
|
||||
|
||||
Reference in new issue
Block a user