import type { AppCaptureProtocolInterface, CDPClient, ResponseEndedWithEmptyBodyOptions, ResponseStreamOptions, ResponseStreamTimedOutOptions } from '@packages/types' import type { Readable } from 'stream' export class AppCaptureProtocol implements AppCaptureProtocolInterface { getDbMetadata (): { offset: number, size: number } { return { offset: 0, size: 0, } } beforeSpec ({ archivePath, db }): void { throw new Error('Error in beforeSpec') } responseStreamReceived (options: ResponseStreamOptions): Readable { return options.responseStream } addRunnables (runnables: any): void {} commandLogAdded (log: any): void {} commandLogChanged (log: any): void {} viewportChanged (input: any): void {} urlChanged (input: any): void {} beforeTest (test: Record): Promise { return Promise.resolve() } preAfterTest (test: Record, options: Record): Promise { return Promise.resolve() } afterTest (test: Record): Promise { return Promise.resolve() } afterSpec (): Promise { return Promise.resolve() } connectToBrowser (cdpClient: CDPClient): Promise { return Promise.resolve() } pageLoading (input: any): void {} resetTest (testId: string): void {} responseEndedWithEmptyBody: (options: ResponseEndedWithEmptyBodyOptions) => {} responseStreamTimedOut: (options: ResponseStreamTimedOutOptions) => {} }