rea/src/browser/CdpCommandRejection.ts

20 lines
774 B
TypeScript

import { BrowserObservationError } from "../domain/browserObservationError.js";
import type { BrowserObservationOperation } from "../domain/browserObservationErrors.js";
/** Preserve a producer's command rejection independently from fatal transport parsing errors. */
export class CdpCommandRejection extends BrowserObservationError {
constructor(
operation: BrowserObservationOperation,
readonly command: string,
readonly code: number | null,
readonly reportedMessage: string | null,
) {
super(operation, "protocol_error", {
detail:
reportedMessage === null
? "CDP returned a malformed command error."
: `CDP ${command} failed (${code === null ? "unknown code" : String(code)}): ${reportedMessage}`,
});
}
}